ieee man page on NeXTSTEP

Man page or keyword search:  
man Server   1419 pages
apropos Keyword Search (all sections)
Output format
NeXTSTEP logo
[printable version]


IEEE(3M)							      IEEE(3M)

NAME
       copysign,  drem,	 finite,  logb,	 scalb - copysign, remainder, exponent
       manipulations

SYNOPSIS
       #include <math.h>

       double copysign(x,y)
       double x,y;

       double drem(x,y)
       double x,y;

       int finite(x)
       double x;

       double logb(x)
       double x;

       double scalb(x,n)
       double x;
       int n;

DESCRIPTION
       These functions are required for, or recommended by the	IEEE  standard
       754 for floating-point arithmetic.

       Copysign(x,y) returns x with its sign changed to y's.

       Drem(x,y)  returns  the	remainder  r := x - n∗y where n is the integer
       nearest the exact value of x/y; moreover if |n-x/y|=1/2 then n is even.
       Consequently  the  remainder  is computed exactly and |r| ≤ |y|/2.  But
       drem(x,0) is exceptional; see below under DIAGNOSTICS.

       Finite(x) = 1 just when -infinity < x < +infinity,
		 = 0 otherwise (when |x| = infinity or x is NaN or

       Logb(x)	returns	 x's  exponent	n,  a  signed  integer	converted   to
       double-precision	 floating-point	 and  so  chosen that 1 ≤ |x|/2**n < 2
       unless x = 0 or (only on machines that  conform	to  IEEE  754)	|x|  =
       infinity	 or  x	lies  between 0 and the Underflow Threshold; see below
       under "BUGS".

       Scalb(x,n) = x∗(2**n) computed, for integer n, without first  computing
       2**n.

DIAGNOSTICS
       IEEE   754   defines  drem(x,0)	and  drem(infinity,y)  to  be  invalid
       operations that produce a NaN.

       IEEE 754 defines logb(±infinity) = +infinity and logb(0)	 =  -infinity,
       requires the latter to signal Division-by-Zero.

SEE ALSO
       floor(3M), math(3M)

AUTHOR
       Kwok-Choi Ng

BUGS
       IEEE 754 currently specifies that logb(denormalized no.) = logb(tiniest
       normalized no. > 0) but the consensus has changed to the	 specification
       in the new proposed IEEE standard p854, namely that logb(x) satisfy
	      1 ≤ scalb(|x|,-logb(x)) < Radix	... = 2 for IEEE 754
       for  every  x  except  0,  infinity and NaN.  Almost every program that
       assumes 754's specification will work correctly if logb	follows	 854's
       specification instead.

       IEEE 754 requires copysign(x,NaN) = ±x  but says nothing else about the
       sign of a NaN.  A NaN (Not a Number) is similar in spirit to the	 VAX's
       reserved	 operand,  but very different in important details.  Since the
       sign bit of a reserved operand makes it look negative,
	      copysign(x,reserved operand) = -x;
       should this return the reserved operand instead?

4.3 Berkeley Distribution	 May 12, 1986			      IEEE(3M)
[top]

List of man pages available for NeXTSTEP

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net