⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_rational.hpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 HPP
📖 第 1 页 / 共 5 页
字号:
   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(10247.25f), 5),      static_cast<T>(0.1094211231602999407223950000397888253311e34L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(0.125)),      static_cast<T>(0.10157269060611724853515625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(0.25)),      static_cast<T>(0.106434478759765625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(0.75)),      static_cast<T>(0.197494049072265625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.4138858164296656028113829961512237787247e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(6.5f)),      static_cast<T>(0.2951521370703125e8L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(10247.25f)),      static_cast<T>(0.1094211231602999407223950000397888253311e34L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5a, static_cast<T>(0.125)),      static_cast<T>(0.10157269060611724853515625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5a, static_cast<T>(0.25)),      static_cast<T>(0.106434478759765625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5a, static_cast<T>(0.75)),      static_cast<T>(0.197494049072265625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.4138858164296656028113829961512237787247e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5a, static_cast<T>(6.5f)),      static_cast<T>(0.2951521370703125e8L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5a, static_cast<T>(10247.25f)),      static_cast<T>(0.1094211231602999407223950000397888253311e34L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(0.125), 5),      static_cast<T>(0.11258152484893798828125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(0.25), 5),      static_cast<T>(0.1257379150390625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(0.75), 5),      static_cast<T>(0.2299920654296875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(1.0f - 1.0f/64.0f), 5),      static_cast<T>(0.4188681309761682314274366945028305053711e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(6.5f), 5),      static_cast<T>(0.45408105703125e7L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(10247.25f), 5),      static_cast<T>(0.106780963829612765105169679718983215332e30L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(0.125)),      static_cast<T>(0.11258152484893798828125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(0.25)),      static_cast<T>(0.1257379150390625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(0.75)),      static_cast<T>(0.2299920654296875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.4188681309761682314274366945028305053711e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(6.5f)),      static_cast<T>(0.45408105703125e7L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5c, static_cast<T>(10247.25f)),      static_cast<T>(0.106780963829612765105169679718983215332e30L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5a, static_cast<T>(0.125)),      static_cast<T>(0.11258152484893798828125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5a, static_cast<T>(0.25)),      static_cast<T>(0.1257379150390625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5a, static_cast<T>(0.75)),      static_cast<T>(0.2299920654296875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.4188681309761682314274366945028305053711e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5a, static_cast<T>(6.5f)),      static_cast<T>(0.45408105703125e7L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n5a, static_cast<T>(10247.25f)),      static_cast<T>(0.106780963829612765105169679718983215332e30L),      tolerance);   //   // Rational functions of order 4   //   static const U d5c[5] = { 6, 9, 6, 2, 5 };   static const boost::array<U, 5> d5a = { 6, 9, 6, 2, 5 };   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(0.125), 5),      static_cast<T>(0.1569265605461489066882963263374902835513e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(0.25), 5),      static_cast<T>(0.1493471409275101305718144979738856371004e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(0.75), 5),      static_cast<T>(0.1468309117708991366603495472731101284481e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(1.0f - 1.0f/64.0f), 5),      static_cast<T>(0.1564121691159921277310988862398683772017e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(6.5f), 5),      static_cast<T>(0.1973991741181125982091000185089449263153e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(10247.25f), 5),      static_cast<T>(0.1800144410401676792233921448870747965702e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(0.125)),      static_cast<T>(0.1569265605461489066882963263374902835513e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(0.25)),      static_cast<T>(0.1493471409275101305718144979738856371004e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(0.75)),      static_cast<T>(0.1468309117708991366603495472731101284481e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.1564121691159921277310988862398683772017e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(6.5f)),      static_cast<T>(0.1973991741181125982091000185089449263153e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5c, d5c, static_cast<T>(10247.25f)),      static_cast<T>(0.1800144410401676792233921448870747965702e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5a, d5a, static_cast<T>(0.125)),      static_cast<T>(0.1569265605461489066882963263374902835513e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5a, d5a, static_cast<T>(0.25)),      static_cast<T>(0.1493471409275101305718144979738856371004e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5a, d5a, static_cast<T>(0.75)),      static_cast<T>(0.1468309117708991366603495472731101284481e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5a, d5a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.1564121691159921277310988862398683772017e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5a, d5a, static_cast<T>(6.5f)),      static_cast<T>(0.1973991741181125982091000185089449263153e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n5a, d5a, static_cast<T>(10247.25f)),      static_cast<T>(0.1800144410401676792233921448870747965702e1L),      tolerance);}template <class T, class U>void do_test_spots5(T, U){   //   // Tolerance is 4 eps expressed as a persentage:   //   T tolerance = boost::math::tools::epsilon<T>() * 4 * 100;   //   // Polynomials of order 5   //   static const U n6c[6] = { 6, 8, 12, 5, 7, 5 };   static const boost::array<U, 6> n6a = { 6, 8, 12, 5, 7, 5 };   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(0.125), 6),      static_cast<T>(0.7199127197265625e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(0.25), 6),      static_cast<T>(0.88603515625e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(0.75), 6),      static_cast<T>(0.242607421875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(1.0f - 1.0f/64.0f), 6),      static_cast<T>(0.41466238017193973064422607421875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(6.5), 6),      static_cast<T>(0.7244809375e5L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(10247.25), 6),      static_cast<T>(0.5650228315695522094919501953125e21L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(0.125)),      static_cast<T>(0.7199127197265625e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(0.25)),      static_cast<T>(0.88603515625e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(0.75)),      static_cast<T>(0.242607421875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.41466238017193973064422607421875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(6.5)),      static_cast<T>(0.7244809375e5L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6c, static_cast<T>(10247.25)),      static_cast<T>(0.5650228315695522094919501953125e21L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6a, static_cast<T>(0.125)),      static_cast<T>(0.7199127197265625e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6a, static_cast<T>(0.25)),      static_cast<T>(0.88603515625e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6a, static_cast<T>(0.75)),      static_cast<T>(0.242607421875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.41466238017193973064422607421875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6a, static_cast<T>(6.5)),      static_cast<T>(0.7244809375e5L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n6a, static_cast<T>(10247.25)),      static_cast<T>(0.5650228315695522094919501953125e21L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(0.125), 6),      static_cast<T>(0.6127949182875454425811767578125e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(0.25), 6),      static_cast<T>(0.654820728302001953125e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(0.75), 6),      static_cast<T>(0.1616912555694580078125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(1.0f - 1.0f/64.0f), 6),      static_cast<T>(0.4001137167344577683526091194110563264985e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(6.5f), 6),      static_cast<T>(0.6958411633369140625e9L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(0.125)),      static_cast<T>(0.6127949182875454425811767578125e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(0.25)),      static_cast<T>(0.654820728302001953125e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n6c, static_cast<T>(0.75)),      static_cast<T>(0.161691255569

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -