Blame include/float.h

Packit 6c4009
#ifndef _LIBC_FLOAT_H
Packit 6c4009
#define _LIBC_FLOAT_H
Packit 6c4009
Packit 6c4009
#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
Packit 6c4009
#include <bits/libc-header-start.h>
Packit 6c4009
Packit 6c4009
#ifndef _ISOMAC
Packit 6c4009
# define __STDC_WANT_IEC_60559_TYPES_EXT__
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#include_next <float.h>
Packit 6c4009
Packit 6c4009
/* Supplement float.h macros for _FloatN and _FloatNx for older
Packit 6c4009
   compilers which do not yet support the type.  These are described
Packit 6c4009
   in TS 18661-3.  */
Packit 6c4009
#include <features.h>
Packit 6c4009
#include <bits/floatn.h>
Packit 6c4009
#if !__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
Packit 6c4009
Packit 6c4009
# if __HAVE_FLOAT128
Packit 6c4009
#  define FLT128_MANT_DIG	113
Packit 6c4009
#  define FLT128_DECIMAL_DIG	36
Packit 6c4009
#  define FLT128_DIG		33
Packit 6c4009
#  define FLT128_MIN_EXP	(-16381)
Packit 6c4009
#  define FLT128_MIN_10_EXP	(-4931)
Packit 6c4009
#  define FLT128_MAX_EXP	16384
Packit 6c4009
#  define FLT128_MAX_10_EXP	4932
Packit 6c4009
#  define FLT128_MAX					\
Packit 6c4009
  __f128 (1.18973149535723176508575932662800702e+4932)
Packit 6c4009
#  define FLT128_EPSILON				\
Packit 6c4009
  __f128 (1.92592994438723585305597794258492732e-34)
Packit 6c4009
#  define FLT128_MIN					\
Packit 6c4009
  __f128 (3.36210314311209350626267781732175260e-4932)
Packit 6c4009
#  define FLT128_TRUE_MIN				\
Packit 6c4009
  __f128 (6.47517511943802511092443895822764655e-4966)
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
/* Types other than _Float128 are typedefs for other types with old
Packit 6c4009
   compilers.  */
Packit 6c4009
Packit 6c4009
# if __HAVE_FLOAT32
Packit 6c4009
#  define FLT32_MANT_DIG	FLT_MANT_DIG
Packit 6c4009
#  define FLT32_DECIMAL_DIG	FLT_DECIMAL_DIG
Packit 6c4009
#  define FLT32_DIG		FLT_DIG
Packit 6c4009
#  define FLT32_MIN_EXP		FLT_MIN_EXP
Packit 6c4009
#  define FLT32_MIN_10_EXP	FLT_MIN_10_EXP
Packit 6c4009
#  define FLT32_MAX_EXP		FLT_MAX_EXP
Packit 6c4009
#  define FLT32_MAX_10_EXP	FLT_MAX_10_EXP
Packit 6c4009
#  define FLT32_MAX		FLT_MAX
Packit 6c4009
#  define FLT32_EPSILON		FLT_EPSILON
Packit 6c4009
#  define FLT32_MIN		FLT_MIN
Packit 6c4009
#  define FLT32_TRUE_MIN	FLT_TRUE_MIN
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
# if __HAVE_FLOAT64
Packit 6c4009
#  define FLT64_MANT_DIG	DBL_MANT_DIG
Packit 6c4009
#  define FLT64_DECIMAL_DIG	DBL_DECIMAL_DIG
Packit 6c4009
#  define FLT64_DIG		DBL_DIG
Packit 6c4009
#  define FLT64_MIN_EXP		DBL_MIN_EXP
Packit 6c4009
#  define FLT64_MIN_10_EXP	DBL_MIN_10_EXP
Packit 6c4009
#  define FLT64_MAX_EXP		DBL_MAX_EXP
Packit 6c4009
#  define FLT64_MAX_10_EXP	DBL_MAX_10_EXP
Packit 6c4009
#  define FLT64_MAX		DBL_MAX
Packit 6c4009
#  define FLT64_EPSILON		DBL_EPSILON
Packit 6c4009
#  define FLT64_MIN		DBL_MIN
Packit 6c4009
#  define FLT64_TRUE_MIN	DBL_TRUE_MIN
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
# if __HAVE_FLOAT32X
Packit 6c4009
#  define FLT32X_MANT_DIG	DBL_MANT_DIG
Packit 6c4009
#  define FLT32X_DECIMAL_DIG	DBL_DECIMAL_DIG
Packit 6c4009
#  define FLT32X_DIG		DBL_DIG
Packit 6c4009
#  define FLT32X_MIN_EXP	DBL_MIN_EXP
Packit 6c4009
#  define FLT32X_MIN_10_EXP	DBL_MIN_10_EXP
Packit 6c4009
#  define FLT32X_MAX_EXP	DBL_MAX_EXP
Packit 6c4009
#  define FLT32X_MAX_10_EXP	DBL_MAX_10_EXP
Packit 6c4009
#  define FLT32X_MAX		DBL_MAX
Packit 6c4009
#  define FLT32X_EPSILON	DBL_EPSILON
Packit 6c4009
#  define FLT32X_MIN		DBL_MIN
Packit 6c4009
#  define FLT32X_TRUE_MIN	DBL_TRUE_MIN
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
# if __HAVE_FLOAT64X
Packit 6c4009
#  if __HAVE_FLOAT64X_LONG_DOUBLE
Packit 6c4009
#   define FLT64X_MANT_DIG	LDBL_MANT_DIG
Packit 6c4009
#   define FLT64X_DECIMAL_DIG	LDBL_DECIMAL_DIG
Packit 6c4009
#   define FLT64X_DIG		LDBL_DIG
Packit 6c4009
#   define FLT64X_MIN_EXP	LDBL_MIN_EXP
Packit 6c4009
#   define FLT64X_MIN_10_EXP	LDBL_MIN_10_EXP
Packit 6c4009
#   define FLT64X_MAX_EXP	LDBL_MAX_EXP
Packit 6c4009
#   define FLT64X_MAX_10_EXP	LDBL_MAX_10_EXP
Packit 6c4009
#   define FLT64X_MAX		LDBL_MAX
Packit 6c4009
#   define FLT64X_EPSILON	LDBL_EPSILON
Packit 6c4009
#   define FLT64X_MIN		LDBL_MIN
Packit 6c4009
#   define FLT64X_TRUE_MIN	LDBL_TRUE_MIN
Packit 6c4009
#  else
Packit 6c4009
#   define FLT64X_MANT_DIG	FLT128_MANT_DIG
Packit 6c4009
#   define FLT64X_DECIMAL_DIG	FLT128_DECIMAL_DIG
Packit 6c4009
#   define FLT64X_DIG		FLT128_DIG
Packit 6c4009
#   define FLT64X_MIN_EXP	FLT128_MIN_EXP
Packit 6c4009
#   define FLT64X_MIN_10_EXP	FLT128_MIN_10_EXP
Packit 6c4009
#   define FLT64X_MAX_EXP	FLT128_MAX_EXP
Packit 6c4009
#   define FLT64X_MAX_10_EXP	FLT128_MAX_10_EXP
Packit 6c4009
#   define FLT64X_MAX		FLT128_MAX
Packit 6c4009
#   define FLT64X_EPSILON	FLT128_EPSILON
Packit 6c4009
#   define FLT64X_MIN		FLT128_MIN
Packit 6c4009
#   define FLT64X_TRUE_MIN	FLT128_TRUE_MIN
Packit 6c4009
#  endif
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#endif /* _LIBC_FLOAT_H */