ARTS 2.5.4 (git: 4c0d3b4d)
|
A constant view of a Tensor7. More...
#include <matpackVII.h>
Protected Member Functions | |
ConstTensor7View ()=default | |
ConstTensor7View (Numeric *data, const Range &l, const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) | |
Explicit constructor. More... | |
ConstTensor7View (Numeric *data, const Range &pl, const Range &pv, const Range &ps, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &nl, const Range &nv, const Range &ns, const Range &nb, const Range &np, const Range &nr, const Range &nc) | |
Recursive constructor. More... | |
Protected Attributes | |
Range | mlr {0, 0, 1} |
The library range of mdata that is actually used. More... | |
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... | |
Friends | |
class | Tensor7View |
A constant view of a Tensor7.
This, together with the derived class Tensor7View, contains the main implementation of a Tensor7. It defines the concepts of Tensor7View. Plus additionally the recursive subrange operator, which makes it possible to create a Tensor7View from a subrange of a Tensor7View.
Dimensions are called: library, vitrine, shelf, book, page, row, column. or short: l, v, s, b, p, r, c
The class Tensor7 is just a special case of a Tensor7View which also allocates storage.
Definition at line 145 of file matpackVII.h.
|
constexprdefault |
|
constexprdefault |
|
virtualdefault |
Destructor.
ConstTensor7View::ConstTensor7View | ( | const ConstTensor6View & | a | ) |
Special constructor to make a Tensor7 view of a Tensor6.
Definition at line 2475 of file matpackVII.cc.
|
protecteddefault |
Referenced by operator()().
|
protected |
Explicit constructor.
This one is used by Tensor7 to initialize its own Tensor7View part. The row range rr must have a stride to account for the length of one row. The page range pr must have a stride to account for the length of one page.
Definition at line 2494 of file matpackVII.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 2513 of file matpackVII.cc.
ConstIterator7D ConstTensor7View::begin | ( | ) | const |
Return const iterator to first sub-tensor.
Definition at line 2455 of file matpackVII.cc.
References mbr, mcr, mdata, mlr, mpr, mrr, msr, Range::mstart, Range::mstride, and mvr.
Referenced by max(), min(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7View::operator=(), Tensor7::Tensor7(), and transform().
|
inlinenoexcept |
Definition at line 166 of file matpackVII.h.
References size().
ConstIterator7D ConstTensor7View::end | ( | ) | const |
Return const iterator behind last sub-tensor.
Definition at line 2462 of file matpackVII.cc.
References mbr, mcr, mdata, Range::mextent, mlr, mpr, mrr, msr, Range::mstart, Range::mstride, and mvr.
Referenced by max(), min(), Tensor7View::operator=(), Tensor7::Tensor7(), and transform().
|
inline |
Get element implementation without assertions.
Definition at line 1226 of file matpackVII.h.
References b, c, Interpolation::l(), mdata, OFFSET, and v.
Referenced by interp(), and operator()().
|
inlinenoexcept |
Definition at line 156 of file matpackVII.h.
References mbr, and Range::mextent.
Referenced by chk_size(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), ConvertAzimuthallyRandomSingleScatteringData(), describe(), DoitGetIncoming(), DoitGetIncoming1DAtm(), FouComp_1ScatElem(), Interpolation::interp(), is_size(), iyEmissionHybrid(), iyInterpCloudboxField(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7::operator=(), RadiationFieldSpectralIntegrate(), Reduce(), Tensor7::reduce_rank(), ScatSpeciesExtendTemperature(), ScatSpeciesMerge(), select_dims_by_size(), shape(), size(), spectral_irradiance_fieldFromSpectralRadianceField(), Tensor7::Tensor7(), Tensor7Multiply(), transform(), WriteMolTau(), and xml_write_to_stream().
|
inlinenoexcept |
Definition at line 159 of file matpackVII.h.
References mcr, and Range::mextent.
Referenced by chk_size(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), cloudbox_fieldSetFromPrecalc(), ConvertAzimuthallyRandomSingleScatteringData(), describe(), FouComp_1ScatElem(), Interpolation::interp(), is_size(), iyEmissionHybrid(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7::operator=(), Reduce(), Tensor7::reduce_rank(), ScatSpeciesExtendTemperature(), ScatSpeciesMerge(), select_dims_by_size(), shape(), size(), Tensor7::Tensor7(), Tensor7Multiply(), transform(), and xml_write_to_stream().
|
inlinenoexcept |
Definition at line 153 of file matpackVII.h.
References Range::mextent, and mlr.
Referenced by chk_size(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), cloudbox_fieldSetFromPrecalc(), ConvertAzimuthallyRandomSingleScatteringData(), describe(), FouComp_1ScatElem(), Interpolation::interp(), is_size(), iyEmissionHybrid(), iyInterpCloudboxField(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7::operator=(), RadiationFieldSpectralIntegrate(), Reduce(), Tensor7::reduce_rank(), ScatSpeciesMerge(), select_dims_by_size(), shape(), size(), spectral_irradiance_fieldFromSpectralRadianceField(), Tensor7::Tensor7(), Tensor7Multiply(), transform(), xml_read_from_stream(), and xml_write_to_stream().
|
inlinenoexcept |
Definition at line 157 of file matpackVII.h.
References Range::mextent, and mpr.
Referenced by chk_size(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), cloudbox_fieldSetFromPrecalc(), describe(), FouComp_1ScatElem(), Interpolation::interp(), is_size(), iyEmissionHybrid(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7::operator=(), RadiationFieldSpectralIntegrate(), Reduce(), Tensor7::reduce_rank(), ScatSpeciesExtendTemperature(), ScatSpeciesMerge(), select_dims_by_size(), shape(), size(), spectral_irradiance_fieldFromSpectralRadianceField(), Tensor7::Tensor7(), Tensor7Multiply(), transform(), and xml_write_to_stream().
|
inlinenoexcept |
Definition at line 158 of file matpackVII.h.
References Range::mextent, and mrr.
Referenced by chk_size(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), ConvertAzimuthallyRandomSingleScatteringData(), describe(), FouComp_1ScatElem(), Interpolation::interp(), is_size(), iyEmissionHybrid(), iyInterpCloudboxField(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7::operator=(), RadiationFieldSpectralIntegrate(), Reduce(), Tensor7::reduce_rank(), ScatSpeciesExtendTemperature(), ScatSpeciesMerge(), select_dims_by_size(), shape(), size(), Tensor7::Tensor7(), Tensor7Multiply(), transform(), and xml_write_to_stream().
|
inlinenoexcept |
Definition at line 155 of file matpackVII.h.
References Range::mextent, and msr.
Referenced by chk_size(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), ConvertAzimuthallyRandomSingleScatteringData(), describe(), DoitGetIncoming(), DoitGetIncoming1DAtm(), FouComp_1ScatElem(), Interpolation::interp(), is_size(), iyEmissionHybrid(), iyInterpCloudboxField(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7::operator=(), RadiationFieldSpectralIntegrate(), Reduce(), Tensor7::reduce_rank(), ScatSpeciesExtendTemperature(), ScatSpeciesMerge(), select_dims_by_size(), shape(), size(), spectral_irradiance_fieldFromSpectralRadianceField(), Tensor7::Tensor7(), Tensor7Multiply(), transform(), and xml_write_to_stream().
|
inlinenoexcept |
Definition at line 154 of file matpackVII.h.
References Range::mextent, and mvr.
Referenced by chk_size(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), cloudbox_fieldSetFromPrecalc(), ConvertAzimuthallyRandomSingleScatteringData(), describe(), DoitGetIncoming(), DoitGetIncoming1DAtm(), FouComp_1ScatElem(), Interpolation::interp(), is_size(), iyEmissionHybrid(), iyInterpCloudboxField(), Tensor7View::operator*=(), Tensor7View::operator+=(), Tensor7View::operator-=(), Tensor7View::operator/=(), Tensor7::operator=(), RadiationFieldSpectralIntegrate(), Reduce(), Tensor7::reduce_rank(), select_dims_by_size(), shape(), size(), spectral_irradiance_fieldFromSpectralRadianceField(), Tensor7::Tensor7(), Tensor7Multiply(), transform(), and xml_write_to_stream().
ConstTensor7View ConstTensor7View::operator() | ( | const Range & | l, |
const Range & | v, | ||
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Definition at line 35 of file matpackVII.cc.
References b, c, ConstTensor7View(), Interpolation::l(), mbr, mcr, mdata, mlr, mpr, mrr, msr, mvr, and v.
ConstVectorView ConstTensor7View::operator() | ( | const Range & | l, |
Index | v, | ||
Index | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Definition at line 2435 of file matpackVII.cc.
References b, c, CHECK, Interpolation::l(), mdata, mlr, OFFSET, and v.
ConstTensor3View ConstTensor7View::operator() | ( | Index | l, |
const Range & | v, | ||
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Definition at line 1223 of file matpackVII.cc.
References CHECK, and Interpolation::l().
ConstVectorView ConstTensor7View::operator() | ( | Index | l, |
const Range & | v, | ||
Index | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Definition at line 2415 of file matpackVII.cc.
References b, c, CHECK, Interpolation::l(), mdata, mvr, OFFSET, and v.
ConstVectorView ConstTensor7View::operator() | ( | Index | l, |
Index | v, | ||
const Range & | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Definition at line 2375 of file matpackVII.cc.
References b, c, CHECK, Interpolation::l(), mdata, msr, OFFSET, and v.
ConstVectorView ConstTensor7View::operator() | ( | Index | l, |
Index | v, | ||
Index | s, | ||
const Range & | b, | ||
Index | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Definition at line 2335 of file matpackVII.cc.
References b, c, CHECK, Interpolation::l(), mbr, mdata, OFFSET, and v.
ConstVectorView ConstTensor7View::operator() | ( | Index | l, |
Index | v, | ||
Index | s, | ||
Index | b, | ||
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Definition at line 2295 of file matpackVII.cc.
References b, c, CHECK, Interpolation::l(), mdata, mpr, OFFSET, and v.
ConstVectorView ConstTensor7View::operator() | ( | Index | l, |
Index | v, | ||
Index | s, | ||
Index | b, | ||
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Definition at line 2255 of file matpackVII.cc.
References b, c, CHECK, Interpolation::l(), mdata, mrr, OFFSET, and v.
ConstVectorView ConstTensor7View::operator() | ( | Index | l, |
Index | v, | ||
Index | s, | ||
Index | b, | ||
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Definition at line 2215 of file matpackVII.cc.
References b, c, CHECK, Interpolation::l(), mcr, mdata, OFFSET, and v.
|
inline |
Definition at line 1213 of file matpackVII.h.
|
default |
|
default |
|
inline |
Returns the shape as an array (to allow templates to just look for shape on different matpack objects)
Definition at line 169 of file matpackVII.h.
References nbooks(), ncols(), nlibraries(), npages(), nrows(), nshelves(), and nvitrines().
|
inlinenoexcept |
Definition at line 162 of file matpackVII.h.
References nbooks(), ncols(), nlibraries(), npages(), nrows(), nshelves(), and nvitrines().
Referenced by empty(), Tensor7View::get_c_array(), Tensor7::reduce_rank(), and Tensor7::transform_elementwise().
|
friend |
Definition at line 1240 of file matpackVII.h.
|
protected |
The book range of mdata that is actually used.
Definition at line 1281 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get_c_array(), nbooks(), Tensor7View::operator()(), operator()(), Tensor7View::operator=(), and Tensor7::resize().
|
protected |
The column range of mdata that is actually used.
Definition at line 1287 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get_c_array(), ncols(), Tensor7View::operator()(), operator()(), Tensor7View::operator=(), and Tensor7::resize().
|
protected |
Pointer to the plain C array that holds the data.
Definition at line 1289 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get(), get(), Tensor7View::get_c_array(), Tensor7View::operator()(), operator()(), Tensor7::operator=(), Tensor7::reduce_rank(), Tensor7::resize(), Tensor7::Tensor7(), Tensor7::transform_elementwise(), and Tensor7::~Tensor7().
|
protected |
The library range of mdata that is actually used.
Definition at line 1275 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get_c_array(), nlibraries(), Tensor7View::operator()(), operator()(), Tensor7View::operator=(), and Tensor7::resize().
|
protected |
The page range of mdata that is actually used.
Definition at line 1283 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get_c_array(), npages(), Tensor7View::operator()(), operator()(), Tensor7View::operator=(), and Tensor7::resize().
|
protected |
The row range of mdata that is actually used.
Definition at line 1285 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get_c_array(), nrows(), Tensor7View::operator()(), operator()(), Tensor7View::operator=(), and Tensor7::resize().
|
protected |
The shelf range of mdata that is actually used.
Definition at line 1279 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get_c_array(), nshelves(), Tensor7View::operator()(), operator()(), Tensor7View::operator=(), and Tensor7::resize().
|
protected |
The vitrine range of mdata that is actually used.
Definition at line 1277 of file matpackVII.h.
Referenced by Tensor7View::begin(), begin(), Tensor7View::end(), end(), Tensor7View::get_c_array(), nvitrines(), Tensor7View::operator()(), operator()(), Tensor7View::operator=(), and Tensor7::resize().