129bf6af8SDavid Schultz.\" Copyright (c) 1985, 1991 Regents of the University of California. 229bf6af8SDavid Schultz.\" All rights reserved. 329bf6af8SDavid Schultz.\" 429bf6af8SDavid Schultz.\" Redistribution and use in source and binary forms, with or without 529bf6af8SDavid Schultz.\" modification, are permitted provided that the following conditions 629bf6af8SDavid Schultz.\" are met: 729bf6af8SDavid Schultz.\" 1. Redistributions of source code must retain the above copyright 829bf6af8SDavid Schultz.\" notice, this list of conditions and the following disclaimer. 929bf6af8SDavid Schultz.\" 2. Redistributions in binary form must reproduce the above copyright 1029bf6af8SDavid Schultz.\" notice, this list of conditions and the following disclaimer in the 1129bf6af8SDavid Schultz.\" documentation and/or other materials provided with the distribution. 12*fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors 1329bf6af8SDavid Schultz.\" may be used to endorse or promote products derived from this software 1429bf6af8SDavid Schultz.\" without specific prior written permission. 1529bf6af8SDavid Schultz.\" 1629bf6af8SDavid Schultz.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1729bf6af8SDavid Schultz.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1829bf6af8SDavid Schultz.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1929bf6af8SDavid Schultz.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2029bf6af8SDavid Schultz.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2129bf6af8SDavid Schultz.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2229bf6af8SDavid Schultz.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2329bf6af8SDavid Schultz.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2429bf6af8SDavid Schultz.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2529bf6af8SDavid Schultz.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2629bf6af8SDavid Schultz.\" SUCH DAMAGE. 2729bf6af8SDavid Schultz.\" 2829bf6af8SDavid Schultz.\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91 2929bf6af8SDavid Schultz.\" $FreeBSD$ 3029bf6af8SDavid Schultz.\" 316821aba9SDavid Schultz.Dd December 16, 2007 3229bf6af8SDavid Schultz.Dt ILOGB 3 3329bf6af8SDavid Schultz.Os 3429bf6af8SDavid Schultz.Sh NAME 3529bf6af8SDavid Schultz.Nm ilogb , 3629bf6af8SDavid Schultz.Nm ilogbf , 3732948b81SBruce Evans.Nm ilogbl , 3832948b81SBruce Evans.Nm logb , 396821aba9SDavid Schultz.Nm logbf , 406821aba9SDavid Schultz.Nm logbl 4129bf6af8SDavid Schultz.Nd extract exponent 4229bf6af8SDavid Schultz.Sh LIBRARY 4329bf6af8SDavid Schultz.Lb libm 4429bf6af8SDavid Schultz.Sh SYNOPSIS 4529bf6af8SDavid Schultz.In math.h 4629bf6af8SDavid Schultz.Ft int 4729bf6af8SDavid Schultz.Fn ilogb "double x" 4829bf6af8SDavid Schultz.Ft int 4929bf6af8SDavid Schultz.Fn ilogbf "float x" 5029bf6af8SDavid Schultz.Ft int 5129bf6af8SDavid Schultz.Fn ilogbl "long double x" 5232948b81SBruce Evans.Ft double 5332948b81SBruce Evans.Fn logb "double x" 5432948b81SBruce Evans.Ft float 5532948b81SBruce Evans.Fn logbf "float x" 566821aba9SDavid Schultz.Ft long double 576821aba9SDavid Schultz.Fn logbl "long double x" 5829bf6af8SDavid Schultz.Sh DESCRIPTION 5929bf6af8SDavid Schultz.Fn ilogb , 6029bf6af8SDavid Schultz.Fn ilogbf 6129bf6af8SDavid Schultzand 6229bf6af8SDavid Schultz.Fn ilogbl 6329bf6af8SDavid Schultzreturn 6432948b81SBruce Evans.Fa x Ns 's exponent 6529bf6af8SDavid Schultzin integer format. 6629bf6af8SDavid Schultz.Fn ilogb \*(Pm\*(If 6729bf6af8SDavid Schultzreturns 6829bf6af8SDavid Schultz.Dv INT_MAX , 6929bf6af8SDavid Schultz.Fn ilogb \*(Pm\*(Na 7029bf6af8SDavid Schultzreturns 7132948b81SBruce Evans.Dv FP_ILOGBNAN , 7229bf6af8SDavid Schultzand 7329bf6af8SDavid Schultz.Fn ilogb 0 7429bf6af8SDavid Schultzreturns 7529bf6af8SDavid Schultz.Dv FP_ILOGB0 . 7632948b81SBruce Evans.Pp 776821aba9SDavid Schultz.Fn logb x , 786821aba9SDavid Schultz.Fn logbf x , 7932948b81SBruce Evansand 806821aba9SDavid Schultz.Fn logbl x 8132948b81SBruce Evansreturn 8232948b81SBruce Evans.Fa x Ns 's exponent 8332948b81SBruce Evansin floating\-point format with the same precision as 8432948b81SBruce Evans.Fa x . 8532948b81SBruce Evans.Fn logb \*(Pm\*(If 8632948b81SBruce Evansreturns +\*(If, and 8732948b81SBruce Evans.Fn logb 0 8832948b81SBruce Evansreturns -\*(If with a division by zero exception. 8929bf6af8SDavid Schultz.Sh SEE ALSO 9029bf6af8SDavid Schultz.Xr frexp 3 , 9129bf6af8SDavid Schultz.Xr ieee 3 , 9229bf6af8SDavid Schultz.Xr math 3 , 9329bf6af8SDavid Schultz.Xr scalbn 3 9429bf6af8SDavid Schultz.Sh STANDARDS 9529bf6af8SDavid SchultzThe 9629bf6af8SDavid Schultz.Fn ilogb , 9729bf6af8SDavid Schultz.Fn ilogbf , 9832948b81SBruce Evans.Fn ilogbl , 996821aba9SDavid Schultz.Fn logb , 1006821aba9SDavid Schultz.Fn logbf , 10129bf6af8SDavid Schultzand 1026821aba9SDavid Schultz.Fn logbl 10329bf6af8SDavid Schultzroutines conform to 10429bf6af8SDavid Schultz.St -isoC-99 . 1056821aba9SDavid SchultzThe latter three 10632948b81SBruce Evansimplement the logb function recommended by 10729bf6af8SDavid Schultz.St -ieee754 . 10829bf6af8SDavid Schultz.Sh HISTORY 1096821aba9SDavid Schultz.Bl -tag -width "Function " -compact 1106821aba9SDavid Schultz.It Em Function 1116821aba9SDavid Schultz.Em "First Appeared In" 1126821aba9SDavid Schultz.It Fn logb 1136821aba9SDavid Schultz.Bx 4.3 1146821aba9SDavid Schultz.It Fn ilogb 1156821aba9SDavid Schultz.Fx 1.1.5 1166821aba9SDavid Schultz.It Fn ilogbf 1176821aba9SDavid Schultz.Fx 2.0 1186821aba9SDavid Schultz.It Fn logbf 1196821aba9SDavid Schultz.Fx 2.0 1206821aba9SDavid Schultz.It Fn ilogbl 1216821aba9SDavid Schultz.Fx 5.4 1226821aba9SDavid Schultz.It Fn logbl 1236821aba9SDavid Schultz.Fx 8.0 1246821aba9SDavid Schultz.El 125