]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/units/test/test_information_units.cpp
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / boost / libs / units / test / test_information_units.cpp
index 6bb1ab59607d3e95066f89639e5925034f3dbcd8..80eb04f24137a1ca364559645217e4a82b552981 100644 (file)
@@ -54,13 +54,13 @@ const double close_fraction = 0.0000001;
 // check transitive conversion factors
 // invariant:  cf(u1,u3) = cf(u1,u2)*cf(u2,u3) 
 #define CHECK_TRANSITIVE_CF(u1, u2, u3) { \
-    double cf12 = bu::conversion_factor((u2), (u1)) ; \
-    double cf23 = bu::conversion_factor((u3), (u2)) ; \
-    double cf13 = bu::conversion_factor((u3), (u1)) ; \
+    BOOST_CONSTEXPR_OR_CONST double cf12 = bu::conversion_factor((u2), (u1)) ; \
+    BOOST_CONSTEXPR_OR_CONST double cf23 = bu::conversion_factor((u3), (u2)) ; \
+    BOOST_CONSTEXPR_OR_CONST double cf13 = bu::conversion_factor((u3), (u1)) ; \
     BOOST_CHECK_CLOSE_FRACTION(cf13, cf12*cf23, close_fraction); \
-    double cf32 = bu::conversion_factor((u2), (u3)) ; \
-    double cf21 = bu::conversion_factor((u1), (u2)) ; \
-    double cf31 = bu::conversion_factor((u1), (u3)) ; \
+    BOOST_CONSTEXPR_OR_CONST double cf32 = bu::conversion_factor((u2), (u3)) ; \
+    BOOST_CONSTEXPR_OR_CONST double cf21 = bu::conversion_factor((u1), (u2)) ; \
+    BOOST_CONSTEXPR_OR_CONST double cf31 = bu::conversion_factor((u1), (u3)) ; \
     BOOST_CHECK_CLOSE_FRACTION(cf31, cf32*cf21, close_fraction); \
 }
 
@@ -105,55 +105,55 @@ BOOST_AUTO_TEST_CASE(test_transitive_byte_nat_hartley) {
 
 BOOST_AUTO_TEST_CASE(test_byte_quantity_is_default) {
     using namespace bu::information;
-    quantity<info, double> qd(2 * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, double> qd(2 * byte);
     BOOST_CHECK_EQUAL(qd.value(), double(2));
-    quantity<info, long> ql(2 * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long> ql(2 * byte);
     BOOST_CHECK_EQUAL(ql.value(), long(2));
 }
 
 BOOST_AUTO_TEST_CASE(test_byte_quantity_explicit) {
     using namespace bu::information;
-    quantity<hu::byte::info, double> qd(2 * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::byte::info, double> qd(2 * byte);
     BOOST_CHECK_EQUAL(qd.value(), double(2));
-    quantity<hu::byte::info, long> ql(2 * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::byte::info, long> ql(2 * byte);
     BOOST_CHECK_EQUAL(ql.value(), long(2));
 }
 
 BOOST_AUTO_TEST_CASE(test_bit_quantity) {
     using namespace bu::information;
-    quantity<hu::bit::info, double> qd(2 * bit);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::bit::info, double> qd(2 * bit);
     BOOST_CHECK_EQUAL(qd.value(), double(2));
-    quantity<hu::bit::info, long> ql(2 * bit);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::bit::info, long> ql(2 * bit);
     BOOST_CHECK_EQUAL(ql.value(), long(2));
 }
 
 BOOST_AUTO_TEST_CASE(test_nat_quantity) {
     using namespace bu::information;
-    quantity<hu::nat::info, double> qd(2 * nat);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::nat::info, double> qd(2 * nat);
     BOOST_CHECK_EQUAL(qd.value(), double(2));
-    quantity<hu::nat::info, long> ql(2 * nat);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::nat::info, long> ql(2 * nat);
     BOOST_CHECK_EQUAL(ql.value(), long(2));
 }
 
 BOOST_AUTO_TEST_CASE(test_hartley_quantity) {
     using namespace bu::information;
-    quantity<hu::hartley::info, double> qd(2 * hartley);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::hartley::info, double> qd(2 * hartley);
     BOOST_CHECK_EQUAL(qd.value(), double(2));
-    quantity<hu::hartley::info, long> ql(2 * hartley);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::hartley::info, long> ql(2 * hartley);
     BOOST_CHECK_EQUAL(ql.value(), long(2));
 }
 
 BOOST_AUTO_TEST_CASE(test_shannon_quantity) {
     using namespace bu::information;
-    quantity<hu::shannon::info, double> qd(2 * shannon);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::shannon::info, double> qd(2 * shannon);
     BOOST_CHECK_EQUAL(qd.value(), double(2));
-    quantity<hu::shannon::info, long> ql(2 * shannon);
+    BOOST_CONSTEXPR_OR_CONST quantity<hu::shannon::info, long> ql(2 * shannon);
     BOOST_CHECK_EQUAL(ql.value(), long(2));
 }
 
 BOOST_AUTO_TEST_CASE(test_mixed_hu) {
     using namespace bu::information;
-    const double cf = 0.001;
+    BOOST_CONSTEXPR_OR_CONST double cf = 0.001;
     BOOST_CHECK_CLOSE_FRACTION((quantity<hu::bit::info>(1.0 * bits)).value(), 1.0, cf);
     BOOST_CHECK_CLOSE_FRACTION((quantity<hu::byte::info>(1.0 * bits)).value(), 1.0/8.0, cf);
     BOOST_CHECK_CLOSE_FRACTION((quantity<hu::nat::info>(1.0 * bits)).value(), 0.69315, cf);
@@ -163,37 +163,37 @@ BOOST_AUTO_TEST_CASE(test_mixed_hu) {
 
 BOOST_AUTO_TEST_CASE(test_info_prefixes) {
     using namespace bu::information;
-    quantity<info, long long> q10(1LL * kibi * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q10(1LL * kibi * byte);
     BOOST_CHECK_EQUAL(q10.value(), 1024LL);
 
-    quantity<info, long long> q20(1LL * mebi * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q20(1LL * mebi * byte);
     BOOST_CHECK_EQUAL(q20.value(), 1048576LL);
 
-    quantity<info, long long> q30(1LL * gibi * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q30(1LL * gibi * byte);
     BOOST_CHECK_EQUAL(q30.value(), 1073741824LL);
 
-    quantity<info, long long> q40(1LL * tebi * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q40(1LL * tebi * byte);
     BOOST_CHECK_EQUAL(q40.value(), 1099511627776LL);
 
-    quantity<info, long long> q50(1LL * pebi * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q50(1LL * pebi * byte);
     BOOST_CHECK_EQUAL(q50.value(), 1125899906842624LL);
 
-    quantity<info, long long> q60(1LL * exbi * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q60(1LL * exbi * byte);
     BOOST_CHECK_EQUAL(q60.value(), 1152921504606846976LL);
 
     using boost::multiprecision::int128_t;
 
-    quantity<info, int128_t> q70(1LL * zebi * byte);
+    const quantity<info, int128_t> q70(1LL * zebi * byte);
     BOOST_CHECK_EQUAL(q70.value(), int128_t("1180591620717411303424"));
 
-    quantity<info, int128_t> q80(1LL * yobi * byte);
+    const quantity<info, int128_t> q80(1LL * yobi * byte);
     BOOST_CHECK_EQUAL(q80.value(), int128_t("1208925819614629174706176"));
 
     // sanity check: si prefixes should also operate
-    quantity<info, long long> q1e3(1LL * si::kilo * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q1e3(1LL * si::kilo * byte);
     BOOST_CHECK_EQUAL(q1e3.value(), 1000LL);
 
-    quantity<info, long long> q1e6(1LL * si::mega * byte);
+    BOOST_CONSTEXPR_OR_CONST quantity<info, long long> q1e6(1LL * si::mega * byte);
     BOOST_CHECK_EQUAL(q1e6.value(), 1000000LL);
 }