ARTS
2.3.1285(git:92a29ea9-dirty)
|
The Tensor6View class. More...
#include <matpackVI.h>
Protected Member Functions | |
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... | |
Friends | |
class | Iterator7D |
class | Tensor7View |
Additional Inherited Members | |
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 Tensor6View class.
This contains the main implementation of a Tensor6. It defines the concepts of Tensor6View. Plus additionally the recursive subrange operator, which makes it possible to create a Tensor6View from a subrange of a Tensor6View.
The class Tensor6 is just a special case of a Tensor6View which also allocates storage.
Definition at line 621 of file matpackVI.h.
|
default |
|
virtualdefault |
Tensor6View::Tensor6View | ( | const Tensor5View & | a | ) |
Special constructor to make a Tensor6 view of a Tensor5.
Definition at line 1935 of file matpackVI.cc.
|
protecteddefault |
|
protected |
Explicit constructor.
This one is used by Tensor6 to initialize its own Tensor6View part. The row range rr must have a stride to account for the length of one row.
Definition at line 1952 of file matpackVI.cc.
|
protected |
Recursive constructor.
This is used to construct SubMatrices from SubMatrices. That means that the new ranges have to be interpreted relative to the original ranges.
The new ranges may contain -1 for the extent which acts as a joker. However, the used Range constructor converts this to an explicit range, consistent with the original Range.
*data | The actual data. |
pv | Previous range. |
ps | Previous range. |
pb | Previous range. |
pp | Previous range. |
pr | Previous range. |
pc | Previous range. |
nv | New Range. |
ns | New Range. |
nb | New Range. |
np | New Range. |
nr | New Range. |
nc | New Range. |
Definition at line 1985 of file matpackVI.cc.
Iterator6D Tensor6View::begin | ( | ) |
Return iterator to first sub-tensor.
Definition at line 1752 of file matpackVI.cc.
References ConstTensor6View::mbr, ConstTensor6View::mcr, ConstTensor6View::mdata, ConstTensor6View::mpr, ConstTensor6View::mrr, ConstTensor6View::msr, Range::mstart, Range::mstride, and ConstTensor6View::mvr.
Referenced by copy(), operator=(), Tensor6::Tensor6(), and transform().
Iterator6D Tensor6View::end | ( | ) |
Return iterator behind last sub-tensor.
Definition at line 1758 of file matpackVI.cc.
References ConstTensor6View::mbr, ConstTensor6View::mcr, ConstTensor6View::mdata, Range::mextent, ConstTensor6View::mpr, ConstTensor6View::mrr, ConstTensor6View::msr, Range::mstart, Range::mstride, and ConstTensor6View::mvr.
Referenced by copy(), and operator=().
Get element implementation without assertions.
Definition at line 1015 of file matpackVI.h.
const Numeric * Tensor6View::get_c_array | ( | ) | const |
Conversion to plain C-array.
This function returns a pointer to the raw data. It fails if the Tensor5View is not pointing to the beginning of a Tensor5 or the stride is not 1 because the caller expects to get a C array with continuous data.
Definition at line 1734 of file matpackVI.cc.
References ConstTensor6View::mbr, ConstTensor6View::mcr, ConstTensor6View::mdata, Range::mextent, ConstTensor6View::mpr, ConstTensor6View::mrr, ConstTensor6View::msr, Range::mstart, Range::mstride, and ConstTensor6View::mvr.
Referenced by get_variable_value(), and Reduce().
Numeric * Tensor6View::get_c_array | ( | ) |
Conversion to plain C-array.
This function returns a pointer to the raw data. It fails if the Tensor5View is not pointing to the beginning of a Tensor5 or the stride is not 1 because the caller expects to get a C array with continuous data.
Definition at line 1711 of file matpackVI.cc.
References ConstTensor6View::mbr, ConstTensor6View::mcr, ConstTensor6View::mdata, Range::mextent, ConstTensor6View::mpr, ConstTensor6View::mrr, ConstTensor6View::msr, Range::mstart, Range::mstride, and ConstTensor6View::mvr.
Tensor6View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 981 of file matpackVI.cc.
Tensor5View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 992 of file matpackVI.cc.
Tensor5View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1003 of file matpackVI.cc.
Tensor5View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1014 of file matpackVI.cc.
Tensor5View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1025 of file matpackVI.cc.
Tensor5View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1036 of file matpackVI.cc.
Tensor5View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1047 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1059 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1072 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1085 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1098 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1111 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1124 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1137 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1150 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1163 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1176 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1189 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1202 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1215 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1228 of file matpackVI.cc.
Tensor4View Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1241 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1255 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1265 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1275 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1285 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1295 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1305 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1315 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1325 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1335 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1345 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1355 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1365 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1375 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1385 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1395 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1405 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1415 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1425 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1435 of file matpackVI.cc.
Tensor3View Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1445 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) |
Definition at line 1456 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1467 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1478 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1489 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) |
Definition at line 1500 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1511 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1522 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1533 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) |
Definition at line 1544 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
Index | s, | ||
const Range & | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1555 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1566 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1577 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | Index | v, |
const Range & | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1588 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | const Range & | v, |
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1599 of file matpackVI.cc.
MatrixView Tensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) |
Definition at line 1610 of file matpackVI.cc.
Definition at line 1622 of file matpackVI.cc.
Definition at line 1636 of file matpackVI.cc.
Definition at line 1650 of file matpackVI.cc.
Definition at line 1664 of file matpackVI.cc.
Definition at line 1678 of file matpackVI.cc.
Definition at line 1692 of file matpackVI.cc.
Definition at line 1004 of file matpackVI.h.
Tensor6View & Tensor6View::operator*= | ( | Numeric | x | ) |
Multiplication by scalar.
Definition at line 1831 of file matpackVI.cc.
References ConstTensor6View::begin(), and ConstTensor6View::end().
Tensor6View & Tensor6View::operator*= | ( | const ConstTensor6View & | x | ) |
Element-vise multiplication by another Tensor6.
Definition at line 1867 of file matpackVI.cc.
References ConstTensor6View::begin(), ConstTensor6View::end(), ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), and ConstTensor6View::nvitrines().
Tensor6View & Tensor6View::operator+= | ( | Numeric | x | ) |
Addition of scalar.
Definition at line 1849 of file matpackVI.cc.
References ConstTensor6View::begin(), and ConstTensor6View::end().
Tensor6View & Tensor6View::operator+= | ( | const ConstTensor6View & | x | ) |
Element-vise addition of another Tensor6.
Definition at line 1901 of file matpackVI.cc.
References ConstTensor6View::begin(), ConstTensor6View::end(), ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), and ConstTensor6View::nvitrines().
Tensor6View & Tensor6View::operator-= | ( | Numeric | x | ) |
Subtraction of scalar.
Definition at line 1858 of file matpackVI.cc.
References ConstTensor6View::begin(), and ConstTensor6View::end().
Tensor6View & Tensor6View::operator-= | ( | const ConstTensor6View & | x | ) |
Element-vise subtraction of another Tensor6.
Definition at line 1918 of file matpackVI.cc.
References ConstTensor6View::begin(), ConstTensor6View::end(), ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), and ConstTensor6View::nvitrines().
Tensor6View & Tensor6View::operator/= | ( | Numeric | x | ) |
Division by scalar.
Definition at line 1840 of file matpackVI.cc.
References ConstTensor6View::begin(), and ConstTensor6View::end().
Tensor6View & Tensor6View::operator/= | ( | const ConstTensor6View & | x | ) |
Element-vise division by another Tensor6.
Definition at line 1884 of file matpackVI.cc.
References ConstTensor6View::begin(), ConstTensor6View::end(), ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), and ConstTensor6View::nvitrines().
Tensor6View & Tensor6View::operator= | ( | const ConstTensor6View & | m | ) |
Assignment operator.
This copies the data from another Tensor6View to this Tensor6View. Dimensions must agree! Resizing would destroy the selection that we might have done in this Tensor6View by setting its range.
Definition at line 1773 of file matpackVI.cc.
References ConstTensor6View::begin(), copy(), ConstTensor6View::end(), ConstTensor6View::mbr, ConstTensor6View::mcr, Range::mextent, ConstTensor6View::mpr, ConstTensor6View::mrr, ConstTensor6View::msr, and ConstTensor6View::mvr.
Tensor6View & Tensor6View::operator= | ( | const Tensor6View & | m | ) |
Assignment from Tensor6View to Tensor6View.
This is a tricky one. The problem is that since Tensor6View is derived from ConstTensor6View, a default = operator is generated by the compiler, which does not do what we want. So we need this one to override the default.
Definition at line 1791 of file matpackVI.cc.
References ConstTensor6View::begin(), begin(), copy(), end(), ConstTensor6View::mbr, ConstTensor6View::mcr, Range::mextent, ConstTensor6View::mpr, ConstTensor6View::mrr, ConstTensor6View::msr, and ConstTensor6View::mvr.
Tensor6View & Tensor6View::operator= | ( | const Tensor6 & | m | ) |
Assignment from a Tensor6.
This must exist to overide the automatically generated assignment operators, which don't copy the contents!
Definition at line 1807 of file matpackVI.cc.
References ConstTensor6View::begin(), begin(), copy(), end(), ConstTensor6View::mbr, ConstTensor6View::mcr, Range::mextent, ConstTensor6View::mpr, ConstTensor6View::mrr, ConstTensor6View::msr, and ConstTensor6View::mvr.
Tensor6View & Tensor6View::operator= | ( | Numeric | x | ) |
Assigning a scalar to a Tensor6View will set all elements to this value.
Definition at line 1822 of file matpackVI.cc.
References ConstTensor6View::begin(), copy(), and ConstTensor6View::end().
|
friend |
Definition at line 1049 of file matpackVI.h.
|
friend |
Definition at line 1050 of file matpackVI.h.