Prev Next atomic_three_afun

@(@\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}} }@)@ This is cppad-20221105 documentation. Here is a link to its current documentation .
Using AD Version of an Atomic Function

Syntax
afun(axay)

Prototype

template <class Base>
template <class ADVector>
void atomic_three<Base>::operator()(
    const ADVector&  ax     ,
    ADVector&        ay     )

Purpose
Given ax , this call computes the corresponding value of ay . If AD<Base> operations are being recorded, it enters the computation as an atomic operation in the recording; see start recording .

Base
This is the Base type of the elements of ax and ay in the call to the afun atomic operation. To be specific, the elements of ax and ay have type AD<Base> .

ADVector
The type ADVector must be a simple vector class with elements of type AD<Base> .

afun
is a atomic_user object and this afun function call is implemented by the atomic_three class.

ax
This argument has prototype
    const 
ADVectorax
and size must be equal to n . It specifies vector @(@ x \in \B{R}^n @)@ at which an AD<Base> version of @(@ y = g(x) @)@ is to be evaluated; see Base .

ay
This argument has prototype
    
ADVectoray
and size must be equal to m . The input values of its elements are not specified (must not matter). Upon return, it is an AD<Base> version of @(@ y = g(x) @)@.
Input File: include/cppad/core/atomic/three/afun.hpp