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