1*5bf4abd5Sderaadt /* $OpenBSD: _float.h,v 1.1 2012/06/26 16:12:43 deraadt Exp $ */ 2*5bf4abd5Sderaadt 3*5bf4abd5Sderaadt /* 4*5bf4abd5Sderaadt * Copyright (c) 1992, 1993 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. All advertising materials mentioning features or use of this software 25*5bf4abd5Sderaadt * must display the following acknowledgement: 26*5bf4abd5Sderaadt * This product includes software developed by the University of 27*5bf4abd5Sderaadt * California, Berkeley and its contributors. 28*5bf4abd5Sderaadt * 4. Neither the name of the University nor the names of its contributors 29*5bf4abd5Sderaadt * may be used to endorse or promote products derived from this software 30*5bf4abd5Sderaadt * without specific prior written permission. 31*5bf4abd5Sderaadt * 32*5bf4abd5Sderaadt * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 33*5bf4abd5Sderaadt * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 34*5bf4abd5Sderaadt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 35*5bf4abd5Sderaadt * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 36*5bf4abd5Sderaadt * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37*5bf4abd5Sderaadt * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38*5bf4abd5Sderaadt * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39*5bf4abd5Sderaadt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 40*5bf4abd5Sderaadt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 41*5bf4abd5Sderaadt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 42*5bf4abd5Sderaadt * SUCH DAMAGE. 43*5bf4abd5Sderaadt */ 44*5bf4abd5Sderaadt 45*5bf4abd5Sderaadt #ifndef _MACHINE__FLOAT_H_ 46*5bf4abd5Sderaadt #define _MACHINE__FLOAT_H_ 47*5bf4abd5Sderaadt 48*5bf4abd5Sderaadt #define __FLT_RADIX 2 /* b */ 49*5bf4abd5Sderaadt #define __FLT_ROUNDS __flt_rounds() 50*5bf4abd5Sderaadt #define __FLT_EVAL_METHOD 0 /* no promotions */ 51*5bf4abd5Sderaadt 52*5bf4abd5Sderaadt #define __FLT_MANT_DIG 24 /* p */ 53*5bf4abd5Sderaadt #define __FLT_EPSILON 1.19209290E-7F /* b**(1-p) */ 54*5bf4abd5Sderaadt #define __FLT_DIG 6 /* floor((p-1)*log10(b))+(b == 10) */ 55*5bf4abd5Sderaadt #define __FLT_MIN_EXP (-125) /* emin */ 56*5bf4abd5Sderaadt #define __FLT_MIN 1.17549435E-38F /* b**(emin-1) */ 57*5bf4abd5Sderaadt #define __FLT_MIN_10_EXP (-37) /* ceil(log10(b**(emin-1))) */ 58*5bf4abd5Sderaadt #define __FLT_MAX_EXP 128 /* emax */ 59*5bf4abd5Sderaadt #define __FLT_MAX 3.40282347E+38F /* (1-b**(-p))*b**emax */ 60*5bf4abd5Sderaadt #define __FLT_MAX_10_EXP 38 /* floor(log10((1-b**(-p))*b**emax)) */ 61*5bf4abd5Sderaadt 62*5bf4abd5Sderaadt #define __DBL_MANT_DIG 53 63*5bf4abd5Sderaadt #define __DBL_EPSILON 2.2204460492503131E-16 64*5bf4abd5Sderaadt #define __DBL_DIG 15 65*5bf4abd5Sderaadt #define __DBL_MIN_EXP (-1021) 66*5bf4abd5Sderaadt #define __DBL_MIN 2.2250738585072014E-308 67*5bf4abd5Sderaadt #define __DBL_MIN_10_EXP (-307) 68*5bf4abd5Sderaadt #define __DBL_MAX_EXP 1024 69*5bf4abd5Sderaadt #define __DBL_MAX 1.7976931348623157E+308 70*5bf4abd5Sderaadt #define __DBL_MAX_10_EXP 308 71*5bf4abd5Sderaadt 72*5bf4abd5Sderaadt #define __LDBL_MANT_DIG DBL_MANT_DIG 73*5bf4abd5Sderaadt #define __LDBL_EPSILON DBL_EPSILON 74*5bf4abd5Sderaadt #define __LDBL_DIG DBL_DIG 75*5bf4abd5Sderaadt #define __LDBL_MIN_EXP DBL_MIN_EXP 76*5bf4abd5Sderaadt #define __LDBL_MIN DBL_MIN 77*5bf4abd5Sderaadt #define __LDBL_MIN_10_EXP DBL_MIN_10_EXP 78*5bf4abd5Sderaadt #define __LDBL_MAX_EXP DBL_MAX_EXP 79*5bf4abd5Sderaadt #define __LDBL_MAX DBL_MAX 80*5bf4abd5Sderaadt #define __LDBL_MAX_10_EXP DBL_MAX_10_EXP 81*5bf4abd5Sderaadt 82*5bf4abd5Sderaadt #define __DECIMAL_DIG 17 83*5bf4abd5Sderaadt 84*5bf4abd5Sderaadt #endif /* _MACHINE__FLOAT_H_ */ 85