Prev | Next | FunDeprecated |

@(@\newcommand{\W}[1]{ \; #1 \; } \newcommand{\R}[1]{ {\rm #1} } \newcommand{\B}[1]{ {\bf #1} } \newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} } \newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} } \newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} } \newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }@)@

*f*.Dependent(*y*)

*o* = *f*.Order()

*m* = *f*.Memory()

*s* = *f*.Size()

*t* = *f*.taylor_size()

*u* = *f*.use_VecAD()

*v* = *f*.size_taylor()

*w* = *f*.capacity_taylor()

The

`ADFun<`*Base*>

functions documented here have been deprecated;
i.e., they are no longer approved of and may be removed from some future
version of CppAD.
A recording of and AD of

*Base*

operation sequence
is started by a call of the form

Independent(*x*)

If there is only one such recording at the current time,
you can use
*f*.Dependent(*y*)

in place of

*f*.Dependent(*x*, *y*)

See Dependent
for a description of this operation.
This syntax was deprecated when CppAD was extended to allow for more than one

`AD<`*Base*>

recording to be
active at one time.
This was necessary to allow for multiple threading applications.
The result

*o*

has prototype

size_t *o*

and is the order of the previous forward operation
using the function
*f*

.
This is the highest order of the
Taylor coefficients
that are currently stored in
*f*

.
Zero order corresponds to function values being stored in

*f*

.
In the future, we would like to be able to erase the function
values so that
*f*

uses less memory.
In this case, the return value of `Order`

would not make sense.
Use size_order
to obtain
the number of Taylor coefficients currently stored
in the ADFun object
*f*

(which is equal to the order plus one).
The result

size_t *m*

and is the number of memory units (`sizeof`

) required for the
information currently stored in
*f*

.
This memory is returned to the system when the destructor for
*f*

is called.
It used to be the case that an ADFun object just kept increasing its buffers to the maximum size necessary during its lifetime. It would then return the buffers to the system when its destructor was called. This is no longer the case, an ADFun object now returns memory when it no longer needs the values stored in that memory. Thus the

`Memory`

function is no longer well defined.
The result

*s*

has prototype

size_t *s*

and is the number of variables in the operation sequence plus the following:
one for a phantom variable with tape address zero,
one for each component of the domain that is a parameter.
The amount of work and memory necessary for computing function values
and derivatives using
*f*

is roughly proportional to
*s*

.
There are other sizes attached to an ADFun object, for example, the number of operations in the sequence. In order to avoid confusion with these other sizes, use size_var to obtain the number of variables in the operation sequence.

The result

*t*

has prototype

size_t *t*

and is the number of Taylor coefficient orders
currently calculated and stored in the ADFun object
*f*

.
This function has been replaced by size_order .

The result

*u*

has prototype

bool *u*

If it is true, the
AD of
*Base*

operation sequence
stored in
*f*

contains
VecAD
operands.
Otherwise
*u*

is false.
You can instead use

*u* = *f*.size_VecAD() > 0

The result

*v*

has prototype

size_t *v*

and is the number of Taylor coefficient orders
currently calculated and stored in the ADFun object
*f*

.
This function has been replaced by size_order .

The result

*w*

has prototype

size_t *w*

and is the number of Taylor coefficient orders currently allocated
in the ADFun object
*f*

.
This function has been replaced by capacity_order .

Input File: omh/appendix/deprecated/fun_deprecated.omh