\(\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}} }\)
Integer
Convert From AD to Integer
Syntax
i = Integer
( x )
Purpose
Converts from an AD type to the corresponding integer value.
i
The result i has prototype
int
i
x
Real Types
If the argument x has either of the following prototypes:
const float
& xconst double
& xthe fractional part is dropped to form the integer value. For example, if x is 1.5, i is 1. In general, if \(x \geq 0\), i is the greatest integer less than or equal x . If \(x \leq 0\), i is the smallest integer greater than or equal x .
Complex Types
If the argument x has either of the following prototypes:
const std::complex<float>
& xconst std::complex<double>
& xThe result i is given by
i =
Integer
( x .real
())
AD Types
If the argument x has either of the following prototypes:
const AD
< Base > & xconst VecAD
< Base >:: reference &
xBase must support the Integer
function and
the conversion has the same meaning as for Base .
Operation Sequence
The result of this operation is not an AD of Base object. Thus it will not be recorded as part of an AD of Base operation sequence .
Example
The file integer.cpp contains an example and test of this operation.