ARTS
2.4.0(git:4fb77825)
|
#include <matpackVI.h>
Public Member Functions | |
Tensor6 ()=default | |
Tensor6 (Index v, Index s, Index b, Index p, Index r, Index c) | |
Constructor setting size. More... | |
Tensor6 (Index v, Index s, Index b, Index p, Index r, Index c, Numeric fill) | |
Constructor setting size and filling with constant value. More... | |
Tensor6 (const ConstTensor6View &v) | |
Copy constructor from Tensor6View. More... | |
Tensor6 (const Tensor6 &v) | |
Copy constructor from Tensor6. More... | |
Tensor6 (Tensor6 &&v) noexcept | |
Tensor6 & | operator= (const Tensor6 &x) |
Assignment operator from another tensor. More... | |
Tensor6 & | operator= (Tensor6 &&x) noexcept |
Move assignment operator from another tensor. More... | |
Tensor6 & | operator= (Numeric x) |
Assignment operator from scalar. More... | |
void | resize (Index v, Index s, Index b, Index p, Index r, Index c) |
Resize function. More... | |
virtual | ~Tensor6 () |
Destructor for Tensor6. More... | |
Public Member Functions inherited from Tensor6View | |
constexpr | Tensor6View (const Tensor6View &)=default |
Tensor6View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) |
Tensor5View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, Index c) |
Tensor5View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, Index r, const Range &c) |
Tensor5View | operator() (const Range &v, const Range &s, const Range &b, Index p, const Range &r, const Range &c) |
Tensor5View | operator() (const Range &v, const Range &s, Index b, const Range &p, const Range &r, const Range &c) |
Tensor5View | operator() (const Range &v, Index s, const Range &b, const Range &p, const Range &r, const Range &c) |
Tensor5View | operator() (Index v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) |
Tensor4View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, Index r, Index c) |
Tensor4View | operator() (const Range &v, const Range &s, const Range &b, Index p, const Range &r, Index c) |
Tensor4View | operator() (const Range &v, const Range &s, Index b, const Range &p, const Range &r, Index c) |
Tensor4View | operator() (const Range &v, Index s, const Range &b, const Range &p, const Range &r, Index c) |
Tensor4View | operator() (Index v, const Range &s, const Range &b, const Range &p, const Range &r, Index c) |
Tensor4View | operator() (const Range &v, const Range &s, const Range &b, Index p, Index r, const Range &c) |
Tensor4View | operator() (const Range &v, const Range &s, Index b, const Range &p, Index r, const Range &c) |
Tensor4View | operator() (const Range &v, Index s, const Range &b, const Range &p, Index r, const Range &c) |
Tensor4View | operator() (Index v, const Range &s, const Range &b, const Range &p, Index r, const Range &c) |
Tensor4View | operator() (const Range &v, const Range &s, Index b, Index p, const Range &r, const Range &c) |
Tensor4View | operator() (const Range &v, Index s, const Range &b, Index p, const Range &r, const Range &c) |
Tensor4View | operator() (Index v, const Range &s, const Range &b, Index p, const Range &r, const Range &c) |
Tensor4View | operator() (const Range &v, Index s, Index b, const Range &p, const Range &r, const Range &c) |
Tensor4View | operator() (Index v, const Range &s, Index b, const Range &p, const Range &r, const Range &c) |
Tensor4View | operator() (Index v, Index s, const Range &b, const Range &p, const Range &r, const Range &c) |
Tensor3View | operator() (const Range &v, const Range &s, const Range &b, Index p, Index r, Index c) |
Tensor3View | operator() (const Range &v, const Range &s, Index b, const Range &p, Index r, Index c) |
Tensor3View | operator() (const Range &v, Index s, const Range &b, const Range &p, Index r, Index c) |
Tensor3View | operator() (Index v, const Range &s, const Range &b, const Range &p, Index r, Index c) |
Tensor3View | operator() (const Range &v, const Range &s, Index b, Index p, const Range &r, Index c) |
Tensor3View | operator() (const Range &v, Index s, const Range &b, Index p, const Range &r, Index c) |
Tensor3View | operator() (Index v, const Range &s, const Range &b, Index p, const Range &r, Index c) |
Tensor3View | operator() (const Range &v, Index s, Index b, const Range &p, const Range &r, Index c) |
Tensor3View | operator() (Index v, const Range &s, Index b, const Range &p, const Range &r, Index c) |
Tensor3View | operator() (Index v, Index s, const Range &b, const Range &p, const Range &r, Index c) |
Tensor3View | operator() (const Range &v, const Range &s, Index b, Index p, Index r, const Range &c) |
Tensor3View | operator() (const Range &v, Index s, const Range &b, Index p, Index r, const Range &c) |
Tensor3View | operator() (Index v, const Range &s, const Range &b, Index p, Index r, const Range &c) |
Tensor3View | operator() (const Range &v, Index s, Index b, const Range &p, Index r, const Range &c) |
Tensor3View | operator() (Index v, const Range &s, Index b, const Range &p, Index r, const Range &c) |
Tensor3View | operator() (Index v, Index s, const Range &b, const Range &p, Index r, const Range &c) |
Tensor3View | operator() (const Range &v, Index s, Index b, Index p, const Range &r, const Range &c) |
Tensor3View | operator() (Index v, const Range &s, Index b, Index p, const Range &r, const Range &c) |
Tensor3View | operator() (Index v, Index s, const Range &b, Index p, const Range &r, const Range &c) |
Tensor3View | operator() (Index v, Index s, Index b, const Range &p, const Range &r, const Range &c) |
MatrixView | operator() (Index v, Index s, Index b, Index p, const Range &r, const Range &c) |
MatrixView | operator() (Index v, Index s, Index b, const Range &p, Index r, const Range &c) |
MatrixView | operator() (Index v, Index s, const Range &b, Index p, Index r, const Range &c) |
MatrixView | operator() (Index v, const Range &s, Index b, Index p, Index r, const Range &c) |
MatrixView | operator() (const Range &v, Index s, Index b, Index p, Index r, const Range &c) |
MatrixView | operator() (Index v, Index s, Index b, const Range &p, const Range &r, Index c) |
MatrixView | operator() (Index v, Index s, const Range &b, Index p, const Range &r, Index c) |
MatrixView | operator() (Index v, const Range &s, Index b, Index p, const Range &r, Index c) |
MatrixView | operator() (const Range &v, Index s, Index b, Index p, const Range &r, Index c) |
MatrixView | operator() (Index v, Index s, const Range &b, const Range &p, Index r, Index c) |
MatrixView | operator() (Index v, const Range &s, Index b, const Range &p, Index r, Index c) |
MatrixView | operator() (const Range &v, Index s, Index b, const Range &p, Index r, Index c) |
MatrixView | operator() (Index v, const Range &s, const Range &b, Index p, Index r, Index c) |
MatrixView | operator() (const Range &v, Index s, const Range &b, Index p, Index r, Index c) |
MatrixView | operator() (const Range &v, const Range &s, Index b, Index p, Index r, Index c) |
VectorView | operator() (Index v, Index s, Index b, Index p, Index r, const Range &c) |
VectorView | operator() (Index v, Index s, Index b, Index p, const Range &r, Index c) |
VectorView | operator() (Index v, Index s, Index b, const Range &p, Index r, Index c) |
VectorView | operator() (Index v, Index s, const Range &b, Index p, Index r, Index c) |
VectorView | operator() (Index v, const Range &s, Index b, Index p, Index r, Index c) |
VectorView | operator() (const Range &v, Index s, Index b, Index p, Index r, Index c) |
Numeric & | operator() (Index v, Index s, Index b, Index p, Index r, Index c) |
Numeric & | get (Index v, Index s, Index b, Index p, Index r, Index c) |
Get element implementation without assertions. More... | |
const Numeric * | get_c_array () const |
Conversion to plain C-array. More... | |
Numeric * | get_c_array () |
Conversion to plain C-array. More... | |
Iterator6D | begin () |
Return iterator to first sub-tensor. More... | |
Iterator6D | end () |
Return iterator behind last sub-tensor. More... | |
Tensor6View & | operator= (const ConstTensor6View &v) |
Assignment operator. More... | |
Tensor6View & | operator= (const Tensor6View &v) |
Assignment from Tensor6View to Tensor6View. More... | |
Tensor6View & | operator= (const Tensor6 &v) |
Assignment from a Tensor6. More... | |
Tensor6View & | operator= (Numeric x) |
Assigning a scalar to a Tensor6View will set all elements to this value. More... | |
Tensor6View & | operator*= (Numeric x) |
Multiplication by scalar. More... | |
Tensor6View & | operator/= (Numeric x) |
Division by scalar. More... | |
Tensor6View & | operator+= (Numeric x) |
Addition of scalar. More... | |
Tensor6View & | operator-= (Numeric x) |
Subtraction of scalar. More... | |
Tensor6View & | operator*= (const ConstTensor6View &x) |
Element-vise multiplication by another Tensor6. More... | |
Tensor6View & | operator/= (const ConstTensor6View &x) |
Element-vise division by another Tensor6. More... | |
Tensor6View & | operator+= (const ConstTensor6View &x) |
Element-vise addition of another Tensor6. More... | |
Tensor6View & | operator-= (const ConstTensor6View &x) |
Element-vise subtraction of another Tensor6. More... | |
virtual | ~Tensor6View ()=default |
Tensor6View (const Tensor5View &a) | |
Special constructor to make a Tensor6 view of a Tensor5. More... | |
ConstIterator6D | begin () const |
Return const iterator to first sub-tensor. More... | |
ConstIterator6D | end () const |
Return const iterator behind last sub-tensor. More... | |
Numeric | get (Index v, Index s, Index b, Index p, Index r, Index c) const |
Get element implementation without assertions. More... | |
Public Member Functions inherited from ConstTensor6View | |
constexpr | ConstTensor6View (const ConstTensor6View &)=default |
constexpr | ConstTensor6View (ConstTensor6View &&)=default |
ConstTensor6View & | operator= (const ConstTensor6View &)=default |
ConstTensor6View & | operator= (ConstTensor6View &&)=default |
bool | empty () const |
Check if variable is empty. More... | |
Index | nvitrines () const |
Returns the number of vitrines. More... | |
Index | nshelves () const |
Returns the number of shelves. More... | |
Index | nbooks () const |
Returns the number of books. More... | |
Index | npages () const |
Returns the number of pages. More... | |
Index | nrows () const |
Returns the number of rows. More... | |
Index | ncols () const |
Returns the number of columns. More... | |
ConstTensor6View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, Index s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (Index v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, Index r, Index c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, const Range &b, Index p, const Range &r, Index c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, Index b, const Range &p, const Range &r, Index c) const |
ConstTensor4View | operator() (const Range &v, Index s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor4View | operator() (Index v, const Range &s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, const Range &b, Index p, Index r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, Index b, const Range &p, Index r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, Index s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor4View | operator() (Index v, const Range &s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, Index b, Index p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, Index s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (Index v, const Range &s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, Index s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (Index v, const Range &s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (Index v, Index s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, const Range &b, Index p, Index r, Index c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, Index b, const Range &p, Index r, Index c) const |
ConstTensor3View | operator() (const Range &v, Index s, const Range &b, const Range &p, Index r, Index c) const |
ConstTensor3View | operator() (Index v, const Range &s, const Range &b, const Range &p, Index r, Index c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, Index b, Index p, const Range &r, Index c) const |
ConstTensor3View | operator() (const Range &v, Index s, const Range &b, Index p, const Range &r, Index c) const |
ConstTensor3View | operator() (Index v, const Range &s, const Range &b, Index p, const Range &r, Index c) const |
ConstTensor3View | operator() (const Range &v, Index s, Index b, const Range &p, const Range &r, Index c) const |
ConstTensor3View | operator() (Index v, const Range &s, Index b, const Range &p, const Range &r, Index c) const |
ConstTensor3View | operator() (Index v, Index s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, Index b, Index p, Index r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, Index s, const Range &b, Index p, Index r, const Range &c) const |
ConstTensor3View | operator() (Index v, const Range &s, const Range &b, Index p, Index r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, Index s, Index b, const Range &p, Index r, const Range &c) const |
ConstTensor3View | operator() (Index v, const Range &s, Index b, const Range &p, Index r, const Range &c) const |
ConstTensor3View | operator() (Index v, Index s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, Index s, Index b, Index p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (Index v, const Range &s, Index b, Index p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (Index v, Index s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (Index v, Index s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, Index b, Index p, const Range &r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, Index b, const Range &p, Index r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, const Range &b, Index p, Index r, const Range &c) const |
ConstMatrixView | operator() (Index v, const Range &s, Index b, Index p, Index r, const Range &c) const |
ConstMatrixView | operator() (const Range &v, Index s, Index b, Index p, Index r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, Index b, const Range &p, const Range &r, Index c) const |
ConstMatrixView | operator() (Index v, Index s, const Range &b, Index p, const Range &r, Index c) const |
ConstMatrixView | operator() (Index v, const Range &s, Index b, Index p, const Range &r, Index c) const |
ConstMatrixView | operator() (const Range &v, Index s, Index b, Index p, const Range &r, Index c) const |
ConstMatrixView | operator() (Index v, Index s, const Range &b, const Range &p, Index r, Index c) const |
ConstMatrixView | operator() (Index v, const Range &s, Index b, const Range &p, Index r, Index c) const |
ConstMatrixView | operator() (const Range &v, Index s, Index b, const Range &p, Index r, Index c) const |
ConstMatrixView | operator() (Index v, const Range &s, const Range &b, Index p, Index r, Index c) const |
ConstMatrixView | operator() (const Range &v, Index s, const Range &b, Index p, Index r, Index c) const |
ConstMatrixView | operator() (const Range &v, const Range &s, Index b, Index p, Index r, Index c) const |
ConstVectorView | operator() (Index v, Index s, Index b, Index p, Index r, const Range &c) const |
ConstVectorView | operator() (Index v, Index s, Index b, Index p, const Range &r, Index c) const |
ConstVectorView | operator() (Index v, Index s, Index b, const Range &p, Index r, Index c) const |
ConstVectorView | operator() (Index v, Index s, const Range &b, Index p, Index r, Index c) const |
ConstVectorView | operator() (Index v, const Range &s, Index b, Index p, Index r, Index c) const |
ConstVectorView | operator() (const Range &v, Index s, Index b, Index p, Index r, Index c) const |
Numeric | operator() (Index v, Index s, Index b, Index p, Index r, Index c) const |
Numeric | get (Index v, Index s, Index b, Index p, Index r, Index c) const |
Get element implementation without assertions. More... | |
ConstIterator6D | begin () const |
Return const iterator to first sub-tensor. More... | |
ConstIterator6D | end () const |
Return const iterator behind last sub-tensor. More... | |
virtual | ~ConstTensor6View ()=default |
ConstTensor6View (const ConstTensor5View &a) | |
Special constructor to make a Tensor6 view of a Tensor5. More... | |
Friends | |
void | swap (Tensor6 &t1, Tensor6 &t2) |
Swaps two objects. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Tensor6View | |
Tensor6View ()=default | |
Tensor6View (Numeric *data, const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) | |
Explicit constructor. More... | |
Tensor6View (Numeric *data, const Range &pv, const Range &ps, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &nv, const Range &ns, const Range &nb, const Range &np, const Range &nr, const Range &nc) | |
Recursive constructor. More... | |
Protected Member Functions inherited from ConstTensor6View | |
ConstTensor6View ()=default | |
ConstTensor6View (Numeric *data, const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) | |
Explicit constructor. More... | |
ConstTensor6View (Numeric *data, const Range &pv, const Range &ps, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &nv, const Range &ns, const Range &nb, const Range &np, const Range &nr, const Range &nc) | |
Recursive constructor. More... | |
Protected Attributes inherited from ConstTensor6View | |
Range | mvr {0, 0, 1} |
The vitrine range of mdata that is actually used. More... | |
Range | msr {0, 0, 1} |
The shelf range of mdata that is actually used. More... | |
Range | mbr {0, 0, 1} |
The book range of mdata that is actually used. More... | |
Range | mpr {0, 0, 1} |
The page range of mdata that is actually used. More... | |
Range | mrr {0, 0, 1} |
The row range of mdata that is actually used. More... | |
Range | mcr {0, 0, 1} |
The column range of mdata that is actually used. More... | |
Numeric * | mdata {nullptr} |
Pointer to the plain C array that holds the data. More... | |
The Tensor6 class.
This is a Tensor6View that also allocates storage automatically, and deallocates it when it is destroyed. We take all the functionality from Tensor6View. Additionally defined here are:
Definition at line 1088 of file matpackVI.h.
|
default |
Constructor setting size.
This constructor has to set the strides in the page and row ranges correctly!
Definition at line 2030 of file matpackVI.cc.
Constructor setting size and filling with constant value.
Definition at line 2042 of file matpackVI.cc.
Tensor6::Tensor6 | ( | const ConstTensor6View & | m | ) |
Copy constructor from Tensor6View.
This automatically sets the size and copies the data.
Definition at line 2058 of file matpackVI.cc.
References Tensor6View::begin(), ConstTensor6View::begin(), copy(), and ConstTensor6View::end().
Tensor6::Tensor6 | ( | const Tensor6 & | m | ) |
Copy constructor from Tensor6.
This automatically sets the size and copies the data.
Definition at line 2076 of file matpackVI.cc.
References ConstTensor6View::mdata, ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), and ConstTensor6View::nvitrines().
|
inlinenoexcept |
Definition at line 1096 of file matpackVI.h.
|
virtual |
Destructor for Tensor6.
This is important, since Tensor6 uses new to allocate storage.
Definition at line 2227 of file matpackVI.cc.
References ConstTensor6View::mdata.
Assignment operator from another tensor.
While dimensions of views can not be adjusted, dimensions of tensors can be adjusted. Hence, the behavior of the assignment operator is different.
In this case the size of the target is automatically adjusted. This is important, so that structures containing tensors are copied correctly.
This is a deviation from the old ARTS paradigm that sizes must match exactly before copying!
Note: It is sufficient to have only this one version of the assignment (Tensor = Tensor). It implicitly covers the cases Tensor=TensorView, etc, because there is a default constructor for Tensor from TensorView. (See C++ Primer Plus, page 571ff.)
m | The other tensor to assign to this one. |
Definition at line 2124 of file matpackVI.cc.
References ConstTensor6View::mdata, ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), ConstTensor6View::nvitrines(), resize(), and ARTS::Var::x().
Assignment operator from scalar.
Assignment operators are not inherited.
Definition at line 2164 of file matpackVI.cc.
References ConstTensor6View::mdata, ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), ConstTensor6View::nvitrines(), and ARTS::Var::x().
Move assignment operator from another tensor.
Definition at line 2141 of file matpackVI.cc.
References ARTS::Var::x().
Resize function.
If the size is already correct this function does nothing. All data is lost after resizing! The new tensor is not initialized, so it will contain random values.
Definition at line 2175 of file matpackVI.cc.
Referenced by operator=(), Reduce(), GriddedField6::resize(), Tensor6Scale(), test_empty(), and xml_read_from_stream().
Swaps two objects.
Definition at line 2215 of file matpackVI.cc.