3.9 Two-argument math functions
The math functions described in this section take two arguments.
Most combinations of these types may be used as arguments:
- An Array object
- An Array expression
- An index placeholder
- A scalar of type
float, double, long double,
or complex<T>
ANSI C++ math functions
These math functions are available on all platforms, and work for
complex numbers.
atan2(x,y)- Inverse tangent of (y/x). The signs of both parameters
are used to determine the quadrant of the return value, which is in the
range [-\pi, \pi]. Works for
complex<T>.
blitz::polar(r,t)- Computes ; i.e. converts polar-form to
Cartesian form complex numbers. The
blitz:: scope qualifier is
needed to disambiguate the ANSI C++ function template polar(T,T).
This qualifier will hopefully disappear in a future version.
pow(x,y)- Computes x to the exponent y. Works for
complex<T>.
IEEE/System V math functions
See the notes about IEEE/System V math functions in the previous section.
None of these functions work for complex numbers. They will all cast their
arguments to double precision.
copysign(x,y)- Returns the x parameter with the same sign as the y parameter.
drem(x,y)- Computes a floating point remainder. The return value r is equal to r = x -
n * y, where n is equal to
nearest(x/y) (the nearest integer to x/y).
The return value will lie in the range [ -y/2, +y/2 ]. If y is zero or x is
+INF or -INF, NaNQ is returned.
fmod(x,y)- Computes a floating point modulo remainder. The return value r is equal to
r = x - n * y, where n is selected so that r has the same sign as x and
magnitude less than abs(y). In order words, if x > 0, r is in the range [0,
|y|], and if x < 0, r is in the range [-|y|, 0].
hypot(x,y)- Computes so that underflow does not occur and overflow occurs only if the
final result warrants it.
nextafter(x,y)- Returns the next representable number after x in the direction of y.
remainder(x,y)- Equivalent to drem(x,y).
scalb(x,y)- Calculates.
unordered(x,y)- Returns a nonzero value if a floating-point comparison between x and y would
be unordered. Otherwise, it returns zero.