AD Computed Assignment Operators
Keywords: ad computed assignment operators + add plus - subtract minus * multiply times / divide multiple syntax purpose op base x y result operation sequence example derivative addition subtraction multiplication division

| Prev | Next |  |  |  |  |  |  |

AD Computed Assignment Operators
Syntax
`x Op y`
Purpose
Performs computed assignment operations where either `x` has type `AD<Base>` .
Op
The operator `Op` is one of the following

Op | Meaning
`+=` | `x` is assigned `x` plus `y`
`-=` | `x` is assigned `x` minus `y`
`*=` | `x` is assigned `x` times `y`
`/=` | `x` is assigned `x` divided by `y`

Base
The type `Base` is determined by the operand `x` .
x
The operand `x` has the following prototype `
AD<Base> &x
`
y
The operand `y` has the following prototype `
const Type &y
` where `Type` is `VecAD<Base>::reference` , `AD<Base>` , `Base` , or `double`.
Result
The result of this assignment can be used as a reference to `x` . For example, if `z` has the following type `
AD<Base> z
` then the syntax `
z = x += y
` will compute `x` plus `y` and then assign this value to both `x` and `z` .
Operation Sequence
This is an atomic AD of Base operation and hence it is part of the current AD of `Base` operation sequence .
Example
The following files contain examples and tests of these functions. Each test returns true if it succeeds and false otherwise.

AddEq.cpp | AD Computed Assignment Addition: Example and Test
sub_eq.cpp | AD Computed Assignment Subtraction: Example and Test
mul_eq.cpp | AD Computed Assignment Multiplication: Example and Test
div_eq.cpp | AD Computed Assignment Division: Example and Test

Derivative
If f and g are Base functions
Addition ∂ [ f ( x ) + g ( x ) ] ∂ x = ∂ f ( x ) ∂ x + ∂ g ( x ) ∂ x
Subtraction ∂ [ f ( x ) - g ( x ) ] ∂ x = ∂ f ( x ) ∂ x - ∂ g ( x ) ∂ x
Multiplication ∂ [ f ( x ) * g ( x ) ] ∂ x = g ( x ) * ∂ f ( x ) ∂ x + f ( x ) * ∂ g ( x ) ∂ x
Division ∂ [ f ( x ) / g ( x ) ] ∂ x = [ 1 / g ( x ) ] * ∂ f ( x ) ∂ x - [ f ( x ) / g ( x ) 2 ] * ∂ g ( x ) ∂ x

Input File: cppad/local/compute_assign.hpp