e_float_concept_check.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright John Maddock 2011.
  2. // Use, modification and distribution are subject to the
  3. // Boost Software License, Version 1.0. (See accompanying file
  4. // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. //
  6. // This tests two things: that e_float meets our
  7. // conceptual requirements, and that we can instantiate
  8. // all our distributions and special functions on this type.
  9. //
  10. #define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
  11. #define TEST_MPFR
  12. #ifdef _MSC_VER
  13. # pragma warning(disable:4800)
  14. # pragma warning(disable:4512)
  15. # pragma warning(disable:4127)
  16. # pragma warning(disable:4512)
  17. # pragma warning(disable:4503) // decorated name length exceeded, name was truncated
  18. #endif
  19. #define E_FLOAT_TYPE_EFX
  20. #include <boost/math/bindings/e_float.hpp>
  21. #include <boost/math/concepts/real_type_concept.hpp>
  22. #include "compile_test/instantiate.hpp"
  23. void foo()
  24. {
  25. instantiate(boost::math::ef::e_float());
  26. }
  27. int main()
  28. {
  29. BOOST_CONCEPT_ASSERT((boost::math::concepts::RealTypeConcept<boost::math::ef::e_float>));
  30. }