mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-03 09:00:21 +00:00
Add missing values.h (it isn't part of libg++ anymore) but it
accords ANSI standard, provides backward 1.x compatibility and used in many applications.
This commit is contained in:
parent
3b2b7f71de
commit
b817889f67
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=4247
16
gnu/include/Makefile
Normal file
16
gnu/include/Makefile
Normal file
@ -0,0 +1,16 @@
|
||||
# $Id: Makefile,v 1.19 1994/11/01 09:19:50 pst Exp $
|
||||
#
|
||||
all depend lint tags:
|
||||
|
||||
FILES= values.h
|
||||
NOOBJ= noobj
|
||||
|
||||
beforeinstall:
|
||||
@${ECHO} installing ${FILES}
|
||||
@-for i in ${FILES}; do \
|
||||
cmp -s $$i ${DESTDIR}/usr/include/$$i || \
|
||||
install -c -o ${BINOWN} -g ${BINGRP} -m 444 $$i \
|
||||
${DESTDIR}/usr/include/$$i; \
|
||||
done
|
||||
|
||||
.include <bsd.prog.mk>
|
173
gnu/include/values.h
Normal file
173
gnu/include/values.h
Normal file
@ -0,0 +1,173 @@
|
||||
/*
|
||||
Copyright (C) 1988 Free Software Foundation
|
||||
written by Doug Lea (dl@rocky.oswego.edu)
|
||||
|
||||
This file is part of the GNU C++ Library. This library is free
|
||||
software; you can redistribute it and/or modify it under the terms of
|
||||
the GNU Library General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your
|
||||
option) any later version. This library is distributed in the hope
|
||||
that it will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU Library General Public License for more details.
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _VALUES_H_
|
||||
#define _VALUES_H_
|
||||
|
||||
#define BITSPERBYTE 8
|
||||
#define BITS(type) (BITSPERBYTE * (int)sizeof(type))
|
||||
|
||||
#define CHARBITS BITS(char)
|
||||
#define SHORTBITS BITS(short)
|
||||
#define INTBITS BITS(int)
|
||||
#define LONGBITS BITS(long)
|
||||
#define PTRBITS BITS(char*)
|
||||
#define DOUBLEBITS BITS(double)
|
||||
#define FLOATBITS BITS(float)
|
||||
|
||||
#define MINSHORT ((short)(1 << (SHORTBITS - 1)))
|
||||
#define MININT (1 << (INTBITS - 1))
|
||||
#define MINLONG (1L << (LONGBITS - 1))
|
||||
|
||||
#define MAXSHORT ((short)~MINSHORT)
|
||||
#define MAXINT (~MININT)
|
||||
#define MAXLONG (~MINLONG)
|
||||
|
||||
#define HIBITS MINSHORT
|
||||
#define HIBITL MINLONG
|
||||
|
||||
#if defined(sun) || defined(hp300) || defined(hpux) || defined(masscomp) || defined(sgi)
|
||||
#ifdef masscomp
|
||||
#define MAXDOUBLE \
|
||||
({ \
|
||||
double maxdouble_val; \
|
||||
\
|
||||
__asm ("fmove%.d #0x7fefffffffffffff,%0" /* Max double */ \
|
||||
: "=f" (maxdouble_val) \
|
||||
: /* no inputs */); \
|
||||
maxdouble_val; \
|
||||
})
|
||||
#define MAXFLOAT ((float) 3.40e+38)
|
||||
#else
|
||||
#define MAXDOUBLE 1.79769313486231470e+308
|
||||
#define MAXFLOAT ((float)3.40282346638528860e+38)
|
||||
#endif
|
||||
#define MINDOUBLE 4.94065645841246544e-324
|
||||
#define MINFLOAT ((float)1.40129846432481707e-45)
|
||||
#define _IEEE 1
|
||||
#define _DEXPLEN 11
|
||||
#define _FEXPLEN 8
|
||||
#define _HIDDENBIT 1
|
||||
#define DMINEXP (-(DMAXEXP + DSIGNIF - _HIDDENBIT - 3))
|
||||
#define FMINEXP (-(FMAXEXP + FSIGNIF - _HIDDENBIT - 3))
|
||||
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
|
||||
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
|
||||
|
||||
#elif defined(sony)
|
||||
#define MAXDOUBLE 1.79769313486231470e+308
|
||||
#define MAXFLOAT ((float)3.40282346638528860e+38)
|
||||
#define MINDOUBLE 2.2250738585072010e-308
|
||||
#define MINFLOAT ((float)1.17549435e-38)
|
||||
#define _IEEE 1
|
||||
#define _DEXPLEN 11
|
||||
#define _FEXPLEN 8
|
||||
#define _HIDDENBIT 1
|
||||
#define DMINEXP (-(DMAXEXP + DSIGNIF - _HIDDENBIT - 3))
|
||||
#define FMINEXP (-(FMAXEXP + FSIGNIF - _HIDDENBIT - 3))
|
||||
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
|
||||
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
|
||||
|
||||
#elif defined(sequent)
|
||||
extern double _maxdouble, _mindouble;
|
||||
extern float _maxfloat, _minfloat;
|
||||
#define MAXDOUBLE _maxdouble
|
||||
#define MAXFLOAT _maxfloat
|
||||
#define MINDOUBLE _mindouble
|
||||
#define MINFLOAT _minfloat
|
||||
#define _IEEE 1
|
||||
#define _DEXPLEN 11
|
||||
#define _FEXPLEN 8
|
||||
#define _HIDDENBIT 1
|
||||
#define DMINEXP (-(DMAXEXP - 3))
|
||||
#define FMINEXP (-(FMAXEXP - 3))
|
||||
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
|
||||
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
|
||||
|
||||
#elif defined(i386)
|
||||
#define MAXDOUBLE 1.79769313486231570e+308
|
||||
#define MAXFLOAT ((float)3.40282346638528860e+38)
|
||||
#define MINDOUBLE 2.22507385850720140e-308
|
||||
#define MINFLOAT ((float)1.17549435082228750e-38)
|
||||
#define _IEEE 0
|
||||
#define _DEXPLEN 11
|
||||
#define _FEXPLEN 8
|
||||
#define _HIDDENBIT 1
|
||||
#define DMINEXP (-DMAXEXP)
|
||||
#define FMINEXP (-FMAXEXP)
|
||||
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
|
||||
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
|
||||
|
||||
/* from Andrew Klossner <andrew%frip.wv.tek.com@relay.cs.net> */
|
||||
#elif defined(m88k)
|
||||
/* These are "good" guesses ...
|
||||
I'll figure out the true mins and maxes later, at the time I find
|
||||
out the mins and maxes that the compiler can tokenize. */
|
||||
#define MAXDOUBLE 1.79769313486231e+308
|
||||
#define MAXFLOAT ((float)3.40282346638528e+38)
|
||||
#define MINDOUBLE 2.22507385850720e-308
|
||||
#define MINFLOAT ((float)1.17549435082228e-38)
|
||||
#define _IEEE 1
|
||||
#define _DEXPLEN 11
|
||||
#define _FEXPLEN 8
|
||||
#define _HIDDENBIT 1
|
||||
#define DMINEXP (1-DMAXEXP)
|
||||
#define FMINEXP (1-FMAXEXP)
|
||||
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
|
||||
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
|
||||
|
||||
#elif defined(convex)
|
||||
#define MAXDOUBLE 8.9884656743115785e+306
|
||||
#define MAXFLOAT ((float) 1.70141173e+38)
|
||||
#define MINDOUBLE 5.5626846462680035e-308
|
||||
#define MINFLOAT ((float) 2.93873588e-39)
|
||||
#define _IEEE 0
|
||||
#define _DEXPLEN 11
|
||||
#define _FEXPLEN 8
|
||||
#define _HIDDENBIT 1
|
||||
#define DMINEXP (-DMAXEXP)
|
||||
#define FMINEXP (-FMAXEXP)
|
||||
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
|
||||
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
|
||||
|
||||
/* #elif defined(vax) */
|
||||
/* use vax versions by default -- they seem to be the most conservative */
|
||||
#else
|
||||
|
||||
#define MAXDOUBLE 1.701411834604692293e+38
|
||||
#define MINDOUBLE (2.938735877055718770e-39)
|
||||
|
||||
#define MAXFLOAT 1.7014117331926443e+38
|
||||
#define MINFLOAT 2.9387358770557188e-39
|
||||
|
||||
#define _IEEE 0
|
||||
#define _DEXPLEN 8
|
||||
#define _FEXPLEN 8
|
||||
#define _HIDDENBIT 1
|
||||
#define DMINEXP (-DMAXEXP)
|
||||
#define FMINEXP (-FMAXEXP)
|
||||
#define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE)
|
||||
#define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE)
|
||||
#endif
|
||||
|
||||
#define DSIGNIF (DOUBLEBITS - _DEXPLEN + _HIDDENBIT - 1)
|
||||
#define FSIGNIF (FLOATBITS - _FEXPLEN + _HIDDENBIT - 1)
|
||||
#define DMAXPOWTWO ((double)(1L << LONGBITS -2)*(1L << DSIGNIF - LONGBITS +1))
|
||||
#define FMAXPOWTWO ((float)(1L << FSIGNIF - 1))
|
||||
|
||||
#endif /* !_VALUES_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user