#include <src/ftensor/src/FTensor/Tensor3_antisymmetric/Tensor3_antisymmetric_pointer.hpp>
|
template<class... U> |
| Tensor3_antisymmetric (U *... d) |
|
| Tensor3_antisymmetric () |
|
T & | unsafe (const int N1, const int N2, const int N3) |
|
T | operator() (const int N1, const int N2, const int N3) const |
|
T * | ptr (const int N1, const int N2, const int N3) const |
|
template<char i, char j, char k, int Dim0, int Dim12> |
Tensor3_antisymmetric_Expr< Tensor3_antisymmetric< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim0, Dim12, i, j, k > | operator() (const Index< i, Dim0 > index1, const Index< j, Dim12 > index2, const Index< k, Dim12 > index3) |
|
template<char i, char j, char k, int Dim0, int Dim12> |
Tensor3_antisymmetric_Expr< const Tensor3_antisymmetric< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim0, Dim12, i, j, k > | operator() (const Index< i, Dim0 > index1, const Index< j, Dim12 > index2, const Index< k, Dim12 > index3) const |
|
const Tensor3_antisymmetric< T *, Tensor_Dim0, Tensor_Dim12 > & | operator++ () const |
|
|
T *restrict | data [Tensor_Dim0][(Tensor_Dim12 *(Tensor_Dim12 - 1))/2] |
|
template<class T, int Tensor_Dim0, int Tensor_Dim12>
class FTensor::Tensor3_antisymmetric< T *, Tensor_Dim0, Tensor_Dim12 >
Definition at line 8 of file Tensor3_antisymmetric_pointer.hpp.
◆ Tensor3_antisymmetric() [1/2]
template<class T , int Tensor_Dim0, int Tensor_Dim12>
template<class... U>
Definition at line 14 of file Tensor3_antisymmetric_pointer.hpp.
16 static_assert(
sizeof...(
d) ==
sizeof(
data) /
sizeof(T),
17 "Incorrect number of Arguments. Constructor should "
18 "initialize the entire Tensor");
◆ Tensor3_antisymmetric() [2/2]
template<class T , int Tensor_Dim0, int Tensor_Dim12>
◆ operator()() [1/3]
template<class T , int Tensor_Dim0, int Tensor_Dim12>
template<char i, char j, char k, int Dim0, int Dim12>
Tensor3_antisymmetric_Expr< Tensor3_antisymmetric<T *, Tensor_Dim0, Tensor_Dim12>, T, Dim0, Dim12, i, j, k> FTensor::Tensor3_antisymmetric< T *, Tensor_Dim0, Tensor_Dim12 >::operator() |
( |
const Index< i, Dim0 > |
index1, |
|
|
const Index< j, Dim12 > |
index2, |
|
|
const Index< k, Dim12 > |
index3 |
|
) |
| |
|
inline |
Definition at line 99 of file Tensor3_antisymmetric_pointer.hpp.
102 return Tensor3_antisymmetric_Expr<
103 Tensor3_antisymmetric<T *, Tensor_Dim0, Tensor_Dim12>, T, Dim0, Dim12,
◆ operator()() [2/3]
template<class T , int Tensor_Dim0, int Tensor_Dim12>
template<char i, char j, char k, int Dim0, int Dim12>
Tensor3_antisymmetric_Expr< const Tensor3_antisymmetric<T *, Tensor_Dim0, Tensor_Dim12>, T, Dim0, Dim12, i, j, k> FTensor::Tensor3_antisymmetric< T *, Tensor_Dim0, Tensor_Dim12 >::operator() |
( |
const Index< i, Dim0 > |
index1, |
|
|
const Index< j, Dim12 > |
index2, |
|
|
const Index< k, Dim12 > |
index3 |
|
) |
| const |
|
inline |
Definition at line 111 of file Tensor3_antisymmetric_pointer.hpp.
114 return Tensor3_antisymmetric_Expr<
115 const Tensor3_antisymmetric<T *, Tensor_Dim0, Tensor_Dim12>, T, Dim0,
116 Dim12,
i,
j,
k>(*this);
◆ operator()() [3/3]
template<class T , int Tensor_Dim0, int Tensor_Dim12>
Definition at line 49 of file Tensor3_antisymmetric_pointer.hpp.
52 if(N1 >= Tensor_Dim0 || N1 < 0 || N2 >= Tensor_Dim12 || N2 < 0
53 || N3 >= Tensor_Dim12 || N3 < 0)
56 s <<
"Bad index in Tensor3_antisymmetric<T*," << Tensor_Dim0 <<
","
57 << Tensor_Dim12 <<
">.operator(" << N1 <<
"," << N2 <<
"," << N3
58 <<
") const" << std::endl;
59 throw std::out_of_range(s.str());
64 [N3 - 1 + (N2 * (2 * (Tensor_Dim12 - 1) - N2 - 1)) / 2]
67 + (N3 * (2 * (Tensor_Dim12 - 1) - N3 - 1)) / 2]
◆ operator++()
template<class T , int Tensor_Dim0, int Tensor_Dim12>
◆ ptr()
template<class T , int Tensor_Dim0, int Tensor_Dim12>
Definition at line 71 of file Tensor3_antisymmetric_pointer.hpp.
74 if(N1 >= Tensor_Dim0 || N1 < 0 || N2 >= Tensor_Dim12 || N2 < 0
75 || N3 >= Tensor_Dim12 || N3 < 0)
78 s <<
"Bad index in Tensor3_antisymmetric<T*," << Tensor_Dim0 <<
","
79 << Tensor_Dim12 <<
">.ptr(" << N1 <<
"," << N2 <<
"," << N3 <<
")"
81 throw std::out_of_range(s.str());
85 ?
data[N1][N3 - 1 + (N2 * (2 * (Tensor_Dim12 - 1) - N2 - 1)) / 2]
88 + (N3 * (2 * (Tensor_Dim12 - 1) - N3 - 1)) / 2]
◆ unsafe()
template<class T , int Tensor_Dim0, int Tensor_Dim12>
Definition at line 33 of file Tensor3_antisymmetric_pointer.hpp.
36 if(N1 >= Tensor_Dim0 || N1 < 0 || N2 >= Tensor_Dim12 || N2 < 0
37 || N3 >= Tensor_Dim12 || N3 < 0 || N2 >= N3)
40 s <<
"Bad index in Tensor3_antisymmetric<T*," << Tensor_Dim0 <<
","
41 << Tensor_Dim12 <<
">.unsafe(" << N1 <<
"," << N2 <<
"," << N3
43 throw std::out_of_range(s.str());
46 return *
data[N1][N3 - 1 + (N2 * (2 * (Tensor_Dim12 - 1) - N2 - 1)) / 2];
◆ data
template<class T , int Tensor_Dim0, int Tensor_Dim12>
The documentation for this class was generated from the following file:
const Tensor1_Expr< const dTensor0< T, Dim, i >, typename promote< T, double >::V, Dim, i > d(const Tensor0< T * > &a, const Index< i, Dim > index, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)