1*5bf4abd5Sderaadt /* $OpenBSD: _float.h,v 1.1 2012/06/26 16:12:45 deraadt Exp $ */ 2*5bf4abd5Sderaadt 3*5bf4abd5Sderaadt /* 4*5bf4abd5Sderaadt * Copyright (c) 1992, 1993, 2001 5*5bf4abd5Sderaadt * The Regents of the University of California. All rights reserved. 6*5bf4abd5Sderaadt * 7*5bf4abd5Sderaadt * This software was developed by the Computer Systems Engineering group 8*5bf4abd5Sderaadt * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and 9*5bf4abd5Sderaadt * contributed to Berkeley. 10*5bf4abd5Sderaadt * 11*5bf4abd5Sderaadt * All advertising materials mentioning features or use of this software 12*5bf4abd5Sderaadt * must display the following acknowledgement: 13*5bf4abd5Sderaadt * This product includes software developed by the University of 14*5bf4abd5Sderaadt * California, Lawrence Berkeley Laboratory. 15*5bf4abd5Sderaadt * 16*5bf4abd5Sderaadt * Redistribution and use in source and binary forms, with or without 17*5bf4abd5Sderaadt * modification, are permitted provided that the following conditions 18*5bf4abd5Sderaadt * are met: 19*5bf4abd5Sderaadt * 1. Redistributions of source code must retain the above copyright 20*5bf4abd5Sderaadt * notice, this list of conditions and the following disclaimer. 21*5bf4abd5Sderaadt * 2. Redistributions in binary form must reproduce the above copyright 22*5bf4abd5Sderaadt * notice, this list of conditions and the following disclaimer in the 23*5bf4abd5Sderaadt * documentation and/or other materials provided with the distribution. 24*5bf4abd5Sderaadt * 3. Neither the name of the University nor the names of its contributors 25*5bf4abd5Sderaadt * may be used to endorse or promote products derived from this software 26*5bf4abd5Sderaadt * without specific prior written permission. 27*5bf4abd5Sderaadt * 28*5bf4abd5Sderaadt * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 29*5bf4abd5Sderaadt * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 30*5bf4abd5Sderaadt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 31*5bf4abd5Sderaadt * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 32*5bf4abd5Sderaadt * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33*5bf4abd5Sderaadt * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34*5bf4abd5Sderaadt * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35*5bf4abd5Sderaadt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36*5bf4abd5Sderaadt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37*5bf4abd5Sderaadt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38*5bf4abd5Sderaadt * SUCH DAMAGE. 39*5bf4abd5Sderaadt */ 40*5bf4abd5Sderaadt 41*5bf4abd5Sderaadt #ifndef _MACHINE__FLOAT_H_ 42*5bf4abd5Sderaadt #define _MACHINE__FLOAT_H_ 43*5bf4abd5Sderaadt 44*5bf4abd5Sderaadt #define __FLT_RADIX 2 /* b */ 45*5bf4abd5Sderaadt #define __FLT_ROUNDS __flt_rounds() 46*5bf4abd5Sderaadt #define __FLT_EVAL_METHOD 0 /* no promotions */ 47*5bf4abd5Sderaadt 48*5bf4abd5Sderaadt #define __FLT_MANT_DIG 24 /* p */ 49*5bf4abd5Sderaadt #define __FLT_EPSILON 1.19209290E-07F /* b**(1-p) */ 50*5bf4abd5Sderaadt #define __FLT_DIG 6 /* floor((p-1)*log10(b))+(b == 10) */ 51*5bf4abd5Sderaadt #define __FLT_MIN_EXP -125 /* emin */ 52*5bf4abd5Sderaadt #define __FLT_MIN 1.17549435E-38F /* b**(emin-1) */ 53*5bf4abd5Sderaadt #define __FLT_MIN_10_EXP -37 /* ceil(log10(b**(emin-1))) */ 54*5bf4abd5Sderaadt #define __FLT_MAX_EXP 128 /* emax */ 55*5bf4abd5Sderaadt #define __FLT_MAX 3.40282347E+38F /* (1-b**(-p))*b**emax */ 56*5bf4abd5Sderaadt #define __FLT_MAX_10_EXP 38 /* floor(log10((1-b**(-p))*b**emax)) */ 57*5bf4abd5Sderaadt 58*5bf4abd5Sderaadt #define __DBL_MANT_DIG 53 59*5bf4abd5Sderaadt #define __DBL_EPSILON 2.2204460492503131E-16 60*5bf4abd5Sderaadt #define __DBL_DIG 15 61*5bf4abd5Sderaadt #define __DBL_MIN_EXP -1021 62*5bf4abd5Sderaadt #define __DBL_MIN 2.2250738585072014E-308 63*5bf4abd5Sderaadt #define __DBL_MIN_10_EXP -307 64*5bf4abd5Sderaadt #define __DBL_MAX_EXP 1024 65*5bf4abd5Sderaadt #define __DBL_MAX 1.7976931348623157E+308 66*5bf4abd5Sderaadt #define __DBL_MAX_10_EXP 308 67*5bf4abd5Sderaadt 68*5bf4abd5Sderaadt #define __LDBL_MANT_DIG 113 69*5bf4abd5Sderaadt #define __LDBL_EPSILON 1.925929944387235853055977942584927319E-34L 70*5bf4abd5Sderaadt #define __LDBL_DIG 33 71*5bf4abd5Sderaadt #define __LDBL_MIN_EXP (-16381) 72*5bf4abd5Sderaadt #define __LDBL_MIN 3.362103143112093506262677817321752603E-4932L 73*5bf4abd5Sderaadt #define __LDBL_MIN_10_EXP (-4931) 74*5bf4abd5Sderaadt #define __LDBL_MAX_EXP (+16384) 75*5bf4abd5Sderaadt #define __LDBL_MAX 1.189731495357231765085759326628007016E+4932L 76*5bf4abd5Sderaadt #define __LDBL_MAX_10_EXP (+4932) 77*5bf4abd5Sderaadt 78*5bf4abd5Sderaadt #define __DECIMAL_DIG 36 79*5bf4abd5Sderaadt 80*5bf4abd5Sderaadt #endif /* _MACHINE__FLOAT_H_ */ 81