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_v2 Class Referenceabstract

Block-structured external differentiated function interface. More...

#include <edfclasses.h>

Collaboration diagram for EDFobject_v2:
Collaboration graph
[legend]

Public Member Functions

 EDFobject_v2 ()=delete
 
 EDFobject_v2 (short outerTapeId, short extTapeId)
 
virtual ~EDFobject_v2 ()=default
 
virtual int function (short tapeId, size_t iArrLen, size_t *iArr, size_t dim_in, size_t dim_out, size_t *insz, double **x, size_t *outsz, double **y, void *ctx)=0
 
virtual int zos_forward (short tapeId, size_t iArrLen, size_t *iArr, size_t dim_in, size_t dim_out, size_t *insz, double **x, size_t *outsz, double **y, void *ctx)=0
 
virtual int fos_forward (short tapeId, size_t iArrLen, size_t *iArr, size_t dim_in, size_t dim_out, size_t *insz, double **x, double **xp, size_t *outsz, double **y, double **yp, void *ctx)=0
 
virtual int fov_forward (short tapeId, size_t iArrLen, size_t *iArr, size_t dim_in, size_t dim_out, size_t *insz, double **x, size_t num_dirs, double ***Xp, size_t *outsz, double **y, double ***Yp, void *ctx)=0
 
virtual int fos_reverse (short tapeId, size_t iArrLen, size_t *iArr, size_t dim_out, size_t dim_in, size_t *outsz, double **up, size_t *insz, double **zp, double **x, double **y, void *ctx)=0
 
virtual int fov_reverse (short tapeId, size_t iArrLen, size_t *iArr, size_t dim_out, size_t dim_in, size_t *outsz, size_t num_weights, double ***Up, size_t *insz, double ***Zp, double **x, double **y, void *ctx)=0
 
int call (size_t iArrLen, size_t *iArr, size_t dim_in, size_t dim_out, size_t *insz, adouble **x, size_t *outsz, adouble **y)
 

Protected Member Functions

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

Protected Attributes

ext_diff_fct_v2 * edf
 

Detailed Description

Block-structured external differentiated function interface.

Version 2 supports multiple input and output blocks with individual sizes and an opaque user context shared by the callback implementations.

Constructor & Destructor Documentation

◆ EDFobject_v2() [1/2]

EDFobject_v2::EDFobject_v2 ( )
delete

◆ EDFobject_v2() [2/2]

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

◆ ~EDFobject_v2()

virtual EDFobject_v2::~EDFobject_v2 ( )
virtualdefault

Member Function Documentation

◆ call()

int EDFobject_v2::call ( size_t  iArrLen,
size_t *  iArr,
size_t  dim_in,
size_t  dim_out,
size_t *  insz,
adouble **  x,
size_t *  outsz,
adouble **  y 
)
inline

◆ fos_forward()

virtual int EDFobject_v2::fos_forward ( short  tapeId,
size_t  iArrLen,
size_t *  iArr,
size_t  dim_in,
size_t  dim_out,
size_t *  insz,
double **  x,
double **  xp,
size_t *  outsz,
double **  y,
double **  yp,
void *  ctx 
)
pure virtual

◆ fos_reverse()

virtual int EDFobject_v2::fos_reverse ( short  tapeId,
size_t  iArrLen,
size_t *  iArr,
size_t  dim_out,
size_t  dim_in,
size_t *  outsz,
double **  up,
size_t *  insz,
double **  zp,
double **  x,
double **  y,
void *  ctx 
)
pure virtual

◆ fov_forward()

virtual int EDFobject_v2::fov_forward ( short  tapeId,
size_t  iArrLen,
size_t *  iArr,
size_t  dim_in,
size_t  dim_out,
size_t *  insz,
double **  x,
size_t  num_dirs,
double ***  Xp,
size_t *  outsz,
double **  y,
double ***  Yp,
void *  ctx 
)
pure virtual

◆ fov_reverse()

virtual int EDFobject_v2::fov_reverse ( short  tapeId,
size_t  iArrLen,
size_t *  iArr,
size_t  dim_out,
size_t  dim_in,
size_t *  outsz,
size_t  num_weights,
double ***  Up,
size_t *  insz,
double ***  Zp,
double **  x,
double **  y,
void *  ctx 
)
pure virtual

◆ function()

virtual int EDFobject_v2::function ( short  tapeId,
size_t  iArrLen,
size_t *  iArr,
size_t  dim_in,
size_t  dim_out,
size_t *  insz,
double **  x,
size_t *  outsz,
double **  y,
void *  ctx 
)
pure virtual

◆ init_edf()

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

◆ zos_forward()

virtual int EDFobject_v2::zos_forward ( short  tapeId,
size_t  iArrLen,
size_t *  iArr,
size_t  dim_in,
size_t  dim_out,
size_t *  insz,
double **  x,
size_t *  outsz,
double **  y,
void *  ctx 
)
pure virtual

Member Data Documentation

◆ edf

ext_diff_fct_v2* EDFobject_v2::edf
protected

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