cpp_fun_property#

View page source

Properties of a Function Object#

Syntax#

a_fun f ( f )
n = f.size_domain ()
m = f.size_range ()
v = f.size_var ()
p = f.size_op ()
q = f.size_order ()

f#

This is either a d_fun or a_fun function object and is const .

size_domain#

The return value has prototype

      int n

and is the size of the vector ax in the function constructor; i.e., the number of independent variables.

size_range#

The return value has prototype

      int m

and is the size of the vector ay in the function constructor; i.e., the number of dependent variables.

size_var#

The return value has prototype

      int v

and is the number of variables in the function. This includes the independent variables, dependent variables, and any variables that are used to compute the dependent variables from the independent variables.

size_op#

The return value has prototype

      int p

and is the number of atomic operations that are used to express the dependent variables as a function of the independent variables.

size_order#

The return value has prototype

      int q

and is the number of Taylor coefficients currently stored in f , for every variable in the operation sequence corresponding to f . These coefficients are computed by cpp_fun_forward. This is different from the other function properties in that it can change after each call to f.forward ; see size_order in the forward mode section. The initial value for this property, when the object f or af is created, is zero.

Example#

fun_property_xam.cpp