authorgravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2023-01-04 01:19:33-05:00
committergravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2023-01-04 01:26:02-05:00
log6d0c9213798c5df2e4aaee3950958393abb1effc
treeb55f6827ed8e7115d7af6a17d69f6822bb1373c0
parent2b9478ce12a5556a9ef596d98a14347be8daee4a

cbe: revert movement of zig_float_from_repr to before float typedefs


1 files changed, 15 insertions(+), 12 deletions(-)

lib/zig.h+15-12
...@@ -1764,8 +1764,8 @@ static inline zig_i128 zig_bit_reverse_i128(zig_i128 val, zig_u8 bits) {...@@ -1764,8 +1764,8 @@ static inline zig_i128 zig_bit_reverse_i128(zig_i128 val, zig_u8 bits) {
1764#define __builtin_infl() zig_msvc_flt_infl1764#define __builtin_infl() zig_msvc_flt_infl
1765#endif1765#endif
17661766
17671767#define zig_has_float_builtins (zig_has_builtin(nan) && zig_has_builtin(nans) && zig_has_builtin(inf)) || defined(__GNUC__)
1768#if (zig_has_builtin(nan) && zig_has_builtin(nans) && zig_has_builtin(inf)) || defined(__GNUC__)1768#if zig_has_float_builtins
1769#define zig_as_special_f16(sign, name, arg, repr) sign zig_as_f16(__builtin_##name, )(arg)1769#define zig_as_special_f16(sign, name, arg, repr) sign zig_as_f16(__builtin_##name, )(arg)
1770#define zig_as_special_f32(sign, name, arg, repr) sign zig_as_f32(__builtin_##name, )(arg)1770#define zig_as_special_f32(sign, name, arg, repr) sign zig_as_f32(__builtin_##name, )(arg)
1771#define zig_as_special_f64(sign, name, arg, repr) sign zig_as_f64(__builtin_##name, )(arg)1771#define zig_as_special_f64(sign, name, arg, repr) sign zig_as_f64(__builtin_##name, )(arg)
...@@ -1773,16 +1773,6 @@ static inline zig_i128 zig_bit_reverse_i128(zig_i128 val, zig_u8 bits) {...@@ -1773,16 +1773,6 @@ static inline zig_i128 zig_bit_reverse_i128(zig_i128 val, zig_u8 bits) {
1773#define zig_as_special_f128(sign, name, arg, repr) sign zig_as_f128(__builtin_##name, )(arg)1773#define zig_as_special_f128(sign, name, arg, repr) sign zig_as_f128(__builtin_##name, )(arg)
1774#define zig_as_special_c_longdouble(sign, name, arg, repr) sign zig_as_c_longdouble(__builtin_##name, )(arg)1774#define zig_as_special_c_longdouble(sign, name, arg, repr) sign zig_as_c_longdouble(__builtin_##name, )(arg)
1775#else1775#else
1776#define zig_float_from_repr(Type, ReprType) \
1777 static inline zig_##Type zig_float_from_repr_##Type(zig_##ReprType repr) { \
1778 return *((zig_##Type*)&repr); \
1779 }
1780zig_float_from_repr(f16, u16)
1781zig_float_from_repr(f32, u32)
1782zig_float_from_repr(f64, u64)
1783zig_float_from_repr(f80, u128)
1784zig_float_from_repr(f128, u128)
1785zig_float_from_repr(c_longdouble, u128)
1786#define zig_as_special_f16(sign, name, arg, repr) zig_float_from_repr_f16(repr)1776#define zig_as_special_f16(sign, name, arg, repr) zig_float_from_repr_f16(repr)
1787#define zig_as_special_f32(sign, name, arg, repr) zig_float_from_repr_f32(repr)1777#define zig_as_special_f32(sign, name, arg, repr) zig_float_from_repr_f32(repr)
1788#define zig_as_special_f64(sign, name, arg, repr) zig_float_from_repr_f64(repr)1778#define zig_as_special_f64(sign, name, arg, repr) zig_float_from_repr_f64(repr)
...@@ -1984,6 +1974,19 @@ typedef zig_i128 zig_c_longdouble;...@@ -1984,6 +1974,19 @@ typedef zig_i128 zig_c_longdouble;
1984#define zig_as_special_constant_c_longdouble(sign, name, arg, repr) repr1974#define zig_as_special_constant_c_longdouble(sign, name, arg, repr) repr
1985#endif1975#endif
19861976
1977#if !zig_has_float_builtins
1978#define zig_float_from_repr(Type, ReprType) \
1979 static inline zig_##Type zig_float_from_repr_##Type(zig_##ReprType repr) { \
1980 return *((zig_##Type*)&repr); \
1981 }
1982zig_float_from_repr(f16, u16)
1983zig_float_from_repr(f32, u32)
1984zig_float_from_repr(f64, u64)
1985zig_float_from_repr(f80, u128)
1986zig_float_from_repr(f128, u128)
1987zig_float_from_repr(c_longdouble, u128)
1988#endif
1989
1987#define zig_cast_f16 (zig_f16)1990#define zig_cast_f16 (zig_f16)
1988#define zig_cast_f32 (zig_f32)1991#define zig_cast_f32 (zig_f32)
1989#define zig_cast_f64 (zig_f64)1992#define zig_cast_f64 (zig_f64)