ARTS
2.4.0(git:4fb77825)
|
A constant view of a Tensor4. More...
#include <matpackIV.h>
Public Member Functions | |
constexpr | ConstTensor4View (const ConstTensor4View &)=default |
constexpr | ConstTensor4View (ConstTensor4View &&)=default |
ConstTensor4View & | operator= (const ConstTensor4View &)=default |
ConstTensor4View & | operator= (ConstTensor4View &&)=default |
bool | empty () const |
Check if variable is empty. 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... | |
ConstTensor4View | operator() (const Range &b, const Range &p, const Range &r, const Range &c) const |
Const index operator for subrange. More... | |
ConstTensor3View | operator() (const Range &b, const Range &p, const Range &r, Index c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstTensor3View | operator() (const Range &b, const Range &p, Index r, const Range &c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstTensor3View | operator() (const Range &b, Index p, const Range &r, const Range &c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstTensor3View | operator() (Index b, const Range &p, const Range &r, const Range &c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstMatrixView | operator() (const Range &b, const Range &p, Index r, Index c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (const Range &b, Index p, const Range &r, Index c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (const Range &b, Index p, Index r, const Range &c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (Index b, const Range &p, Index r, const Range &c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (Index b, const Range &p, const Range &r, Index c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (Index b, Index p, const Range &r, const Range &c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstVectorView | operator() (const Range &b, Index p, Index r, Index c) const |
Const index operator returning an object of type ConstVectorView. More... | |
ConstVectorView | operator() (Index b, const Range &p, Index r, Index c) const |
Const index operator returning an object of type ConstVectorView. More... | |
ConstVectorView | operator() (Index b, Index p, const Range &r, Index c) const |
Const index operator returning an object of type ConstVectorView. More... | |
ConstVectorView | operator() (Index b, Index p, Index r, const Range &c) const |
Const index operator returning an object of type ConstVectorView. More... | |
Numeric | operator() (Index b, Index p, Index r, Index c) const |
Plain const index operator. More... | |
Numeric | get (Index b, Index p, Index r, Index c) const |
Get element implementation without assertions. More... | |
ConstIterator4D | begin () const |
Return const iterator to first book. More... | |
ConstIterator4D | end () const |
Return const iterator behind last book. More... | |
virtual | ~ConstTensor4View ()=default |
Destructor. More... | |
ConstTensor4View (const ConstTensor3View &a) | |
Special constructor to make a Tensor4 view of a Tensor3. More... | |
Protected Member Functions | |
ConstTensor4View ()=default | |
ConstTensor4View (Numeric *data, const Range &b, const Range &p, const Range &r, const Range &c) | |
Explicit constructor. More... | |
ConstTensor4View (Numeric *data, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &nb, const Range &np, const Range &nr, const Range &nc) | |
Recursive constructor. More... | |
Protected Attributes | |
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... | |
Friends | |
class | Tensor4View |
class | ConstIterator5D |
class | ConstTensor5View |
class | ConstTensor6View |
class | ConstTensor7View |
A constant view of a Tensor4.
This, together with the derived class Tensor4View, contains the main implementation of a Tensor4. It defines the concepts of Tensor4View. Plus additionally the recursive subrange operator, which makes it possible to create a Tensor4View from a subrange of a Tensor4View.
The four dimensions of the tensor are called: book, page, row, column.
The class Tensor4 is just a special case of a Tensor4View which also allocates storage.
Definition at line 133 of file matpackIV.h.
|
constexprdefault |
|
constexprdefault |
|
virtualdefault |
Destructor.
ConstTensor4View::ConstTensor4View | ( | const ConstTensor3View & | a | ) |
Special constructor to make a Tensor4 view of a Tensor3.
Definition at line 385 of file matpackIV.cc.
|
protecteddefault |
|
protected |
Explicit constructor.
This one is used by Tensor4 to initialize its own Tensor4View part. The page range pr must have a stride to account for the length of one page. The book range br must have a stride to account for the length of one book.
Definition at line 398 of file matpackIV.cc.
|
protected |
Recursive constructor.
This is used to construct sub-tensors from sub-tensors. 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.
Definition at line 414 of file matpackIV.cc.
ConstIterator4D ConstTensor4View::begin | ( | ) | const |
Return const iterator to first book.
Definition at line 371 of file matpackIV.cc.
References mbr, mcr, mdata, mpr, mrr, Range::mstart, and Range::mstride.
Referenced by copy(), operator<<(), Tensor4View::operator=(), and Tensor4::Tensor4().
bool ConstTensor4View::empty | ( | ) | const |
Check if variable is empty.
[in] | x | The variable to check. |
Definition at line 52 of file matpackIV.cc.
References nbooks(), ncols(), npages(), and nrows().
Referenced by cloudboxSetAutomatically(), get_variable_value(), and test_empty().
ConstIterator4D ConstTensor4View::end | ( | ) | const |
Return const iterator behind last book.
Definition at line 377 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
Referenced by copy(), operator<<(), Tensor4View::operator=(), and Tensor4::Tensor4().
Get element implementation without assertions.
Definition at line 220 of file matpackIV.h.
Index ConstTensor4View::nbooks | ( | ) | const |
Returns the number of books.
Definition at line 57 of file matpackIV.cc.
References mbr, and Range::mextent.
Referenced by _cr_internal_(), Append(), atm_fields_compactCleanup(), AtmFieldPRegrid(), AtmFieldsCalcExpand1D(), GriddedField4::checksize(), GriddedField4::checksize_strict(), cloud_atm_vars_by_gp(), cloudboxSetAutomatically(), cloudy_rt_vars_at_gp(), Compare(), empty(), Extract(), get_paroptprop(), get_stepwise_scattersky_propmat(), get_variable_value(), GriddedFieldLatLonExpand(), GriddedFieldLatLonRegrid(), GriddedFieldPRegrid(), irradiance_fieldFromRadiance(), iyIndependentBeamApproximation(), MCGeneral(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), EnergyLevelMap::OK(), PropagationMatrix::OK(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), Tensor4::operator=(), particle_fieldCleanup(), RadiationFieldSpectralIntegrate(), Reduce(), ScatSpeciesMerge(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor3ExtractFromTensor4(), Tensor4::Tensor4(), Tensor4AddScalar(), Tensor4Scale(), test1(), and xml_write_to_stream().
Index ConstTensor4View::ncols | ( | ) | const |
Returns the number of columns.
Definition at line 66 of file matpackIV.cc.
References mcr, and Range::mextent.
Referenced by Append(), atm_fields_compactExpand(), AtmFieldPRegrid(), GriddedField4::checksize(), GriddedField4::checksize_strict(), cloud_fieldsCalc(), Compare(), empty(), Extract(), get_variable_value(), GriddedFieldLatLonExpand(), GriddedFieldPRegrid(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), EnergyLevelMap::OK(), PropagationMatrix::OK(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), Tensor4::operator=(), EnergyLevelMap::operator[](), Reduce(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor3ExtractFromTensor4(), Tensor4::Tensor4(), Tensor4AddScalar(), Tensor4Scale(), test1(), and xml_write_to_stream().
Index ConstTensor4View::npages | ( | ) | const |
Returns the number of pages.
Definition at line 60 of file matpackIV.cc.
References Range::mextent, and mpr.
Referenced by Append(), atm_fields_compactCleanup(), atm_fields_compactExpand(), GriddedField4::checksize(), GriddedField4::checksize_strict(), Compare(), empty(), Extract(), get_variable_value(), GriddedFieldLatLonExpand(), GriddedFieldLatLonRegrid(), irradiance_fieldFromRadiance(), iyIndependentBeamApproximation(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), EnergyLevelMap::OK(), PropagationMatrix::OK(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), Tensor4::operator=(), particle_fieldCleanup(), RadiationFieldSpectralIntegrate(), Reduce(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor3ExtractFromTensor4(), Tensor4::Tensor4(), Tensor4AddScalar(), Tensor4Scale(), test1(), and xml_write_to_stream().
Index ConstTensor4View::nrows | ( | ) | const |
Returns the number of rows.
Definition at line 63 of file matpackIV.cc.
References Range::mextent, and mrr.
Referenced by Append(), atm_fields_compactExpand(), AtmFieldPRegrid(), GriddedField4::checksize(), GriddedField4::checksize_strict(), Compare(), empty(), Extract(), get_variable_value(), GriddedFieldLatLonExpand(), GriddedFieldPRegrid(), irradiance_fieldFromRadiance(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), EnergyLevelMap::OK(), PropagationMatrix::OK(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), Tensor4::operator=(), RadiationFieldSpectralIntegrate(), Reduce(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor3ExtractFromTensor4(), Tensor4::Tensor4(), Tensor4AddScalar(), Tensor4Scale(), test1(), and xml_write_to_stream().
ConstTensor4View ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator for subrange.
We have to also account for the case, that *this is already a subrange of a Tensor4. This allows correct recursive behavior.
Definition at line 71 of file matpackIV.cc.
ConstTensor3View ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 80 of file matpackIV.cc.
ConstTensor3View ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 94 of file matpackIV.cc.
ConstMatrixView ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 136 of file matpackIV.cc.
ConstTensor3View ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 108 of file matpackIV.cc.
ConstMatrixView ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 156 of file matpackIV.cc.
ConstMatrixView ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 176 of file matpackIV.cc.
ConstVectorView ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
(Reducing the dimension by three.)
Definition at line 256 of file matpackIV.cc.
ConstTensor3View ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 122 of file matpackIV.cc.
ConstMatrixView ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 216 of file matpackIV.cc.
ConstMatrixView ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 196 of file matpackIV.cc.
ConstVectorView ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
(Reducing the dimension by three.)
Definition at line 276 of file matpackIV.cc.
ConstMatrixView ConstTensor4View::operator() | ( | Index | b, |
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 236 of file matpackIV.cc.
ConstVectorView ConstTensor4View::operator() | ( | Index | b, |
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
(Reducing the dimension by three.)
Definition at line 296 of file matpackIV.cc.
ConstVectorView ConstTensor4View::operator() | ( | Index | b, |
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
Reducing the dimension by three.)
Definition at line 316 of file matpackIV.cc.
Plain const index operator.
Definition at line 203 of file matpackIV.h.
|
default |
|
default |
|
friend |
Definition at line 235 of file matpackIV.h.
|
friend |
Definition at line 236 of file matpackIV.h.
|
friend |
Definition at line 237 of file matpackIV.h.
|
friend |
Definition at line 238 of file matpackIV.h.
|
friend |
Definition at line 234 of file matpackIV.h.
|
protected |
The book range of mdata that is actually used.
Definition at line 264 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get_c_array(), nbooks(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator=(), and swap().
|
protected |
The column range of mdata that is actually used.
Definition at line 270 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get_c_array(), ncols(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator=(), and swap().
|
protected |
Pointer to the plain C array that holds the data.
Definition at line 272 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get_c_array(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Iterator5D::operator++(), ConstIterator5D::operator++(), Tensor4::operator=(), swap(), Tensor4::Tensor4(), and Tensor4::~Tensor4().
|
protected |
The page range of mdata that is actually used.
Definition at line 266 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get_c_array(), npages(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator=(), and swap().
|
protected |
The row range of mdata that is actually used.
Definition at line 268 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get_c_array(), nrows(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator=(), and swap().