diff --git a/include/bits/float.h b/include/bits/float.h deleted file mode 100644 index fd1728a1a3..0000000000 --- a/include/bits/float.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _BITS_FLOAT_H -#define _BITS_FLOAT_H - -#define FLT_ROUNDS (flt_rounds()) - -// Shamelessly copy pasted from musl: - -#define FLT_TRUE_MIN 1.40129846432481707092e-45F -#define FLT_MIN 1.17549435082228750797e-38F -#define FLT_MAX 3.40282346638528859812e+38F -#define FLT_EPSILON 1.1920928955078125e-07F - -#define FLT_MANT_DIG 24 -#define FLT_MIN_EXP (-125) -#define FLT_MAX_EXP 128 -#define FLT_HAS_SUBNORM 1 - -#define FLT_DIG 6 -#define FLT_DECIMAL_DIG 9 -#define FLT_MIN_10_EXP (-37) -#define FLT_MAX_10_EXP 38 - -#define DBL_TRUE_MIN 4.94065645841246544177e-324 -#define DBL_MIN 2.22507385850720138309e-308 -#define DBL_MAX 1.79769313486231570815e+308 -#define DBL_EPSILON 2.22044604925031308085e-16 - -#define DBL_MANT_DIG 53 -#define DBL_MIN_EXP (-1021) -#define DBL_MAX_EXP 1024 -#define DBL_HAS_SUBNORM 1 - -#define DBL_DIG 15 -#define DBL_DECIMAL_DIG 17 -#define DBL_MIN_10_EXP (-307) -#define DBL_MAX_10_EXP 308 - -#define LDBL_HAS_SUBNORM 1 -#define LDBL_DECIMAL_DIG DECIMAL_DIG - -// TODO: Support more architectures than x86_64 here: -#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L -#define LDBL_MIN 3.3621031431120935063e-4932L -#define LDBL_MAX 1.1897314953572317650e+4932L -#define LDBL_EPSILON 1.0842021724855044340e-19L - -#define LDBL_MANT_DIG 64 -#define LDBL_MIN_EXP (-16381) -#define LDBL_MAX_EXP 16384 - -#endif diff --git a/src/header/float/cbindgen.toml b/src/header/float/cbindgen.toml index 4ca9cc2ea7..dc4839c9ae 100644 --- a/src/header/float/cbindgen.toml +++ b/src/header/float/cbindgen.toml @@ -1,5 +1,58 @@ -sys_includes = ["sys/types.h", "bits/float.h"] +sys_includes = ["sys/types.h"] include_guard = "_RELIBC_FLOAT_H" +after_includes = """ +#ifndef _RELIBC_BITS_FLOAT_H +#define _RELIBC_BITS_FLOAT_H + +#define FLT_ROUNDS (flt_rounds()) + +// Shamelessly copy pasted from musl: + +#define FLT_TRUE_MIN 1.40129846432481707092e-45F +#define FLT_MIN 1.17549435082228750797e-38F +#define FLT_MAX 3.40282346638528859812e+38F +#define FLT_EPSILON 1.1920928955078125e-07F + +#define FLT_MANT_DIG 24 +#define FLT_MIN_EXP (-125) +#define FLT_MAX_EXP 128 +#define FLT_HAS_SUBNORM 1 + +#define FLT_DIG 6 +#define FLT_DECIMAL_DIG 9 +#define FLT_MIN_10_EXP (-37) +#define FLT_MAX_10_EXP 38 + +#define DBL_TRUE_MIN 4.94065645841246544177e-324 +#define DBL_MIN 2.22507385850720138309e-308 +#define DBL_MAX 1.79769313486231570815e+308 +#define DBL_EPSILON 2.22044604925031308085e-16 + +#define DBL_MANT_DIG 53 +#define DBL_MIN_EXP (-1021) +#define DBL_MAX_EXP 1024 +#define DBL_HAS_SUBNORM 1 + +#define DBL_DIG 15 +#define DBL_DECIMAL_DIG 17 +#define DBL_MIN_10_EXP (-307) +#define DBL_MAX_10_EXP 308 + +#define LDBL_HAS_SUBNORM 1 +#define LDBL_DECIMAL_DIG DECIMAL_DIG + +// TODO: Support more architectures than x86_64 here: +#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L +#define LDBL_MIN 3.3621031431120935063e-4932L +#define LDBL_MAX 1.1897314953572317650e+4932L +#define LDBL_EPSILON 1.0842021724855044340e-19L + +#define LDBL_MANT_DIG 64 +#define LDBL_MIN_EXP (-16381) +#define LDBL_MAX_EXP 16384 + +#endif // _RELIBC_BITS_FLOAT_H +""" language = "C" style = "Tag" no_includes = true