HPlogo HP-UX Reference > S

scalbn(3M)

HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

NAME

scalbn(), scalbnf(), scalbnl(), scalbnw(), scalbnq() — scale exponent of a radix-independent floating-point number

SYNOPSIS

#include <math.h>

double scalbn(double x, int n);

Itanium(R)-based System Only

float scalbnf(float x, int n);

long double scalbnl(long double y, int n);

extended scalbnw(extended x, int n);

quad scalbnq(quad x, int n);

DESCRIPTION

The scalbn() function returns x * rn, where r is the radix of the machine's floating-point arithmetic. When r is 2 (as it is on all PA-RISC and Itanium-based systems), scalbn() computes the same value as ldexp().

Itanium-based System Only

scalbnf() is a float version of scalbn(); it takes a float first argument and returns a float result.

scalbnl() is a long double version of scalbn(); it takes a long double first argument and returns a long double result.

scalbnw() is an extended version of scalbn(); it takes an extended first argument and returns an extended result.

scalbnq() is equivalent to scalbnl() on HP-UX systems.

USAGE

To use these functions compile either with the default -Ae option or with the -Aa and -D_HPUX_SOURCE options.

To use (for Itanium-based systems) scalbnw() or scalbnq(), compile also with the -fpwidetypes option.

Make sure your program includes <math.h>. Link in the math library by specifying -lm on the compiler or linker command line.

For more information, see the HP-UX Floating-Point Guide.

RETURN VALUE

scalbn(-x, n) and -scalbn(x, n) are equivalent.

If x is ±INFINITY, zero, or a NaN, scalbn() returns x.

scalbn() returns a properly signed infinity in lieu of a value whose magnitude is too large, and raises the overflow and inexact exceptions.

scalbn() raises the underflow and inexact exceptions whenever a result is tiny (essentially denormal or zero) and thereby suffers loss of accuracy, and may raise those exceptions if the result is merely tiny.

ERRORS

No errors are defined.

STANDARDS CONFORMANCE

scalbn(), scalbnf(), scalbnl() : ISO/IEC C99 (including Annex F, ``IEC 60559 floating-point arithmetic'')