1.1 --- a/epoc32/include/tools/stlport/float.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/tools/stlport/float.h Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,76 +1,56 @@
1.4 -/*-
1.5 - * Copyright (c) 1989 Regents of the University of California.
1.6 - * All rights reserved.
1.7 - *
1.8 - * Redistribution and use in source and binary forms, with or without
1.9 - * modification, are permitted provided that the following conditions
1.10 - * are met:
1.11 - * 1. Redistributions of source code must retain the above copyright
1.12 - * notice, this list of conditions and the following disclaimer.
1.13 - * 2. Redistributions in binary form must reproduce the above copyright
1.14 - * notice, this list of conditions and the following disclaimer in the
1.15 - * documentation and/or other materials provided with the distribution.
1.16 - * 4. Neither the name of the University nor the names of its contributors
1.17 - * may be used to endorse or promote products derived from this software
1.18 - * without specific prior written permission.
1.19 - *
1.20 - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
1.21 - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1.22 - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1.23 - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
1.24 - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1.25 - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1.26 - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1.27 - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1.28 - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1.29 - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1.30 - * SUCH DAMAGE.
1.31 - *
1.32 - * from: @(#)float.h 7.1 (Berkeley) 5/8/90
1.33 - * $FreeBSD: src/sys/arm/include/float.h,v 1.5 2005/03/20 00:34:24 cognet Exp $
1.34 - */
1.35 -
1.36 -#ifndef _MACHINE_FLOAT_H_
1.37 -#define _MACHINE_FLOAT_H_ 1
1.38 -
1.39 -#include <sys/cdefs.h>
1.40 -
1.41 -__BEGIN_DECLS
1.42 -extern int __flt_rounds(void);
1.43 -__END_DECLS
1.44 -
1.45 -#define FLT_RADIX 2 /* b */
1.46 -#define FLT_ROUNDS -1
1.47 -#define FLT_EVAL_METHOD (-1) /* XXX */
1.48 -#define DECIMAL_DIG 17 /* max precision in decimal digits */
1.49 -
1.50 -#define FLT_MANT_DIG 24 /* p */
1.51 -#define FLT_EPSILON 1.19209290E-07F /* b**(1-p) */
1.52 -#define FLT_DIG 6 /* floor((p-1)*log10(b))+(b == 10) */
1.53 -#define FLT_MIN_EXP (-125) /* emin */
1.54 -#define FLT_MIN 1.17549435E-38F /* b**(emin-1) */
1.55 -#define FLT_MIN_10_EXP (-37) /* ceil(log10(b**(emin-1))) */
1.56 -#define FLT_MAX_EXP 128 /* emax */
1.57 -#define FLT_MAX 3.40282347E+38F /* (1-b**(-p))*b**emax */
1.58 -#define FLT_MAX_10_EXP 38 /* floor(log10((1-b**(-p))*b**emax)) */
1.59 -
1.60 -#define DBL_MANT_DIG 53
1.61 -#define DBL_EPSILON 2.2204460492503131E-16
1.62 -#define DBL_DIG 15
1.63 -#define DBL_MIN_EXP (-1021)
1.64 -#define DBL_MIN 2.2250738585072014E-308
1.65 -#define DBL_MIN_10_EXP (-307)
1.66 -#define DBL_MAX_EXP 1024
1.67 -#define DBL_MAX 1.7976931348623157E+308
1.68 -#define DBL_MAX_10_EXP 308
1.69 -
1.70 -#define LDBL_MANT_DIG DBL_MANT_DIG
1.71 -#define LDBL_EPSILON DBL_EPSILON
1.72 -#define LDBL_DIG DBL_DIG
1.73 -#define LDBL_MIN_EXP DBL_MIN_EXP
1.74 -#define LDBL_MIN DBL_MIN
1.75 -#define LDBL_MIN_10_EXP DBL_MIN_10_EXP
1.76 -#define LDBL_MAX_EXP DBL_MAX_EXP
1.77 -#define LDBL_MAX DBL_MAX
1.78 -#define LDBL_MAX_10_EXP DBL_MAX_10_EXP
1.79 -#endif /* _MACHINE_FLOAT_H_ */
1.80 +/*
1.81 + * Copyright (c) 1999
1.82 + * Boris Fomitchev
1.83 + *
1.84 + * This material is provided "as is", with absolutely no warranty expressed
1.85 + * or implied. Any use is at your own risk.
1.86 + *
1.87 + * Permission to use or copy this software for any purpose is hereby granted
1.88 + * without fee, provided the above notices are retained on all copies.
1.89 + * Permission to modify the code and to distribute modified code is granted,
1.90 + * provided the above notices are retained, and a notice that the code was
1.91 + * modified is included with the above copyright notice.
1.92 + *
1.93 + */
1.94 +
1.95 +#if !defined (_STLP_OUTERMOST_HEADER_ID)
1.96 +# define _STLP_OUTERMOST_HEADER_ID 0x203
1.97 +# include <stl/_prolog.h>
1.98 +#elif (_STLP_OUTERMOST_HEADER_ID == 0x203) && !defined (_STLP_DONT_POP_HEADER_ID)
1.99 +# define _STLP_DONT_POP_HEADER_ID
1.100 +#elif (_STLP_OUTERMOST_HEADER_ID == 0x203)
1.101 +# error This header is only reentrant once, it should be modified if it has to be included more.
1.102 +#endif
1.103 +
1.104 +#if defined (_STLP_WCE_EVC3)
1.105 +struct _exception;
1.106 +#endif
1.107 +
1.108 +#include _STLP_NATIVE_C_HEADER(float.h)
1.109 +
1.110 +#if defined(__BORLANDC__) && defined (__cplusplus) && (__BORLANDC__ >= 0x560)
1.111 +_STLP_BEGIN_NAMESPACE
1.112 +using ::_max_dble;
1.113 +using ::_max_flt;
1.114 +using ::_max_ldble;
1.115 +using ::_tiny_ldble;
1.116 +_STLP_END_NAMESPACE
1.117 +#endif
1.118 +
1.119 +#if defined (__BORLANDC__) && defined (__cplusplus) && !defined (_STLP_BCC_FPU_BUG)
1.120 +# define _STLP_BCC_FPU_BUG
1.121 +// Ignore FPU exceptions, set FPU precision to 53 bits for floatio_test and cmath_test
1.122 +static unsigned int _bcc_fpu_bug = _control87(PC_53|MCW_EM, MCW_PC|MCW_EM);
1.123 +template <class _Fp>
1.124 +int __fpclass(_Fp __val)
1.125 +{ int __f = _fpclass(__val); _control87(PC_53|MCW_EM, MCW_PC|MCW_EM); return __f; }
1.126 +# define _fpclass __fpclass
1.127 +#endif
1.128 +
1.129 +#if (_STLP_OUTERMOST_HEADER_ID == 0x203)
1.130 +# if ! defined (_STLP_DONT_POP_HEADER_ID)
1.131 +# include <stl/_epilog.h>
1.132 +# undef _STLP_OUTERMOST_HEADER_ID
1.133 +# endif
1.134 +# undef _STLP_DONT_POP_HEADER_ID
1.135 +#endif