29 #ifndef SCIMATH_AUTODIFF_H 30 #define SCIMATH_AUTODIFF_H 33 #include <casacore/casa/aips.h> 34 #include <casacore/scimath/Mathematics/AutoDiffRep.h> 35 #include <casacore/casa/Containers/ObjectPool.h> 36 #include <casacore/casa/OS/Mutex.h> 41 template <
class T>
class Vector;
382 #ifndef CASACORE_NO_AUTO_TEMPLATES 383 #include <casacore/scimath/Mathematics/AutoDiff.tcc> 384 #endif //# CASACORE_NO_AUTO_TEMPLATES A 1-D Specialization of the Array class.
AutoDiffRep< T > * theRep()
Returns the pointer to the structure of value and derivatives.
const AutoDiff< T > & ref()
Indicate that we are going to use a temporary value for the last time (e.g.
uInt nd_p
The number of derivatives.
AutoDiffRep< T > * rep_p
Value representation.
static Mutex theirMutex
Mutex for thread-safe access to theirPool.
AutoDiff()
Construct a constant with a value of zero.
void release(T *obj, const Key key=Key())
Release an object obtained from the pool through get for re-use.
uInt nDerivatives() const
Return total number of derivatives.
const AutoDiffRep< T > * theRep() const
const T & deriv(uInt which) const
const T & derivative(uInt which) const
Bool nocopy_p
A flag indicating that value will not be used anymore (to stop superfluous copying) ...
Bool isConstant() const
Is it a constant, i.e., with zero derivatives?
A parameterized stack of re-usable objects.
bool Bool
Define the standard types used by Casacore.
Class that computes partial derivatives by automatic differentiation.
void release()
Release a struct of value and derivative data.
static ObjectPool< AutoDiffRep< T >, uInt > theirPool
Pool of data blocks.
Representation of an automatic differential class data.
Vector< T > derivatives() const
Returns a vector of the derivatives of an AutoDiff.
Wrapper around a pthreads mutex.
void operator/=(const AutoDiff< T > &other)
Exception-safe lock/unlock of a mutex.
void operator-=(const AutoDiff< T > &other)
const value_type * const_iterator
void operator*=(const AutoDiff< T > &other)
Assignment operators.
T & value()
Returns the value of the function.
this file contains all the compiler specific defines
void operator+=(const AutoDiff< T > &other)
T & derivative(uInt which)
Returns a specific derivative.
AutoDiff< T > & operator=(const T &v)
Assignment operator.
const value_type & const_reference