YAKL
Functions
yakl::intrinsics Namespace Reference

The intrinsics namespace contains a limited Fortran-like intrinsics library. More...

Functions

template<class T , int rank, int myStyle>
Array< T, rank, memDevice, myStyle > abs (Array< T, rank, memDevice, myStyle > const &arr, Stream stream=Stream())
 
template<class T , int rank, int myStyle>
Array< T, rank, memHost, myStyle > abs (Array< T, rank, memHost, myStyle > const &arr)
 
template<class T , int rank, class B0 , class B1 , class B2 , class B3 >
YAKL_INLINE FSArray< T, rank, B0, B1, B2, B3 > abs (FSArray< T, rank, B0, B1, B2, B3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE SArray< T, rank, D0, D1, D2, D3 > abs (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, int myStyle>
bool all (Array< T, rank, memDevice, myStyle > arr, Stream stream=Stream())
 
template<class T , int rank, int myStyle>
bool all (Array< T, rank, memHost, myStyle > arr)
 
template<class T , int rank, class B0 , class B1 , class B2 , class B3 >
bool all (FSArray< T, rank, B0, B1, B2, B3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
bool all (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T >
YAKL_INLINE bool allocated (T const &arr)
 
template<class T , int rank, int myStyle>
bool any (Array< T, rank, memDevice, myStyle > arr, Stream stream=Stream())
 
template<class T , int rank, int myStyle>
bool any (Array< T, rank, memHost, myStyle > arr)
 
template<class T , int rank, class B0 , class B1 , class B2 , class B3 >
bool any (FSArray< T, rank, B0, B1, B2, B3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
bool any (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T >
YAKL_INLINE bool associated (T const &arr)
 
template<int rank, int myStyle>
int count (Array< bool, rank, memDevice, myStyle > const &mask, Stream stream=Stream())
 
template<int rank, int myStyle>
int count (Array< bool, rank, memHost, myStyle > const &mask)
 
template<int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE int count (FSArray< bool, rank, D0, D1, D2, D3 > const &mask)
 
template<int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE int count (SArray< bool, rank, D0, D1, D2, D3 > const &mask)
 
template<class T , int rank, int myMem, int myStyle>
YAKL_INLINE constexpr T epsilon (Array< T, rank, myMem, myStyle > const &arr)
 
template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE constexpr T epsilon (FSArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE constexpr T epsilon (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T >
YAKL_INLINE constexpr T epsilon (T)
 
template<class T , int rank, int myMem, int myStyle>
YAKL_INLINE constexpr T huge (Array< T, rank, myMem, myStyle > const &arr)
 
template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE constexpr T huge (FSArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE constexpr T huge (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T >
YAKL_INLINE constexpr T huge (T)
 
template<class T >
YAKL_INLINE auto lbound (T const &arr)
 
template<class T >
YAKL_INLINE int lbound (T const &arr, int dim)
 
template<int n, class real >
YAKL_INLINE FSArray< real, 2, SB< n >, SB< n > > matinv_ge (FSArray< real, 2, SB< n >, SB< n >> const &a)
 
template<unsigned int n, class real >
YAKL_INLINE SArray< real, 2, n, n > matinv_ge (SArray< real, 2, n, n > const &a)
 
template<class T , int COL_L, int ROW_L>
YAKL_INLINE FSArray< T, 1, SB< ROW_L > > matmul_cr (FSArray< T, 2, SB< COL_L >, SB< ROW_L >> const &left, FSArray< T, 1, SB< COL_L >> const &right)
 
template<class T , int COL_L, int ROW_L, int COL_R>
YAKL_INLINE FSArray< T, 2, SB< COL_R >, SB< ROW_L > > matmul_cr (FSArray< T, 2, SB< COL_L >, SB< ROW_L >> const &left, FSArray< T, 2, SB< COL_R >, SB< COL_L >> const &right)
 
template<class T , index_t COL_L, index_t ROW_L>
YAKL_INLINE SArray< T, 1, ROW_L > matmul_cr (SArray< T, 2, COL_L, ROW_L > const &left, SArray< T, 1, COL_L > const &right)
 
template<class T , index_t COL_L, index_t ROW_L, index_t COL_R>
YAKL_INLINE SArray< T, 2, COL_R, ROW_L > matmul_cr (SArray< T, 2, COL_L, ROW_L > const &left, SArray< T, 2, COL_R, COL_L > const &right)
 
template<class T , int COL_L, int ROW_L>
YAKL_INLINE FSArray< T, 1, SB< ROW_L > > matmul_rc (FSArray< T, 2, SB< ROW_L >, SB< COL_L >> const &left, FSArray< T, 1, SB< COL_L >> const &right)
 
template<class T , int COL_L, int ROW_L, int COL_R>
YAKL_INLINE FSArray< T, 2, SB< ROW_L >, SB< COL_R > > matmul_rc (FSArray< T, 2, SB< ROW_L >, SB< COL_L >> const &left, FSArray< T, 2, SB< COL_L >, SB< COL_R >> const &right)
 
template<class T , index_t COL_L, index_t ROW_L>
YAKL_INLINE SArray< T, 1, ROW_L > matmul_rc (SArray< T, 2, ROW_L, COL_L > const &left, SArray< T, 1, COL_L > const &right)
 
template<class T , index_t COL_L, index_t ROW_L, index_t COL_R>
YAKL_INLINE SArray< T, 2, ROW_L, COL_R > matmul_rc (SArray< T, 2, ROW_L, COL_L > const &left, SArray< T, 2, COL_L, COL_R > const &right)
 
template<class T >
int maxloc (Array< T, 1, memDevice, styleC > const &arr, Stream stream=Stream())
 
template<class T >
int maxloc (Array< T, 1, memDevice, styleFortran > const &arr, Stream stream=Stream())
 
template<class T , int myStyle>
int maxloc (Array< T, 1, memHost, myStyle > const &arr)
 
template<class T , class D0 >
YAKL_INLINE int maxloc (FSArray< T, 1, D0 > const &arr)
 
template<class T , unsigned D0>
YAKL_INLINE int maxloc (SArray< T, 1, D0 > const &arr)
 
template<class T , int rank, int myStyle>
maxval (Array< T, rank, memDevice, myStyle > const &arr, Stream stream=Stream())
 
template<class T , int rank, int myStyle>
maxval (Array< T, rank, memHost, myStyle > const &arr)
 
template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINEmaxval (FSArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINEmaxval (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T1 , class T2 , int rank, int myStyle>
Array< decltype(T1()+T2()), rank, memDevice, myStyle > merge (Array< T1, rank, memDevice, myStyle > const &arr_true, Array< T2, rank, memDevice, myStyle > const &arr_false, Array< bool, rank, memDevice, myStyle > const &mask, Stream stream=Stream())
 
template<class T1 , class T2 , int rank, int myStyle>
Array< decltype(T1()+T2()), rank, memHost, myStyle > merge (Array< T1, rank, memHost, myStyle > const &arr_true, Array< T2, rank, memHost, myStyle > const &arr_false, Array< bool, rank, memHost, myStyle > const &mask)
 
template<class T1 , class T2 , int rank, class B0 , class B1 , class B2 , class B3 >
YAKL_INLINE FSArray< decltype(T1()+T2()), rank, B0, B1, B2, B3 > merge (FSArray< T1, rank, B0, B1, B2, B3 > const &arr_true, FSArray< T2, rank, B0, B1, B2, B3 > const &arr_false, FSArray< bool, rank, B0, B1, B2, B3 > const &mask)
 
template<class T1 , class T2 , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE SArray< decltype(T1()+T2()), rank, D0, D1, D2, D3 > merge (SArray< T1, rank, D0, D1, D2, D3 > const &arr_true, SArray< T2, rank, D0, D1, D2, D3 > const &arr_false, SArray< bool, rank, D0, D1, D2, D3 > const &mask)
 
template<class T1 , class T2 , typename std::enable_if< std::is_arithmetic< T1 >::value &&std::is_arithmetic< T2 >::value, bool >::type = false>
decltype(T1()+T2()) YAKL_INLINE merge (T1 const t, T2 const f, bool cond)
 
template<class T >
int minloc (Array< T, 1, memDevice, styleC > const &arr, Stream stream=Stream())
 
template<class T >
int minloc (Array< T, 1, memDevice, styleFortran > const &arr, Stream stream=Stream())
 
template<class T , int myStyle>
int minloc (Array< T, 1, memHost, myStyle > const &arr)
 
template<class T , class D0 >
YAKL_INLINE int minloc (FSArray< T, 1, D0 > const &arr)
 
template<class T , unsigned D0>
YAKL_INLINE int minloc (SArray< T, 1, D0 > const &arr)
 
template<class T , int rank, int myStyle>
minval (Array< T, rank, memDevice, myStyle > const &arr, Stream stream=Stream())
 
template<class T , int rank, int myStyle>
minval (Array< T, rank, memHost, myStyle > const &arr)
 
template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINEminval (FSArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINEminval (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T1 , class T2 >
decltype(T1() -((int)(T1()/T2()) *T2())) YAKL_INLINE mod (T1 a, T2 b)
 
template<class T , int rank, int myStyle>
Array< T, 1, memDevice, myStyle > pack (Array< T, rank, memDevice, myStyle > const &arr, Array< bool, rank, memDevice, myStyle > const &mask=Array< bool, rank, memDevice, myStyle >())
 
template<class T , int rank, int myStyle>
Array< T, 1, memHost, myStyle > pack (Array< T, rank, memHost, myStyle > const &arr, Array< bool, rank, memHost, myStyle > const &mask=Array< bool, rank, memHost, myStyle >())
 
template<class T , int rank, int myStyle>
product (Array< T, rank, memDevice, myStyle > const &arr, Stream stream=Stream())
 
template<class T , int rank, int myStyle>
product (Array< T, rank, memHost, myStyle > const &arr)
 
template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINEproduct (FSArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINEproduct (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T >
YAKL_INLINE auto shape (T const &arr)
 
template<class T1 , class T2 , int rank, int myStyle>
Array< T1, rank, memDevice, myStyle > sign (Array< T1, rank, memDevice, myStyle > const &a, Array< T2, rank, memDevice, myStyle > const &b, Stream stream=Stream())
 
template<class T1 , class T2 , int rank, int myStyle>
Array< T1, rank, memHost, myStyle > sign (Array< T1, rank, memHost, myStyle > const &a, Array< T2, rank, memHost, myStyle > const &b)
 
template<class T1 , class T2 , int rank, class B0 , class B1 , class B2 , class B3 >
YAKL_INLINE FSArray< T1, rank, B0, B1, B2, B3 > sign (FSArray< T1, rank, B0, B1, B2, B3 > const &a, FSArray< T2, rank, B0, B1, B2, B3 > const &b)
 
template<class T1 , class T2 , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE SArray< T1, rank, D0, D1, D2, D3 > sign (SArray< T1, rank, D0, D1, D2, D3 > const &a, SArray< T2, rank, D0, D1, D2, D3 > const &b)
 
template<class T1 , class T2 >
YAKL_INLINE T1 sign (T1 a, T2 b)
 
template<class T >
YAKL_INLINE int size (T const &arr)
 
template<class T >
YAKL_INLINE int size (T const &arr, int dim)
 
template<class T , int rank, int myStyle>
sum (Array< T, rank, memDevice, myStyle > const &arr, Stream stream=Stream())
 
template<class T , int rank, int myStyle>
sum (Array< T, rank, memHost, myStyle > const &arr)
 
template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINEsum (FSArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINEsum (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, int myMem, int myStyle>
YAKL_INLINE constexpr T tiny (Array< T, rank, myMem, myStyle > const &arr)
 
template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE constexpr T tiny (FSArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE constexpr T tiny (SArray< T, rank, D0, D1, D2, D3 > const &arr)
 
template<class T >
YAKL_INLINE constexpr T tiny (T)
 
template<class T , int myMem, int myStyle>
Array< T, 2, myMem, myStyle > transpose (Array< T, 2, myMem, myStyle > const &in, Stream stream=Stream())
 
template<class B1 , class B2 , class T >
YAKL_INLINE FSArray< T, 2, B1, B2 > transpose (FSArray< T, 2, B1, B2 > const &a)
 
template<unsigned int n1, unsigned int n2, class T >
YAKL_INLINE SArray< T, 2, n2, n1 > transpose (SArray< T, 2, n1, n2 > const &a)
 
template<class T >
YAKL_INLINE auto ubound (T const &arr)
 
template<class T >
YAKL_INLINE int ubound (T const &arr, int dim)
 

Detailed Description

The intrinsics namespace contains a limited Fortran-like intrinsics library.

Function Documentation

◆ abs() [1/4]

template<class T , int rank, int myStyle>
Array<T,rank,memDevice,myStyle> yakl::intrinsics::abs ( Array< T, rank, memDevice, myStyle > const &  arr,
Stream  stream = Stream() 
)
inline

◆ abs() [2/4]

template<class T , int rank, int myStyle>
Array<T,rank,memHost,myStyle> yakl::intrinsics::abs ( Array< T, rank, memHost, myStyle > const &  arr)
inline

◆ abs() [3/4]

template<class T , int rank, class B0 , class B1 , class B2 , class B3 >
YAKL_INLINE FSArray<T,rank,B0,B1,B2,B3> yakl::intrinsics::abs ( FSArray< T, rank, B0, B1, B2, B3 > const &  arr)

◆ abs() [4/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE SArray<T,rank,D0,D1,D2,D3> yakl::intrinsics::abs ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ all() [1/4]

template<class T , int rank, int myStyle>
bool yakl::intrinsics::all ( Array< T, rank, memDevice, myStyle >  arr,
Stream  stream = Stream() 
)
inline

◆ all() [2/4]

template<class T , int rank, int myStyle>
bool yakl::intrinsics::all ( Array< T, rank, memHost, myStyle >  arr)
inline

◆ all() [3/4]

template<class T , int rank, class B0 , class B1 , class B2 , class B3 >
bool yakl::intrinsics::all ( FSArray< T, rank, B0, B1, B2, B3 > const &  arr)
inline

◆ all() [4/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
bool yakl::intrinsics::all ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)
inline

◆ allocated()

template<class T >
YAKL_INLINE bool yakl::intrinsics::allocated ( T const &  arr)

◆ any() [1/4]

template<class T , int rank, int myStyle>
bool yakl::intrinsics::any ( Array< T, rank, memDevice, myStyle >  arr,
Stream  stream = Stream() 
)
inline

◆ any() [2/4]

template<class T , int rank, int myStyle>
bool yakl::intrinsics::any ( Array< T, rank, memHost, myStyle >  arr)
inline

◆ any() [3/4]

template<class T , int rank, class B0 , class B1 , class B2 , class B3 >
bool yakl::intrinsics::any ( FSArray< T, rank, B0, B1, B2, B3 > const &  arr)
inline

◆ any() [4/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
bool yakl::intrinsics::any ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)
inline

◆ associated()

template<class T >
YAKL_INLINE bool yakl::intrinsics::associated ( T const &  arr)

◆ count() [1/4]

template<int rank, int myStyle>
int yakl::intrinsics::count ( Array< bool, rank, memDevice, myStyle > const &  mask,
Stream  stream = Stream() 
)
inline

◆ count() [2/4]

template<int rank, int myStyle>
int yakl::intrinsics::count ( Array< bool, rank, memHost, myStyle > const &  mask)
inline

◆ count() [3/4]

template<int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE int yakl::intrinsics::count ( FSArray< bool, rank, D0, D1, D2, D3 > const &  mask)

◆ count() [4/4]

template<int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE int yakl::intrinsics::count ( SArray< bool, rank, D0, D1, D2, D3 > const &  mask)

◆ epsilon() [1/4]

template<class T , int rank, int myMem, int myStyle>
YAKL_INLINE constexpr T yakl::intrinsics::epsilon ( Array< T, rank, myMem, myStyle > const &  arr)
constexpr

◆ epsilon() [2/4]

template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE constexpr T yakl::intrinsics::epsilon ( FSArray< T, rank, D0, D1, D2, D3 > const &  arr)
constexpr

◆ epsilon() [3/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE constexpr T yakl::intrinsics::epsilon ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)
constexpr

◆ epsilon() [4/4]

template<class T >
YAKL_INLINE constexpr T yakl::intrinsics::epsilon ( )
constexpr

◆ huge() [1/4]

template<class T , int rank, int myMem, int myStyle>
YAKL_INLINE constexpr T yakl::intrinsics::huge ( Array< T, rank, myMem, myStyle > const &  arr)
constexpr

◆ huge() [2/4]

template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE constexpr T yakl::intrinsics::huge ( FSArray< T, rank, D0, D1, D2, D3 > const &  arr)
constexpr

◆ huge() [3/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE constexpr T yakl::intrinsics::huge ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)
constexpr

◆ huge() [4/4]

template<class T >
YAKL_INLINE constexpr T yakl::intrinsics::huge ( )
constexpr

◆ lbound() [1/2]

template<class T >
YAKL_INLINE auto yakl::intrinsics::lbound ( T const &  arr)

◆ lbound() [2/2]

template<class T >
YAKL_INLINE int yakl::intrinsics::lbound ( T const &  arr,
int  dim 
)

◆ matinv_ge() [1/2]

template<int n, class real >
YAKL_INLINE FSArray<real,2,SB<n>,SB<n> > yakl::intrinsics::matinv_ge ( FSArray< real, 2, SB< n >, SB< n >> const &  a)

◆ matinv_ge() [2/2]

template<unsigned int n, class real >
YAKL_INLINE SArray<real,2,n,n> yakl::intrinsics::matinv_ge ( SArray< real, 2, n, n > const &  a)

◆ matmul_cr() [1/4]

template<class T , int COL_L, int ROW_L>
YAKL_INLINE FSArray<T,1,SB<ROW_L> > yakl::intrinsics::matmul_cr ( FSArray< T, 2, SB< COL_L >, SB< ROW_L >> const &  left,
FSArray< T, 1, SB< COL_L >> const &  right 
)

◆ matmul_cr() [2/4]

template<class T , int COL_L, int ROW_L, int COL_R>
YAKL_INLINE FSArray<T,2,SB<COL_R>,SB<ROW_L> > yakl::intrinsics::matmul_cr ( FSArray< T, 2, SB< COL_L >, SB< ROW_L >> const &  left,
FSArray< T, 2, SB< COL_R >, SB< COL_L >> const &  right 
)

◆ matmul_cr() [3/4]

template<class T , index_t COL_L, index_t ROW_L>
YAKL_INLINE SArray<T,1,ROW_L> yakl::intrinsics::matmul_cr ( SArray< T, 2, COL_L, ROW_L > const &  left,
SArray< T, 1, COL_L > const &  right 
)

◆ matmul_cr() [4/4]

template<class T , index_t COL_L, index_t ROW_L, index_t COL_R>
YAKL_INLINE SArray<T,2,COL_R,ROW_L> yakl::intrinsics::matmul_cr ( SArray< T, 2, COL_L, ROW_L > const &  left,
SArray< T, 2, COL_R, COL_L > const &  right 
)

◆ matmul_rc() [1/4]

template<class T , int COL_L, int ROW_L>
YAKL_INLINE FSArray<T,1,SB<ROW_L> > yakl::intrinsics::matmul_rc ( FSArray< T, 2, SB< ROW_L >, SB< COL_L >> const &  left,
FSArray< T, 1, SB< COL_L >> const &  right 
)

◆ matmul_rc() [2/4]

template<class T , int COL_L, int ROW_L, int COL_R>
YAKL_INLINE FSArray<T,2,SB<ROW_L>,SB<COL_R> > yakl::intrinsics::matmul_rc ( FSArray< T, 2, SB< ROW_L >, SB< COL_L >> const &  left,
FSArray< T, 2, SB< COL_L >, SB< COL_R >> const &  right 
)

◆ matmul_rc() [3/4]

template<class T , index_t COL_L, index_t ROW_L>
YAKL_INLINE SArray<T,1,ROW_L> yakl::intrinsics::matmul_rc ( SArray< T, 2, ROW_L, COL_L > const &  left,
SArray< T, 1, COL_L > const &  right 
)

◆ matmul_rc() [4/4]

template<class T , index_t COL_L, index_t ROW_L, index_t COL_R>
YAKL_INLINE SArray<T,2,ROW_L,COL_R> yakl::intrinsics::matmul_rc ( SArray< T, 2, ROW_L, COL_L > const &  left,
SArray< T, 2, COL_L, COL_R > const &  right 
)

◆ maxloc() [1/5]

template<class T >
int yakl::intrinsics::maxloc ( Array< T, 1, memDevice, styleC > const &  arr,
Stream  stream = Stream() 
)
inline

◆ maxloc() [2/5]

template<class T >
int yakl::intrinsics::maxloc ( Array< T, 1, memDevice, styleFortran > const &  arr,
Stream  stream = Stream() 
)
inline

◆ maxloc() [3/5]

template<class T , int myStyle>
int yakl::intrinsics::maxloc ( Array< T, 1, memHost, myStyle > const &  arr)
inline

◆ maxloc() [4/5]

template<class T , class D0 >
YAKL_INLINE int yakl::intrinsics::maxloc ( FSArray< T, 1, D0 > const &  arr)

◆ maxloc() [5/5]

template<class T , unsigned D0>
YAKL_INLINE int yakl::intrinsics::maxloc ( SArray< T, 1, D0 > const &  arr)

◆ maxval() [1/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::maxval ( Array< T, rank, memDevice, myStyle > const &  arr,
Stream  stream = Stream() 
)
inline

◆ maxval() [2/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::maxval ( Array< T, rank, memHost, myStyle > const &  arr)
inline

◆ maxval() [3/4]

template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE T yakl::intrinsics::maxval ( FSArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ maxval() [4/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE T yakl::intrinsics::maxval ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ merge() [1/5]

template<class T1 , class T2 , int rank, int myStyle>
Array<decltype(T1()+T2()),rank,memDevice,myStyle> yakl::intrinsics::merge ( Array< T1, rank, memDevice, myStyle > const &  arr_true,
Array< T2, rank, memDevice, myStyle > const &  arr_false,
Array< bool, rank, memDevice, myStyle > const &  mask,
Stream  stream = Stream() 
)
inline

◆ merge() [2/5]

template<class T1 , class T2 , int rank, int myStyle>
Array<decltype(T1()+T2()),rank,memHost,myStyle> yakl::intrinsics::merge ( Array< T1, rank, memHost, myStyle > const &  arr_true,
Array< T2, rank, memHost, myStyle > const &  arr_false,
Array< bool, rank, memHost, myStyle > const &  mask 
)
inline

◆ merge() [3/5]

template<class T1 , class T2 , int rank, class B0 , class B1 , class B2 , class B3 >
YAKL_INLINE FSArray<decltype(T1()+T2()),rank,B0,B1,B2,B3> yakl::intrinsics::merge ( FSArray< T1, rank, B0, B1, B2, B3 > const &  arr_true,
FSArray< T2, rank, B0, B1, B2, B3 > const &  arr_false,
FSArray< bool, rank, B0, B1, B2, B3 > const &  mask 
)

◆ merge() [4/5]

template<class T1 , class T2 , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE SArray<decltype(T1()+T2()),rank,D0,D1,D2,D3> yakl::intrinsics::merge ( SArray< T1, rank, D0, D1, D2, D3 > const &  arr_true,
SArray< T2, rank, D0, D1, D2, D3 > const &  arr_false,
SArray< bool, rank, D0, D1, D2, D3 > const &  mask 
)

◆ merge() [5/5]

template<class T1 , class T2 , typename std::enable_if< std::is_arithmetic< T1 >::value &&std::is_arithmetic< T2 >::value, bool >::type = false>
decltype(T1()+T2()) YAKL_INLINE yakl::intrinsics::merge ( T1 const  t,
T2 const  f,
bool  cond 
)

◆ minloc() [1/5]

template<class T >
int yakl::intrinsics::minloc ( Array< T, 1, memDevice, styleC > const &  arr,
Stream  stream = Stream() 
)
inline

◆ minloc() [2/5]

template<class T >
int yakl::intrinsics::minloc ( Array< T, 1, memDevice, styleFortran > const &  arr,
Stream  stream = Stream() 
)
inline

◆ minloc() [3/5]

template<class T , int myStyle>
int yakl::intrinsics::minloc ( Array< T, 1, memHost, myStyle > const &  arr)
inline

◆ minloc() [4/5]

template<class T , class D0 >
YAKL_INLINE int yakl::intrinsics::minloc ( FSArray< T, 1, D0 > const &  arr)

◆ minloc() [5/5]

template<class T , unsigned D0>
YAKL_INLINE int yakl::intrinsics::minloc ( SArray< T, 1, D0 > const &  arr)

◆ minval() [1/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::minval ( Array< T, rank, memDevice, myStyle > const &  arr,
Stream  stream = Stream() 
)
inline

◆ minval() [2/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::minval ( Array< T, rank, memHost, myStyle > const &  arr)
inline

◆ minval() [3/4]

template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE T yakl::intrinsics::minval ( FSArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ minval() [4/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE T yakl::intrinsics::minval ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ mod()

template<class T1 , class T2 >
decltype(T1() - ((int)(T1()/T2()) * T2())) YAKL_INLINE yakl::intrinsics::mod ( T1  a,
T2  b 
)

◆ pack() [1/2]

template<class T , int rank, int myStyle>
Array<T,1,memDevice,myStyle> yakl::intrinsics::pack ( Array< T, rank, memDevice, myStyle > const &  arr,
Array< bool, rank, memDevice, myStyle > const &  mask = Array<bool,rank,memDevice,myStyle>() 
)
inline

◆ pack() [2/2]

template<class T , int rank, int myStyle>
Array<T,1,memHost,myStyle> yakl::intrinsics::pack ( Array< T, rank, memHost, myStyle > const &  arr,
Array< bool, rank, memHost, myStyle > const &  mask = Array<bool,rank,memHost,myStyle>() 
)
inline

◆ product() [1/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::product ( Array< T, rank, memDevice, myStyle > const &  arr,
Stream  stream = Stream() 
)
inline

◆ product() [2/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::product ( Array< T, rank, memHost, myStyle > const &  arr)
inline

◆ product() [3/4]

template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE T yakl::intrinsics::product ( FSArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ product() [4/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE T yakl::intrinsics::product ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ shape()

template<class T >
YAKL_INLINE auto yakl::intrinsics::shape ( T const &  arr)

◆ sign() [1/5]

template<class T1 , class T2 , int rank, int myStyle>
Array<T1,rank,memDevice,myStyle> yakl::intrinsics::sign ( Array< T1, rank, memDevice, myStyle > const &  a,
Array< T2, rank, memDevice, myStyle > const &  b,
Stream  stream = Stream() 
)
inline

◆ sign() [2/5]

template<class T1 , class T2 , int rank, int myStyle>
Array<T1,rank,memHost,myStyle> yakl::intrinsics::sign ( Array< T1, rank, memHost, myStyle > const &  a,
Array< T2, rank, memHost, myStyle > const &  b 
)
inline

◆ sign() [3/5]

template<class T1 , class T2 , int rank, class B0 , class B1 , class B2 , class B3 >
YAKL_INLINE FSArray<T1,rank,B0,B1,B2,B3> yakl::intrinsics::sign ( FSArray< T1, rank, B0, B1, B2, B3 > const &  a,
FSArray< T2, rank, B0, B1, B2, B3 > const &  b 
)

◆ sign() [4/5]

template<class T1 , class T2 , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE SArray<T1,rank,D0,D1,D2,D3> yakl::intrinsics::sign ( SArray< T1, rank, D0, D1, D2, D3 > const &  a,
SArray< T2, rank, D0, D1, D2, D3 > const &  b 
)

◆ sign() [5/5]

template<class T1 , class T2 >
YAKL_INLINE T1 yakl::intrinsics::sign ( T1  a,
T2  b 
)

◆ size() [1/2]

template<class T >
YAKL_INLINE int yakl::intrinsics::size ( T const &  arr)

◆ size() [2/2]

template<class T >
YAKL_INLINE int yakl::intrinsics::size ( T const &  arr,
int  dim 
)

◆ sum() [1/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::sum ( Array< T, rank, memDevice, myStyle > const &  arr,
Stream  stream = Stream() 
)
inline

◆ sum() [2/4]

template<class T , int rank, int myStyle>
T yakl::intrinsics::sum ( Array< T, rank, memHost, myStyle > const &  arr)
inline

◆ sum() [3/4]

template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE T yakl::intrinsics::sum ( FSArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ sum() [4/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE T yakl::intrinsics::sum ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)

◆ tiny() [1/4]

template<class T , int rank, int myMem, int myStyle>
YAKL_INLINE constexpr T yakl::intrinsics::tiny ( Array< T, rank, myMem, myStyle > const &  arr)
constexpr

◆ tiny() [2/4]

template<class T , int rank, class D0 , class D1 , class D2 , class D3 >
YAKL_INLINE constexpr T yakl::intrinsics::tiny ( FSArray< T, rank, D0, D1, D2, D3 > const &  arr)
constexpr

◆ tiny() [3/4]

template<class T , int rank, unsigned D0, unsigned D1, unsigned D2, unsigned D3>
YAKL_INLINE constexpr T yakl::intrinsics::tiny ( SArray< T, rank, D0, D1, D2, D3 > const &  arr)
constexpr

◆ tiny() [4/4]

template<class T >
YAKL_INLINE constexpr T yakl::intrinsics::tiny ( )
constexpr

◆ transpose() [1/3]

template<class T , int myMem, int myStyle>
Array<T,2,myMem,myStyle> yakl::intrinsics::transpose ( Array< T, 2, myMem, myStyle > const &  in,
Stream  stream = Stream() 
)
inline

◆ transpose() [2/3]

template<class B1 , class B2 , class T >
YAKL_INLINE FSArray<T,2,B1,B2> yakl::intrinsics::transpose ( FSArray< T, 2, B1, B2 > const &  a)

◆ transpose() [3/3]

template<unsigned int n1, unsigned int n2, class T >
YAKL_INLINE SArray<T,2,n2,n1> yakl::intrinsics::transpose ( SArray< T, 2, n1, n2 > const &  a)

◆ ubound() [1/2]

template<class T >
YAKL_INLINE auto yakl::intrinsics::ubound ( T const &  arr)

◆ ubound() [2/2]

template<class T >
YAKL_INLINE int yakl::intrinsics::ubound ( T const &  arr,
int  dim 
)