alpaka
Abstraction Library for Parallel Kernel Acceleration
Vec.hpp File Reference
#include "alpaka/core/Align.hpp"
#include "alpaka/core/Assert.hpp"
#include "alpaka/core/BoostPredef.hpp"
#include "alpaka/core/Common.hpp"
#include "alpaka/core/Unreachable.hpp"
#include "alpaka/dim/DimIntegralConst.hpp"
#include "alpaka/dim/Traits.hpp"
#include "alpaka/idx/Traits.hpp"
#include "alpaka/meta/Fold.hpp"
#include "alpaka/meta/Functional.hpp"
#include "alpaka/meta/IntegerSequence.hpp"
#include "alpaka/vec/Traits.hpp"
#include <algorithm>
#include <cstdint>
#include <functional>
#include <limits>
#include <ostream>
#include <tuple>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  alpaka::trait::CastVec< TValNew, Vec< TDim, TVal > >
 
struct  alpaka::trait::ConcatVec< Vec< TDimL, TVal >, Vec< TDimR, TVal > >
 Concatenation specialization for Vec. More...
 
struct  alpaka::trait::DimType< Vec< TDim, TVal > >
 The Vec dimension get trait specialization. More...
 
struct  alpaka::trait::IdxType< Vec< TDim, TVal > >
 The Vec idx type trait specialization. More...
 
struct  alpaka::trait::ReverseVec< Vec< TDim, TVal > >
 ReverseVec specialization for Vec. More...
 
struct  alpaka::trait::SubVecFromIndices< Vec< TDim, TVal >, std::index_sequence< TIndices... > >
 Specialization for selecting a sub-vector. More...
 
class  alpaka::Vec< TDim, TVal >
 A n-dimensional vector. More...
 
struct  std::tuple_element< I, alpaka::Vec< TDim, TVal > >
 
struct  std::tuple_size< alpaka::Vec< TDim, TVal > >
 

Namespaces

 alpaka
 The alpaka accelerator library.
 
 alpaka::trait
 The accelerator traits.
 

Functions

template<typename TDim , typename TVal , typename... Vecs, typename = std::enable_if_t<(std::is_same_v<Vec<TDim, TVal>, Vecs> && ...)>>
ALPAKA_NO_HOST_ACC_WARNING constexpr ALPAKA_FN_HOST_ACC auto alpaka::elementwise_max (Vec< TDim, TVal > const &p, Vecs const &... qs) -> Vec< TDim, TVal >
 
template<typename TDim , typename TVal , typename... Vecs, typename = std::enable_if_t<(std::is_same_v<Vec<TDim, TVal>, Vecs> && ...)>>
ALPAKA_NO_HOST_ACC_WARNING constexpr ALPAKA_FN_HOST_ACC auto alpaka::elementwise_min (Vec< TDim, TVal > const &p, Vecs const &... qs) -> Vec< TDim, TVal >
 
template<typename TDim , typename TVal >
constexpr ALPAKA_FN_HOST_ACC auto alpaka::toArray (Vec< TDim, TVal > const &v) -> std::array< TVal, TDim::value >
 Converts a Vec to a std::array. More...
 
template<typename TFirstIndex , typename... TRestIndices>
 alpaka::Vec (TFirstIndex &&, TRestIndices &&...) -> Vec< DimInt< 1+sizeof...(TRestIndices)>, std::decay_t< TFirstIndex >>
 

Variables

template<typename T >
constexpr bool alpaka::isVec = false
 
template<typename TDim , typename TVal >
constexpr bool alpaka::isVec< Vec< TDim, TVal > > = true