xref: /freebsd/lib/msun/man/ieee.3 (revision 3a8617a83f16ffc9db4f96e1f0f21af94078e6b1)
13a8617a8SJordan K. Hubbard.\" Copyright (c) 1985, 1991 Regents of the University of California.
23a8617a8SJordan K. Hubbard.\" All rights reserved.
33a8617a8SJordan K. Hubbard.\"
43a8617a8SJordan K. Hubbard.\" Redistribution and use in source and binary forms, with or without
53a8617a8SJordan K. Hubbard.\" modification, are permitted provided that the following conditions
63a8617a8SJordan K. Hubbard.\" are met:
73a8617a8SJordan K. Hubbard.\" 1. Redistributions of source code must retain the above copyright
83a8617a8SJordan K. Hubbard.\"    notice, this list of conditions and the following disclaimer.
93a8617a8SJordan K. Hubbard.\" 2. Redistributions in binary form must reproduce the above copyright
103a8617a8SJordan K. Hubbard.\"    notice, this list of conditions and the following disclaimer in the
113a8617a8SJordan K. Hubbard.\"    documentation and/or other materials provided with the distribution.
123a8617a8SJordan K. Hubbard.\" 3. All advertising materials mentioning features or use of this software
133a8617a8SJordan K. Hubbard.\"    must display the following acknowledgement:
143a8617a8SJordan K. Hubbard.\"	This product includes software developed by the University of
153a8617a8SJordan K. Hubbard.\"	California, Berkeley and its contributors.
163a8617a8SJordan K. Hubbard.\" 4. Neither the name of the University nor the names of its contributors
173a8617a8SJordan K. Hubbard.\"    may be used to endorse or promote products derived from this software
183a8617a8SJordan K. Hubbard.\"    without specific prior written permission.
193a8617a8SJordan K. Hubbard.\"
203a8617a8SJordan K. Hubbard.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
213a8617a8SJordan K. Hubbard.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
223a8617a8SJordan K. Hubbard.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
233a8617a8SJordan K. Hubbard.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
243a8617a8SJordan K. Hubbard.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
253a8617a8SJordan K. Hubbard.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
263a8617a8SJordan K. Hubbard.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
273a8617a8SJordan K. Hubbard.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
283a8617a8SJordan K. Hubbard.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
293a8617a8SJordan K. Hubbard.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
303a8617a8SJordan K. Hubbard.\" SUCH DAMAGE.
313a8617a8SJordan K. Hubbard.\"
323a8617a8SJordan K. Hubbard.\"     from: @(#)ieee.3	6.4 (Berkeley) 5/6/91
333a8617a8SJordan K. Hubbard.\"	$Id: ieee.3,v 1.7 1994/03/10 18:15:07 jtc Exp $
343a8617a8SJordan K. Hubbard.\"
353a8617a8SJordan K. Hubbard.Dd Feb 25, 1994
363a8617a8SJordan K. Hubbard.Dt IEEE 3
373a8617a8SJordan K. Hubbard.Os
383a8617a8SJordan K. Hubbard.Sh NAME
393a8617a8SJordan K. Hubbard.Nm copysign ,
403a8617a8SJordan K. Hubbard.Nm finite ,
413a8617a8SJordan K. Hubbard.Nm ilogb ,
423a8617a8SJordan K. Hubbard.Nm nextafter ,
433a8617a8SJordan K. Hubbard.Nm remainder ,
443a8617a8SJordan K. Hubbard.Nm scalbn
453a8617a8SJordan K. Hubbard.Nd Functions for IEEE arithmetic
463a8617a8SJordan K. Hubbard.Sh SYNOPSIS
473a8617a8SJordan K. Hubbard.Fd #include <math.h>
483a8617a8SJordan K. Hubbard.Ft double
493a8617a8SJordan K. Hubbard.Fn copysign "double x" "double y"
503a8617a8SJordan K. Hubbard.Ft int
513a8617a8SJordan K. Hubbard.Fn finite "double x"
523a8617a8SJordan K. Hubbard.Ft int
533a8617a8SJordan K. Hubbard.Fn ilogb "double x"
543a8617a8SJordan K. Hubbard.Ft double
553a8617a8SJordan K. Hubbard.Fn nextafter "double x" "double y"
563a8617a8SJordan K. Hubbard.Ft double
573a8617a8SJordan K. Hubbard.Fn remainder "double x" "double y"
583a8617a8SJordan K. Hubbard.Ft double
593a8617a8SJordan K. Hubbard.Fn scalbn "double x" "int n"
603a8617a8SJordan K. Hubbard.Sh DESCRIPTION
613a8617a8SJordan K. HubbardThese functions are required or recommended by
623a8617a8SJordan K. Hubbard.St -ieee754 .
633a8617a8SJordan K. Hubbard.Pp
643a8617a8SJordan K. Hubbard.Fn copysign
653a8617a8SJordan K. Hubbardreturns
663a8617a8SJordan K. Hubbard.Fa x
673a8617a8SJordan K. Hubbardwith its sign changed to
683a8617a8SJordan K. Hubbard.Fa y Ns 's.
693a8617a8SJordan K. Hubbard.Pp
703a8617a8SJordan K. Hubbard.Fn finite
713a8617a8SJordan K. Hubbardreturns the value 1 just when
723a8617a8SJordan K. Hubbard\-\*(If \*(Lt
733a8617a8SJordan K. Hubbard.Fa x
743a8617a8SJordan K. Hubbard\*(Lt +\*(If;
753a8617a8SJordan K. Hubbardotherwise a
763a8617a8SJordan K. Hubbardzero is returned
773a8617a8SJordan K. Hubbard(when
783a8617a8SJordan K. Hubbard.Pf \\*(Ba Ns Fa x Ns \\*(Ba
793a8617a8SJordan K. Hubbard= \*(If or
803a8617a8SJordan K. Hubbard.Fa x
813a8617a8SJordan K. Hubbardis \*(Na
823a8617a8SJordan K. Hubbard.Pp
833a8617a8SJordan K. Hubbard.Fn ilogb
843a8617a8SJordan K. Hubbardreturns
853a8617a8SJordan K. Hubbard.Fa x Ns 's exponent
863a8617a8SJordan K. Hubbard.Fa n ,
873a8617a8SJordan K. Hubbardin integer format.
883a8617a8SJordan K. Hubbard.Fn ilogb \*(Pm\*(If
893a8617a8SJordan K. Hubbardreturns
903a8617a8SJordan K. Hubbard.Dv INT_MAX
913a8617a8SJordan K. Hubbardand
923a8617a8SJordan K. Hubbard.Fn ilogb 0
933a8617a8SJordan K. Hubbardreturns
943a8617a8SJordan K. Hubbard.Dv INT_MIN .
953a8617a8SJordan K. Hubbard.Pp
963a8617a8SJordan K. Hubbard.Fn nextafter
973a8617a8SJordan K. Hubbardreturns the next machine representable number from
983a8617a8SJordan K. Hubbard.Fa x
993a8617a8SJordan K. Hubbardin direction
1003a8617a8SJordan K. Hubbard.Fa y .
1013a8617a8SJordan K. Hubbard.Pp
1023a8617a8SJordan K. Hubbard.Fn remainder
1033a8617a8SJordan K. Hubbardreturns the remainder
1043a8617a8SJordan K. Hubbard.Fa r
1053a8617a8SJordan K. Hubbard:=
1063a8617a8SJordan K. Hubbard.Fa x
1073a8617a8SJordan K. Hubbard\-
1083a8617a8SJordan K. Hubbard.Fa n\(**y
1093a8617a8SJordan K. Hubbardwhere
1103a8617a8SJordan K. Hubbard.Fa n
1113a8617a8SJordan K. Hubbardis the integer nearest the exact value of
1123a8617a8SJordan K. Hubbard.Bk -words
1133a8617a8SJordan K. Hubbard.Fa x Ns / Ns Fa y ;
1143a8617a8SJordan K. Hubbard.Ek
1153a8617a8SJordan K. Hubbardmoreover if
1163a8617a8SJordan K. Hubbard.Pf \\*(Ba Fa n
1173a8617a8SJordan K. Hubbard\-
1183a8617a8SJordan K. Hubbard.Sm off
1193a8617a8SJordan K. Hubbard.Fa x No / Fa y No \\*(Ba
1203a8617a8SJordan K. Hubbard.Sm on
1213a8617a8SJordan K. Hubbard=
1223a8617a8SJordan K. Hubbard1/2
1233a8617a8SJordan K. Hubbardthen
1243a8617a8SJordan K. Hubbard.Fa n
1253a8617a8SJordan K. Hubbardis even.  Consequently
1263a8617a8SJordan K. Hubbardthe remainder is computed exactly and
1273a8617a8SJordan K. Hubbard.Sm off
1283a8617a8SJordan K. Hubbard.Pf \\*(Ba Fa r No \\*(Ba
1293a8617a8SJordan K. Hubbard.Sm on
1303a8617a8SJordan K. Hubbard\*(Le
1313a8617a8SJordan K. Hubbard.Sm off
1323a8617a8SJordan K. Hubbard.Pf \\*(Ba Fa y No \\*(Ba/2.
1333a8617a8SJordan K. Hubbard.Sm on
1343a8617a8SJordan K. HubbardBut
1353a8617a8SJordan K. Hubbard.Fn remainder x 0
1363a8617a8SJordan K. Hubbardand
1373a8617a8SJordan K. Hubbard.Fn remainder \*(If 0
1383a8617a8SJordan K. Hubbardare invalid operations that produce a \*(Na.
1393a8617a8SJordan K. Hubbard.Pp
1403a8617a8SJordan K. Hubbard.Fn scalbn
1413a8617a8SJordan K. Hubbardreturns
1423a8617a8SJordan K. Hubbard.Fa x Ns \(**(2** Ns Fa n )
1433a8617a8SJordan K. Hubbardcomputed by exponent manipulation.
1443a8617a8SJordan K. Hubbard.Sh SEE ALSO
1453a8617a8SJordan K. Hubbard.Xr math 3
1463a8617a8SJordan K. Hubbard.Sh HISTORY
1473a8617a8SJordan K. HubbardThe
1483a8617a8SJordan K. Hubbard.Nm ieee
1493a8617a8SJordan K. Hubbardfunctions appeared in
1503a8617a8SJordan K. Hubbard.Bx 4.3 .
1513a8617a8SJordan K. Hubbard.Sh STANDARDS
1523a8617a8SJordan K. Hubbard.St -ieee754
153