atomic_three_afun

View page source

Using AD Version of an Atomic Function

Syntax

afun ( ax , ay )

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 ADVector & ax

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

ADVector & ay

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)\).