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 337f3dea24SPeter Wemm.\" $FreeBSD$ 343a8617a8SJordan K. Hubbard.\" 352f90a15eSDavid Schultz.Dd June 20, 2004 363a8617a8SJordan K. Hubbard.Dt IEEE 3 373a8617a8SJordan K. Hubbard.Os 383a8617a8SJordan K. Hubbard.Sh NAME 393a8617a8SJordan K. Hubbard.Nm copysign , 407a15a32aSJordan K. Hubbard.Nm copysignf , 41b60cb13fSStefan Farfeleder.Nm copysignl , 423a8617a8SJordan K. Hubbard.Nm finite , 437a15a32aSJordan K. Hubbard.Nm finitef , 443a8617a8SJordan K. Hubbard.Nm ilogb , 457a15a32aSJordan K. Hubbard.Nm ilogbf , 462fd3a32eSStefan Farfeleder.Nm ilogbl , 473a8617a8SJordan K. Hubbard.Nm nextafter , 487a15a32aSJordan K. Hubbard.Nm nextafterf , 493a8617a8SJordan K. Hubbard.Nm remainder , 507a15a32aSJordan K. Hubbard.Nm remainderf , 512f90a15eSDavid Schultz.Nm scalbln , 522f90a15eSDavid Schultz.Nm scalblnf , 537a15a32aSJordan K. Hubbard.Nm scalbn , 547a15a32aSJordan K. Hubbard.Nm scalbnf 55eb083802SRuslan Ermilov.Nd functions for IEEE arithmetic 5664890443SBruce Evans.Sh LIBRARY 5764890443SBruce Evans.Lb libm 583a8617a8SJordan K. Hubbard.Sh SYNOPSIS 5932eef9aeSRuslan Ermilov.In math.h 603a8617a8SJordan K. Hubbard.Ft double 613a8617a8SJordan K. Hubbard.Fn copysign "double x" "double y" 627a15a32aSJordan K. Hubbard.Ft float 637a15a32aSJordan K. Hubbard.Fn copysignf "float x" "float y" 64b60cb13fSStefan Farfeleder.Ft long double 65b60cb13fSStefan Farfeleder.Fn copysignl "long double x" "long double y" 663a8617a8SJordan K. Hubbard.Ft int 673a8617a8SJordan K. Hubbard.Fn finite "double x" 683a8617a8SJordan K. Hubbard.Ft int 697a15a32aSJordan K. Hubbard.Fn finitef "float x" 707a15a32aSJordan K. Hubbard.Ft int 713a8617a8SJordan K. Hubbard.Fn ilogb "double x" 727a15a32aSJordan K. Hubbard.Ft int 737a15a32aSJordan K. Hubbard.Fn ilogbf "float x" 742fd3a32eSStefan Farfeleder.Ft int 752fd3a32eSStefan Farfeleder.Fn ilogbl "long double x" 763a8617a8SJordan K. Hubbard.Ft double 773a8617a8SJordan K. Hubbard.Fn nextafter "double x" "double y" 787a15a32aSJordan K. Hubbard.Ft float 797a15a32aSJordan K. Hubbard.Fn nextafterf "float x" "float y" 803a8617a8SJordan K. Hubbard.Ft double 813a8617a8SJordan K. Hubbard.Fn remainder "double x" "double y" 827a15a32aSJordan K. Hubbard.Ft float 837a15a32aSJordan K. Hubbard.Fn remainderf "float x" "float y" 843a8617a8SJordan K. Hubbard.Ft double 852f90a15eSDavid Schultz.Fn scalbln "double x" "long n" 862f90a15eSDavid Schultz.Ft float 872f90a15eSDavid Schultz.Fn scalblnf "float x" "long n" 882f90a15eSDavid Schultz.Ft double 893a8617a8SJordan K. Hubbard.Fn scalbn "double x" "int n" 907a15a32aSJordan K. Hubbard.Ft float 917a15a32aSJordan K. Hubbard.Fn scalbnf "float x" "int n" 923a8617a8SJordan K. Hubbard.Sh DESCRIPTION 933a8617a8SJordan K. HubbardThese functions are required or recommended by 943a8617a8SJordan K. Hubbard.St -ieee754 . 953a8617a8SJordan K. Hubbard.Pp 96862b46f6SRuslan ErmilovThe 97b60cb13fSStefan Farfeleder.Fn copysign , 987a15a32aSJordan K. Hubbard.Fn copysignf 99b60cb13fSStefan Farfelederand 100b60cb13fSStefan Farfeleder.Fn copysignl 101862b46f6SRuslan Ermilovfunctions 1027a15a32aSJordan K. Hubbardreturn 1033a8617a8SJordan K. Hubbard.Fa x 1043a8617a8SJordan K. Hubbardwith its sign changed to 1053a8617a8SJordan K. Hubbard.Fa y Ns 's . 1063a8617a8SJordan K. Hubbard.Pp 1073a8617a8SJordan K. Hubbard.Fn finite 1087a15a32aSJordan K. Hubbardand 1097a15a32aSJordan K. Hubbard.Fn finitef 1107a15a32aSJordan K. Hubbardreturn the value 1 just when 1113a8617a8SJordan K. Hubbard\-\*(If \*(Lt 1123a8617a8SJordan K. Hubbard.Fa x 1133a8617a8SJordan K. Hubbard\*(Lt +\*(If; 1143a8617a8SJordan K. Hubbardotherwise a 1153a8617a8SJordan K. Hubbardzero is returned 1163a8617a8SJordan K. Hubbard(when 1173a8617a8SJordan K. Hubbard.Pf \\*(Ba Ns Fa x Ns \\*(Ba 1183a8617a8SJordan K. Hubbard= \*(If or 1193a8617a8SJordan K. Hubbard.Fa x 120211feb61SDima Dorfmanis \*(Na). 1213a8617a8SJordan K. Hubbard.Pp 1222fd3a32eSStefan Farfeleder.Fn ilogb , 1237a15a32aSJordan K. Hubbard.Fn ilogbf 1242fd3a32eSStefan Farfelederand 1252fd3a32eSStefan Farfeleder.Fn ilogbl 1267a15a32aSJordan K. Hubbardreturn 127211feb61SDima Dorfman.Fa x Ns 's exponent, 1283a8617a8SJordan K. Hubbardin integer format. 1293a8617a8SJordan K. Hubbard.Fn ilogb \*(Pm\*(If 1303a8617a8SJordan K. Hubbardreturns 13132ef5abfSStefan Farfeleder.Dv INT_MAX , 13232ef5abfSStefan Farfeleder.Fn ilogb \*(Pm\*(Na 13332ef5abfSStefan Farfelederreturns 13432ef5abfSStefan Farfeleder.Dv FP_ILOGBNAN 1353a8617a8SJordan K. Hubbardand 1363a8617a8SJordan K. Hubbard.Fn ilogb 0 1373a8617a8SJordan K. Hubbardreturns 13832ef5abfSStefan Farfeleder.Dv FP_ILOGB0 . 1393a8617a8SJordan K. Hubbard.Pp 1403a8617a8SJordan K. Hubbard.Fn nextafter 1417a15a32aSJordan K. Hubbardand 1427a15a32aSJordan K. Hubbard.Fn nextafterf 1437a15a32aSJordan K. Hubbardreturn the next machine representable number from 1443a8617a8SJordan K. Hubbard.Fa x 1453a8617a8SJordan K. Hubbardin direction 1463a8617a8SJordan K. Hubbard.Fa y . 1473a8617a8SJordan K. Hubbard.Pp 1483a8617a8SJordan K. Hubbard.Fn remainder 1497a15a32aSJordan K. Hubbardand 1507a15a32aSJordan K. Hubbard.Fn remainderf 1517a15a32aSJordan K. Hubbardreturn the remainder 1523a8617a8SJordan K. Hubbard.Fa r 1533a8617a8SJordan K. Hubbard:= 1543a8617a8SJordan K. Hubbard.Fa x 1553a8617a8SJordan K. Hubbard\- 1563a8617a8SJordan K. Hubbard.Fa n\(**y 1573a8617a8SJordan K. Hubbardwhere 1583a8617a8SJordan K. Hubbard.Fa n 1593a8617a8SJordan K. Hubbardis the integer nearest the exact value of 1603a8617a8SJordan K. Hubbard.Bk -words 1613a8617a8SJordan K. Hubbard.Fa x Ns / Ns Fa y ; 1623a8617a8SJordan K. Hubbard.Ek 1633a8617a8SJordan K. Hubbardmoreover if 1643a8617a8SJordan K. Hubbard.Pf \\*(Ba Fa n 1653a8617a8SJordan K. Hubbard\- 1663a8617a8SJordan K. Hubbard.Sm off 1673a8617a8SJordan K. Hubbard.Fa x No / Fa y No \\*(Ba 1683a8617a8SJordan K. Hubbard.Sm on 1693a8617a8SJordan K. Hubbard= 1703a8617a8SJordan K. Hubbard1/2 1713a8617a8SJordan K. Hubbardthen 1723a8617a8SJordan K. Hubbard.Fa n 1731a0a9345SRuslan Ermilovis even. 1741a0a9345SRuslan ErmilovConsequently 1753a8617a8SJordan K. Hubbardthe remainder is computed exactly and 1763a8617a8SJordan K. Hubbard.Sm off 1773a8617a8SJordan K. Hubbard.Pf \\*(Ba Fa r No \\*(Ba 1783a8617a8SJordan K. Hubbard.Sm on 1793a8617a8SJordan K. Hubbard\*(Le 1803a8617a8SJordan K. Hubbard.Sm off 1813a8617a8SJordan K. Hubbard.Pf \\*(Ba Fa y No \\*(Ba/2 . 1823a8617a8SJordan K. Hubbard.Sm on 1833a8617a8SJordan K. HubbardBut 1843a8617a8SJordan K. Hubbard.Fn remainder x 0 1853a8617a8SJordan K. Hubbardand 1863a8617a8SJordan K. Hubbard.Fn remainder \*(If 0 1873a8617a8SJordan K. Hubbardare invalid operations that produce a \*(Na. 1883a8617a8SJordan K. Hubbard.Pp 1892f90a15eSDavid Schultz.Fn scalbln , 1902f90a15eSDavid Schultz.Fn scalblnf , 1912f90a15eSDavid Schultz.Fn scalbn , 1927a15a32aSJordan K. Hubbardand 1937a15a32aSJordan K. Hubbard.Fn scalbnf 1947a15a32aSJordan K. Hubbardreturn 1953a8617a8SJordan K. Hubbard.Fa x Ns \(**(2** Ns Fa n ) 1963a8617a8SJordan K. Hubbardcomputed by exponent manipulation. 1973a8617a8SJordan K. Hubbard.Sh SEE ALSO 1983a8617a8SJordan K. Hubbard.Xr math 3 19924a0682cSRuslan Ermilov.Sh STANDARDS 20024a0682cSRuslan Ermilov.St -ieee754 2013a8617a8SJordan K. Hubbard.Sh HISTORY 2023a8617a8SJordan K. HubbardThe 2033a8617a8SJordan K. Hubbard.Nm ieee 2043a8617a8SJordan K. Hubbardfunctions appeared in 2053a8617a8SJordan K. Hubbard.Bx 4.3 . 206b60cb13fSStefan FarfelederThe 2072f90a15eSDavid Schultz.Fn copysignl , 2082f90a15eSDavid Schultz.Fn scalbln , 2092f90a15eSDavid Schultzand 2102f90a15eSDavid Schultz.Fn scalblnf 2112f90a15eSDavid Schultzfunctions first appeared in 212b60cb13fSStefan Farfeleder.Fx 5.3 . 213