 0dc9e0996a
			
		
	
	
		0dc9e0996a
		
	
	
	
	
		
			
			As the current libc includes a libm implementation, with the new libc this is needed. Unneeded (for the moment) archs have been removed.
		
			
				
	
	
		
			190 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			190 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" Copyright (c) 1985, 1991 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. 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.
 | |
| .\"
 | |
| .\"     from: @(#)ieee.3	6.4 (Berkeley) 5/6/91
 | |
| .\"	$NetBSD: ieee.3,v 1.21 2010/09/15 16:11:30 christos Exp $
 | |
| .\"
 | |
| .Dd February 25, 1994
 | |
| .Dt IEEE 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm copysign ,
 | |
| .Nm copysignf ,
 | |
| .Nm copysignl ,
 | |
| .Nm finite ,
 | |
| .Nm finitef ,
 | |
| .Nm ilogb ,
 | |
| .Nm ilogbf ,
 | |
| .Nm nextafter ,
 | |
| .Nm nextafterf ,
 | |
| .Nm nextafterl ,
 | |
| .Nm nexttoward ,
 | |
| .Nm remainder ,
 | |
| .Nm remainderf ,
 | |
| .Nm scalbn ,
 | |
| .Nm scalbnf
 | |
| .Nd functions for IEEE arithmetic
 | |
| .Sh LIBRARY
 | |
| .Lb libm
 | |
| .Sh SYNOPSIS
 | |
| .In math.h
 | |
| .Ft double
 | |
| .Fn copysign "double x" "double y"
 | |
| .Ft float
 | |
| .Fn copysignf "float x" "float y"
 | |
| .Ft long double
 | |
| .Fn copysignl "long double x" "long double y"
 | |
| .Ft int
 | |
| .Fn finite "double x"
 | |
| .Ft int
 | |
| .Fn finitef "float x"
 | |
| .Ft int
 | |
| .Fn ilogb "double x"
 | |
| .Ft int
 | |
| .Fn ilogbf "float x"
 | |
| .Ft double
 | |
| .Fn nextafter "double x" "double y"
 | |
| .Ft float
 | |
| .Fn nextafterf "float x" "float y"
 | |
| .Ft long double
 | |
| .Fn nextafterl "long double x" "long double y"
 | |
| .Ft double
 | |
| .Fn nexttoward "double x" "long double y"
 | |
| .Ft double
 | |
| .Fn remainder "double x" "double y"
 | |
| .Ft float
 | |
| .Fn remainderf "float x" "float y"
 | |
| .Ft double
 | |
| .Fn scalbn "double x" "int n"
 | |
| .Ft float
 | |
| .Fn scalbnf "float x" "int n"
 | |
| .Sh DESCRIPTION
 | |
| These functions are required or recommended by
 | |
| .St -ieee754 .
 | |
| .Pp
 | |
| .Fn copysign
 | |
| returns
 | |
| .Fa x
 | |
| with its sign changed to
 | |
| .Fa y Ns 's .
 | |
| .Pp
 | |
| .Fn finite
 | |
| 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).
 | |
| .Pp
 | |
| .Fn ilogb
 | |
| returns
 | |
| .Fa x Ns 's exponent
 | |
| .Fa n ,
 | |
| in integer format.
 | |
| .Fn ilogb \*(Pm\*(If
 | |
| returns
 | |
| .Dv INT_MAX
 | |
| and
 | |
| .Fn ilogb 0
 | |
| returns
 | |
| .Dv INT_MIN .
 | |
| .Pp
 | |
| .Fn nextafter
 | |
| returns the next machine representable number from
 | |
| .Fa x
 | |
| in direction
 | |
| .Fa y .
 | |
| .Pp
 | |
| .Fn nexttoward
 | |
| is equivalent to
 | |
| .Fn nextafter ,
 | |
| except that the second parameter has type
 | |
| .Ft long double
 | |
| and the function returns
 | |
| .Dv y
 | |
| converted to the type of the function if
 | |
| .Dv x
 | |
| equals
 | |
| .Dv y .
 | |
| .Pp
 | |
| .Fn remainder
 | |
| 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 remainder x 0
 | |
| and
 | |
| .Fn remainder \*(If 0
 | |
| are invalid operations that produce a \*(Na.
 | |
| .Pp
 | |
| .Fn scalbn
 | |
| returns
 | |
| .Fa x Ns \(**(2** Ns Fa n )
 | |
| computed by exponent manipulation.
 | |
| .Sh SEE ALSO
 | |
| .Xr math 3
 | |
| .Sh STANDARDS
 | |
| .St -ieee754
 | |
| .Sh HISTORY
 | |
| The
 | |
| .Nm ieee
 | |
| functions appeared in
 | |
| .Bx 4.3 .
 |