Vector Math Library Functions vrhypot_(3MVEC)
NAME
vrhypot_, vrhypotf_ - vector reciprocal hypotenuse functions
SYNOPSIS
cc [ flag... ] file... -lmvec [ library... ]
void vrhypot_(int *n, double * restrict x, int *stridex,
double * restrict y, int *stridey, double * restrict z, int *stridez);void vrhypotf_(int *n, float * restrict x, int *stridex,
float * restrict y, int *stridey, float * restrict z, int *stridez);DESCRIPTION
These functions evaluate the function rhypot(x, y), defined by rhypot(x, y) = 1 / hypot(x, y), for an entire vector of values at once. The first parameter specifies the number ofvalues to compute. Subsequent parameters specify the argu-
ment and result vectors. Each vector is described by a pointer to the first element and a stride, which is the increment between successive elements.Specifically, vrhypot_(n, x, sx, y, sy, z, sz) computes z[i
* *sz] = rhypot(x[i * *sx], y[i * *sy]) for each i = 0, 1,..., *n - 1. The vrhypotf_() function performs the same
computation for single precision data. These functions are not guaranteed to deliver results that are identical to the results of evaluating 1.0 / hypot(x, y)given the same arguments. Non-exceptional results, however,
are accurate to within a unit in the last place.USAGE
The element count *n must be greater than zero. The strides for the argument and result arrays can be arbitrary integers, but the arrays themselves must not be the same oroverlap. A zero stride effectively collapses an entire vec-
tor into a single element. A negative stride causes a vector to be accessed in descending memory order, but note that the corresponding pointer must still point to the first element of the vector to be used; if the stride is negative, thiswill be the highest-addressed element in memory. This con-
vention differs from the Level 1 BLAS, in which array param-
eters always refer to the lowest-addressed element in memory
even when negative increments are used.SunOS 5.11 Last change: 14 Dec 2007 1
Vector Math Library Functions vrhypot_(3MVEC)
These functions assume that the default round-to-nearest
rounding direction mode is in effect. On x86, these func-
tions also assume that the default round-to-64-bit rounding
precision mode is in effect. The result of calling a vectorfunction with a non-default rounding mode in effect is unde-
fined. These functions handle special cases and exceptions in the spirit of IEEE 754. In particular,o if x or y is +_Inf, rhypot(x, y) is +0, even if the
other of x or y is NaN, o if x or y is NaN and neither is infinite, rhypot(x, y) is NaN o if x and y are both zero, rhypot(x, y) is +0, and adivision-by-zero exception is raised.
An application wanting to check for exceptions should callfeclearexcept(FE_ALL_EXCEPT) before calling these functions.
On return, if fetestexcept(FE_INVALID | FE_DIVBYZERO |
FE_OVERFLOW | FE_UNDERFLOW) is non-zero, an exception has
been raised. The application can then examine the result orargument vectors for exceptional values. Some vector func-
tions can raise the inexact exception even if all elements of the argument array are such that the numerical results are exact.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
hypot(3M), feclearexcept(3M), fetestexcept(3M), attri-
butes(5)SunOS 5.11 Last change: 14 Dec 2007 2