casacore
Public Member Functions | List of all members
casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations Struct Reference

More...

#include <SparseDiffMath.h>

Public Member Functions

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

Detailed Description

Implements all mathematical operators and functions for SparseDiff.

Review Status

Reviewed By:
UNKNOWN
Test programs:
tSparseDiff

Prerequisite

Etymology

Implements all mathematical operators and functions for SparseDiff.

To Do


Definition at line 60 of file SparseDiffMath.h.

Member Function Documentation

◆ abs()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::abs ( const SparseDiff< T > &  ad)

◆ acos()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::acos ( const SparseDiff< T > &  ad)

Transcendental functions.

◆ allnear() [1/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::allnear ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ allnear() [2/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::allnear ( const SparseDiff< T > &  left,
const T &  right,
const Double  tol 
)

◆ allnear() [3/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::allnear ( const T &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ allnearAbs() [1/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::allnearAbs ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ allnearAbs() [2/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::allnearAbs ( const SparseDiff< T > &  left,
const T &  right,
const Double  tol 
)

◆ allnearAbs() [3/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::allnearAbs ( const T &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ asin()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::asin ( const SparseDiff< T > &  ad)

◆ atan()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::atan ( const SparseDiff< T > &  ad)

◆ atan2()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::atan2 ( const SparseDiff< T > &  y,
const SparseDiff< T > &  x 
)

◆ ceil()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::ceil ( const SparseDiff< T > &  ad)

◆ cos()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::cos ( const SparseDiff< T > &  ad)

◆ cosh()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::cosh ( const SparseDiff< T > &  ad)

◆ cube()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::cube ( const SparseDiff< T > &  ad)

◆ erf()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::erf ( const SparseDiff< T > &  ad)

◆ erfc()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::erfc ( const SparseDiff< T > &  ad)

◆ exp()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::exp ( const SparseDiff< T > &  ad)

◆ floor()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::floor ( const SparseDiff< T > &  ad)

Floor and ceil of values.

◆ fmod() [1/2]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::fmod ( const SparseDiff< T > &  x,
const SparseDiff< T > &  c 
)

◆ fmod() [2/2]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::fmod ( const SparseDiff< T > &  x,
const T &  c 
)

Floating-point remainder of x/c, with the same sign as x, where c is a constant.

◆ isInf()

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::isInf ( SparseDiff< T > &  val)

◆ isNaN()

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::isNaN ( const SparseDiff< T > &  val)

Test special values.

◆ log()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::log ( const SparseDiff< T > &  ad)

◆ log10()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::log10 ( const SparseDiff< T > &  ad)

◆ max()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::max ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ min()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::min ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

Minimum/maximum.

◆ near() [1/5]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::near ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ near() [2/5]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::near ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ near() [3/5]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::near ( const SparseDiff< T > &  left,
const T &  right 
)

◆ near() [4/5]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::near ( const SparseDiff< T > &  left,
const T &  right,
const Double  tol 
)

◆ near() [5/5]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::near ( const T &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ nearAbs() [1/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::nearAbs ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ nearAbs() [2/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::nearAbs ( const SparseDiff< T > &  left,
const T &  right,
const Double  tol 
)

◆ nearAbs() [3/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::nearAbs ( const T &  left,
const SparseDiff< T > &  right,
const Double  tol 
)

◆ operator!=() [1/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator!= ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ operator!=() [2/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator!= ( const SparseDiff< T > &  left,
const T &  right 
)

◆ operator!=() [3/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator!= ( const T &  left,
const SparseDiff< T > &  right 
)

◆ operator*() [1/3]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator* ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ operator*() [2/3]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator* ( const SparseDiff< T > &  left,
const T &  right 
)

◆ operator*() [3/3]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator* ( const T &  left,
const SparseDiff< T > &  right 
)

◆ operator+() [1/4]

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

Arithmetic on two SparseDiff objects, returning a SparseDiff object.

◆ operator+() [2/4]

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

Arithmetic on a SparseDiff and a scalar, returning a SparseDiff.

◆ operator+() [3/4]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator+ ( const SparseDiff< T > &  other)

Unary arithmetic operators.

◆ operator+() [4/4]

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

Arithmetic between a scalar and a SparseDiff returning a SparseDiff.

◆ operator-() [1/4]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator- ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ operator-() [2/4]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator- ( const SparseDiff< T > &  left,
const T &  right 
)

◆ operator-() [3/4]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator- ( const SparseDiff< T > &  other)

◆ operator-() [4/4]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator- ( const T &  left,
const SparseDiff< T > &  right 
)

◆ operator/() [1/3]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator/ ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ operator/() [2/3]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator/ ( const SparseDiff< T > &  left,
const T &  right 
)

◆ operator/() [3/3]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator/ ( const T &  left,
const SparseDiff< T > &  right 
)

◆ operator<() [1/3]

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

◆ operator<() [2/3]

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

◆ operator<() [3/3]

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

◆ operator<=() [1/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator<= ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ operator<=() [2/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator<= ( const SparseDiff< T > &  left,
const T &  right 
)

◆ operator<=() [3/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator<= ( const T &  left,
const SparseDiff< T > &  right 
)

◆ operator==() [1/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator== ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ operator==() [2/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator== ( const SparseDiff< T > &  left,
const T &  right 
)

◆ operator==() [3/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator== ( const T &  left,
const SparseDiff< T > &  right 
)

◆ operator>() [1/3]

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

Comparison operators.

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

Compare two SparseDiff's

◆ operator>() [2/3]

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

Compare a SparseDiff and a constant.

◆ operator>() [3/3]

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

Compare a constant and a SparseDiff.

◆ operator>=() [1/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator>= ( const SparseDiff< T > &  left,
const SparseDiff< T > &  right 
)

◆ operator>=() [2/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator>= ( const SparseDiff< T > &  left,
const T &  right 
)

◆ operator>=() [3/3]

template<class T >
Bool casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::operator>= ( const T &  left,
const SparseDiff< T > &  right 
)

◆ pow() [1/2]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::pow ( const SparseDiff< T > &  a,
const SparseDiff< T > &  b 
)

◆ pow() [2/2]

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::pow ( const SparseDiff< T > &  a,
const T &  b 
)

◆ sin()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::sin ( const SparseDiff< T > &  ad)

◆ sinh()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::sinh ( const SparseDiff< T > &  ad)

◆ sqrt()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::sqrt ( const SparseDiff< T > &  ad)

◆ square()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::square ( const SparseDiff< T > &  ad)

◆ tan()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::tan ( const SparseDiff< T > &  ad)

◆ tanh()

template<class T >
SparseDiff<T> casacore::SparseDiffMath_global_functions_SparseDiff_mathematical_operations::tanh ( const SparseDiff< T > &  ad)

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