ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
externfcts.h File Reference
#include <adolc/adolcexport.h>
#include <adolc/internal/common.h>
#include <functional>
Include dependency graph for externfcts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ext_diff_fct
 Callback descriptor for an externally differentiated function. More...
 

Typedefs

using ADOLC_ext_fct = std::function< int(short tapeId, int m, int n, double *x, double *y)>
 
using ADOLC_ext_fct_zos_forward = std::function< int(short tapeId, int m, int n, int keep, double *x, double *y)>
 
using ADOLC_ext_fct_fos_forward = std::function< int(short tapeId, int m, int n, int keep, double *x, double *X, double *y, double *Y)>
 
using ADOLC_ext_fct_fov_forward = std::function< int(short tapeId, int m, int n, int p, double *x, double **Xp, double *y, double **Yp)>
 
using ADOLC_ext_fct_hos_forward = std::function< int(short tapeId, int m, int n, int d, int keep, double *x, double **Xd, double *y, double **Yd)>
 
using ADOLC_ext_fct_hov_forward = std::function< int(short tapeId, int m, int n, int d, int p, double *x, double ***Xpd, double *y, double ***Ypd)>
 
using ADOLC_ext_fct_fos_reverse = std::function< int(short tapeId, int m, int n, double *u, double *z, double *x, double *y)>
 
using ADOLC_ext_fct_fov_reverse = std::function< int(short tapeId, int m, int n, int q, double **Uq, double **Zq, double *x, double *y)>
 
using ADOLC_ext_fct_hos_reverse = std::function< int(short tapeId, int m, int n, int d, double *u, double **Zd, double **Xd, double **Yd)>
 
using ADOLC_ext_fct_hos_ti_reverse = std::function< int(short tapeId, int m, int n, int d, double **Ud, double **Zd, double **Xd, double **Yd)>
 
using ADOLC_ext_fct_hov_reverse = std::function< int(short tapeId, int m, int n, int d, int q, double **Uq, double ***Zqd, short **nz, double **Xd, double **Yd)>
 
using ADOLC_ext_fct_iArr = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, double *x, double *y)>
 
using ADOLC_ext_fct_iArr_zos_forward = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int keep, double *x, double *y)>
 
using ADOLC_ext_fct_iArr_fos_forward = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int keep, double *x, double *X, double *y, double *Y)>
 
using ADOLC_ext_fct_iArr_fov_forward = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int p, double *x, double **Xp, double *y, double **Yp)>
 
using ADOLC_ext_fct_iArr_hos_forward = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, int keep, double *x, double **Xd, double *y, double **Yd)>
 
using ADOLC_ext_fct_iArr_hov_forward = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, int p, double *x, double ***Xpd, double *y, double ***Ypd)>
 
using ADOLC_ext_fct_iArr_fos_reverse = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, double *u, double *z, double *x, double *y)>
 
using ADOLC_ext_fct_iArr_fov_reverse = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int q, double **Uq, double **Zq, double *x, double *y)>
 
using ADOLC_ext_fct_iArr_hos_reverse = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, double *u, double **Zd, double **Xd, double **Yd)>
 
using ADOLC_ext_fct_iArr_hov_reverse = std::function< int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, int q, double **Uq, double ***Zqd, short **nz, double **Xd, double **Yd)>
 

Functions

ADOLC_API ext_diff_fct * reg_ext_fct (short tapeId, short extTapeId, ADOLC_ext_fct ext_fct)
 
ADOLC_API ext_diff_fct * reg_ext_fct (short tapeId, short extTapeId, ADOLC_ext_fct_iArr ext_fct)
 
ADOLC_API ext_diff_fct * get_ext_diff_fct (short tapeId, size_t index)
 
ADOLC_API int call_ext_fct (ext_diff_fct *edfct, int n, adouble *xa, int m, adouble *ya)
 
ADOLC_API int call_ext_fct (ext_diff_fct *edfct, size_t iArrLength, size_t *iArr, int n, adouble *xa, int m, adouble *ya)
 

Typedef Documentation

◆ ADOLC_ext_fct

using ADOLC_ext_fct = std::function<int(short tapeId, int m, int n, double *x, double *y)>

◆ ADOLC_ext_fct_fos_forward

using ADOLC_ext_fct_fos_forward = std::function<int(short tapeId, int m, int n, int keep, double *x, double *X, double *y, double *Y)>

◆ ADOLC_ext_fct_fos_reverse

using ADOLC_ext_fct_fos_reverse = std::function<int( short tapeId, int m, int n, double *u, double *z, double *x, double *y)>

◆ ADOLC_ext_fct_fov_forward

using ADOLC_ext_fct_fov_forward = std::function<int(short tapeId, int m, int n, int p, double *x, double **Xp, double *y, double **Yp)>

◆ ADOLC_ext_fct_fov_reverse

using ADOLC_ext_fct_fov_reverse = std::function<int(short tapeId, int m, int n, int q, double **Uq, double **Zq, double *x, double *y)>

◆ ADOLC_ext_fct_hos_forward

using ADOLC_ext_fct_hos_forward = std::function<int(short tapeId, int m, int n, int d, int keep, double *x, double **Xd, double *y, double **Yd)>

◆ ADOLC_ext_fct_hos_reverse

using ADOLC_ext_fct_hos_reverse = std::function<int(short tapeId, int m, int n, int d, double *u, double **Zd, double **Xd, double **Yd)>

◆ ADOLC_ext_fct_hos_ti_reverse

using ADOLC_ext_fct_hos_ti_reverse = std::function<int(short tapeId, int m, int n, int d, double **Ud, double **Zd, double **Xd, double **Yd)>

◆ ADOLC_ext_fct_hov_forward

using ADOLC_ext_fct_hov_forward = std::function<int(short tapeId, int m, int n, int d, int p, double *x, double ***Xpd, double *y, double ***Ypd)>

◆ ADOLC_ext_fct_hov_reverse

using ADOLC_ext_fct_hov_reverse = std::function<int(short tapeId, int m, int n, int d, int q, double **Uq, double ***Zqd, short **nz, double **Xd, double **Yd)>

◆ ADOLC_ext_fct_iArr

using ADOLC_ext_fct_iArr = std::function<int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, double *x, double *y)>

Integer-array callback variants store application metadata on the location tape, for example a sparse solver's index arrays.

◆ ADOLC_ext_fct_iArr_fos_forward

using ADOLC_ext_fct_iArr_fos_forward = std::function<int( short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int keep, double *x, double *X, double *y, double *Y)>

◆ ADOLC_ext_fct_iArr_fos_reverse

using ADOLC_ext_fct_iArr_fos_reverse = std::function<int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, double *u, double *z, double *x, double *y)>

◆ ADOLC_ext_fct_iArr_fov_forward

using ADOLC_ext_fct_iArr_fov_forward = std::function<int( short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int p, double *x, double **Xp, double *y, double **Yp)>

◆ ADOLC_ext_fct_iArr_fov_reverse

using ADOLC_ext_fct_iArr_fov_reverse = std::function<int( short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int q, double **Uq, double **Zq, double *x, double *y)>

◆ ADOLC_ext_fct_iArr_hos_forward

using ADOLC_ext_fct_iArr_hos_forward = std::function<int( short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, int keep, double *x, double **Xd, double *y, double **Yd)>

◆ ADOLC_ext_fct_iArr_hos_reverse

using ADOLC_ext_fct_iArr_hos_reverse = std::function<int( short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, double *u, double **Zd, double **Xd, double **Yd)>

◆ ADOLC_ext_fct_iArr_hov_forward

using ADOLC_ext_fct_iArr_hov_forward = std::function<int( short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, int p, double *x, double ***Xpd, double *y, double ***Ypd)>

◆ ADOLC_ext_fct_iArr_hov_reverse

using ADOLC_ext_fct_iArr_hov_reverse = std::function<int( short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int d, int q, double **Uq, double ***Zqd, short **nz, double **Xd, double **Yd)>

◆ ADOLC_ext_fct_iArr_zos_forward

using ADOLC_ext_fct_iArr_zos_forward = std::function<int(short tapeId, size_t iArrLength, size_t *iArr, int m, int n, int keep, double *x, double *y)>

◆ ADOLC_ext_fct_zos_forward

using ADOLC_ext_fct_zos_forward = std::function<int( short tapeId, int m, int n, int keep, double *x, double *y)>

Function Documentation

◆ call_ext_fct() [1/2]

ADOLC_API int call_ext_fct ( ext_diff_fct *  edfct,
int  n,
adouble *  xa,
int  m,
adouble *  ya 
)

◆ call_ext_fct() [2/2]

ADOLC_API int call_ext_fct ( ext_diff_fct *  edfct,
size_t  iArrLength,
size_t *  iArr,
int  n,
adouble *  xa,
int  m,
adouble *  ya 
)

◆ get_ext_diff_fct()

ADOLC_API ext_diff_fct * get_ext_diff_fct ( short  tapeId,
size_t  index 
)

◆ reg_ext_fct() [1/2]

ADOLC_API ext_diff_fct * reg_ext_fct ( short  tapeId,
short  extTapeId,
ADOLC_ext_fct  ext_fct 
)

◆ reg_ext_fct() [2/2]

ADOLC_API ext_diff_fct * reg_ext_fct ( short  tapeId,
short  extTapeId,
ADOLC_ext_fct_iArr  ext_fct 
)