/*------------------------------------------------------*/
/* SH SERIES C Compiler Ver. 1.0                        */
/* Copyright (c) 1992 Hitachi,Ltd.                      */
/* Licensed material of Hitachi,Ltd.                    */
/*------------------------------------------------------*/
/*****************************************************************/
/* SPEC ;                                                        */
/*   NAME = float :                                              */
/*   FUNC = limit about float type  and double type ;            */
/*                                                               */
/*                                                               */
/*   END ;                                                       */
/*****************************************************************/
                                                   /* C S01006SP */

extern const float       _FLT_MAX_VAL;
extern const float       _FLT_MIN_VAL;
extern const double      _DBL_MAX_VAL;
extern const double      _DBL_MIN_VAL;
extern const long double _LDBL_MAX_VAL;
extern const long double _LDBL_MIN_VAL;

#define FLT_RADIX             2
#if defined(_SH3E)|defined(_SH4)
#define FLT_ROUNDS            0
#define FLT_GUARD             0
#else
#define FLT_ROUNDS            1
#define FLT_GUARD             1
#endif
#define FLT_NORMALIZE         1
#define FLT_MAX _FLT_MAX_VAL
#define FLT_MIN _FLT_MIN_VAL
#define FLT_MAX_EXP         127
#if defined(_SH3E)|defined(_SH4)
#define FLT_MIN_EXP       (-126)
#else
#define FLT_MIN_EXP       (-149)
#endif
#define FLT_MAX_10_EXP       38
#if defined(_SH3E)|defined(_SH4)
#define FLT_MIN_10_EXP     (-38)
#else
#define FLT_MIN_10_EXP     (-44)
#endif
#define FLT_DIG               6
#define FLT_MANT_DIG         24
#define FLT_EXP_DIG           8
#if defined(_SH3E)|defined(_SH4)
#define FLT_POS_EPS 1.1920928955078125e-7f
#define FLT_NEG_EPS 1.1754943508222876e-38f
#else
#define FLT_POS_EPS 5.9604648328104311e-8f
#define FLT_NEG_EPS 2.9802324164052156e-8f
#endif
#define FLT_POS_EPS_EXP    (-23)
#if defined(_SH3E)|defined(_SH4)
#define FLT_NEG_EPS_EXP    (-126)
#else
#define FLT_NEG_EPS_EXP    (-24)
#endif

#ifdef _FLT
#define DBL_RADIX             2
#if defined(_SH3E)|defined(_SH4)
#define DBL_ROUNDS            0
#define DBL_GUARD             0
#else
#define DBL_ROUNDS            1
#define DBL_GUARD             1
#endif
#define DBL_NORMALIZE         1
#define DBL_MAX _FLT_MAX_VAL
#define DBL_MIN _FLT_MIN_VAL
#define DBL_MAX_EXP         127
#if defined(_SH3E)|defined(_SH4)
#define DBL_MIN_EXP       (-126)
#else
#define DBL_MIN_EXP       (-149)
#endif
#define DBL_MAX_10_EXP       38
#if defined(_SH3E)|defined(_SH4)
#define DBL_MIN_10_EXP     (-38)
#else
#define DBL_MIN_10_EXP     (-44)
#endif
#define DBL_DIG               6
#define DBL_MANT_DIG         24
#define DBL_EXP_DIG           8
#if defined(_SH3E)|defined(_SH4)
#define DBL_POS_EPS 1.1920928955078125e-7f
#define DBL_NEG_EPS 1.1754943508222876e-38f
#else
#define DBL_POS_EPS 5.9604648328104311e-8f
#define DBL_NEG_EPS 2.9802324164052156e-8f
#endif
#define DBL_POS_EPS_EXP    (-23)
#if defined(_SH3E)|defined(_SH4)
#define DBL_NEG_EPS_EXP    (-126)
#else
#define DBL_NEG_EPS_EXP    (-24)
#endif
#else
#define DBL_RADIX             2
#define DBL_ROUNDS            1
#define DBL_GUARD             1
#define DBL_NORMALIZE         1
#define DBL_MAX _DBL_MAX_VAL
#define DBL_MIN _DBL_MIN_VAL
#define DBL_MAX_EXP        1023
#define DBL_MIN_EXP      (-1074)
#define DBL_MAX_10_EXP      308
#define DBL_MIN_10_EXP    (-323)
#define DBL_DIG              15
#define DBL_MANT_DIG         53
#define DBL_EXP_DIG          11
#define DBL_POS_EPS 1.1102230246251567e-16
#define DBL_NEG_EPS 5.5511151231257834e-17
#define DBL_POS_EPS_EXP    (-52)
#define DBL_NEG_EPS_EXP    (-53)
#endif

#define LDBL_RADIX             2
#define LDBL_ROUNDS            1
#define LDBL_GUARD             1
#define LDBL_NORMALIZE         1
#define LDBL_MAX _LDBL_MAX_VAL
#define LDBL_MIN _LDBL_MIN_VAL
#define LDBL_MAX_EXP        1023
#define LDBL_MIN_EXP      (-1074)
#define LDBL_MAX_10_EXP      308
#define LDBL_MIN_10_EXP    (-323)
#define LDBL_DIG              15
#define LDBL_MANT_DIG         53
#define LDBL_EXP_DIG          11
#define LDBL_POS_EPS 1.1102230246251567e-16
#define LDBL_NEG_EPS 5.5511151231257834e-17
#define LDBL_POS_EPS_EXP    (-52)
#define LDBL_NEG_EPS_EXP    (-53)
