epoc32/include/tools/stlport/float.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     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