ARTS 2.5.10 (git: 2f1c442c)
Tensor5View Class Reference

The Tensor5View class. More...

#include <matpackV.h>

Inheritance diagram for Tensor5View:
ConstTensor5View Tensor5

Public Member Functions

constexpr Tensor5View (const Tensor5View &)=default
 
Tensor5View operator() (const Range &s, const Range &b, const Range &p, const Range &r, const Range &c)
 Index operator for subrange.
 
Tensor4View operator() (const Range &s, const Range &b, const Range &p, const Range &r, Index c)
 Index operator returning an object of type Tensor4View.
 
Tensor4View operator() (const Range &s, const Range &b, const Range &p, Index r, const Range &c)
 Index operator returning an object of type Tensor4View.
 
Tensor4View operator() (const Range &s, const Range &b, Index p, const Range &r, const Range &c)
 Index operator returning an object of type Tensor4View.
 
Tensor4View operator() (const Range &s, Index b, const Range &p, const Range &r, const Range &c)
 Index operator returning an object of type Tensor4View.
 
Tensor4View operator() (Index s, const Range &b, const Range &p, const Range &r, const Range &c)
 Index operator returning an object of type Tensor4View.
 
Tensor3View operator() (const Range &s, const Range &b, const Range &p, Index r, Index c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (const Range &s, const Range &b, Index p, const Range &r, Index c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (const Range &s, const Range &b, Index p, Index r, const Range &c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (const Range &s, Index b, const Range &p, Index r, const Range &c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (const Range &s, Index b, const Range &p, const Range &r, Index c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (const Range &s, Index b, Index p, const Range &r, const Range &c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (Index s, const Range &b, Index p, const Range &r, const Range &c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (Index s, const Range &b, const Range &p, Index r, const Range &c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (Index s, const Range &b, const Range &p, const Range &r, Index c)
 Index operator returning an object of type Tensor3View.
 
Tensor3View operator() (Index s, Index b, const Range &p, const Range &r, const Range &c)
 Index operator returning an object of type Tensor3View.
 
MatrixView operator() (const Range &s, const Range &b, Index p, Index r, Index c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (const Range &s, Index b, const Range &p, Index r, Index c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (const Range &s, Index b, Index p, const Range &r, Index c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (const Range &s, Index b, Index p, Index r, const Range &c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (Index s, const Range &b, Index p, Index r, const Range &c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (Index s, const Range &b, Index p, const Range &r, Index c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (Index s, const Range &b, const Range &p, Index r, Index c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (Index s, Index b, const Range &p, const Range &r, Index c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (Index s, Index b, const Range &p, Index r, const Range &c)
 Index operator returning an object of type MatrixView.
 
MatrixView operator() (Index s, Index b, Index p, const Range &r, const Range &c)
 Index operator returning an object of type MatrixView.
 
VectorView operator() (const Range &s, Index b, Index p, Index r, Index c)
 Index operator returning an object of type VectorView.
 
VectorView operator() (Index s, const Range &b, Index p, Index r, Index c)
 Index operator returning an object of type VectorView.
 
VectorView operator() (Index s, Index b, const Range &p, Index r, Index c)
 Index operator returning an object of type VectorView.
 
VectorView operator() (Index s, Index b, Index p, const Range &r, Index c)
 Index operator returning an object of type VectorView.
 
VectorView operator() (Index s, Index b, Index p, Index r, const Range &c)
 Const index operator returning an object of type ConstVectorView.
 
Numericoperator() (Index s, Index b, Index p, Index r, Index c)
 Plain const index operator.
 
Numericget (Index s, Index b, Index p, Index r, Index c)
 Get element implementation without assertions.
 
const Numericget_c_array () const ARTS_NOEXCEPT
 Conversion to plain C-array.
 
Numericget_c_array () ARTS_NOEXCEPT
 Conversion to plain C-array.
 
Iterator5D begin ()
 Return iterator to first shelf.
 
Iterator5D end ()
 Return iterator behind last shelf.
 
Tensor5Viewoperator= (const ConstTensor5View &v)
 Assignment operator.
 
Tensor5Viewoperator= (const Tensor5View &v)
 Assignment from Tensor5View to Tensor5View.
 
Tensor5Viewoperator= (const Tensor5 &v)
 Assignment from a Tensor5.
 
Tensor5Viewoperator= (Numeric x)
 Assigning a scalar to a Tensor5View will set all elements to this value.
 
Tensor5Viewoperator*= (Numeric x)
 Multiplication by scalar.
 
Tensor5Viewoperator/= (Numeric x)
 Division by scalar.
 
Tensor5Viewoperator+= (Numeric x)
 Addition of scalar.
 
Tensor5Viewoperator-= (Numeric x)
 Subtraction of scalar.
 
Tensor5Viewoperator*= (const ConstTensor5View &x)
 Element-vise multiplication by another Tensor5.
 
Tensor5Viewoperator/= (const ConstTensor5View &x)
 Element-vise division by another Tensor5.
 
Tensor5Viewoperator+= (const ConstTensor5View &x)
 Element-vise addition of another Tensor5.
 
Tensor5Viewoperator-= (const ConstTensor5View &x)
 Element-vise subtraction of another Tensor5.
 
 ~Tensor5View () override=default
 Destructor.
 
 Tensor5View (const Tensor4View &a)
 Special constructor to make a Tensor5 view of a Tensor4.
 
ConstIterator5D begin () const
 Return const iterator to first shelf.
 
ConstIterator5D end () const
 Return const iterator behind last shelf.
 
Numeric get (Index s, Index b, Index p, Index r, Index c) const
 Get element implementation without assertions.
 
- Public Member Functions inherited from ConstTensor5View
constexpr ConstTensor5View (const ConstTensor5View &)=default
 
constexpr ConstTensor5View (ConstTensor5View &&)=default
 
ConstTensor5Viewoperator= (const ConstTensor5View &)=default
 
ConstTensor5Viewoperator= (ConstTensor5View &&)=default
 
Index nshelves () const noexcept
 
Index nbooks () const noexcept
 
Index npages () const noexcept
 
Index nrows () const noexcept
 
Index ncols () const noexcept
 
Index size () const noexcept
 
bool empty () const noexcept
 
Shape< 5 > shape () const
 
ConstTensor5View operator() (const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) const
 Const index operator for subrange.
 
ConstTensor4View operator() (const Range &s, const Range &b, const Range &p, const Range &r, Index c) const
 Const index operator returning an object of type ConstTensor4View.
 
ConstTensor4View operator() (const Range &s, const Range &b, const Range &p, Index r, const Range &c) const
 Const index operator returning an object of type ConstTensor4View.
 
ConstTensor4View operator() (const Range &s, const Range &b, Index p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstTensor4View.
 
ConstTensor4View operator() (const Range &s, Index b, const Range &p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstTensor4View.
 
ConstTensor4View operator() (Index s, const Range &b, const Range &p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstTensor4View.
 
ConstTensor3View operator() (const Range &s, const Range &b, const Range &p, Index r, Index c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (const Range &s, const Range &b, Index p, const Range &r, Index c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (const Range &s, const Range &b, Index p, Index r, const Range &c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (const Range &s, Index b, const Range &p, Index r, const Range &c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (const Range &s, Index b, const Range &p, const Range &r, Index c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (const Range &s, Index b, Index p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (Index s, const Range &b, Index p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (Index s, const Range &b, const Range &p, Index r, const Range &c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (Index s, const Range &b, const Range &p, const Range &r, Index c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstTensor3View operator() (Index s, Index b, const Range &p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstTensor3View.
 
ConstMatrixView operator() (const Range &s, const Range &b, Index p, Index r, Index c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (const Range &s, Index b, const Range &p, Index r, Index c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (const Range &s, Index b, Index p, const Range &r, Index c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (const Range &s, Index b, Index p, Index r, const Range &c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (Index s, const Range &b, Index p, Index r, const Range &c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (Index s, const Range &b, Index p, const Range &r, Index c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (Index s, const Range &b, const Range &p, Index r, Index c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (Index s, Index b, const Range &p, const Range &r, Index c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (Index s, Index b, const Range &p, Index r, const Range &c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstMatrixView operator() (Index s, Index b, Index p, const Range &r, const Range &c) const
 Const index operator returning an object of type ConstMatrixView.
 
ConstVectorView operator() (const Range &s, Index b, Index p, Index r, Index c) const
 Const index operator returning an object of type ConstVectorView.
 
ConstVectorView operator() (Index s, const Range &b, Index p, Index r, Index c) const
 Const index operator returning an object of type ConstVectorView.
 
ConstVectorView operator() (Index s, Index b, const Range &p, Index r, Index c) const
 Const index operator returning an object of type ConstVectorView.
 
ConstVectorView operator() (Index s, Index b, Index p, const Range &r, Index c) const
 Const index operator returning an object of type ConstVectorView.
 
ConstVectorView operator() (Index s, Index b, Index p, Index r, const Range &c) const
 Const index operator returning an object of type ConstVectorView.
 
Numeric operator() (Index s, Index b, Index p, Index r, Index c) const
 Plain const index operator.
 
Numeric get (Index s, Index b, Index p, Index r, Index c) const
 Get element implementation without assertions.
 
ConstIterator5D begin () const
 Return const iterator to first shelf.
 
ConstIterator5D end () const
 Return const iterator behind last shelf.
 
virtual ~ConstTensor5View ()=default
 Destructor.
 
 ConstTensor5View (const ConstTensor4View &a)
 Special constructor to make a Tensor5 view of a Tensor4.
 

Protected Member Functions

 Tensor5View ()=default
 
 Tensor5View (Numeric *data, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c)
 Explicit constructor.
 
 Tensor5View (Numeric *data, const Range &ps, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &ns, const Range &nb, const Range &np, const Range &nr, const Range &nc)
 Recursive constructor.
 
- Protected Member Functions inherited from ConstTensor5View
 ConstTensor5View ()=default
 
 ConstTensor5View (Numeric *data, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c)
 Explicit constructor.
 
 ConstTensor5View (Numeric *data, const Range &ps, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &ns, const Range &nb, const Range &np, const Range &nr, const Range &nc)
 Recursive constructor.
 

Friends

class Iterator6D
 
class Tensor6View
 
class Tensor7View
 

Additional Inherited Members

- Static Public Attributes inherited from ConstTensor5View
static constexpr bool matpack_type {true}
 
- Protected Attributes inherited from ConstTensor5View
Range msr {0, 0, 1}
 The shelf range of mdata that is actually used.
 
Range mbr {0, 0, 1}
 The book range of mdata that is actually used.
 
Range mpr {0, 0, 1}
 The page range of mdata that is actually used.
 
Range mrr {0, 0, 1}
 The row range of mdata that is actually used.
 
Range mcr {0, 0, 1}
 The column range of mdata that is actually used.
 
Numericmdata {nullptr}
 Pointer to the plain C array that holds the data.
 

Detailed Description

The Tensor5View class.

This contains the main implementation of a Tensor5. It defines the concepts of Tensor5View. Plus additionally the recursive subrange operator, which makes it possible to create a Tensor5View from a subrange of a Tensor5View.

The class Tensor5 is just a special case of a Tensor5View which also allocates storage.

Definition at line 348 of file matpackV.h.

Constructor & Destructor Documentation

◆ Tensor5View() [1/5]

constexpr Tensor5View::Tensor5View ( const Tensor5View )
constexprdefault

◆ ~Tensor5View()

Tensor5View::~Tensor5View ( )
overridedefault

Destructor.

◆ Tensor5View() [2/5]

Tensor5View::Tensor5View ( const Tensor4View a)

Special constructor to make a Tensor5 view of a Tensor4.

Definition at line 1526 of file matpackV.cc.

◆ Tensor5View() [3/5]

Tensor5View::Tensor5View ( )
protecteddefault

Referenced by operator()().

◆ Tensor5View() [4/5]

Tensor5View::Tensor5View ( Numeric data,
const Range sr,
const Range br,
const Range pr,
const Range rr,
const Range cr 
)
protected

Explicit constructor.

This one is used by Tensor5 to initialize its own Tensor5View part. The row range rr must have a stride to account for the length of one row.

Definition at line 1542 of file matpackV.cc.

◆ Tensor5View() [5/5]

Tensor5View::Tensor5View ( Numeric data,
const Range ps,
const Range pb,
const Range pp,
const Range pr,
const Range pc,
const Range ns,
const Range nb,
const Range np,
const Range nr,
const Range nc 
)
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.

Parameters
*dataThe actual data.
psPrevious range.
pbPrevious range.
ppPrevious range.
prPrevious range.
pcPrevious range.
nsNew Range.
nbNew Range.
npNew Range.
nrNew Range.
ncNew Range.

Definition at line 1572 of file matpackV.cc.

Member Function Documentation

◆ begin() [1/2]

◆ begin() [2/2]

ConstIterator5D ConstTensor5View::begin ( ) const

Return const iterator to first shelf.

Definition at line 285 of file matpackV.cc.

◆ end() [1/2]

◆ end() [2/2]

ConstIterator5D ConstTensor5View::end ( ) const

Return const iterator behind last shelf.

Definition at line 286 of file matpackV.cc.

◆ get() [1/2]

Numeric & Tensor5View::get ( Index  s,
Index  b,
Index  p,
Index  r,
Index  c 
)
inline

Get element implementation without assertions.

Definition at line 450 of file matpackV.h.

References b, c, and GETFUN.

Referenced by interpweights().

◆ get() [2/2]

Numeric ConstTensor5View::get ( Index  s,
Index  b,
Index  p,
Index  r,
Index  c 
) const
inline

Get element implementation without assertions.

Definition at line 278 of file matpackV.h.

◆ get_c_array() [1/2]

Numeric * Tensor5View::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 631 of file matpackV.cc.

References ARTS_ASSERT, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, Range::mstride, and ConstTensor5View::size().

◆ get_c_array() [2/2]

const Numeric * Tensor5View::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 662 of file matpackV.cc.

References ARTS_ASSERT, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, Range::mstride, and ConstTensor5View::size().

Referenced by nca_read_from_file(), nca_write_to_file(), Reduce(), and xml_read_from_stream().

◆ operator()() [1/32]

Tensor5View Tensor5View::operator() ( const Range s,
const Range b,
const Range p,
const Range r,
const Range c 
)

Index operator for subrange.

We have to also account for the case, that *this is already a subrange of a Tensor5. This allows correct recursive behavior.

Definition at line 780 of file matpackV.cc.

References b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, and Tensor5View().

◆ operator()() [2/32]

Tensor4View Tensor5View::operator() ( const Range s,
const Range b,
const Range p,
const Range r,
Index  c 
)

Index operator returning an object of type Tensor4View.

(Reducing the dimension by one.)

Definition at line 790 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [3/32]

Tensor4View Tensor5View::operator() ( const Range s,
const Range b,
const Range p,
Index  r,
const Range c 
)

Index operator returning an object of type Tensor4View.

(Reducing the dimension by one.)

Definition at line 802 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [4/32]

Tensor3View Tensor5View::operator() ( const Range s,
const Range b,
const Range p,
Index  r,
Index  c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 850 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [5/32]

Tensor4View Tensor5View::operator() ( const Range s,
const Range b,
Index  p,
const Range r,
const Range c 
)

Index operator returning an object of type Tensor4View.

(Reducing the dimension by one.)

Definition at line 814 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [6/32]

Tensor3View Tensor5View::operator() ( const Range s,
const Range b,
Index  p,
const Range r,
Index  c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 870 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [7/32]

Tensor3View Tensor5View::operator() ( const Range s,
const Range b,
Index  p,
Index  r,
const Range c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 890 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [8/32]

MatrixView Tensor5View::operator() ( const Range s,
const Range b,
Index  p,
Index  r,
Index  c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1050 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [9/32]

Tensor4View Tensor5View::operator() ( const Range s,
Index  b,
const Range p,
const Range r,
const Range c 
)

Index operator returning an object of type Tensor4View.

(Reducing the dimension by one.)

Definition at line 826 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [10/32]

Tensor3View Tensor5View::operator() ( const Range s,
Index  b,
const Range p,
const Range r,
Index  c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 930 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [11/32]

Tensor3View Tensor5View::operator() ( const Range s,
Index  b,
const Range p,
Index  r,
const Range c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 910 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [12/32]

MatrixView Tensor5View::operator() ( const Range s,
Index  b,
const Range p,
Index  r,
Index  c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1070 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [13/32]

Tensor3View Tensor5View::operator() ( const Range s,
Index  b,
Index  p,
const Range r,
const Range c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 950 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [14/32]

MatrixView Tensor5View::operator() ( const Range s,
Index  b,
Index  p,
const Range r,
Index  c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1090 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [15/32]

MatrixView Tensor5View::operator() ( const Range s,
Index  b,
Index  p,
Index  r,
const Range c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1110 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [16/32]

VectorView Tensor5View::operator() ( const Range s,
Index  b,
Index  p,
Index  r,
Index  c 
)

Index operator returning an object of type VectorView.

(Reducing the dimension by four.)

Definition at line 1250 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [17/32]

Tensor4View Tensor5View::operator() ( Index  s,
const Range b,
const Range p,
const Range r,
const Range c 
)

Index operator returning an object of type Tensor4View.

(Reducing the dimension by one.)

Definition at line 838 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [18/32]

Tensor3View Tensor5View::operator() ( Index  s,
const Range b,
const Range p,
const Range r,
Index  c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 1010 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [19/32]

Tensor3View Tensor5View::operator() ( Index  s,
const Range b,
const Range p,
Index  r,
const Range c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 990 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [20/32]

MatrixView Tensor5View::operator() ( Index  s,
const Range b,
const Range p,
Index  r,
Index  c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1170 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [21/32]

Tensor3View Tensor5View::operator() ( Index  s,
const Range b,
Index  p,
const Range r,
const Range c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 970 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [22/32]

MatrixView Tensor5View::operator() ( Index  s,
const Range b,
Index  p,
const Range r,
Index  c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1150 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [23/32]

MatrixView Tensor5View::operator() ( Index  s,
const Range b,
Index  p,
Index  r,
const Range c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1130 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [24/32]

VectorView Tensor5View::operator() ( Index  s,
const Range b,
Index  p,
Index  r,
Index  c 
)

Index operator returning an object of type VectorView.

(Reducing the dimension by four.)

Definition at line 1271 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [25/32]

Tensor3View Tensor5View::operator() ( Index  s,
Index  b,
const Range p,
const Range r,
const Range c 
)

Index operator returning an object of type Tensor3View.

(Reducing the dimension by two.)

Definition at line 1030 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [26/32]

MatrixView Tensor5View::operator() ( Index  s,
Index  b,
const Range p,
const Range r,
Index  c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1190 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [27/32]

MatrixView Tensor5View::operator() ( Index  s,
Index  b,
const Range p,
Index  r,
const Range c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1210 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [28/32]

VectorView Tensor5View::operator() ( Index  s,
Index  b,
const Range p,
Index  r,
Index  c 
)

Index operator returning an object of type VectorView.

(Reducing the dimension by four.)

Definition at line 1292 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [29/32]

MatrixView Tensor5View::operator() ( Index  s,
Index  b,
Index  p,
const Range r,
const Range c 
)

Index operator returning an object of type MatrixView.

(Reducing the dimension by three.)

Definition at line 1230 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [30/32]

VectorView Tensor5View::operator() ( Index  s,
Index  b,
Index  p,
const Range r,
Index  c 
)

Index operator returning an object of type VectorView.

(Reducing the dimension by four.)

Definition at line 1313 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [31/32]

VectorView Tensor5View::operator() ( Index  s,
Index  b,
Index  p,
Index  r,
const Range c 
)

Const index operator returning an object of type ConstVectorView.

(Reducing the dimension by four.)

Definition at line 1334 of file matpackV.cc.

References ARTS_ASSERT, b, c, ConstTensor5View::mbr, ConstTensor5View::mcr, ConstTensor5View::mdata, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, ConstTensor5View::msr, Range::mstart, and Range::mstride.

◆ operator()() [32/32]

Numeric & Tensor5View::operator() ( Index  s,
Index  b,
Index  p,
Index  r,
Index  c 
)
inline

◆ operator*=() [1/2]

◆ operator*=() [2/2]

Tensor5View & Tensor5View::operator*= ( Numeric  x)

Multiplication by scalar.

Definition at line 1426 of file matpackV.cc.

References begin(), and end().

◆ operator+=() [1/2]

◆ operator+=() [2/2]

Tensor5View & Tensor5View::operator+= ( Numeric  x)

Addition of scalar.

Definition at line 1444 of file matpackV.cc.

References begin(), and end().

◆ operator-=() [1/2]

◆ operator-=() [2/2]

Tensor5View & Tensor5View::operator-= ( Numeric  x)

Subtraction of scalar.

Definition at line 1453 of file matpackV.cc.

References begin(), and end().

◆ operator/=() [1/2]

◆ operator/=() [2/2]

Tensor5View & Tensor5View::operator/= ( Numeric  x)

Division by scalar.

Definition at line 1435 of file matpackV.cc.

References begin(), and end().

◆ operator=() [1/4]

Tensor5View & Tensor5View::operator= ( const ConstTensor5View m)

Assignment operator.

This copies the data from another Tensor5View to this Tensor5View. Dimensions must agree! Resizing would destroy the selection that we might have done in this Tensor5View by setting its range.

Definition at line 1371 of file matpackV.cc.

References ARTS_ASSERT, begin(), ConstTensor5View::begin(), copy(), ConstTensor5View::end(), ConstTensor5View::mbr, ConstTensor5View::mcr, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, and ConstTensor5View::msr.

◆ operator=() [2/4]

Tensor5View & Tensor5View::operator= ( const Tensor5 m)

Assignment from a Tensor5.

This must exist to overide the automatically generated assignment operators, which don't copy the contents!

Definition at line 1403 of file matpackV.cc.

References ARTS_ASSERT, begin(), copy(), end(), ConstTensor5View::mbr, ConstTensor5View::mcr, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, and ConstTensor5View::msr.

◆ operator=() [3/4]

Tensor5View & Tensor5View::operator= ( const Tensor5View m)

Assignment from Tensor5View to Tensor5View.

This is a tricky one. The problem is that since Tensor5View is derived from ConstTensor5View, 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 1388 of file matpackV.cc.

References ARTS_ASSERT, begin(), copy(), end(), ConstTensor5View::mbr, ConstTensor5View::mcr, Range::mextent, ConstTensor5View::mpr, ConstTensor5View::mrr, and ConstTensor5View::msr.

◆ operator=() [4/4]

Tensor5View & Tensor5View::operator= ( Numeric  x)

Assigning a scalar to a Tensor5View will set all elements to this value.

Definition at line 1417 of file matpackV.cc.

References begin(), copy(), and end().

Friends And Related Function Documentation

◆ Iterator6D

friend class Iterator6D
friend

Definition at line 487 of file matpackV.h.

◆ Tensor6View

friend class Tensor6View
friend

Definition at line 488 of file matpackV.h.

◆ Tensor7View

friend class Tensor7View
friend

Definition at line 489 of file matpackV.h.


The documentation for this class was generated from the following files: