test_arithmetic_mpf.cpp 947 B

12345678910111213141516171819202122232425262728293031
  1. ///////////////////////////////////////////////////////////////
  2. // Copyright 2012 John Maddock. Distributed under the Boost
  3. // Software License, Version 1.0. (See accompanying file
  4. // LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
  5. #ifdef _MSC_VER
  6. #define _SCL_SECURE_NO_WARNINGS
  7. #endif
  8. #include <boost/multiprecision/gmp.hpp>
  9. #include "test_arithmetic.hpp"
  10. template <unsigned D>
  11. struct related_type<boost::multiprecision::number<boost::multiprecision::gmp_float<D> > >
  12. {
  13. typedef boost::multiprecision::number<boost::multiprecision::gmp_float<D / 2> > type;
  14. };
  15. template <>
  16. struct related_type<boost::multiprecision::mpf_float>
  17. {
  18. typedef boost::multiprecision::mpz_int type;
  19. };
  20. int main()
  21. {
  22. boost::multiprecision::mpf_float::default_precision(1000);
  23. BOOST_CHECK_EQUAL(boost::multiprecision::mpf_float::default_precision(), 1000);
  24. test<boost::multiprecision::mpf_float>();
  25. return boost::report_errors();
  26. }