Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > S


HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


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


#include <math.h>

double scalbn(double x, int n);

HP Integrity Servers 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);


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 Integrity servers), scalbn() computes the same value as ldexp().

Integrity Servers 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.


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

To use (for Integrity servers) 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 for HP Integrity servers at the following site: http://www.hp.com/go/fp.


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.


No errors are defined.


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

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.