[ Next Article |
Previous Article |
Book Contents |
Library Home |
Legal |
Search ]
Base Operating System and Extensions Technical Reference, Volume 2
rsqrt Subroutine
Purpose
Computes the reciprocal of the square root of a number.
Libraries
IEEE Math Library (libm.a)
System V Math Library (libmsaa.a)
Syntax
#include <math.h>
double rsqrt(double x)
Description
The rsqrt command computes the reciprocal of the square root of a number x; that is, 1.0 divided by the square root of x (1.0/sqrt(x)). On some platforms, using the rsqrt subroutine is faster than computing 1.0 / sqrt(x). The rsqrt subroutine uses the same rounding mode used by the calling program.
When using the libm.a library, the rsqrt subroutine responds to special values of x in the following ways:
- If x is NaN, then the rsqrt subroutine returns NaN. If x is a signaling Nan (NaNS), then the rsqrt subroutine returns a quiet NaN and sets the VX and VXSNAN (signaling NaN invalid operation exception) flags in the FPSCR (Floating-Point Status and Control register) to 1.
- If x is +/- 0.0, then the rsqrt subroutine returns +/- INF and sets the ZX (zero divide exception) flag in the FPSCR to 1.
- If x is negative, then the rsqrt subroutine returns NaN, sets the errno global variable to EDOM, and sets the VX and VXSQRT (square root of negative number invalid operation exception) flags in the FPSCR to 1.
When using the libmsaa.a library, the rsqrt subroutine responds to special values of x in the following ways:
- If x is +/- 0.0, then the rsqrt subroutine returns +/-HUGE_VAL and sets the errno global variable to EDOM. The subroutine invokes the
matherr subroutine, which prints a message indicating a singularity error to standard error output.
- If x is negative, then the rsqrt subroutine returns 0.0 and sets the errno global variable to EDOM. The subroutine invokes the matherr subroutine, which prints a message indicating a domain error to standard error output.
When compiled with libmsaa.a, a program can use the matherr subroutine to change these error-handling procedures.
Parameter
x |
Specifies a double-precision floating-point value. |
Return Values
Upon successful completion, the rsqrt subroutine returns the reciprocal of the square root of x.
1.0 |
If x is 1.0. |
+0.0 |
If x is +INF. |
Error Codes
When using either the libm.a or libmsaa.a library, the rsqrt subroutine may return the following error code:
EDOM |
The value of x is negative. |
Implementation Specifics
This subroutine is part of Base Operating System (BOS) Runtime.
Related Information
The matherr subroutine, sqrt or cbrt subroutine.
[ Next Article |
Previous Article |
Book Contents |
Library Home |
Legal |
Search ]