Compare AD and Base Objects for Nearly Equal
Keywords: compare ad base objects nearly equal Nearequal with syntax purpose x y r b type operation sequence example

| Prev | Next |  |  |  |  |  |  |

Compare AD and Base Objects for Nearly Equal
Syntax
`b = NearEqual(x, y, r, a)`
Purpose
The routine NearEqual determines if two objects of the same type are nearly. This routine is extended to the case where one object can have type `Type` while the other can have type `AD<Type>` or `AD< std::complex<Type> >` .
x
The arguments `x` has one of the following possible prototypes: `
const Type &x
const AD<Type> &x
const AD< std::complex<Type> > &x
`
y
The arguments `y` has one of the following possible prototypes: `
const Type &y
const AD<Type> &y
const AD< std::complex<Type> > &x
`
r
The relative error criteria `r` has prototype `
const Type &r
` It must be greater than or equal to zero. The relative error condition is defined as: | x - y | | x | + | y | ≤ r
a
The absolute error criteria `a` has prototype `
const Type &a
` It must be greater than or equal to zero. The absolute error condition is defined as: | x - y | ≤ a
b
The return value `b` has prototype `
bool b
` If either `x` or `y` is infinite or not a number, the return value is false. Otherwise, if either the relative or absolute error condition (defined above) is satisfied, the return value is true. Otherwise, the return value is false.
Type
The type `Type` must be a NumericType . The routine CheckNumericType will generate an error message if this is not the case. If `a` and `b` have type `Type` , the following operation must be defined

Operation | Description
`a <= b` | less that or equal operator (returns a `bool` object)

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 near_equal_ext.cpp contains an example and test of this extension of NearEqual . It return true if it succeeds and false otherwise.

Input File: cppad/local/near_equal_ext.hpp