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.\" 286821aba9SDavid Schultz.Dd December 16, 2007 2929bf6af8SDavid Schultz.Dt ILOGB 3 3029bf6af8SDavid Schultz.Os 3129bf6af8SDavid Schultz.Sh NAME 3229bf6af8SDavid Schultz.Nm ilogb , 3329bf6af8SDavid Schultz.Nm ilogbf , 3432948b81SBruce Evans.Nm ilogbl , 3532948b81SBruce Evans.Nm logb , 366821aba9SDavid Schultz.Nm logbf , 376821aba9SDavid Schultz.Nm logbl 3829bf6af8SDavid Schultz.Nd extract exponent 3929bf6af8SDavid Schultz.Sh LIBRARY 4029bf6af8SDavid Schultz.Lb libm 4129bf6af8SDavid Schultz.Sh SYNOPSIS 4229bf6af8SDavid Schultz.In math.h 4329bf6af8SDavid Schultz.Ft int 4429bf6af8SDavid Schultz.Fn ilogb "double x" 4529bf6af8SDavid Schultz.Ft int 4629bf6af8SDavid Schultz.Fn ilogbf "float x" 4729bf6af8SDavid Schultz.Ft int 4829bf6af8SDavid Schultz.Fn ilogbl "long double x" 4932948b81SBruce Evans.Ft double 5032948b81SBruce Evans.Fn logb "double x" 5132948b81SBruce Evans.Ft float 5232948b81SBruce Evans.Fn logbf "float x" 536821aba9SDavid Schultz.Ft long double 546821aba9SDavid Schultz.Fn logbl "long double x" 5529bf6af8SDavid Schultz.Sh DESCRIPTION 5629bf6af8SDavid Schultz.Fn ilogb , 5729bf6af8SDavid Schultz.Fn ilogbf 5829bf6af8SDavid Schultzand 5929bf6af8SDavid Schultz.Fn ilogbl 6029bf6af8SDavid Schultzreturn 6132948b81SBruce Evans.Fa x Ns 's exponent 6229bf6af8SDavid Schultzin integer format. 6329bf6af8SDavid Schultz.Fn ilogb \*(Pm\*(If 6429bf6af8SDavid Schultzreturns 6529bf6af8SDavid Schultz.Dv INT_MAX , 6629bf6af8SDavid Schultz.Fn ilogb \*(Pm\*(Na 6729bf6af8SDavid Schultzreturns 6832948b81SBruce Evans.Dv FP_ILOGBNAN , 6929bf6af8SDavid Schultzand 7029bf6af8SDavid Schultz.Fn ilogb 0 7129bf6af8SDavid Schultzreturns 7229bf6af8SDavid Schultz.Dv FP_ILOGB0 . 7332948b81SBruce Evans.Pp 746821aba9SDavid Schultz.Fn logb x , 756821aba9SDavid Schultz.Fn logbf x , 7632948b81SBruce Evansand 776821aba9SDavid Schultz.Fn logbl x 7832948b81SBruce Evansreturn 7932948b81SBruce Evans.Fa x Ns 's exponent 8032948b81SBruce Evansin floating\-point format with the same precision as 8132948b81SBruce Evans.Fa x . 8232948b81SBruce Evans.Fn logb \*(Pm\*(If 8332948b81SBruce Evansreturns +\*(If, and 8432948b81SBruce Evans.Fn logb 0 8532948b81SBruce Evansreturns -\*(If with a division by zero exception. 8629bf6af8SDavid Schultz.Sh SEE ALSO 8729bf6af8SDavid Schultz.Xr frexp 3 , 8829bf6af8SDavid Schultz.Xr ieee 3 , 8929bf6af8SDavid Schultz.Xr math 3 , 9029bf6af8SDavid Schultz.Xr scalbn 3 9129bf6af8SDavid Schultz.Sh STANDARDS 9229bf6af8SDavid SchultzThe 9329bf6af8SDavid Schultz.Fn ilogb , 9429bf6af8SDavid Schultz.Fn ilogbf , 9532948b81SBruce Evans.Fn ilogbl , 966821aba9SDavid Schultz.Fn logb , 976821aba9SDavid Schultz.Fn logbf , 9829bf6af8SDavid Schultzand 996821aba9SDavid Schultz.Fn logbl 10029bf6af8SDavid Schultzroutines conform to 10129bf6af8SDavid Schultz.St -isoC-99 . 1026821aba9SDavid SchultzThe latter three 10332948b81SBruce Evansimplement the logb function recommended by 10429bf6af8SDavid Schultz.St -ieee754 . 10529bf6af8SDavid Schultz.Sh HISTORY 1066821aba9SDavid Schultz.Bl -tag -width "Function " -compact 1076821aba9SDavid Schultz.It Em Function 1086821aba9SDavid Schultz.Em "First Appeared In" 1096821aba9SDavid Schultz.It Fn logb 1106821aba9SDavid Schultz.Bx 4.3 1116821aba9SDavid Schultz.It Fn ilogb 1126821aba9SDavid Schultz.Fx 1.1.5 1136821aba9SDavid Schultz.It Fn ilogbf 1146821aba9SDavid Schultz.Fx 2.0 1156821aba9SDavid Schultz.It Fn logbf 1166821aba9SDavid Schultz.Fx 2.0 1176821aba9SDavid Schultz.It Fn ilogbl 1186821aba9SDavid Schultz.Fx 5.4 1196821aba9SDavid Schultz.It Fn logbl 1206821aba9SDavid Schultz.Fx 8.0 1216821aba9SDavid Schultz.El 122