Mercurial > hg > CbC > CbC_llvm
diff libcxx/include/ratio @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | c4bab56944e8 |
children |
line wrap: on
line diff
--- a/libcxx/include/ratio Wed Nov 09 17:47:54 2022 +0900 +++ b/libcxx/include/ratio Fri Aug 18 09:04:13 2023 +0900 @@ -40,6 +40,8 @@ template <class R1, class R2> struct ratio_greater_equal; // convenience SI typedefs +using quecto = ratio <1, 1'000'000'000'000'000'000'000'000'000'000>; // Since C++26; not supported +using ronto = ratio <1, 1'000'000'000'000'000'000'000'000'000>; // Since C++26; not supported typedef ratio<1, 1000000000000000000000000> yocto; // not supported typedef ratio<1, 1000000000000000000000> zepto; // not supported typedef ratio<1, 1000000000000000000> atto; @@ -60,6 +62,8 @@ typedef ratio< 1000000000000000000, 1> exa; typedef ratio< 1000000000000000000000, 1> zetta; // not supported typedef ratio<1000000000000000000000000, 1> yotta; // not supported +using ronna = ratio <1'000'000'000'000'000'000'000'000'000, 1>; // Since C++26; not supported +using quetta = ratio <1'000'000'000'000'000'000'000'000'000'000, 1>; // Since C++26; not supported // 20.11.5, ratio comparison template <class R1, class R2> inline constexpr bool ratio_equal_v @@ -79,9 +83,9 @@ #include <__assert> // all public C++ headers provide the assertion handler #include <__config> +#include <__type_traits/integral_constant.h> #include <climits> #include <cstdint> -#include <type_traits> #include <version> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) @@ -501,7 +505,7 @@ __static_lcm<_R1::den, _R2::den>::value> type; }; -#if _LIBCPP_STD_VER > 14 +#if _LIBCPP_STD_VER >= 17 template <class _R1, class _R2> inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value; @@ -525,4 +529,8 @@ _LIBCPP_POP_MACROS +#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 +# include <type_traits> +#endif + #endif // _LIBCPP_RATIO