casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations Struct Reference

Implements all mathematical operators and functions for AutoDiff. More...

#include <AutoDiffMath.h>

Public Member Functions

template<class T >
AutoDiff< T > operator+ (const AutoDiff< T > &other)
 Unary arithmetic operators. More...
 
template<class T >
AutoDiff< T > operator- (const AutoDiff< T > &other)
 
template<class T >
AutoDiff< T > operator+ (const AutoDiff< T > &left, const AutoDiff< T > &right)
 Arithmetic on two AutoDiff objects, returning an AutoDiff object. More...
 
template<class T >
AutoDiff< T > operator- (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
AutoDiff< T > operator* (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
AutoDiff< T > operator/ (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
AutoDiff< T > operator+ (const AutoDiff< T > &left, const T &right)
 Arithmetic on an AutoDiff and a scalar, returning an AutoDiff. More...
 
template<class T >
AutoDiff< T > operator- (const AutoDiff< T > &left, const T &right)
 
template<class T >
AutoDiff< T > operator* (const AutoDiff< T > &left, const T &right)
 
template<class T >
AutoDiff< T > operator/ (const AutoDiff< T > &left, const T &right)
 
template<class T >
AutoDiff< T > operator+ (const T &left, const AutoDiff< T > &right)
 Arithmetic between a scalar and an AutoDiff returning an AutoDiff. More...
 
template<class T >
AutoDiff< T > operator- (const T &left, const AutoDiff< T > &right)
 
template<class T >
AutoDiff< T > operator* (const T &left, const AutoDiff< T > &right)
 
template<class T >
AutoDiff< T > operator/ (const T &left, const AutoDiff< T > &right)
 
template<class T >
AutoDiff< T > acos (const AutoDiff< T > &ad)
 Transcendental functions. More...
 
template<class T >
AutoDiff< T > asin (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > atan (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > atan2 (const AutoDiff< T > &y, const AutoDiff< T > &x)
 
template<class T >
AutoDiff< T > cos (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > cosh (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > exp (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > log (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > log10 (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > erf (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > erfc (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > pow (const AutoDiff< T > &a, const AutoDiff< T > &b)
 
template<class T >
AutoDiff< T > pow (const AutoDiff< T > &a, const T &b)
 
template<class T >
AutoDiff< T > square (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > cube (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > sin (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > sinh (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > sqrt (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > tan (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > tanh (const AutoDiff< T > &ad)
 
template<class T >
AutoDiff< T > abs (const AutoDiff< T > &ad)
 
template<class T >
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. More...
 
template<class T >
AutoDiff< T > fmod (const AutoDiff< T > &x, const AutoDiff< T > &c)
 
template<class T >
AutoDiff< T > floor (const AutoDiff< T > &ad)
 Floor and ceil of values. More...
 
template<class T >
AutoDiff< T > ceil (const AutoDiff< T > &ad)
 
template<class T >
Bool operator> (const AutoDiff< T > &left, const AutoDiff< T > &right)
 Comparison operators. More...
 
template<class T >
Bool operator< (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator>= (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator<= (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator== (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator!= (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
Bool near (const AutoDiff< T > &left, const AutoDiff< T > &right)
 
template<class T >
Bool near (const AutoDiff< T > &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool allnear (const AutoDiff< T > &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool nearAbs (const AutoDiff< T > &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool allnearAbs (const AutoDiff< T > &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool operator> (const AutoDiff< T > &left, const T &right)
 Compare an AutoDiff and a constant. More...
 
template<class T >
Bool operator< (const AutoDiff< T > &left, const T &right)
 
template<class T >
Bool operator>= (const AutoDiff< T > &left, const T &right)
 
template<class T >
Bool operator<= (const AutoDiff< T > &left, const T &right)
 
template<class T >
Bool operator== (const AutoDiff< T > &left, const T &right)
 
template<class T >
Bool operator!= (const AutoDiff< T > &left, const T &right)
 
template<class T >
Bool near (const AutoDiff< T > &left, const T &right)
 
template<class T >
Bool near (const AutoDiff< T > &left, const T &right, const Double tol)
 
template<class T >
Bool allnear (const AutoDiff< T > &left, const T &right, const Double tol)
 
template<class T >
Bool nearAbs (const AutoDiff< T > &left, const T &right, const Double tol)
 
template<class T >
Bool allnearAbs (const AutoDiff< T > &left, const T &right, const Double tol)
 
template<class T >
Bool operator> (const T &left, const AutoDiff< T > &right)
 Compare a constant and an AutoDiff. More...
 
template<class T >
Bool operator< (const T &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator>= (const T &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator<= (const T &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator== (const T &left, const AutoDiff< T > &right)
 
template<class T >
Bool operator!= (const T &left, const AutoDiff< T > &right)
 
template<class T >
Bool near (const T &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool allnear (const T &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool nearAbs (const T &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool allnearAbs (const T &left, const AutoDiff< T > &right, const Double tol)
 
template<class T >
Bool isNaN (const AutoDiff< T > &val)
 Test special values. More...
 
template<class T >
Bool isInf (AutoDiff< T > &val)
 
template<class T >
AutoDiff< T > min (const AutoDiff< T > &left, const AutoDiff< T > &right)
 Minimum/maximum. More...
 
template<class T >
AutoDiff< T > max (const AutoDiff< T > &left, const AutoDiff< T > &right)
 

Detailed Description

Implements all mathematical operators and functions for AutoDiff.

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Test programs:
tAutoDiff

Prerequisite

Etymology

Implements all mathematical operators and functions for AutoDiff.

To Do

Definition at line 60 of file AutoDiffMath.h.

Member Function Documentation

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::abs ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::acos ( const AutoDiff< T > &  ad)

Transcendental functions.

template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::allnear ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::allnear ( const AutoDiff< T > &  left,
const T &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::allnear ( const T &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::allnearAbs ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::allnearAbs ( const AutoDiff< T > &  left,
const T &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::allnearAbs ( const T &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::asin ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::atan ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::atan2 ( const AutoDiff< T > &  y,
const AutoDiff< T > &  x 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::ceil ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::cos ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::cosh ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::cube ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::erf ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::erfc ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::exp ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::floor ( const AutoDiff< T > &  ad)

Floor and ceil of values.

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::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.

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::fmod ( const AutoDiff< T > &  x,
const AutoDiff< T > &  c 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::isInf ( AutoDiff< T > &  val)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::isNaN ( const AutoDiff< T > &  val)

Test special values.

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::log ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::log10 ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::max ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::min ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)

Minimum/maximum.

template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::near ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::near ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::near ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::near ( const AutoDiff< T > &  left,
const T &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::near ( const T &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::nearAbs ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::nearAbs ( const AutoDiff< T > &  left,
const T &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::nearAbs ( const T &  left,
const AutoDiff< T > &  right,
const Double  tol 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator!= ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator!= ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator!= ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator* ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator* ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator* ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator+ ( const AutoDiff< T > &  other)

Unary arithmetic operators.

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator+ ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)

Arithmetic on two AutoDiff objects, returning an AutoDiff object.

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator+ ( const AutoDiff< T > &  left,
const T &  right 
)

Arithmetic on an AutoDiff and a scalar, returning an AutoDiff.

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator+ ( const T &  left,
const AutoDiff< T > &  right 
)

Arithmetic between a scalar and an AutoDiff returning an AutoDiff.

template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const AutoDiff< T > &  other)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator/ ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator/ ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator/ ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator< ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator< ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator< ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator<= ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator<= ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator<= ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator== ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator== ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator== ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator> ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)

Comparison operators.

Only the values are compared: in the actual functions, comparisons are used to decide on algorithms. To check if two AutoDiff values are equal, use comparison for both value and derivatives.
Tip: To check if two AutoDiff values are equal, use the member method equals() (e;g; for debugging and testing);

Compare two AutoDiff's

template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator> ( const AutoDiff< T > &  left,
const T &  right 
)

Compare an AutoDiff and a constant.

template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator> ( const T &  left,
const AutoDiff< T > &  right 
)

Compare a constant and an AutoDiff.

template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator>= ( const AutoDiff< T > &  left,
const AutoDiff< T > &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator>= ( const AutoDiff< T > &  left,
const T &  right 
)
template<class T >
Bool casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator>= ( const T &  left,
const AutoDiff< T > &  right 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::pow ( const AutoDiff< T > &  a,
const AutoDiff< T > &  b 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::pow ( const AutoDiff< T > &  a,
const T &  b 
)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::sin ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::sinh ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::sqrt ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::square ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::tan ( const AutoDiff< T > &  ad)
template<class T >
AutoDiff<T> casacore::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::tanh ( const AutoDiff< T > &  ad)

The documentation for this struct was generated from the following file: