ARTS  2.4.0(git:4fb77825)
array.h File Reference

This file contains the definition of Array. More...

#include <cassert>
#include <climits>
#include <iomanip>
#include <iostream>
#include <array>
#include <vector>
#include "matpack.h"

Go to the source code of this file.

Classes

class  Array< base >
 This can be used to make arrays out of anything. More...
 
class  CmpArrayOfNumeric
 Helper comparison class to sort an array or vector based on an ArrayOfNumeric. More...
 

Typedefs

typedef Array< Index > ArrayOfIndex
 An array of Index. More...
 
typedef Array< ArrayOfIndex > ArrayOfArrayOfIndex
 
typedef Array< Numeric > ArrayOfNumeric
 An array of Numeric. More...
 
typedef Array< Vector > ArrayOfVector
 An array of vectors. More...
 
typedef Array< ArrayOfVector > ArrayOfArrayOfVector
 
typedef Array< Matrix > ArrayOfMatrix
 An array of matrices. More...
 
typedef Array< ArrayOfMatrix > ArrayOfArrayOfMatrix
 
typedef Array< Sparse > ArrayOfSparse
 An array of sparse matrices. More...
 
typedef Array< Tensor3 > ArrayOfTensor3
 An array of Tensor3. More...
 
typedef Array< ArrayOfTensor3 > ArrayOfArrayOfTensor3
 
typedef Array< Tensor4 > ArrayOfTensor4
 An array of Tensor4. More...
 
typedef Array< ArrayOfTensor4 > ArrayOfArrayOfTensor4
 
typedef Array< Tensor5 > ArrayOfTensor5
 An array of Tensor5. More...
 
typedef Array< ArrayOfTensor5 > ArrayOfArrayOfTensor5
 
typedef Array< Tensor6 > ArrayOfTensor6
 An array of Tensor6. More...
 
typedef Array< ArrayOfTensor6 > ArrayOfArrayOfTensor6
 
typedef Array< Tensor7 > ArrayOfTensor7
 An array of Tensor7. More...
 
typedef Array< ArrayOfTensor7 > ArrayOfArrayOfTensor7
 

Functions

template<class base >
std::ostream & operator<< (std::ostream &os, const Array< base > &v)
 Output operator. More...
 
template<class base >
base max (const Array< base > &x)
 Max function. More...
 
template<class base >
base min (const Array< base > &x)
 Min function. More...
 
template<class base >
Index find_first (const Array< base > &x, const base &w)
 Find first occurance. More...
 
template<class base >
void find_all (ArrayOfIndex &pos, const Array< base > &x, const base &w)
 Find all occurances. More...
 
template<class base >
Index TotalNumberOfElements (const Array< Array< base > > &aa)
 Determine total number of elements in an ArrayOfArray. More...
 
template<class base >
Index FlattenedIndex (const Array< Array< base > > &aa, Index outer, Index inner=0)
 Determine the index of an element in a flattened version of the array. More...
 
template<typename T , typename ... Ts>
constexpr std::array< T, 1+sizeof...(Ts)> stdarrayify (const T &first, const Ts &... the_rest)
 Make a std::array of a list of variables (must be 1-long at least) More...
 

Detailed Description

This file contains the definition of Array.

Author
Stefan Buehler
Date
2001-09-05

Definition in file array.h.

Typedef Documentation

◆ ArrayOfArrayOfIndex

Definition at line 45 of file array.h.

◆ ArrayOfArrayOfMatrix

Definition at line 68 of file array.h.

◆ ArrayOfArrayOfTensor3

Definition at line 76 of file array.h.

◆ ArrayOfArrayOfTensor4

Definition at line 81 of file array.h.

◆ ArrayOfArrayOfTensor5

Definition at line 86 of file array.h.

◆ ArrayOfArrayOfTensor6

Definition at line 91 of file array.h.

◆ ArrayOfArrayOfTensor7

Definition at line 96 of file array.h.

◆ ArrayOfArrayOfVector

Definition at line 63 of file array.h.

◆ ArrayOfIndex

An array of Index.

Definition at line 43 of file array.h.

◆ ArrayOfMatrix

An array of matrices.

Definition at line 66 of file array.h.

◆ ArrayOfNumeric

An array of Numeric.

Definition at line 48 of file array.h.

◆ ArrayOfSparse

An array of sparse matrices.

Definition at line 71 of file array.h.

◆ ArrayOfTensor3

An array of Tensor3.

Definition at line 74 of file array.h.

◆ ArrayOfTensor4

An array of Tensor4.

Definition at line 79 of file array.h.

◆ ArrayOfTensor5

An array of Tensor5.

Definition at line 84 of file array.h.

◆ ArrayOfTensor6

An array of Tensor6.

Definition at line 89 of file array.h.

◆ ArrayOfTensor7

An array of Tensor7.

Definition at line 94 of file array.h.

◆ ArrayOfVector

An array of vectors.

Definition at line 61 of file array.h.

Function Documentation

◆ find_all()

template<class base >
void find_all ( ArrayOfIndex &  pos,
const Array< base > &  x,
const base &  w 
)

Find all occurances.

This calculates an array of indices of all occurances of w in array x.

An empty output array means that no occurance was found.

Return values
posArray with positions of w in the array.
Parameters
xThe array to search.
wThe value to look for.
Author
Stefan Buehler
Date
2002-11-28

Definition at line 314 of file array.h.

References w(), and ARTS::Var::x().

Referenced by chk_contains().

◆ find_first()

template<class base >
Index find_first ( const Array< base > &  x,
const base &  w 
)

Find first occurance.

This returns the index of the first occurance of w in array x.

A return value of -1 indicates that no matching element was found.

Returns
The index of the thing we looked for.
Parameters
xThe array to search.
wThe value to look for.
Author
Stefan Buehler
Date
2002-11-28

Definition at line 292 of file array.h.

References w(), and ARTS::Var::x().

Referenced by get_pointers_for_analytical_jacobians(), particle_bulkprop_fieldPerturb(), particle_bulkprop_fieldPerturbAtmGrids(), pnd_fieldCalcFromParticleBulkProps(), SpeciesTag::SpeciesTag(), SurfaceFastem(), SurfaceTessem(), and xml_read_from_stream().

◆ FlattenedIndex()

template<class base >
Index FlattenedIndex ( const Array< Array< base > > &  aa,
Index  outer,
Index  inner = 0 
)

Determine the index of an element in a flattened version of the array.

Definition at line 354 of file array.h.

References N, and Absorption::nelem().

Referenced by ScatSpeciesMerge().

◆ max()

template<class base >
base max ( const Array< base > &  x)
inline

Max function.

Definition at line 247 of file array.h.

References ARTS::Var::x().

◆ min()

template<class base >
base min ( const Array< base > &  x)
inline

Min function.

Definition at line 263 of file array.h.

References ARTS::Var::x().

◆ operator<<()

template<class base >
std::ostream& operator<< ( std::ostream &  os,
const Array< base > &  v 
)
inline

Output operator.

Definition at line 229 of file array.h.

References Zeeman::end().

◆ stdarrayify()

template<typename T , typename ... Ts>
constexpr std::array<T, 1 + sizeof...(Ts)> stdarrayify ( const T &  first,
const Ts &...  the_rest 
)
constexpr

◆ TotalNumberOfElements()