diff --git a/doc/EABase.html b/doc/EABase.html index 0be38e2..3c92d8a 100644 --- a/doc/EABase.html +++ b/doc/EABase.html @@ -201,6 +201,8 @@

Compiler Definitions
EA_COMPILER_NO_UNWIND
+EA_COMPILER_NO_FLOATS
+
EA_COMPILER_IS_ANSIC
diff --git a/include/Common/EABase/int128.h b/include/Common/EABase/int128.h index 068d557..20991f3 100644 --- a/include/Common/EABase/int128.h +++ b/include/Common/EABase/int128.h @@ -73,9 +73,11 @@ struct EA_INT128_ALIGNAS int128_t_base // EA_CONSTEXPR explicit operator char32_t() const; // EA_CONSTEXPR explicit operator wchar_t() const; #endif +#if !defined(EA_COMPILER_NO_FLOATS) EA_CONSTEXPR explicit operator float() const; EA_CONSTEXPR explicit operator double() const; EA_CONSTEXPR explicit operator long double() const; +#endif #if EA_INT128_INTRINSIC_AVAILABLE EA_CONSTEXPR explicit operator __int128() const; EA_CONSTEXPR explicit operator unsigned __int128() const; @@ -280,9 +282,11 @@ EA_CONSTEXPR inline int128_t_base::operator unsigned int() const { return EA_CONSTEXPR inline int128_t_base::operator unsigned long long() const { return static_cast(Low()); } EA_CONSTEXPR inline int128_t_base::operator unsigned long() const { return static_cast(Low()); } EA_CONSTEXPR inline int128_t_base::operator unsigned short() const { return static_cast(Low()); } +#if !defined(EA_COMPILER_NO_FLOATS) EA_CONSTEXPR inline int128_t_base::operator float() const { return static_cast(Low()); } EA_CONSTEXPR inline int128_t_base::operator double() const { return static_cast(Low()); } EA_CONSTEXPR inline int128_t_base::operator long double() const { return static_cast(Low()); } +#endif #if EA_INT128_INTRINSIC_AVAILABLE EA_CONSTEXPR inline int128_t_base::operator __int128() const { return static_cast<__int128>(Low()); } EA_CONSTEXPR inline int128_t_base::operator unsigned __int128() const { return static_cast(Low()); }