casa  \$Rev:20696\$
casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations Struct Reference

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

`#include <AutoDiffMath.h>`

List of all members.

## Public Member Functions

template<class T >
AutoDiff< T > operator+ (const AutoDiff< T > &other)
Unary arithmetic operators.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
template<class T >
Bool isInf (AutoDiff< T > &val)
template<class T >
AutoDiff< T > min (const AutoDiff< T > &left, const AutoDiff< T > &right)
Minimum/maximum.
template<class T >
AutoDiff< T > max (const AutoDiff< T > &left, const AutoDiff< T > &right)

## Detailed Description

Implements all mathematical operators and functions for AutoDiff.

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

### Etymology

Implements all mathematical operators and functions for AutoDiff.

### To Do

• nothing I know of

Definition at line 60 of file AutoDiffMath.h.

## Member Function Documentation

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

Transcendental functions.

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

Floor and ceil of values.

template<class T >
 AutoDiff casa::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 casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::fmod ( const AutoDiff< T > & x, const AutoDiff< T > & c )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::isInf ( AutoDiff< T > & val )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::isNaN ( const AutoDiff< T > & val )

Test special values.

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

Minimum/maximum.

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

Unary arithmetic operators.

template<class T >
 AutoDiff casa::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 casa::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 casa::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 casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const AutoDiff< T > & other )
template<class T >
 AutoDiff casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const AutoDiff< T > & left, const AutoDiff< T > & right )
template<class T >
 AutoDiff casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const AutoDiff< T > & left, const T & right )
template<class T >
 AutoDiff casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator- ( const T & left, const AutoDiff< T > & right )
template<class T >
 AutoDiff casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator/ ( const AutoDiff< T > & left, const AutoDiff< T > & right )
template<class T >
 AutoDiff casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator/ ( const AutoDiff< T > & left, const T & right )
template<class T >
 AutoDiff casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator/ ( const T & left, const AutoDiff< T > & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator< ( const AutoDiff< T > & left, const AutoDiff< T > & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator< ( const AutoDiff< T > & left, const T & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator< ( const T & left, const AutoDiff< T > & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator<= ( const AutoDiff< T > & left, const AutoDiff< T > & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator<= ( const AutoDiff< T > & left, const T & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator<= ( const T & left, const AutoDiff< T > & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator== ( const AutoDiff< T > & left, const AutoDiff< T > & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator== ( const AutoDiff< T > & left, const T & right )
template<class T >
 Bool casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator== ( const T & left, const AutoDiff< T > & right )
template<class T >
 Bool casa::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 casa::AutoDiffMath_global_functions_AutoDiff_mathematical_operations::operator> ( const AutoDiff< T > & left, const T & right )

Compare an AutoDiff and a constant.

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

Compare a constant and an AutoDiff.

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

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