/////////////////////////////////////////////////////////////// // Copyright 2011 John Maddock. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_ #include #include void t1() { //[cpp_int_eg //=#include //=#include //= //=int main() //={ using namespace boost::multiprecision; int128_t v = 1; // Do some fixed precision arithmetic: for(unsigned i = 1; i <= 20; ++i) v *= i; std::cout << v << std::endl; // prints 20! // Repeat at arbitrary precision: cpp_int u = 1; for(unsigned i = 1; i <= 100; ++i) u *= i; std::cout << u << std::endl; // prints 100! //= return 0; //=} //] } void t3() { //[cpp_rational_eg //=#include //=#include //= //=int main() //={ using namespace boost::multiprecision; cpp_rational v = 1; // Do some arithmetic: for(unsigned i = 1; i <= 1000; ++i) v *= i; v /= 10; std::cout << v << std::endl; // prints 1000! / 10 std::cout << numerator(v) << std::endl; std::cout << denominator(v) << std::endl; cpp_rational w(2, 3); // component wise constructor std::cout << w << std::endl; // prints 2/3 //= return 0; //=} //] } int main() { t1(); t3(); return 0; }