Vector Math Library Functions vzpow(3MVEC)
NAME
vzpow, vcpow - vector complex power functions
SYNOPSIS
cc [ flag... ] file... -lmvec [ library... ]
void vzpow(int *n, double complex * restrict z,
int *stridez, double complex * restrict w, int *stridew,
double complex * restrict u, int *strideu,
double * tmp);
void vcpow(int *n, float complex * restrict z,
int *stridez, float complex * restrict w, int *stridew,
float complex * restrict u, int *strideu,
float * tmp);
DESCRIPTION
These functions evaluate the complex function z^w for an
entire vector of values at once. The first parameter speci-
fies the number of values to compute. Subsequent parameters
specify the argument and result vectors. Each vector is
described by a pointer to the first element and a stride,
which is the increment between successive elements. The last
argument is a pointer to scratch storage; this storage must
be large enough to hold 3 * *n consecutive values of the
real type corresponding to the complex type of the argument
and result.
Specifically, vzpow(n, z, sz, w, sw, u, su, tmp) computes
u[i * *su] = (z[i * *sz])^(w[i * *sw]) for each i = 0, 1,
..., *n - 1. The vcpow() function performs the same compu-
tation for single precision data.
These functions are not guaranteed to deliver results that
are identical to the results of the cpow(3M) functions given
the same arguments.
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 or
overlap. 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, this
will be the highest-addressed element in memory. This con-
vention differs from the Level 1 BLAS, in which array
SunOS 5.11 Last change: 14 Dec 2007 1
Vector Math Library Functions vzpow(3MVEC)
parameters always refer to the lowest-addressed element in
memory even when negative increments are used.
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 vector
function with a non-default rounding mode in effect is unde-
fined.
Unlike the c99 cpow(3M) functions, the vector complex
exponential functions make no attempt to handle special
cases and exceptions; they simply use textbook formulas to
compute a complex exponential in terms of real elementary
functions. As a result, these functions can raise different
exceptions and/or deliver different results from cpow().
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
cpow(3M), attributes(5)
SunOS 5.11 Last change: 14 Dec 2007 2
|