1 #ifndef ARRAY_AD_WITH_UNIT_H 2 #define ARRAY_AD_WITH_UNIT_H ArrayAdWithUnit< T, D > convert(const Unit &R) const
Convert to the given units.
AutoDerivativeWithUnit< T > operator()(int i1, int i2, int i3) const
ArrayAdWithUnit(const ArrayAd< T, D > &V)
This is a AutoDerivative that also has units associated with it.
AutoDerivativeWithUnit< T > operator()(int i1, int i2) const
AutoDerivativeWithUnit< T > operator()(int i1) const
AutoDerivativeWithUnit< T > operator()(int i1, int i2, int i3, int i4) const
const Unit dimensionless("dimensionless", 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
double conversion(const Unit &Dunit_from, const Unit &Dunit_to)
Return conversion factor to go from one unit to another.
void reference(const ArrayAdWithUnit< T, D > &V)
const blitz::Array< T, D+1 > jacobian() const
This is a ArrayAd that also has units associated with it.
ArrayAdWithUnit(const ArrayAd< T, D > &V, const Unit &U)
The AutoDerivative<T> works well, and it works with blitz if you create a blitz::Array<AutoDerivative...
int number_variable() const
ArrayAd< T, D > copy() const
AutoDerivativeWithUnit< T > operator()(int i1, int i2, int i3, int i4, int i5) const
ArrayAdWithUnit(const ArrayAd< T, D > &V, const std::string &U)
int number_variable() const
void reference(const ArrayAd< T, D > &V)
Libraries such as boost::units allow unit handling where we know the units at compile time...
Contains classes to abstract away details in various Spurr Radiative Transfer software.