A traits class which provides basic mathematical functions for arbitrary scalar floating point values.
More...
|
template<class Evaluation > |
Evaluation | Opm::blank (const Evaluation &x) |
|
template<class Evaluation , class Scalar > |
Evaluation | Opm::constant (const Scalar &value) |
|
template<class Evaluation , class Scalar > |
Evaluation | Opm::constant (unsigned numDeriv, const Scalar &value) |
|
template<class Evaluation , class Scalar > |
Evaluation | Opm::constant (const Evaluation &x, const Scalar &value) |
|
template<class Evaluation , class Scalar > |
Evaluation | Opm::variable (unsigned numDeriv, const Scalar &value, unsigned idx) |
|
template<class Evaluation , class Scalar > |
Evaluation | Opm::variable (const Evaluation &x, const Scalar &value, unsigned idx) |
|
template<class Evaluation , class Scalar > |
Evaluation | Opm::variable (const Scalar &value, unsigned idx) |
|
template<class ResultEval , class Evaluation > |
auto | Opm::decay (const Evaluation &value) -> decltype(MathToolbox< Evaluation >::template decay< ResultEval >(value)) |
|
template<class Evaluation > |
auto | Opm::getValue (const Evaluation &val) -> decltype(MathToolbox< Evaluation >::value(val)) |
|
template<class Evaluation > |
auto | Opm::scalarValue (const Evaluation &val) -> decltype(MathToolbox< Evaluation >::scalarValue(val)) |
|
template<class Evaluation1 , class Evaluation2 > |
ReturnEval_< Evaluation1, Evaluation2 >::type | Opm::max (const Evaluation1 &arg1, const Evaluation2 &arg2) |
|
template<class Evaluation1 , class Evaluation2 > |
ReturnEval_< Evaluation1, Evaluation2 >::type | Opm::min (const Evaluation1 &arg1, const Evaluation2 &arg2) |
|
template<class Evaluation > |
Evaluation | Opm::abs (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::tan (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::atan (const Evaluation &value) |
|
template<class Evaluation1 , class Evaluation2 > |
ReturnEval_< Evaluation1, Evaluation2 >::type | Opm::atan2 (const Evaluation1 &value1, const Evaluation2 &value2) |
|
template<class Evaluation > |
Evaluation | Opm::sin (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::asin (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::sinh (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::asinh (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::cos (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::acos (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::cosh (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::acosh (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::sqrt (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::exp (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::log (const Evaluation &value) |
|
template<class Evaluation > |
Evaluation | Opm::log10 (const Evaluation &value) |
|
template<class Evaluation1 , class Evaluation2 > |
ReturnEval_< Evaluation1, Evaluation2 >::type | Opm::pow (const Evaluation1 &base, const Evaluation2 &exp) |
|
template<class Evaluation > |
bool | Opm::isfinite (const Evaluation &value) |
|
template<class Evaluation > |
bool | Opm::isnan (const Evaluation &value) |
|
A traits class which provides basic mathematical functions for arbitrary scalar floating point values.
The reason why this is done in such a complicated way is to enable other approaches, in particular automatic differentiation based ones.