lines 8-94 of file: include/cppad/core/atomic/three/rev_depend.hpp {xrst_begin atomic_three_rev_depend} Atomic Function Reverse Dependency Calculation ############################################## Syntax ****** | *ok* = *afun* . ``rev_depend`` ( | |tab| *parameter_x* , *type_x* , *depend_x* , *depend_y* | ) Prototype ========= {xrst_literal // BEGIN_PROTOTYPE // END_PROTOTYPE } Dependency Analysis ******************* This calculation is sometimes referred to as a reverse dependency analysis. Implementation ************** This function must be defined if :ref:`atomic_three_ctor@atomic_user@afun` is used to define an :ref:`ADFun-name` object *f* , and :ref:`f.optimize()` is used. Base **** See :ref:`atomic_three_afun@Base` . parameter_x *********** See :ref:`atomic_three_define@parameter_x` . type_x ****** See :ref:`atomic_three_define@type_x` . depend_x ******** This vector has size equal to the number of arguments for this atomic function; i.e. *n* = *ax* . ``size`` () . The input values of the elements of *depend_x* are not specified (must not matter). Upon return, for :math:`j = 0 , \ldots , n-1`, *depend_x* [ *j* ] is true if the values of interest depend on the value of :ref:`ax[j]` in the corresponding *afun* ( *ax* , *ay* ) call. Optimize ======== Parameters and variables, that the values of interest do not depend on, may get removed by :ref:`optimization` . The corresponding values in :ref:`atomic_three_define@parameter_x` , and :ref:`atomic_three_forward@taylor_x` (after optimization has removed them) are not specified. depend_y ******** This vector has size equal to the number of results for this atomic function; i.e. *m* = *ay* . ``size`` () . For :math:`i = 0 , \ldots , m-1`, *depend_y* [ *i* ] is true if the values of interest depend on the value of :ref:`ay[i]` in the corresponding *afun* ( *ax* , *ay* ) call. ok ** If this calculation succeeded, *ok* is true. Otherwise, it is false. Contents ******** {xrst_toc_table example/atomic_three/rev_depend.cpp } Example ******* The following is an example of a atomic function ``rev_depend`` definition: :ref:`atomic_three_rev_depend.cpp-name` . {xrst_end atomic_three_rev_depend}