Go to the documentation of this file.
29 #ifndef SCIMATH_AUTODIFFMATH_H
30 #define SCIMATH_AUTODIFFMATH_H
34 #include <casacore/casa/aips.h>
35 #include <casacore/casa/BasicMath/Math.h>
36 #include <casacore/scimath/Mathematics/AutoDiff.h>
187 template<
class T>
Bool allnear(
const AutoDiff<T> &left,
const T &right,
191 template<
class T>
Bool allnearAbs(
const AutoDiff<T> &left,
const T &right,
204 template<
class T>
Bool allnear(
const T &left,
const AutoDiff<T> &right,
208 template<
class T>
Bool allnearAbs(
const T &left,
const AutoDiff<T> &right,
229 #ifndef CASACORE_NO_AUTO_TEMPLATES
230 #include <casacore/scimath/Mathematics/AutoDiffMath.tcc>
231 #endif //# CASACORE_NO_AUTO_TEMPLATES
LatticeExprNode acos(const LatticeExprNode &expr)
AutoDiff< T > cos(const AutoDiff< T > &ad)
Class that computes partial derivatives by automatic differentiation.
AutoDiff< T > exp(const AutoDiff< T > &ad)
AutoDiff< T > cube(const AutoDiff< T > &ad)
LatticeExprNode operator+(const LatticeExprNode &expr)
Global functions operating on a LatticeExprNode.
Bool operator!=(const AutoDiff< T > &left, const AutoDiff< T > &right)
Bool allnear(const AutoDiff< T > &left, const AutoDiff< T > &right, const Double tol)
bool operator!=(const casacore_allocator< T, ALIGNMENT > &, const casacore_allocator< T, ALIGNMENT > &)
AutoDiff< T > cosh(const AutoDiff< T > &ad)
LatticeExprNode log(const LatticeExprNode &expr)
AutoDiff< T > sin(const AutoDiff< T > &ad)
Bool isNaN(const AutoDiff< T > &val)
Test special values.
LatticeExprNode log10(const LatticeExprNode &expr)
AutoDiff< T > fmod(const AutoDiff< T > &x, const T &c)
Floating-point remainder of x/c, with the same sign as x, where c is a constant.
LatticeExprNode fmod(const LatticeExprNode &left, const LatticeExprNode &right)
Bool allnearAbs(const AutoDiff< T > &left, const AutoDiff< T > &right, const Double tol)
LatticeExprNode abs(const LatticeExprNode &expr)
Numerical 1-argument functions which result in a real number regardless of input expression type.
LatticeExprNode operator>=(const LatticeExprNode &left, const LatticeExprNode &right)
Bool operator<(const AutoDiff< T > &left, const AutoDiff< T > &right)
LatticeExprNode operator<(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode pow(const LatticeExprNode &left, const LatticeExprNode &right)
AutoDiff< T > sinh(const AutoDiff< T > &ad)
LatticeExprNode atan(const LatticeExprNode &expr)
AutoDiff< T > max(const AutoDiff< T > &left, const AutoDiff< T > &right)
LatticeExprNode sqrt(const LatticeExprNode &expr)
AutoDiff< T > pow(const AutoDiff< T > &a, const AutoDiff< T > &b)
TableExprNode isInf(const TableExprNode &node)
TableExprNode square(const TableExprNode &node)
LatticeExprNode tan(const LatticeExprNode &expr)
AutoDiff< T > ceil(const AutoDiff< T > &ad)
Bool operator==(const AutoDiff< T > &left, const AutoDiff< T > &right)
AutoDiff< T > atan(const AutoDiff< T > &ad)
AutoDiff< T > asin(const AutoDiff< T > &ad)
bool operator==(const casacore_allocator< T, ALIGNMENT > &, const casacore_allocator< T, ALIGNMENT > &)
LatticeExprNode cos(const LatticeExprNode &expr)
AutoDiff< T > operator-(const AutoDiff< T > &other)
Bool operator>(const AutoDiff< T > &left, const AutoDiff< T > &right)
Comparison operators.
AutoDiff< T > erfc(const AutoDiff< T > &ad)
Bool near(const AutoDiff< T > &left, const AutoDiff< T > &right)
AutoDiff< T > tanh(const AutoDiff< T > &ad)
Bool operator<=(const AutoDiff< T > &left, const AutoDiff< T > &right)
LatticeExprNode cosh(const LatticeExprNode &expr)
LatticeExprNode max(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode atan2(const LatticeExprNode &left, const LatticeExprNode &right)
Numerical 2-argument functions.
AutoDiff< T > square(const AutoDiff< T > &ad)
Bool nearAbs(const AutoDiff< T > &left, const AutoDiff< T > &right, const Double tol)
LatticeExprNode sin(const LatticeExprNode &expr)
Numerical 1-argument functions.
AutoDiff< T > operator+(const AutoDiff< T > &other)
Unary arithmetic operators.
TableExprNode cube(const TableExprNode &node)
AutoDiff< T > log(const AutoDiff< T > &ad)
Bool near(const GaussianBeam &left, const GaussianBeam &other, const Double relWidthTol, const Quantity &absPaTol)
LatticeExprNode operator/(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode ceil(const LatticeExprNode &expr)
LatticeExprNode min(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode asin(const LatticeExprNode &expr)
this file contains all the compiler specific defines
AutoDiff< T > operator*(const AutoDiff< T > &left, const AutoDiff< T > &right)
const Double c
Fundamental physical constants (SI units):
AutoDiff< T > tan(const AutoDiff< T > &ad)
AutoDiff< T > acos(const AutoDiff< T > &ad)
Transcendental functions.
AutoDiff< T > sqrt(const AutoDiff< T > &ad)
AutoDiff< T > log10(const AutoDiff< T > &ad)
AutoDiff< T > floor(const AutoDiff< T > &ad)
Floor and ceil of values.
LatticeExprNode isNaN(const LatticeExprNode &expr)
Test if a value is a NaN.
LatticeExprNode tanh(const LatticeExprNode &expr)
LatticeExprNode operator<=(const LatticeExprNode &left, const LatticeExprNode &right)
AutoDiff< T > abs(const AutoDiff< T > &ad)
AutoDiff< T > operator/(const AutoDiff< T > &left, const AutoDiff< T > &right)
LatticeExprNode floor(const LatticeExprNode &expr)
bool Bool
Define the standard types used by Casacore.
AutoDiff< T > erf(const AutoDiff< T > &ad)
Bool operator>=(const AutoDiff< T > &left, const AutoDiff< T > &right)
MVBaseline operator*(const RotMatrix &left, const MVBaseline &right)
Rotate a Baseline vector with rotation matrix and other multiplications.
LatticeExprNode operator>(const LatticeExprNode &left, const LatticeExprNode &right)
AutoDiff< T > min(const AutoDiff< T > &left, const AutoDiff< T > &right)
Minimum/maximum.
LatticeExprNode sinh(const LatticeExprNode &expr)
AutoDiff< T > atan2(const AutoDiff< T > &y, const AutoDiff< T > &x)
Implements all mathematical operators and functions for AutoDiff.
LatticeExprNode operator-(const LatticeExprNode &expr)
LatticeExprNode exp(const LatticeExprNode &expr)
Bool isInf(AutoDiff< T > &val)
TableExprNode nearAbs(const TableExprNode &left, const TableExprNode &right)