compound_assign

View page source

AD Compound Assignment Operators

Syntax

x Op y

Purpose

Performs compound 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_base 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.

Derivative

If \(f\) and \(g\) are Base functions

Addition

\[\D{[ f(x) + g(x) ]}{x} = \D{f(x)}{x} + \D{g(x)}{x}\]

Subtraction

\[\D{[ f(x) - g(x) ]}{x} = \D{f(x)}{x} - \D{g(x)}{x}\]

Multiplication

\[\D{[ f(x) * g(x) ]}{x} = g(x) * \D{f(x)}{x} + f(x) * \D{g(x)}{x}\]

Division

\[\D{[ f(x) / g(x) ]}{x} = [1/g(x)] * \D{f(x)}{x} - [f(x)/g(x)^2] * \D{g(x)}{x}\]