35 assert(x < m##x##r.mextent) 36 #define OFFSET(x) m##x##r.mstart + x* m##x##r.mstride 158 Index nvitrines()
const;
159 Index nshelves()
const;
160 Index nbooks()
const;
161 Index npages()
const;
174 const Range& c)
const;
190 const Range& c)
const;
197 const Range& c)
const;
204 const Range& c)
const;
211 const Range& c)
const;
218 const Range& c)
const;
262 const Range& c)
const;
269 const Range& c)
const;
276 const Range& c)
const;
283 const Range& c)
const;
290 const Range& c)
const;
297 const Range& c)
const;
304 const Range& c)
const;
311 const Range& c)
const;
318 const Range& c)
const;
325 const Range& c)
const;
404 const Range& c)
const;
411 const Range& c)
const;
418 const Range& c)
const;
425 const Range& c)
const;
432 const Range& c)
const;
439 const Range& c)
const;
446 const Range& c)
const;
453 const Range& c)
const;
460 const Range& c)
const;
467 const Range& c)
const;
546 return get(v, s, b, p,
r, c);
626 using ConstTensor6View::operator();
1011 return get(v, s, b, p,
r, c);
1021 const Numeric* get_c_array()
const;
1142 #endif // matpackVI_h
Range mcr
The column range of mdata that is actually used.
INDEX Index
The type to use for all integer numbers and indices.
bool operator!=(const Iterator6D &other) const
Not equal operator, needed for algorithms like copy.
The outermost iterator class for rank 6 tensors.
ConstTensor5View msv
Current position.
bool operator!=(const ConstIterator6D &other) const
Not equal operator, needed for algorithms like copy.
A constant view of a Tensor7.
Index mstart
The start index.
Numeric get(Index v, Index s, Index b, Index p, Index r, Index c) const
Get element implementation without assertions.
A constant view of a Tensor6.
Tensor5View & operator*()
Dereferencing.
Const version of Iterator6D.
Tensor6(Tensor6 &&v) noexcept
Numeric min(const ConstTensor6View &x)
Min function, tensor version.
ConstIterator6D end() const
Return const iterator behind last sub-tensor.
Numeric operator()(Index v, Index s, Index b, Index p, Index r, Index c) const
void transform(Tensor6View y, double(&my_func)(double), ConstTensor6View x)
A generic transform function for tensors, which can be used to implement mathematical functions opera...
G0 G2 FVC Y DV Numeric Numeric Numeric Zeeman LowerQuantumNumbers void * data
A constant view of a Tensor4.
Tensor5View * operator->()
The -> operator is needed, so that we can write i->begin() to get the 1D iterators.
Numeric max(const ConstTensor6View &x)
Max function, tensor version.
void swap(ComplexVector &v1, ComplexVector &v2)
Swaps two objects.
Range mbr
The book range of mdata that is actually used.
Range mpr
The page range of mdata that is actually used.
Numeric debug_tensor6view_get_elem(Tensor6View &tv, Index v, Index s, Index b, Index p, Index r, Index c)
Helper function to access tensor elements.
Numeric * mdata
Pointer to the plain C array that holds the data.
#define CHECK(x)
Implementation of Tensors of Rank 6.
Range mrr
The row range of mdata that is actually used.
Range mcr
The column range of mdata that is actually used.
const ConstTensor5View * operator->() const
The -> operator is needed, so that we can write i->begin() to get the 1D iterators.
const ConstTensor5View & operator*() const
Dereferencing.
Iterator6D(const Tensor5View &x, Index stride)
Explicit constructor.
ConstIterator6D(const ConstTensor5View &x, Index stride)
Explicit constructor.
A constant view of a Tensor5.
Tensor5View msv
Current position.
NUMERIC Numeric
The type to use for all floating point numbers.
Iterator6D()=default
Default constructor.
Implementation of Tensors of Rank 7.
Range msr
The shelf range of mdata that is actually used.
ConstIterator6D begin() const
Return const iterator to first sub-tensor.
Numeric * mdata
Pointer to the plain C array that holds the data.
Range msr
The shelf range of mdata that is actually used.
Iterator6D & operator++()
Prefix increment operator.
Numeric * mdata
Pointer to the plain C array that holds the data.
Const version of Iterator7D.
A constant view of a Tensor3.
Range mrr
The row range of mdata that is actually used.
A constant view of a Vector.
A constant view of a Matrix.
Numeric & operator()(Index v, Index s, Index b, Index p, Index r, Index c)
Range mpr
The page range of mdata that is actually used.
constexpr Rational end(Rational Ju, Rational Jl, Polarization type) noexcept
Gives the largest M for a polarization type of this transition.
void copy(ConstIterator6D origin, const ConstIterator6D &end, Iterator6D target)
Copy data between begin and end to target.
std::ostream & operator<<(std::ostream &os, const ConstTensor6View &v)
Output operator.
ConstIterator6D & operator++()
Prefix increment operator.
Range mbr
The book range of mdata that is actually used.
MatrixView & operator+=(MatrixView &A, const Block &B)
Range mvr
The vitrine range of mdata that is actually used.