]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/date_time/test/testint64_range.cpp
1 /* Copyright (c) 2002,2003 CrystalClear Software, Inc.
2 * Use, modification and distribution is subject to the
3 * Boost Software License, Version 1.0. (See accompanying
4 * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
8 //#include "date_time/testfrmwk.hpp"
10 #include "boost/date_time/gregorian/gregorian.hpp"
11 #include "boost/cstdint.hpp"
16 #if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
17 //skipping tests here due to lack of operator<< support in msvc6
18 // TODO: this is a bit misleading: using STLport, this should work.
19 std::cout
<< "Skipping tests on MSVC6" << std::endl
;
23 std::cout
<< "int64_t max: "
24 << (std::numeric_limits
<boost::int64_t>::max
)()
26 std::cout
<< "uint64_t max: "
27 << (std::numeric_limits
<boost::uint64_t>::max
)()
31 boost::int64_t seconds_per_day
= 60*60*24;
32 boost::int64_t microsec_per_sec
= 1000000;
33 boost::int64_t microsec_per_day
= seconds_per_day
*microsec_per_sec
;
34 std::cout
<< "microsec per day: "
38 boost::uint64_t total_days
= (std::numeric_limits
<boost::int64_t>::max
)() / microsec_per_day
;
40 std::cout
<< "Representable days: "
44 boost::int64_t approx_years
= total_days
/ 366;
46 std::cout
<< "Approximate years: "
51 // usec_count / (seconds_per_day*usec_per_sec);
52 boost::int64_t day_count
= 1000;
53 boost::int64_t usec_count1000
= day_count
*microsec_per_day
+ 999999;
54 std::cout
<< "usec count at day 1000 + 999999: "
58 boost::int64_t day_count_calc
= usec_count1000
/ microsec_per_day
;
59 std::cout
<< "calc day count at day 1000: "
63 boost::int64_t remaining_usec_count
= usec_count1000
% microsec_per_day
;
64 std::cout
<< "remaining usec count: "
65 << remaining_usec_count
68 boost::int32_t day_count3M
= 3000000;
69 boost::int64_t usec_count3M
= day_count3M
*microsec_per_day
+ 999999;
70 std::cout
<< "usec count at day 3M + 999999: "
74 boost::int64_t day_count_calc3M
= usec_count3M
/ microsec_per_day
;
75 std::cout
<< "calc day count at day 3M: "
79 boost::int64_t remaining_usec_count3M
= usec_count3M
% microsec_per_day
;
80 std::cout
<< "remaining usec count 3M: "
81 << remaining_usec_count3M
86 // std::cout << "Days from: "
87 // << to_simple_string(d1) << " to "
88 // << to_simple_string(d2) << " = "
89 // << day_count << std::endl;