Go to the documentation of this file.
155 const Range& c)
const;
244 using ConstTensor3View::operator();
394 #endif // matpackIII_h
bool operator!=(const Iterator3D &other) const
Not equal operator, needed for algorithms like copy.
void copy(ConstIterator3D origin, const ConstIterator3D &end, Iterator3D target)
Copy data between begin and end to target.
void transform(Tensor3View y, double(&my_func)(double), ConstTensor3View x)
A generic transform function for tensors, which can be used to implement mathematical functions opera...
Numeric & operator()(Index p, Index r, Index c)
Plain non-const index operator.
ConstTensor3View operator()(const Range &p, const Range &r, const Range &c) const
Const index operator for subrange.
constexpr ConstTensor3View(const ConstTensor3View &)=default
A constant view of a Tensor7.
constexpr Tensor3View(const Tensor3View &)=default
Const version of Iterator3D.
Numeric * mdata
Pointer to the plain C array that holds the data.
Vector y(Workspace &ws) noexcept
Tensor3View operator()(const Range &p, const Range &r, const Range &c)
Index operator for subrange.
G0 G2 FVC Y DV Numeric Numeric Numeric Zeeman LowerQuantumNumbers void * data
constexpr ConstTensor3View(ConstTensor3View &&)=default
virtual ~Tensor3()
Destructor for Tensor3.
Index mstart
The start index.
Range mcr
The column range of mdata that is actually used.
Iterator3D end()
Return iterator behind last page.
const ConstMatrixView & operator*() const
Dereferencing.
void resize(Index p, Index r, Index c)
Resize function.
Tensor3View & operator-=(Numeric x)
Subtraction of scalar.
Index npages() const
Returns the number of pages.
Range mrr
The row range of mdata that is actually used.
Numeric min(const ConstTensor3View &x)
Min function, tensor version.
Const version of Iterator4D.
A constant view of a Tensor4.
Implementation of Matrix, Vector, and such stuff.
Implementation of Tensors of Rank 3.
MatrixView & operator*()
Dereferencing.
ConstIterator3D begin() const
Return const iterator to first page.
Iterator3D begin()
Return iterator to first page.
ConstIterator3D()=default
Default constructor.
Range mrr
The row range of mdata that is actually used.
Range mcr
The column range of mdata that is actually used.
Numeric debug_tensor3view_get_elem(Tensor3View &tv, Index p, Index r, Index c)
Helper function to access tensor elements.
Iterator3D & operator++()
Prefix increment operator.
Iterator3D(const MatrixView &x, Index stride)
Explicit constructor.
ConstTensor3View()=default
Numeric get(Index p, Index r, Index c) const
Get element implementation without assertions.
Range mpr
The page range of mdata that is actually used.
A constant view of a Tensor6.
NUMERIC Numeric
The type to use for all floating point numbers.
Numeric * mdata
Pointer to the plain C array that holds the data.
Tensor3View & operator/=(Numeric x)
Division by scalar.
MatrixView msv
Current position.
constexpr Rational end(Rational Ju, Rational Jl, Polarization type) noexcept
Gives the largest M for a polarization type of this transition.
Index nrows() const
Returns the number of rows.
A constant view of a Matrix.
Tensor3View & operator*=(Numeric x)
Multiplication by scalar.
ConstIterator3D end() const
Return const iterator behind last page.
Numeric get(Index p, Index r, Index c) const
Get element implementation without assertions.
Numeric max(const ConstTensor3View &x)
Max function, tensor version.
Index mextent
The number of elements.
friend void swap(Tensor3 &t1, Tensor3 &t2)
Swaps two objects.
ConstMatrixView msv
Current position.
ConstTensor3View & operator=(const ConstTensor3View &)=default
Implementation of Tensors of Rank 4.
Index ncols() const
Returns the number of columns.
virtual ~ConstTensor3View()=default
Destructor.
A constant view of a Tensor3.
std::ostream & operator<<(std::ostream &os, const ConstTensor3View &v)
Output operator.
Numeric & get(Index p, Index r, Index c)
Get element implementation without assertions.
ConstIterator3D & operator++()
Prefix increment operator.
Tensor3 & operator=(const Tensor3 &x)
Assignment operator from another tensor.
ConstTensor3View & operator=(ConstTensor3View &&)=default
Tensor3View & operator+=(Numeric x)
Addition of scalar.
Tensor3(Tensor3 &&v) noexcept
Vector x(Workspace &ws) noexcept
INDEX Index
The type to use for all integer numbers and indices.
bool operator!=(const ConstIterator3D &other) const
Not equal operator, needed for algorithms like copy.
Tensor3View & operator=(const ConstTensor3View &v)
Assignment operator.
bool empty() const
Check if variable is empty.
const ConstMatrixView * operator->() const
The -> operator is needed, so that we can write i->begin() to get the 1D iterators.
const Numeric * get_c_array() const
Conversion to plain C-array.
ConstIterator3D(const ConstMatrixView &x, Index stride)
Explicit constructor.
MatrixView * operator->()
The -> operator is needed, so that we can write i->begin() to get the 1D iterators.
A constant view of a Vector.
Iterator3D()=default
Default constructor.
Numeric operator()(Index p, Index r, Index c) const
Plain const index operator.
A constant view of a Tensor5.
void mult(Tensor3View A, const ConstVectorView B, const ConstMatrixView C)
mult Tensor3
virtual ~Tensor3View()=default
Destructor.