Go to the documentation of this file.
163 const Range& c)
const;
174 const Range& c)
const;
179 const Range& c)
const;
184 const Range& c)
const;
189 const Range& c)
const;
261 return get(s, b, p, r, c);
338 using ConstTensor5View::operator();
427 return get(s, b, p, r, c);
bool operator!=(const Iterator5D &other) const
Not equal operator, needed for algorithms like copy.
bool operator!=(const ConstIterator5D &other) const
Not equal operator, needed for algorithms like copy.
Index nbooks() const
Returns the number of books.
Range mpr
The page range of mdata that is actually used.
Tensor5View & operator+=(Numeric x)
Addition of scalar.
Iterator5D(const Tensor4View &x, Index stride)
Explicit constructor.
Numeric get(Index s, Index b, Index p, Index r, Index c) const
Get element implementation without assertions.
Tensor5View & operator-=(Numeric x)
Subtraction of scalar.
Tensor4View & operator*()
Dereferencing.
Index ncols() const
Returns the number of columns.
A constant view of a Tensor7.
Range mbr
The book range of mdata that is actually used.
ConstTensor5View operator()(const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) const
Const index operator for subrange.
Numeric debug_tensor5view_get_elem(Tensor5View &tv, Index s, Index b, Index p, Index r, Index c)
Helper function to access tensor elements.
Tensor5 & operator=(const Tensor5 &x)
Assignment operator from another tensor.
Vector y(Workspace &ws) noexcept
Range mbr
The book range of mdata that is actually used.
constexpr Tensor5View(const Tensor5View &)=default
Tensor4View * operator->()
The -> operator is needed, so that we can write i->begin() to get the 4D iterators.
Range mcr
The column range of mdata that is actually used.
G0 G2 FVC Y DV Numeric Numeric Numeric Zeeman LowerQuantumNumbers void * data
Index mstart
The start index.
Range msr
The shelf range of mdata that is actually used.
void transform(Tensor5View y, double(&my_func)(double), ConstTensor5View x)
A generic transform function for tensors, which can be used to implement mathematical functions opera...
Implementation of Tensors of Rank 5.
ConstIterator5D(const ConstTensor4View &x, Index stride)
Explicit constructor.
virtual ~ConstTensor5View()=default
Destructor.
Numeric max(const ConstTensor5View &x)
Max function, tensor version.
ConstIterator5D & operator++()
Prefix increment operator.
Index npages() const
Returns the number of pages.
void copy(ConstIterator5D origin, const ConstIterator5D &end, Iterator5D target)
Copy data between begin and end to target.
ConstIterator5D()=default
Default constructor.
ConstIterator5D begin() const
Return const iterator to first shelf.
A constant view of a Tensor4.
Numeric operator()(Index s, Index b, Index p, Index r, Index c) const
Plain const index operator.
Iterator5D()=default
Default constructor.
friend void swap(Tensor5 &t1, Tensor5 &t2)
Swaps two objects.
Tensor5View & operator/=(Numeric x)
Division by scalar.
Numeric & operator()(Index s, Index b, Index p, Index r, Index c)
Plain const index operator.
bool empty() const
Check if variable is empty.
void resize(Index s, Index b, Index p, Index r, Index c)
Resize function.
Const version of Iterator6D.
const ConstTensor4View & operator*() const
Dereferencing.
Iterator5D end()
Return iterator behind last shelf.
const Numeric * get_c_array() const
Conversion to plain C-array.
virtual ~Tensor5()
Destructor for Tensor5.
constexpr ConstTensor5View(const ConstTensor5View &)=default
Range mrr
The row range of mdata that is actually used.
A constant view of a Tensor6.
NUMERIC Numeric
The type to use for all floating point numbers.
constexpr ConstTensor5View(ConstTensor5View &&)=default
Range mcr
The column 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.
Numeric min(const ConstTensor5View &x)
Min function, tensor version.
The outermost iterator class for rank 6 tensors.
Numeric & get(Index s, Index b, Index p, Index r, Index c)
Get element implementation without assertions.
A constant view of a Matrix.
Tensor5View operator()(const Range &s, const Range &b, const Range &p, const Range &r, const Range &c)
Index operator for subrange.
Iterator5D & operator++()
Prefix increment operator.
Index mextent
The number of elements.
const ConstTensor4View * operator->() const
The -> operator is needed, so that we can write i->begin() to get the 4D iterators.
Index nrows() const
Returns the number of rows.
Tensor5View & operator=(const ConstTensor5View &v)
Assignment operator.
Range mpr
The page range of mdata that is actually used.
ConstTensor4View msv
Current position.
ConstTensor5View & operator=(ConstTensor5View &&)=default
Index nshelves() const
Returns the number of shelves.
std::ostream & operator<<(std::ostream &os, const ConstTensor5View &v)
Output operator.
Range mrr
The row range of mdata that is actually used.
A constant view of a Tensor3.
virtual ~Tensor5View()=default
Destructor.
Iterator5D begin()
Return iterator to first shelf.
Numeric * mdata
Pointer to the plain C array that holds the data.
Vector x(Workspace &ws) noexcept
INDEX Index
The type to use for all integer numbers and indices.
ConstTensor5View & operator=(const ConstTensor5View &)=default
Const version of Iterator5D.
Tensor4View msv
Current position.
A constant view of a Vector.
ConstIterator5D end() const
Return const iterator behind last shelf.
Numeric * mdata
Pointer to the plain C array that holds the data.
Tensor5View & operator*=(Numeric x)
Multiplication by scalar.
ConstTensor5View()=default
Tensor5(Tensor5 &&v) noexcept
A constant view of a Tensor5.
Numeric get(Index s, Index b, Index p, Index r, Index c) const
Get element implementation without assertions.