Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DifNumber Class Reference

#include <DifNumber.h>

List of all members.

Public Member Functions

DifNumberabsolute ()
DifNumberabsolute ()
DifNumberarcTangent (const DifNumber &x)
DifNumberarcTangent (const DifNumber &x)
double correlation (const DifNumber &b) const
double correlation (const DifNumber &b, const HepSymMatrix &e) const
double correlation (const DifNumber &b) const
double correlation (const DifNumber &b, const HepSymMatrix &e) const
void cosAndSin (DifNumber &c, DifNumber &s) const
void cosAndSin (DifNumber &c, DifNumber &s) const
double derivative (int i) const
double derivative (int i) const
HepVector derivatives () const
HepVector derivatives () const
 DifNumber (const DifNumber &s)
 DifNumber (double s, int i, const DifIndepPar *indepar)
 DifNumber (double s, const DifIndepPar *indeppar)
 DifNumber (double s, int i, int npar)
 DifNumber (double s, int i, double di, int npar)
 DifNumber (double s, const HepVector &d)
 DifNumber (double s, int npar=0)
 DifNumber ()
 DifNumber (const DifNumber &s)
 DifNumber (double s, int i, const DifIndepPar *indepar)
 DifNumber (double s, const DifIndepPar *indeppar)
 DifNumber (double s, int i, int npar)
 DifNumber (double s, int i, double di, int npar)
 DifNumber (double s, const HepVector &d)
 DifNumber (double s, int npar=0)
 DifNumber ()
double error () const
double error (const HepSymMatrix &e) const
double error () const
double error (const HepSymMatrix &e) const
void extendPar (int nnew)
void extendPar (int nnew)
void fetchDerivatives (HepVector &v) const
void fetchDerivatives (HepVector &v) const
void fetchNumber (double &n) const
void fetchNumber (double &n) const
DifNumberflipsign ()
DifNumberflipsign ()
double & gimeNumber ()
double & gimeNumber ()
const DifIndepParindepPar () const
const DifIndepParindepPar () const
DifNumberinverse ()
DifNumberinverse ()
DifNumbermod (double lo, double hi)
DifNumbermod (double lo, double hi)
int nMax ()
int nMax ()
int nPar () const
int nPar () const
double number () const
double number () const
DifNumberoperator *= (const double &a)
DifNumberoperator *= (const DifNumber &a)
DifNumberoperator *= (const double &a)
DifNumberoperator *= (const DifNumber &a)
DifNumberoperator+= (const double &a)
DifNumberoperator+= (const DifNumber &a)
DifNumberoperator+= (const double &a)
DifNumberoperator+= (const DifNumber &a)
DifNumber operator- () const
DifNumber operator- () const
DifNumberoperator-= (const double &a)
DifNumberoperator-= (const DifNumber &a)
DifNumberoperator-= (const double &a)
DifNumberoperator-= (const DifNumber &a)
DifNumberoperator/= (const double &a)
DifNumberoperator/= (const DifNumber &a)
DifNumberoperator/= (const double &a)
DifNumberoperator/= (const DifNumber &a)
DifNumberoperator= (const double &a)
DifNumberoperator= (const DifNumber &a)
DifNumberoperator= (const double &a)
DifNumberoperator= (const DifNumber &a)
DifNumberpower (const DifNumber &p)
DifNumberpower (double p)
DifNumberpower (const DifNumber &p)
DifNumberpower (double p)
void print () const
void print () const
void setDerivative (int i, double value)
void setDerivative (int i, double value)
void setDerivatives (const HepVector &d)
void setDerivatives (const HepVector &d)
void setIndepPar (const DifIndepPar *par)
void setIndepPar (const DifIndepPar *par)
void setNPar (int i)
void setNPar (int i)
void setNumber (double i)
void setNumber (double i)
double sign () const
double sign () const
DifNumbersquareRoot ()
DifNumbersquareRoot ()
void sumMatrix (HepMatrix &m) const
void sumMatrix (HepMatrix &m) const
void tickle () const
void tickle () const
void zeroDerivatives ()
void zeroDerivatives ()
virtual ~DifNumber ()
virtual ~DifNumber ()

Private Types

enum  { _nmax = 100 }
enum  { _nmax = 100 }

Private Member Functions

DifNumbercheck (const DifNumber &a)
DifNumbercheck (const DifNumber &a)
DifNumbercopyDerivs (const HepVector &v)
DifNumbercopyDerivs (const DifNumber &n)
DifNumbercopyDerivs (const HepVector &v)
DifNumbercopyDerivs (const DifNumber &n)
 DifNumber (double newval, const DifNumber &old, double factor=0.0)
 DifNumber (double newval, const DifNumber &old, double factor=0.0)
DifNumberscaleDerivs (const DifNumber &n, double factor)
DifNumberscaleDerivs (const DifNumber &n, double factor)
DifNumbersetLike (const DifNumber &a)
DifNumbersetLike (const DifNumber &a)

Private Attributes

double _derivatives [_nmax]
const DifIndepPar_indepPar
const DifIndepPar_indepPar
int _npar
double _number

Friends

DifNumber acos (const DifNumber &a)
DifNumber acos (const DifNumber &a)
DifNumber asin (const DifNumber &a)
DifNumber asin (const DifNumber &a)
DifNumber atan (const DifNumber &a)
DifNumber atan (const DifNumber &a)
DifNumber atan2 (const double &y, const DifNumber &x)
DifNumber atan2 (const DifNumber &y, const double &x)
DifNumber atan2 (const DifNumber &y, const DifNumber &x)
DifNumber atan2 (const double &y, const DifNumber &x)
DifNumber atan2 (const DifNumber &y, const double &x)
DifNumber atan2 (const DifNumber &y, const DifNumber &x)
double correlation (const DifNumber &a, const DifNumber &b)
double correlation (const DifNumber &a, const DifNumber &b, const HepSymMatrix &e)
double correlation (const DifNumber &a, const DifNumber &b)
double correlation (const DifNumber &a, const DifNumber &b, const HepSymMatrix &e)
DifNumber cos (const DifNumber &a)
DifNumber cos (const DifNumber &a)
DifNumber cosh (const DifNumber &a)
DifNumber cosh (const DifNumber &a)
DifNumber exp (const DifNumber &a)
DifNumber exp (const DifNumber &a)
DifNumber fabs (const DifNumber &a)
DifNumber fabs (const DifNumber &a)
DifNumber log (const DifNumber &a)
DifNumber log (const DifNumber &a)
DifNumber operator * (const double &a, const DifNumber &b)
DifNumber operator * (const DifNumber &a, const double &b)
DifNumber operator * (const DifNumber &a, const DifNumber &b)
DifNumber operator * (const double &a, const DifNumber &b)
DifNumber operator * (const DifNumber &a, const double &b)
DifNumber operator * (const DifNumber &a, const DifNumber &b)
bool operator!= (const double &a, const DifNumber &b)
bool operator!= (const DifNumber &a, const double &b)
bool operator!= (const DifNumber &a, const DifNumber &b)
bool operator!= (const double &a, const DifNumber &b)
bool operator!= (const DifNumber &a, const double &b)
bool operator!= (const DifNumber &a, const DifNumber &b)
DifNumber operator+ (const double &a, const DifNumber &b)
DifNumber operator+ (const DifNumber &a, const double &b)
DifNumber operator+ (const DifNumber &a, const DifNumber &b)
DifNumber operator+ (const double &a, const DifNumber &b)
DifNumber operator+ (const DifNumber &a, const double &b)
DifNumber operator+ (const DifNumber &a, const DifNumber &b)
DifNumber operator- (const double &a, const DifNumber &b)
DifNumber operator- (const DifNumber &a, const double &b)
DifNumber operator- (const DifNumber &a, const DifNumber &b)
DifNumber operator- (const double &a, const DifNumber &b)
DifNumber operator- (const DifNumber &a, const double &b)
DifNumber operator- (const DifNumber &a, const DifNumber &b)
DifNumber operator/ (const double &a, const DifNumber &b)
DifNumber operator/ (const DifNumber &a, const double &b)
DifNumber operator/ (const DifNumber &a, const DifNumber &b)
DifNumber operator/ (const double &a, const DifNumber &b)
DifNumber operator/ (const DifNumber &a, const double &b)
DifNumber operator/ (const DifNumber &a, const DifNumber &b)
bool operator< (const double &a, const DifNumber &b)
bool operator< (const DifNumber &a, const double &b)
bool operator< (const DifNumber &a, const DifNumber &b)
bool operator< (const double &a, const DifNumber &b)
bool operator< (const DifNumber &a, const double &b)
bool operator< (const DifNumber &a, const DifNumber &b)
bool operator<= (const double &a, const DifNumber &b)
bool operator<= (const DifNumber &a, const double &b)
bool operator<= (const DifNumber &a, const DifNumber &b)
bool operator<= (const double &a, const DifNumber &b)
bool operator<= (const DifNumber &a, const double &b)
bool operator<= (const DifNumber &a, const DifNumber &b)
bool operator== (const double &a, const DifNumber &b)
bool operator== (const DifNumber &a, const double &b)
bool operator== (const DifNumber &a, const DifNumber &b)
bool operator== (const double &a, const DifNumber &b)
bool operator== (const DifNumber &a, const double &b)
bool operator== (const DifNumber &a, const DifNumber &b)
bool operator> (const double &a, const DifNumber &b)
bool operator> (const DifNumber &a, const double &b)
bool operator> (const DifNumber &a, const DifNumber &b)
bool operator> (const double &a, const DifNumber &b)
bool operator> (const DifNumber &a, const double &b)
bool operator> (const DifNumber &a, const DifNumber &b)
bool operator>= (const double &a, const DifNumber &b)
bool operator>= (const DifNumber &a, const double &b)
bool operator>= (const DifNumber &a, const DifNumber &b)
bool operator>= (const double &a, const DifNumber &b)
bool operator>= (const DifNumber &a, const double &b)
bool operator>= (const DifNumber &a, const DifNumber &b)
DifNumber pow (const DifNumber &a, double i)
DifNumber pow (const DifNumber &a, float i)
DifNumber pow (const DifNumber &a, int i)
DifNumber pow (const DifNumber &a, const DifNumber &b)
DifNumber pow (const DifNumber &a, double i)
DifNumber pow (const DifNumber &a, float i)
DifNumber pow (const DifNumber &a, int i)
DifNumber pow (const DifNumber &a, const DifNumber &b)
DifNumber sec (const DifNumber &a)
DifNumber sec (const DifNumber &a)
DifNumber sin (const DifNumber &a)
DifNumber sin (const DifNumber &a)
DifNumber sinh (const DifNumber &a)
DifNumber sinh (const DifNumber &a)
DifNumber sqrt (const DifNumber &a)
DifNumber sqrt (const DifNumber &a)
DifNumber tan (const DifNumber &a)
DifNumber tan (const DifNumber &a)
DifNumber tanh (const DifNumber &a)
DifNumber tanh (const DifNumber &a)


Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
_nmax 
00045 {_nmax=100};

anonymous enum [private]
 

Enumeration values:
_nmax 
00045 {_nmax=100};


Constructor & Destructor Documentation

DifNumber::DifNumber  )  [inline]
 

DifNumber::DifNumber double  s,
int  npar = 0
[inline, explicit]
 

DifNumber::DifNumber double  s,
const HepVector &  d
[inline]
 

DifNumber::DifNumber double  s,
int  i,
double  di,
int  npar
[inline]
 

DifNumber::DifNumber double  s,
int  i,
int  npar
[inline]
 

DifNumber::DifNumber double  s,
const DifIndepPar indeppar
[inline]
 

DifNumber::DifNumber double  s,
int  i,
const DifIndepPar indepar
[inline]
 

DifNumber::DifNumber double  newval,
const DifNumber old,
double  factor = 0.0
[inline, private]
 

DifNumber::DifNumber const DifNumber s  )  [inline]
 

virtual DifNumber::~DifNumber  )  [inline, virtual]
 

00075 {}

DifNumber::DifNumber  )  [inline]
 

DifNumber::DifNumber double  s,
int  npar = 0
[inline, explicit]
 

DifNumber::DifNumber double  s,
const HepVector &  d
[inline]
 

DifNumber::DifNumber double  s,
int  i,
double  di,
int  npar
[inline]
 

DifNumber::DifNumber double  s,
int  i,
int  npar
[inline]
 

DifNumber::DifNumber double  s,
const DifIndepPar indeppar
[inline]
 

DifNumber::DifNumber double  s,
int  i,
const DifIndepPar indepar
[inline]
 

DifNumber::DifNumber double  newval,
const DifNumber old,
double  factor = 0.0
[inline, private]
 

DifNumber::DifNumber const DifNumber s  )  [inline]
 

virtual DifNumber::~DifNumber  )  [inline, virtual]
 

00075 {}


Member Function Documentation

DifNumber& DifNumber::absolute  )  [inline]
 

00122 { if (_number<0) flipsign(); return *this; }

DifNumber& DifNumber::absolute  )  [inline]
 

00122 { if (_number<0) flipsign(); return *this; }

DifNumber& DifNumber::arcTangent const DifNumber x  )  [inline]
 

DifNumber& DifNumber::arcTangent const DifNumber x  )  [inline]
 

DifNumber& DifNumber::check const DifNumber a  )  [inline, private]
 

DifNumber& DifNumber::check const DifNumber a  )  [inline, private]
 

DifNumber& DifNumber::copyDerivs const HepVector &  v  )  [inline, private]
 

DifNumber& DifNumber::copyDerivs const DifNumber n  )  [inline, private]
 

DifNumber& DifNumber::copyDerivs const HepVector &  v  )  [inline, private]
 

DifNumber& DifNumber::copyDerivs const DifNumber n  )  [inline, private]
 

double DifNumber::correlation const DifNumber b  )  const
 

double DifNumber::correlation const DifNumber b,
const HepSymMatrix &  e
const
 

double DifNumber::correlation const DifNumber b  )  const
 

00066                                               {
00067   if(indepPar()==0) return 0.0;
00068   if(b.indepPar()!=indepPar()) return 0.0;
00069   return correlation(b,indepPar()->covariance());
00070 }

double DifNumber::correlation const DifNumber b,
const HepSymMatrix &  e
const
 

00053                                                                      {
00054   assert(e.num_col()==nPar());
00055   assert(e.num_row()==b.nPar());
00056   double error = 0.;
00057   for(int i=1; i<=nPar(); i++) {
00058     for(int j=1; j<=b.nPar(); j++) {
00059       error+=derivative(i)*e(i,j)*b.derivative(j);
00060     }
00061   }
00062   return error;
00063 }

void DifNumber::cosAndSin DifNumber c,
DifNumber s
const [inline]
 

void DifNumber::cosAndSin DifNumber c,
DifNumber s
const [inline]
 

double DifNumber::derivative int  i  )  const [inline]
 

00090 {return _derivatives[i-1];}

double DifNumber::derivative int  i  )  const [inline]
 

00090 {return _derivatives[i-1];}

HepVector DifNumber::derivatives  )  const
 

HepVector DifNumber::derivatives  )  const
 

00046                                      {
00047     HepVector temp(nPar());
00048     fetchDerivatives(temp);
00049     return temp;
00050 }

double DifNumber::error  )  const
 

double DifNumber::error const HepSymMatrix &  e  )  const
 

double DifNumber::error  )  const
 

00036                             {
00037   if(indepPar()==0) {return 0.0;}
00038   return error(indepPar()->covariance());
00039 }

double DifNumber::error const HepSymMatrix &  e  )  const
 

00032                                                   {
00033   return sqrt(correlation(*this,e));
00034 }

void DifNumber::extendPar int  nnew  )  [inline]
 

void DifNumber::extendPar int  nnew  )  [inline]
 

void DifNumber::fetchDerivatives HepVector &  v  )  const
 

void DifNumber::fetchDerivatives HepVector &  v  )  const
 

00041                                                   {
00042   assert(v.num_row()==nPar());
00043   for(int i=1; i<=nPar(); i++) {v(i)=derivative(i);}
00044 }

void DifNumber::fetchNumber double &  n  )  const [inline]
 

00138 {n=number();}

void DifNumber::fetchNumber double &  n  )  const [inline]
 

00138 {n=number();}

DifNumber& DifNumber::flipsign  )  [inline]
 

DifNumber& DifNumber::flipsign  )  [inline]
 

double& DifNumber::gimeNumber  )  [inline]
 

00088 {return _number;}

double& DifNumber::gimeNumber  )  [inline]
 

00088 {return _number;}

const DifIndepPar* DifNumber::indepPar  )  const [inline]
 

00093 {return _indepPar;}

const DifIndepPar* DifNumber::indepPar  )  const [inline]
 

00093 {return _indepPar;}

DifNumber& DifNumber::inverse  )  [inline]
 

DifNumber& DifNumber::inverse  )  [inline]
 

DifNumber& DifNumber::mod double  lo,
double  hi
[inline]
 

DifNumber& DifNumber::mod double  lo,
double  hi
[inline]
 

int DifNumber::nMax  )  [inline]
 

00091 {return _nmax;}

int DifNumber::nMax  )  [inline]
 

00091 {return _nmax;}

int DifNumber::nPar  )  const [inline]
 

00092 {return _npar;}

int DifNumber::nPar  )  const [inline]
 

00092 {return _npar;}

double DifNumber::number void   )  const [inline]
 

00087 {return _number;}

double DifNumber::number void   )  const [inline]
 

00087 {return _number;}

DifNumber& DifNumber::operator *= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator *= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator *= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator *= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator+= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator+= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator+= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator+= const DifNumber a  )  [inline]
 

DifNumber DifNumber::operator-  )  const [inline]
 

00110   { return DifNumber(*this).flipsign(); } // unary minus

DifNumber DifNumber::operator-  )  const [inline]
 

00110   { return DifNumber(*this).flipsign(); } // unary minus

DifNumber& DifNumber::operator-= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator-= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator-= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator-= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator/= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator/= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator/= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator/= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::operator= const double &  a  )  [inline]
 

DifNumber& DifNumber::operator= const DifNumber a  )  [inline]
 

DifNumber& DifNumber::power const DifNumber p  )  [inline]
 

DifNumber& DifNumber::power double  p  )  [inline]
 

DifNumber& DifNumber::power const DifNumber p  )  [inline]
 

DifNumber& DifNumber::power double  p  )  [inline]
 

void DifNumber::print  )  const
 

void DifNumber::print  )  const
 

00081                                          {
00082   cout << "number:" << number() << endl;
00083   cout << "npar:" << nPar() << endl;
00084   for(int i=1; i<=nPar(); i++) {
00085     cout << "derivative(" << i << "):" << derivative(i) << endl;
00086   }
00087 }

DifNumber& DifNumber::scaleDerivs const DifNumber n,
double  factor
[inline, private]
 

DifNumber& DifNumber::scaleDerivs const DifNumber n,
double  factor
[inline, private]
 

void DifNumber::setDerivative int  i,
double  value
[inline]
 

00081 { _derivatives[i-1]=value;}

void DifNumber::setDerivative int  i,
double  value
[inline]
 

00081 { _derivatives[i-1]=value;}

void DifNumber::setDerivatives const HepVector &  d  )  [inline]
 

00080 { copyDerivs(d); }

void DifNumber::setDerivatives const HepVector &  d  )  [inline]
 

00080 { copyDerivs(d); }

void DifNumber::setIndepPar const DifIndepPar par  )  [inline]
 

00083 { _indepPar=par;}

void DifNumber::setIndepPar const DifIndepPar par  )  [inline]
 

00083 { _indepPar=par;}

DifNumber& DifNumber::setLike const DifNumber a  )  [inline, private]
 

DifNumber& DifNumber::setLike const DifNumber a  )  [inline, private]
 

void DifNumber::setNPar int  i  )  [inline]
 

00079 { _npar=i;}

void DifNumber::setNPar int  i  )  [inline]
 

00079 { _npar=i;}

void DifNumber::setNumber double  i  )  [inline]
 

00078 { _number=i;}

void DifNumber::setNumber double  i  )  [inline]
 

00078 { _number=i;}

double DifNumber::sign  )  const [inline]
 

00130 { return _number>=0 ? 1 : -1; }

double DifNumber::sign  )  const [inline]
 

00130 { return _number>=0 ? 1 : -1; }

DifNumber& DifNumber::squareRoot  )  [inline]
 

DifNumber& DifNumber::squareRoot  )  [inline]
 

void DifNumber::sumMatrix HepMatrix &  m  )  const
 

void DifNumber::sumMatrix HepMatrix &  m  )  const
 

void DifNumber::tickle  )  const [inline]
 

00096 {return;} // tickle a number

void DifNumber::tickle  )  const [inline]
 

00096 {return;} // tickle a number

void DifNumber::zeroDerivatives  )  [inline]
 

00082 { for(int i=1; i<=nPar(); i++) setDerivative(i,0.0); }

void DifNumber::zeroDerivatives  )  [inline]
 

00082 { for(int i=1; i<=nPar(); i++) setDerivative(i,0.0); }


Friends And Related Function Documentation

DifNumber acos const DifNumber a  )  [friend]
 

DifNumber acos const DifNumber a  )  [friend]
 

DifNumber asin const DifNumber a  )  [friend]
 

DifNumber asin const DifNumber a  )  [friend]
 

DifNumber atan const DifNumber a  )  [friend]
 

DifNumber atan const DifNumber a  )  [friend]
 

DifNumber atan2 const double &  y,
const DifNumber x
[friend]
 

00197 { return DifNumber(y).arcTangent(x); }

DifNumber atan2 const DifNumber y,
const double &  x
[friend]
 

00196 { return DifNumber(y).arcTangent(DifNumber(x)); }

DifNumber atan2 const DifNumber y,
const DifNumber x
[friend]
 

00195 { return DifNumber(y).arcTangent(x); }

DifNumber atan2 const double &  y,
const DifNumber x
[friend]
 

00197 { return DifNumber(y).arcTangent(x); }

DifNumber atan2 const DifNumber y,
const double &  x
[friend]
 

00196 { return DifNumber(y).arcTangent(DifNumber(x)); }

DifNumber atan2 const DifNumber y,
const DifNumber x
[friend]
 

00195 { return DifNumber(y).arcTangent(x); }

double correlation const DifNumber a,
const DifNumber b
[friend]
 

00073 { 
00074   return (a.indepPar()==0||b.indepPar()==0||a.indepPar()!=b.indepPar())?0:a.correlation(b,a.indepPar()->covariance()); 
00075 }

double correlation const DifNumber a,
const DifNumber b,
const HepSymMatrix &  e
[friend]
 

00079 { return a.correlation(b,e); }

double correlation const DifNumber a,
const DifNumber b
[friend]
 

00073 { 
00074   return (a.indepPar()==0||b.indepPar()==0||a.indepPar()!=b.indepPar())?0:a.correlation(b,a.indepPar()->covariance()); 
00075 }

double correlation const DifNumber a,
const DifNumber b,
const HepSymMatrix &  e
[friend]
 

00079 { return a.correlation(b,e); }

DifNumber cos const DifNumber a  )  [friend]
 

00186   { return DifNumber(cos(a.number()),a,-sin(a.number())); }

DifNumber cos const DifNumber a  )  [friend]
 

00186   { return DifNumber(cos(a.number()),a,-sin(a.number())); }

DifNumber cosh const DifNumber a  )  [friend]
 

00202   { return 0.5*(DifNumber(exp(a))+=exp(-a)); }

DifNumber cosh const DifNumber a  )  [friend]
 

00202   { return 0.5*(DifNumber(exp(a))+=exp(-a)); }

DifNumber exp const DifNumber a  )  [friend]
 

00200   { double e=exp(a.number()); return DifNumber(e,a,e); }

DifNumber exp const DifNumber a  )  [friend]
 

00200   { double e=exp(a.number()); return DifNumber(e,a,e); }

DifNumber fabs const DifNumber a  )  [friend]
 

00214   { return DifNumber(fabs(a.number()),a,a.sign()); }

DifNumber fabs const DifNumber a  )  [friend]
 

00214   { return DifNumber(fabs(a.number()),a,a.sign()); }

DifNumber log const DifNumber a  )  [friend]
 

00212   { return DifNumber(log(a.number()),a,1.0/a.number()); }

DifNumber log const DifNumber a  )  [friend]
 

00212   { return DifNumber(log(a.number()),a,1.0/a.number()); }

DifNumber operator * const double &  a,
const DifNumber b
[friend]
 

00154 { return DifNumber(a)*=b; }

DifNumber operator * const DifNumber a,
const double &  b
[friend]
 

00149 { return DifNumber(a)*=b; }

DifNumber operator * const DifNumber a,
const DifNumber b
[friend]
 

00144 { return DifNumber(a)*=b; }

DifNumber operator * const double &  a,
const DifNumber b
[friend]
 

00154 { return DifNumber(a)*=b; }

DifNumber operator * const DifNumber a,
const double &  b
[friend]
 

00149 { return DifNumber(a)*=b; }

DifNumber operator * const DifNumber a,
const DifNumber b
[friend]
 

00144 { return DifNumber(a)*=b; }

bool operator!= const double &  a,
const DifNumber b
[friend]
 

00181 { return true; }

bool operator!= const DifNumber a,
const double &  b
[friend]
 

00180 { return true; }

bool operator!= const DifNumber a,
const DifNumber b
[friend]
 

00179 { return !(a==b); }

bool operator!= const double &  a,
const DifNumber b
[friend]
 

00181 { return true; }

bool operator!= const DifNumber a,
const double &  b
[friend]
 

00180 { return true; }

bool operator!= const DifNumber a,
const DifNumber b
[friend]
 

00179 { return !(a==b); }

DifNumber operator+ const double &  a,
const DifNumber b
[friend]
 

00152 { return DifNumber(a)+=b; }

DifNumber operator+ const DifNumber a,
const double &  b
[friend]
 

00147 { return DifNumber(a)+=b; }

DifNumber operator+ const DifNumber a,
const DifNumber b
[friend]
 

00142 { return DifNumber(a)+=b; }

DifNumber operator+ const double &  a,
const DifNumber b
[friend]
 

00152 { return DifNumber(a)+=b; }

DifNumber operator+ const DifNumber a,
const double &  b
[friend]
 

00147 { return DifNumber(a)+=b; }

DifNumber operator+ const DifNumber a,
const DifNumber b
[friend]
 

00142 { return DifNumber(a)+=b; }

DifNumber operator- const double &  a,
const DifNumber b
[friend]
 

00153 { return DifNumber(a)-=b; }

DifNumber operator- const DifNumber a,
const double &  b
[friend]
 

00148 { return DifNumber(a)-=b; }

DifNumber operator- const DifNumber a,
const DifNumber b
[friend]
 

00143 { return DifNumber(a)-=b; }

DifNumber operator- const double &  a,
const DifNumber b
[friend]
 

00153 { return DifNumber(a)-=b; }

DifNumber operator- const DifNumber a,
const double &  b
[friend]
 

00148 { return DifNumber(a)-=b; }

DifNumber operator- const DifNumber a,
const DifNumber b
[friend]
 

00143 { return DifNumber(a)-=b; }

DifNumber operator/ const double &  a,
const DifNumber b
[friend]
 

00155 { return DifNumber(a)/=b; }

DifNumber operator/ const DifNumber a,
const double &  b
[friend]
 

00150 { return DifNumber(a)/=b; }

DifNumber operator/ const DifNumber a,
const DifNumber b
[friend]
 

00145 { return DifNumber(a)/=b; }

DifNumber operator/ const double &  a,
const DifNumber b
[friend]
 

00155 { return DifNumber(a)/=b; }

DifNumber operator/ const DifNumber a,
const double &  b
[friend]
 

00150 { return DifNumber(a)/=b; }

DifNumber operator/ const DifNumber a,
const DifNumber b
[friend]
 

00145 { return DifNumber(a)/=b; }

bool operator< const double &  a,
const DifNumber b
[friend]
 

00164 { return b>a; }

bool operator< const DifNumber a,
const double &  b
[friend]
 

00163 { return b>a; }

bool operator< const DifNumber a,
const DifNumber b
[friend]
 

00162 { return b>a; }

bool operator< const double &  a,
const DifNumber b
[friend]
 

00164 { return b>a; }

bool operator< const DifNumber a,
const double &  b
[friend]
 

00163 { return b>a; }

bool operator< const DifNumber a,
const DifNumber b
[friend]
 

00162 { return b>a; }

bool operator<= const double &  a,
const DifNumber b
[friend]
 

00173 { return b>=a; }

bool operator<= const DifNumber a,
const double &  b
[friend]
 

00172 { return b>=a; }

bool operator<= const DifNumber a,
const DifNumber b
[friend]
 

00171 { return b>=a; }

bool operator<= const double &  a,
const DifNumber b
[friend]
 

00173 { return b>=a; }

bool operator<= const DifNumber a,
const double &  b
[friend]
 

00172 { return b>=a; }

bool operator<= const DifNumber a,
const DifNumber b
[friend]
 

00171 { return b>=a; }

bool operator== const double &  a,
const DifNumber b
[friend]
 

00177 {return false;}

bool operator== const DifNumber a,
const double &  b
[friend]
 

00176 {return false;}

bool operator== const DifNumber a,
const DifNumber b
[friend]
 

bool operator== const double &  a,
const DifNumber b
[friend]
 

00177 {return false;}

bool operator== const DifNumber a,
const double &  b
[friend]
 

00176 {return false;}

bool operator== const DifNumber a,
const DifNumber b
[friend]
 

bool operator> const double &  a,
const DifNumber b
[friend]
 

00160 { return a>b.number(); }

bool operator> const DifNumber a,
const double &  b
[friend]
 

00159 { return a.number()>b; }

bool operator> const DifNumber a,
const DifNumber b
[friend]
 

00158 { return a.number()>b.number(); }

bool operator> const double &  a,
const DifNumber b
[friend]
 

00160 { return a>b.number(); }

bool operator> const DifNumber a,
const double &  b
[friend]
 

00159 { return a.number()>b; }

bool operator> const DifNumber a,
const DifNumber b
[friend]
 

00158 { return a.number()>b.number(); }

bool operator>= const double &  a,
const DifNumber b
[friend]
 

00169 { return a>=b.number(); }

bool operator>= const DifNumber a,
const double &  b
[friend]
 

00168 { return a.number()>=b; }

bool operator>= const DifNumber a,
const DifNumber b
[friend]
 

00167 { return a.number()>=b.number(); }

bool operator>= const double &  a,
const DifNumber b
[friend]
 

00169 { return a>=b.number(); }

bool operator>= const DifNumber a,
const double &  b
[friend]
 

00168 { return a.number()>=b; }

bool operator>= const DifNumber a,
const DifNumber b
[friend]
 

00167 { return a.number()>=b.number(); }

DifNumber pow const DifNumber a,
double  i
[friend]
 

00218                                                                           {
00219                           return i==0?DifNumber(1.0,a,0.0)
00220                                    :DifNumber(pow(a.number(),i),a,i*pow(a.number(),i-1)); }

DifNumber pow const DifNumber a,
float  i
[friend]
 

00217 { return pow(a,(double)i);}

DifNumber pow const DifNumber a,
int  i
[friend]
 

00216 { return pow(a,(double)i);}

DifNumber pow const DifNumber a,
const DifNumber b
[friend]
 

00215 { return DifNumber(a).power(b); }

DifNumber pow const DifNumber a,
double  i
[friend]
 

00218                                                                           {
00219                           return i==0?DifNumber(1.0,a,0.0)
00220                                    :DifNumber(pow(a.number(),i),a,i*pow(a.number(),i-1)); }

DifNumber pow const DifNumber a,
float  i
[friend]
 

00217 { return pow(a,(double)i);}

DifNumber pow const DifNumber a,
int  i
[friend]
 

00216 { return pow(a,(double)i);}

DifNumber pow const DifNumber a,
const DifNumber b
[friend]
 

00215 { return DifNumber(a).power(b); }

DifNumber sec const DifNumber a  )  [friend]
 

00190   { return DifNumber(cos(a)).inverse(); }

DifNumber sec const DifNumber a  )  [friend]
 

00190   { return DifNumber(cos(a)).inverse(); }

DifNumber sin const DifNumber a  )  [friend]
 

00184   { return DifNumber(sin(a.number()),a,cos(a.number())); }

DifNumber sin const DifNumber a  )  [friend]
 

00184   { return DifNumber(sin(a.number()),a,cos(a.number())); }

DifNumber sinh const DifNumber a  )  [friend]
 

00204   { return 0.5*(DifNumber(exp(a))-=exp(-a)); } 

DifNumber sinh const DifNumber a  )  [friend]
 

00204   { return 0.5*(DifNumber(exp(a))-=exp(-a)); } 

DifNumber sqrt const DifNumber a  )  [friend]
 

00210   { return DifNumber(a).squareRoot(); }

DifNumber sqrt const DifNumber a  )  [friend]
 

00210   { return DifNumber(a).squareRoot(); }

DifNumber tan const DifNumber a  )  [friend]
 

00188   { double t=tan(a.number()); return DifNumber(t,a,1.0+t*t); }

DifNumber tan const DifNumber a  )  [friend]
 

00188   { double t=tan(a.number()); return DifNumber(t,a,1.0+t*t); }

DifNumber tanh const DifNumber a  )  [friend]
 

00206   { double t=tanh(a.number()); return DifNumber(t,a,1.0-t*t); }

DifNumber tanh const DifNumber a  )  [friend]
 

00206   { double t=tanh(a.number()); return DifNumber(t,a,1.0-t*t); }


Member Data Documentation

double DifNumber::_derivatives [private]
 

const DifIndepPar* DifNumber::_indepPar [private]
 

const DifIndepPar* DifNumber::_indepPar [private]
 

int DifNumber::_npar [private]
 

double DifNumber::_number [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:57:46 2011 for BOSS6.5.5 by  doxygen 1.3.9.1