ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Public Attributes | List of all members
ext_diff_fct Struct Reference

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

#include <externfcts.h>

Public Attributes

short tapeId {0}
 
short extTapeId {0}
 
size_t firstDepLocation {0}
 
size_t firstIndLocation {0}
 
int p {0}
 Number of directions in vector forward sweeps.
 
int q {0}
 Number of weights in vector reverse sweeps.
 
ADOLC_ext_fct function {nullptr}
 Primal callback set by reg_ext_fct(); do not replace it.
 
ADOLC_ext_fct_iArr function_iArr {nullptr}
 
size_t index {0}
 Descriptor index set by reg_ext_fct(); do not modify it.
 
size_t cp_index {0}
 
ADOLC_ext_fct_zos_forward zos_forward {nullptr}
 Evaluate the primal function, optionally saving Taylor data.
 
ADOLC_ext_fct_iArr_zos_forward zos_forward_iArr {nullptr}
 
ADOLC_ext_fct_fos_forward fos_forward {nullptr}
 Evaluate the primal and the direction Y = J X.
 
ADOLC_ext_fct_iArr_fos_forward fos_forward_iArr {nullptr}
 
ADOLC_ext_fct_fov_forward fov_forward {nullptr}
 Evaluate the primal and the directions Yp = J Xp.
 
ADOLC_ext_fct_iArr_fov_forward fov_forward_iArr {nullptr}
 
ADOLC_ext_fct_hos_forward hos_forward {nullptr}
 Reserved; higher-order scalar forward callbacks are unsupported.
 
ADOLC_ext_fct_iArr_hos_forward hos_forward_iArr {nullptr}
 
ADOLC_ext_fct_hov_forward hov_forward {nullptr}
 Reserved; higher-order vector forward callbacks are unsupported.
 
ADOLC_ext_fct_iArr_hov_forward hov_forward_iArr {nullptr}
 
ADOLC_ext_fct_fos_reverse fos_reverse {nullptr}
 Accumulate input adjoints: z += J^T u.
 
ADOLC_ext_fct_iArr_fos_reverse fos_reverse_iArr {nullptr}
 
ADOLC_ext_fct_fov_reverse fov_reverse {nullptr}
 Accumulate adjoints for each weight: Zq += Uq J.
 
ADOLC_ext_fct_iArr_fov_reverse fov_reverse_iArr {nullptr}
 
ADOLC_ext_fct_hos_reverse hos_reverse {nullptr}
 Reserved; higher-order scalar reverse callbacks are unsupported.
 
ADOLC_ext_fct_iArr_hos_reverse hos_reverse_iArr {nullptr}
 
ADOLC_ext_fct_hos_ti_reverse hos_ti_reverse {nullptr}
 
ADOLC_ext_fct_hov_reverse hov_reverse {nullptr}
 Reserved; higher-order vector reverse callbacks are unsupported.
 
ADOLC_ext_fct_iArr_hov_reverse hov_reverse_iArr {nullptr}
 
char nestedAdolc {1}
 Enable nested ADOL-C calls; zero avoids saving the outer active store.
 
char dp_x_changes {1}
 Save input values for reverse sweeps when the primal callback changes x.
 
char dp_y_priorRequired {1}
 Save prior output values when reverse sweeps need them.
 
char * allmem {nullptr}
 Owning allocation for internal workspace.
 
void * obj {nullptr}
 Object pointer used by EDFobject; do not modify it.
 

Detailed Description

Callback descriptor for an externally differentiated function.

reg_ext_fct() allocates the descriptor on the outer tape. Supply the callbacks required by each sweep mode. call_ext_fct() invokes the primal callback and records the external operation while tracing. Use ext_diff_fct_v2 for block-structured inputs and an opaque user context.

Member Data Documentation

◆ allmem

char* ext_diff_fct::allmem {nullptr}

Owning allocation for internal workspace.

◆ cp_index

size_t ext_diff_fct::cp_index {0}

◆ dp_x_changes

char ext_diff_fct::dp_x_changes {1}

Save input values for reverse sweeps when the primal callback changes x.

◆ dp_y_priorRequired

char ext_diff_fct::dp_y_priorRequired {1}

Save prior output values when reverse sweeps need them.

◆ extTapeId

short ext_diff_fct::extTapeId {0}

◆ firstDepLocation

size_t ext_diff_fct::firstDepLocation {0}

◆ firstIndLocation

size_t ext_diff_fct::firstIndLocation {0}

◆ fos_forward

ADOLC_ext_fct_fos_forward ext_diff_fct::fos_forward {nullptr}

Evaluate the primal and the direction Y = J X.

◆ fos_forward_iArr

ADOLC_ext_fct_iArr_fos_forward ext_diff_fct::fos_forward_iArr {nullptr}

◆ fos_reverse

ADOLC_ext_fct_fos_reverse ext_diff_fct::fos_reverse {nullptr}

Accumulate input adjoints: z += J^T u.

◆ fos_reverse_iArr

ADOLC_ext_fct_iArr_fos_reverse ext_diff_fct::fos_reverse_iArr {nullptr}

◆ fov_forward

ADOLC_ext_fct_fov_forward ext_diff_fct::fov_forward {nullptr}

Evaluate the primal and the directions Yp = J Xp.

◆ fov_forward_iArr

ADOLC_ext_fct_iArr_fov_forward ext_diff_fct::fov_forward_iArr {nullptr}

◆ fov_reverse

ADOLC_ext_fct_fov_reverse ext_diff_fct::fov_reverse {nullptr}

Accumulate adjoints for each weight: Zq += Uq J.

◆ fov_reverse_iArr

ADOLC_ext_fct_iArr_fov_reverse ext_diff_fct::fov_reverse_iArr {nullptr}

◆ function

ADOLC_ext_fct ext_diff_fct::function {nullptr}

Primal callback set by reg_ext_fct(); do not replace it.

◆ function_iArr

ADOLC_ext_fct_iArr ext_diff_fct::function_iArr {nullptr}

◆ hos_forward

ADOLC_ext_fct_hos_forward ext_diff_fct::hos_forward {nullptr}

Reserved; higher-order scalar forward callbacks are unsupported.

◆ hos_forward_iArr

ADOLC_ext_fct_iArr_hos_forward ext_diff_fct::hos_forward_iArr {nullptr}

◆ hos_reverse

ADOLC_ext_fct_hos_reverse ext_diff_fct::hos_reverse {nullptr}

Reserved; higher-order scalar reverse callbacks are unsupported.

◆ hos_reverse_iArr

ADOLC_ext_fct_iArr_hos_reverse ext_diff_fct::hos_reverse_iArr {nullptr}

◆ hos_ti_reverse

ADOLC_ext_fct_hos_ti_reverse ext_diff_fct::hos_ti_reverse {nullptr}

◆ hov_forward

ADOLC_ext_fct_hov_forward ext_diff_fct::hov_forward {nullptr}

Reserved; higher-order vector forward callbacks are unsupported.

◆ hov_forward_iArr

ADOLC_ext_fct_iArr_hov_forward ext_diff_fct::hov_forward_iArr {nullptr}

◆ hov_reverse

ADOLC_ext_fct_hov_reverse ext_diff_fct::hov_reverse {nullptr}

Reserved; higher-order vector reverse callbacks are unsupported.

◆ hov_reverse_iArr

ADOLC_ext_fct_iArr_hov_reverse ext_diff_fct::hov_reverse_iArr {nullptr}

◆ index

size_t ext_diff_fct::index {0}

Descriptor index set by reg_ext_fct(); do not modify it.

◆ nestedAdolc

char ext_diff_fct::nestedAdolc {1}

Enable nested ADOL-C calls; zero avoids saving the outer active store.

◆ obj

void* ext_diff_fct::obj {nullptr}

Object pointer used by EDFobject; do not modify it.

◆ p

int ext_diff_fct::p {0}

Number of directions in vector forward sweeps.

◆ q

int ext_diff_fct::q {0}

Number of weights in vector reverse sweeps.

◆ tapeId

short ext_diff_fct::tapeId {0}

◆ zos_forward

ADOLC_ext_fct_zos_forward ext_diff_fct::zos_forward {nullptr}

Evaluate the primal function, optionally saving Taylor data.

◆ zos_forward_iArr

ADOLC_ext_fct_iArr_zos_forward ext_diff_fct::zos_forward_iArr {nullptr}

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