diff options
Diffstat (limited to 'lib/libm/common_source/ieee.3')
-rw-r--r-- | lib/libm/common_source/ieee.3 | 270 |
1 files changed, 0 insertions, 270 deletions
diff --git a/lib/libm/common_source/ieee.3 b/lib/libm/common_source/ieee.3 deleted file mode 100644 index a906ba1..0000000 --- a/lib/libm/common_source/ieee.3 +++ /dev/null @@ -1,270 +0,0 @@ -.\" Copyright (c) 1985, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)ieee.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD$ -.\" -.Dd June 4, 1993 -.Dt IEEE 3 -.Os -.Sh NAME -.Nm copysign , -.Nm drem , -.Nm finite , -.Nm logb , -.Nm scalb -.Nd "IEEE 754 floating point support -.Sh LIBRARY -.Lb libm -.Sh SYNOPSIS -.In math.h -.Ft double -.Fn copysign "double x" "double y" -.Ft double -.Fn drem "double x" "double y" -.Ft int -.Fn finite "double x" -.Ft double -.Fn logb "double x" -.Ft double -.Fn scalb "double x" "int n" -.Sh DESCRIPTION -These functions are required for, or recommended by the -.Tn IEEE -standard -754 for floating\-point arithmetic. -.Pp -The -.Fn copysign -function -returns -.Fa x -with its sign changed to -.Fa y Ns 's . -.Pp -The -.Fn drem -function -returns the remainder -.Fa r -:= -.Fa x -\- -.Fa n\(**y -where -.Fa n -is the integer nearest the exact value of -.Bk -words -.Fa x Ns / Ns Fa y ; -.Ek -moreover if -.Pf \\*(Ba Fa n -\- -.Sm off -.Fa x No / Fa y No \\*(Ba -.Sm on -= -1/2 -then -.Fa n -is even. Consequently -the remainder is computed exactly and -.Sm off -.Pf \\*(Ba Fa r No \\*(Ba -.Sm on -\*(Le -.Sm off -.Pf \\*(Ba Fa y No \\*(Ba/2 . -.Sm on -But -.Fn drem x 0 -is exceptional. -(See below under -.Sx DIAGNOSTICS . ) -.Pp -The -.Fn finite -function returns the value 1 just when -\-\*(If \*(Lt -.Fa x -\*(Lt +\*(If; -otherwise a -zero is returned -(when -.Pf \\*(Ba Ns Fa x Ns \\*(Ba -= \*(If or -.Fa x -is \*(Na or -is the -.Tn VAX Ns 's -reserved operand). -.Pp -The -.Fn logb -function returns -.Fa x Ns 's exponent -.Fa n , -a signed integer converted to double\-precision floating\-point and so -chosen that -1 (<= -.Pf \\*(Ba Ns Fa x Ns \\*(Ba2** Ns Fa n -< 2 -unless -.Fa x -= 0 or -(only on machines that conform to -.Tn IEEE -754) -.Pf \\*(Ba Fa x Ns \\*(Ba -= \*(If -or -.Fa x -lies between 0 and the Underflow Threshold. -(See below under -.Sx BUGS . ) -.Pp -The -.Fn scalb -function returns -.Fa x Ns \(**(2** Ns Fa n ) -computed, for integer n, without first computing -.Pf 2\(** Fa n . -.Sh RETURN VALUES -The -.Tn IEEE -standard -754 defines -.Fn drem x 0 -and -.Fn drem \\*(If y -to be invalid operations that produce a \*(Na. -On the -.Tn VAX , -.Fn drem x 0 -generates a reserved operand fault. No \*(If -exists on a -.Tn VAX . -.Pp -.Tn IEEE -754 defines -.if n \ -.Fn logb \(+-\\*(If -= \*(If and -.Fn logb 0 -= \-\*(If, and -requires the latter to signal Division\-by\-Zero. -But on a -.Tn VAX , -.Fn logb 0 -= 1.0 \- 2.0**31 = \-2,147,483,647.0. -And if the correct value of -.Fn scalb -would overflow on a -.Tn VAX , -it generates a reserved operand fault and sets the global variable -.Va errno -to -.Er ERANGE . -.Sh SEE ALSO -.Xr floor 3 , -.Xr infnan 3 , -.Xr math 3 -.Sh HISTORY -The -.Nm ieee -functions appeared in -.Bx 4.3 . -.Sh BUGS -Should -.Fn drem x 0 -and -.Fn logb 0 -on a -.Tn VAX -signal invalidity -by setting -.Va errno No = Er EDOM ? -Should -.Fn logb 0 -return \-1.7e38? -.Pp -.Tn IEEE -754 currently specifies that -.Fn logb "denormalized no.\&" -= -.Fn logb "tiniest normalized no. > 0" -but the consensus has changed to the specification in the new -proposed -.Tn IEEE -standard p854, namely that -.Fn logb x -satisfy -.Bd -ragged -offset indent -1 \(<= -.Fn scalb \\*(Bax\\*(Ba \-logb(x) -< -Radix\0 ... = 2 -for -.Tn IEEE -754 -.Ed -.Pp -for every x except 0, -\*(If -and \*(Na. -Almost every program that assumes 754's specification will work -correctly if -.Fn logb -follows 854's specification instead. -.Pp -.Tn IEEE -754 requires -.Fn copysign x \\*(Na) -= -.Pf \(+- Ns Fa x -but says nothing -else about the sign of a \*(Na. A \*(Na -.Em (N Ns ot -.Em a -.Em N Ns umber ) -is -similar in spirit to the -.Tn VAX Ns 's -reserved operand, but very -different in important details. Since the sign bit of a -reserved operand makes it look negative, -.Bd -ragged -offset indent -.Fn copysign x "reserved operand" -= -.Pf \- Fa x ; -.Ed -.Pp -should this return the reserved operand instead? |