Grid 0.7.0
TensorIndexRecursion< Level > Class Template Reference

#include <Tensor_index.h>

Static Public Member Functions

template<class vtype>
static accelerator_inline int indexRank (const iScalar< vtype > tmp)
template<class vtype, int N>
static accelerator_inline int indexRank (const iVector< vtype, N > tmp)
template<class vtype, int N>
static accelerator_inline int indexRank (const iMatrix< vtype, N > tmp)
template<class vtype>
static accelerator_inline int isScalar (const iScalar< vtype > tmp)
template<class vtype, int N>
static accelerator_inline int isScalar (const iVector< vtype, N > tmp)
template<class vtype, int N>
static accelerator_inline int isScalar (const iMatrix< vtype, N > tmp)
template<class vtype>
static accelerator_inline int isVector (const iScalar< vtype > tmp)
template<class vtype, int N>
static accelerator_inline int isVector (const iVector< vtype, N > tmp)
template<class vtype, int N>
static accelerator_inline int isVector (const iMatrix< vtype, N > tmp)
template<class vtype>
static accelerator_inline int isMatrix (const iScalar< vtype > tmp)
template<class vtype, int N>
static accelerator_inline int isMatrix (const iVector< vtype, N > tmp)
template<class vtype, int N>
static accelerator_inline int isMatrix (const iMatrix< vtype, N > tmp)
template<class vtype>
static accelerator_inline auto traceIndex (const iScalar< vtype > arg) -> iScalar< decltype(TensorIndexRecursion< Level-1 >::traceIndex(arg._internal))>
template<class vtype, int N>
static accelerator_inline auto traceIndex (const iVector< vtype, N > arg) -> iVector< decltype(TensorIndexRecursion< Level-1 >::traceIndex(arg._internal[0])), N >
template<class vtype, int N>
static accelerator_inline auto traceIndex (const iMatrix< vtype, N > arg) -> iMatrix< decltype(TensorIndexRecursion< Level-1 >::traceIndex(arg._internal[0][0])), N >
template<class vtype>
static accelerator_inline auto peekIndex (const iScalar< vtype > arg, int i) -> iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal, 0))>
template<class vtype>
static accelerator_inline auto peekIndex (const iScalar< vtype > arg, int i, int j) -> iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal, 0, 0))>
template<class vtype, int N>
static accelerator_inline auto peekIndex (const iVector< vtype, N > arg, int ii) -> iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0], 0)), N >
template<class vtype, int N>
static accelerator_inline auto peekIndex (const iVector< vtype, N > arg, int ii, int jj) -> iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0], 0, 0)), N >
template<class vtype, int N>
static accelerator_inline auto peekIndex (const iMatrix< vtype, N > arg, int ii) -> iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0][0], 0)), N >
template<class vtype, int N>
static accelerator_inline auto peekIndex (const iMatrix< vtype, N > arg, int ii, int jj) -> iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0][0], 0, 0)), N >
template<class vtype>
static accelerator_inline void pokeIndex (iScalar< vtype > &ret, const iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal, 0))> &arg, int i)
template<class vtype>
static accelerator_inline void pokeIndex (iScalar< vtype > &ret, const iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal, 0, 0))> &arg, int i, int j)
template<class vtype, int N>
static accelerator_inline void pokeIndex (iVector< vtype, N > &ret, const iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0], 0)), N > &arg, int i)
template<class vtype, int N>
static accelerator_inline void pokeIndex (iVector< vtype, N > &ret, const iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0], 0, 0)), N > &arg, int i, int j)
template<class vtype, int N>
static accelerator_inline void pokeIndex (iMatrix< vtype, N > &ret, const iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0][0], 0)), N > &arg, int i)
template<class vtype, int N>
static accelerator_inline void pokeIndex (iMatrix< vtype, N > &ret, const iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0][0], 0, 0)), N > &arg, int i, int j)
template<class vtype>
static accelerator_inline auto transposeIndex (const iScalar< vtype > arg) -> iScalar< vtype >
template<class vtype, int N>
static accelerator_inline auto transposeIndex (const iVector< vtype, N > arg) -> iVector< vtype, N >
template<class vtype, int N>
static accelerator_inline auto transposeIndex (const iMatrix< vtype, N > arg) -> iMatrix< vtype, N >

Detailed Description

template<int Level>
class TensorIndexRecursion< Level >

Definition at line 47 of file Tensor_index.h.

Member Function Documentation

◆ indexRank() [1/3]

template<int Level>
template<class vtype>
accelerator_inline int TensorIndexRecursion< Level >::indexRank ( const iScalar< vtype > tmp)
inlinestatic

Definition at line 54 of file Tensor_index.h.

References iScalar< vtype >::_internal, accelerator_inline, and indexRank().

Referenced by indexRank(), indexRank(), indexRank(), and indexRank().

◆ indexRank() [2/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::indexRank ( const iVector< vtype, N > tmp)
inlinestatic

Definition at line 55 of file Tensor_index.h.

References iVector< vtype, N >::_internal, accelerator_inline, and indexRank().

◆ indexRank() [3/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::indexRank ( const iMatrix< vtype, N > tmp)
inlinestatic

Definition at line 56 of file Tensor_index.h.

References iMatrix< vtype, N >::_internal, accelerator_inline, and indexRank().

◆ isScalar() [1/3]

template<int Level>
template<class vtype>
accelerator_inline int TensorIndexRecursion< Level >::isScalar ( const iScalar< vtype > tmp)
inlinestatic

Definition at line 58 of file Tensor_index.h.

References iScalar< vtype >::_internal, accelerator_inline, and isScalar().

Referenced by isScalar(), isScalar(), isScalar(), and isScalar().

◆ isScalar() [2/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::isScalar ( const iVector< vtype, N > tmp)
inlinestatic

Definition at line 59 of file Tensor_index.h.

References iVector< vtype, N >::_internal, accelerator_inline, and isScalar().

◆ isScalar() [3/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::isScalar ( const iMatrix< vtype, N > tmp)
inlinestatic

Definition at line 60 of file Tensor_index.h.

References iMatrix< vtype, N >::_internal, accelerator_inline, and isScalar().

◆ isVector() [1/3]

template<int Level>
template<class vtype>
accelerator_inline int TensorIndexRecursion< Level >::isVector ( const iScalar< vtype > tmp)
inlinestatic

Definition at line 62 of file Tensor_index.h.

References iScalar< vtype >::_internal, accelerator_inline, and isVector().

Referenced by isVector(), isVector(), isVector(), and isVector().

◆ isVector() [2/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::isVector ( const iVector< vtype, N > tmp)
inlinestatic

Definition at line 63 of file Tensor_index.h.

References iVector< vtype, N >::_internal, accelerator_inline, and isVector().

◆ isVector() [3/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::isVector ( const iMatrix< vtype, N > tmp)
inlinestatic

Definition at line 64 of file Tensor_index.h.

References iMatrix< vtype, N >::_internal, accelerator_inline, and isVector().

◆ isMatrix() [1/3]

template<int Level>
template<class vtype>
accelerator_inline int TensorIndexRecursion< Level >::isMatrix ( const iScalar< vtype > tmp)
inlinestatic

Definition at line 66 of file Tensor_index.h.

References iScalar< vtype >::_internal, accelerator_inline, and isMatrix().

Referenced by isMatrix(), isMatrix(), isMatrix(), and isMatrix().

◆ isMatrix() [2/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::isMatrix ( const iVector< vtype, N > tmp)
inlinestatic

Definition at line 67 of file Tensor_index.h.

References iVector< vtype, N >::_internal, accelerator_inline, and isMatrix().

◆ isMatrix() [3/3]

template<int Level>
template<class vtype, int N>
accelerator_inline int TensorIndexRecursion< Level >::isMatrix ( const iMatrix< vtype, N > tmp)
inlinestatic

Definition at line 68 of file Tensor_index.h.

References iMatrix< vtype, N >::_internal, accelerator_inline, and isMatrix().

◆ traceIndex() [1/3]

template<int Level>
template<class vtype>
accelerator_inline auto TensorIndexRecursion< Level >::traceIndex ( const iScalar< vtype > arg) -> iScalar< decltype(TensorIndexRecursion< Level-1 >::traceIndex(arg._internal))>
inlinestatic

◆ traceIndex() [2/3]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::traceIndex ( const iVector< vtype, N > arg) -> iVector< decltype(TensorIndexRecursion< Level-1 >::traceIndex(arg._internal[0])), N >
inlinestatic

Definition at line 80 of file Tensor_index.h.

References accelerator_inline, and traceIndex().

◆ traceIndex() [3/3]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::traceIndex ( const iMatrix< vtype, N > arg) -> iMatrix< decltype(TensorIndexRecursion< Level-1 >::traceIndex(arg._internal[0][0])), N >
inlinestatic

Definition at line 89 of file Tensor_index.h.

References accelerator_inline, and traceIndex().

◆ peekIndex() [1/6]

template<int Level>
template<class vtype>
accelerator_inline auto TensorIndexRecursion< Level >::peekIndex ( const iScalar< vtype > arg,
int i ) -> iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal, 0))>
inlinestatic

◆ peekIndex() [2/6]

template<int Level>
template<class vtype>
accelerator_inline auto TensorIndexRecursion< Level >::peekIndex ( const iScalar< vtype > arg,
int i,
int j ) -> iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal, 0, 0))>
inlinestatic

Definition at line 109 of file Tensor_index.h.

References iScalar< vtype >::_internal, accelerator_inline, and peekIndex().

◆ peekIndex() [3/6]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::peekIndex ( const iVector< vtype, N > arg,
int ii ) -> iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0], 0)), N >
inlinestatic

Definition at line 117 of file Tensor_index.h.

References accelerator_inline, and peekIndex().

◆ peekIndex() [4/6]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::peekIndex ( const iVector< vtype, N > arg,
int ii,
int jj ) -> iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0], 0, 0)), N >
inlinestatic

Definition at line 126 of file Tensor_index.h.

References accelerator_inline, and peekIndex().

◆ peekIndex() [5/6]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::peekIndex ( const iMatrix< vtype, N > arg,
int ii ) -> iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0][0], 0)), N >
inlinestatic

Definition at line 137 of file Tensor_index.h.

References accelerator_inline, and peekIndex().

◆ peekIndex() [6/6]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::peekIndex ( const iMatrix< vtype, N > arg,
int ii,
int jj ) -> iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(arg._internal[0][0], 0, 0)), N >
inlinestatic

Definition at line 147 of file Tensor_index.h.

References accelerator_inline, and peekIndex().

◆ pokeIndex() [1/6]

template<int Level>
template<class vtype>
accelerator_inline void TensorIndexRecursion< Level >::pokeIndex ( iScalar< vtype > & ret,
const iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal, 0))> & arg,
int i )
inlinestatic

◆ pokeIndex() [2/6]

template<int Level>
template<class vtype>
accelerator_inline void TensorIndexRecursion< Level >::pokeIndex ( iScalar< vtype > & ret,
const iScalar< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal, 0, 0))> & arg,
int i,
int j )
inlinestatic

Definition at line 167 of file Tensor_index.h.

References iScalar< vtype >::_internal, peekIndex(), and pokeIndex().

◆ pokeIndex() [3/6]

template<int Level>
template<class vtype, int N>
accelerator_inline void TensorIndexRecursion< Level >::pokeIndex ( iVector< vtype, N > & ret,
const iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0], 0)), N > & arg,
int i )
inlinestatic

Definition at line 173 of file Tensor_index.h.

References iVector< vtype, N >::_internal, peekIndex(), and pokeIndex().

◆ pokeIndex() [4/6]

template<int Level>
template<class vtype, int N>
accelerator_inline void TensorIndexRecursion< Level >::pokeIndex ( iVector< vtype, N > & ret,
const iVector< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0], 0, 0)), N > & arg,
int i,
int j )
inlinestatic

Definition at line 180 of file Tensor_index.h.

References iVector< vtype, N >::_internal, peekIndex(), and pokeIndex().

◆ pokeIndex() [5/6]

template<int Level>
template<class vtype, int N>
accelerator_inline void TensorIndexRecursion< Level >::pokeIndex ( iMatrix< vtype, N > & ret,
const iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0][0], 0)), N > & arg,
int i )
inlinestatic

Definition at line 188 of file Tensor_index.h.

References iMatrix< vtype, N >::_internal, peekIndex(), and pokeIndex().

◆ pokeIndex() [6/6]

template<int Level>
template<class vtype, int N>
accelerator_inline void TensorIndexRecursion< Level >::pokeIndex ( iMatrix< vtype, N > & ret,
const iMatrix< decltype(TensorIndexRecursion< Level-1 >::peekIndex(ret._internal[0][0], 0, 0)), N > & arg,
int i,
int j )
inlinestatic

Definition at line 196 of file Tensor_index.h.

References iMatrix< vtype, N >::_internal, peekIndex(), and pokeIndex().

◆ transposeIndex() [1/3]

template<int Level>
template<class vtype>
accelerator_inline auto TensorIndexRecursion< Level >::transposeIndex ( const iScalar< vtype > arg) -> iScalar< vtype >
inlinestatic

◆ transposeIndex() [2/3]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::transposeIndex ( const iVector< vtype, N > arg) -> iVector< vtype, N >
inlinestatic

Definition at line 215 of file Tensor_index.h.

References iVector< vtype, N >::_internal, and transposeIndex().

◆ transposeIndex() [3/3]

template<int Level>
template<class vtype, int N>
accelerator_inline auto TensorIndexRecursion< Level >::transposeIndex ( const iMatrix< vtype, N > arg) -> iMatrix< vtype, N >
inlinestatic

Definition at line 224 of file Tensor_index.h.

References iMatrix< vtype, N >::_internal, and transposeIndex().


The documentation for this class was generated from the following file: