ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
EDFobject Class Referenceabstract

C++ base class for an externally differentiated function. More...

#include <edfclasses.h>

Collaboration diagram for EDFobject:
Collaboration graph
[legend]

Public Member Functions

 EDFobject ()=delete
 
 EDFobject (short outerTapeId, short extTapeId)
 
virtual ~EDFobject ()=default
 
virtual int function (short tapeId, int m, int n, double *x, double *y)=0
 
virtual int zos_forward (short tapeId, int m, int n, int keep, double *x, double *y)=0
 
virtual int fos_forward (short tapeId, int m, int n, int keep, double *x, double *X, double *y, double *Y)=0
 
virtual int fov_forward (short tapeId, int m, int n, int p, double *x, double **X, double *y, double **Y)=0
 
virtual int hos_forward (short tapeId, int m, int n, int d, int keep, double *x, double **X, double *y, double **Y)=0
 
virtual int hov_forward (short tapeId, int m, int n, int d, int p, double *x, double ***X, double *y, double ***Y)=0
 
virtual int fos_reverse (short tapeId, int m, int n, double *u, double *z, double *x, double *y)=0
 
virtual int fov_reverse (short tapeId, int m, int n, int q, double **Uq, double **Zq, double *x, double *y)=0
 
virtual int hos_reverse (short tapeId, int m, int n, int d, double *u, double **Zd, double **Xd, double **Yd)=0
 
virtual int hov_reverse (short tapeId, int m, int n, int d, int q, double **Uq, double ***Zqd, short **nz, double **Xd, double **Yd)=0
 
int call (size_t dim_x, adouble *xa, size_t dim_y, adouble *ya)
 
int call (size_t dim_x, advector &x, size_t dim_y, advector &y)
 

Protected Member Functions

void init_edf (EDFobject *ebase, short outerTapeId, short extTapeId)
 

Protected Attributes

ext_diff_fct * edf
 

Detailed Description

C++ base class for an externally differentiated function.

Derive from this class and implement the primal and derivative callbacks used by the ADOL-C sweep drivers. call() records an invocation on the outer tape while delegating its numerical evaluation to the callbacks.

Constructor & Destructor Documentation

◆ EDFobject() [1/2]

EDFobject::EDFobject ( )
delete

◆ EDFobject() [2/2]

EDFobject::EDFobject ( short  outerTapeId,
short  extTapeId 
)
inlineexplicit

◆ ~EDFobject()

virtual EDFobject::~EDFobject ( )
virtualdefault

Member Function Documentation

◆ call() [1/2]

int EDFobject::call ( size_t  dim_x,
adouble *  xa,
size_t  dim_y,
adouble *  ya 
)
inline

◆ call() [2/2]

int EDFobject::call ( size_t  dim_x,
advector &  x,
size_t  dim_y,
advector &  y 
)
inline

◆ fos_forward()

virtual int EDFobject::fos_forward ( short  tapeId,
int  m,
int  n,
int  keep,
double *  x,
double *  X,
double *  y,
double *  Y 
)
pure virtual

◆ fos_reverse()

virtual int EDFobject::fos_reverse ( short  tapeId,
int  m,
int  n,
double *  u,
double *  z,
double *  x,
double *  y 
)
pure virtual

◆ fov_forward()

virtual int EDFobject::fov_forward ( short  tapeId,
int  m,
int  n,
int  p,
double *  x,
double **  X,
double *  y,
double **  Y 
)
pure virtual

◆ fov_reverse()

virtual int EDFobject::fov_reverse ( short  tapeId,
int  m,
int  n,
int  q,
double **  Uq,
double **  Zq,
double *  x,
double *  y 
)
pure virtual

◆ function()

virtual int EDFobject::function ( short  tapeId,
int  m,
int  n,
double *  x,
double *  y 
)
pure virtual

◆ hos_forward()

virtual int EDFobject::hos_forward ( short  tapeId,
int  m,
int  n,
int  d,
int  keep,
double *  x,
double **  X,
double *  y,
double **  Y 
)
pure virtual

◆ hos_reverse()

virtual int EDFobject::hos_reverse ( short  tapeId,
int  m,
int  n,
int  d,
double *  u,
double **  Zd,
double **  Xd,
double **  Yd 
)
pure virtual

◆ hov_forward()

virtual int EDFobject::hov_forward ( short  tapeId,
int  m,
int  n,
int  d,
int  p,
double *  x,
double ***  X,
double *  y,
double ***  Y 
)
pure virtual

◆ hov_reverse()

virtual int EDFobject::hov_reverse ( short  tapeId,
int  m,
int  n,
int  d,
int  q,
double **  Uq,
double ***  Zqd,
short **  nz,
double **  Xd,
double **  Yd 
)
pure virtual

◆ init_edf()

void EDFobject::init_edf ( EDFobject *  ebase,
short  outerTapeId,
short  extTapeId 
)
protected

◆ zos_forward()

virtual int EDFobject::zos_forward ( short  tapeId,
int  m,
int  n,
int  keep,
double *  x,
double *  y 
)
pure virtual

Member Data Documentation

◆ edf

ext_diff_fct* EDFobject::edf
protected

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