frexpf4

NAME

frexpf4 - return fractions and exponents of float elements

SYNOPSIS

Procedure call syntax:

#include <simdmath.h>
vector float frexpf4(vector float x, vector signed int *pexp);
Link with -lsimdmath

Inline call syntax:

#include <simdmath.h>
#include <frexpf4.h>
vector float _frexpf4(vector float x, vector signed int *pexp);
Parameters  
x input vector
*pexp pointer to output vector

DESCRIPTION

The frexpf4 function is used to split the values of the elements in x into a normalized fraction and an exponent. frexpf4 returns a vector of fractions and a vector of exponent integers in *pexp.

Each fraction element frac, and each exponent integer element exp, represent the value of the corresponding element x, such that:
  • Every element of |frac| is in the interval [1/2,1) or is 0.
  • x=frac*2^exp
  • If an element of x is 0 the corresponding element of *pexp is also 0.
  • If an element of x is NaN the corresponding element of the result is NaN and the corresponding element of *pexp is undefined.
  • If an element of x is Inf the corresponding element of the result is Inf and the corresponding element of *pexp is undefined.

RETURN VALUE

The function frexpf4 returns:
  • a float vector in which each element is defined as the normalized fraction of the corresponding element of x, and
  • a signed int* vector in which each element is defined as the exponent such that 2 raised to this value and multiplied by the normalized fraction is equal to x.

ENVIRONMENT

SPU and PPU

CONFORMING TO

SIMD Math library specification for the Cell Broadband Engineā„¢ Architecture.

NOTES

Basis

ISO9899 (C99) frexp functions.

SEE ALSO

frexp(3), frexpd2(3), exp(3), expf4(3), expd2(3), exp2(3), exp2f4(3), exp2d2(3), expm1(3), expm1f4(3), expm1d2(3), ldexp(3), ldexpf4(3), ldexpd2(3), pow(3), powf4(3), powd2(3), hypot(3), hypotd2(3), hypotf4(3), sqrt(3), sqrtf4(3), sqrtd2(3), cbrt(3), cbrtf4(3), cbrtd2(3), log(3), logf4(3), logd2(3), log10(3), log2f4(3), log2d2(3), log1p(3), log10f4(3), log10d2(3), logb(3), log1pf4(3), log1pd2(3), ilogb(3), logbf4(3), scalbn(3), ilogbf4(3), ilogbd2(3)