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

📄 test_rational.hpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 HPP
📖 第 1 页 / 共 5 页
字号:
      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(0.75), 4),      static_cast<T>(0.8055419921875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(1.0f - 1.0f/64.0f), 4),      static_cast<T>(0.23334727106775972060859203338623046875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(6.5f), 4),      static_cast<T>(0.845843359375e6L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(10247.25f), 4),      static_cast<T>(0.12736106409103529349764202508544921875e26L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(0.125)),      static_cast<T>(0.1064739227294921875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(0.25)),      static_cast<T>(0.1287841796875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(0.75)),      static_cast<T>(0.8055419921875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.23334727106775972060859203338623046875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(6.5f)),      static_cast<T>(0.845843359375e6L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4c, static_cast<T>(10247.25f)),      static_cast<T>(0.12736106409103529349764202508544921875e26L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4a, static_cast<T>(0.125)),      static_cast<T>(0.1064739227294921875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4a, static_cast<T>(0.25)),      static_cast<T>(0.1287841796875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4a, static_cast<T>(0.75)),      static_cast<T>(0.8055419921875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.23334727106775972060859203338623046875e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4a, static_cast<T>(6.5f)),      static_cast<T>(0.845843359375e6L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n4a, static_cast<T>(10247.25f)),      static_cast<T>(0.12736106409103529349764202508544921875e26L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(0.125), 4),      static_cast<T>(0.1517913818359375e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(0.25), 4),      static_cast<T>(0.21513671875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(0.75), 4),      static_cast<T>(0.104072265625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(1.0f - 1.0f/64.0f), 4),      static_cast<T>(0.23689246584661304950714111328125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(6.5f), 4),      static_cast<T>(0.13013059375e6L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(10247.25f), 4),      static_cast<T>(0.12428804224649080826343115234375e22L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(0.125)),      static_cast<T>(0.1517913818359375e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(0.25)),      static_cast<T>(0.21513671875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(0.75)),      static_cast<T>(0.104072265625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.23689246584661304950714111328125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(6.5f)),      static_cast<T>(0.13013059375e6L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4c, static_cast<T>(10247.25f)),      static_cast<T>(0.12428804224649080826343115234375e22L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4a, static_cast<T>(0.125)),      static_cast<T>(0.1517913818359375e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4a, static_cast<T>(0.25)),      static_cast<T>(0.21513671875e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4a, static_cast<T>(0.75)),      static_cast<T>(0.104072265625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.23689246584661304950714111328125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4a, static_cast<T>(6.5f)),      static_cast<T>(0.13013059375e6L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_odd_polynomial(n4a, static_cast<T>(10247.25f)),      static_cast<T>(0.12428804224649080826343115234375e22L),      tolerance);   //   // Rational functions of order 3   //   static const U d4c[4] = { 10, 2, 5, 4 };   static const boost::array<U, 4> d4a = { 10, 2, 5, 4 };   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(0.125), 4),      static_cast<T>(0.1608087679516250944822373393801965230537e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(0.25), 4),      static_cast<T>(0.2514367816091954022988505747126436781609e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(0.75), 4),      static_cast<T>(0.8564453125e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(1.0f - 1.0f/64.0f), 4),      static_cast<T>(0.1170714951947222939292918160495461743806e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(6.5f), 4),      static_cast<T>(0.2572219095854436315888201087975989495404e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(10247.25f), 4),      static_cast<T>(0.2749884125808399380227005558292823797886e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(0.125)),      static_cast<T>(0.1608087679516250944822373393801965230537e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(0.25)),      static_cast<T>(0.2514367816091954022988505747126436781609e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(0.75)),      static_cast<T>(0.8564453125e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.1170714951947222939292918160495461743806e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(6.5f)),      static_cast<T>(0.2572219095854436315888201087975989495404e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4c, d4c, static_cast<T>(10247.25f)),      static_cast<T>(0.2749884125808399380227005558292823797886e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4a, d4a, static_cast<T>(0.125)),      static_cast<T>(0.1608087679516250944822373393801965230537e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4a, d4a, static_cast<T>(0.25)),      static_cast<T>(0.2514367816091954022988505747126436781609e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4a, d4a, static_cast<T>(0.75)),      static_cast<T>(0.8564453125e0L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4a, d4a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.1170714951947222939292918160495461743806e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4a, d4a, static_cast<T>(6.5f)),      static_cast<T>(0.2572219095854436315888201087975989495404e1L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_rational(n4a, d4a, static_cast<T>(10247.25f)),      static_cast<T>(0.2749884125808399380227005558292823797886e1L),      tolerance);}template <class T, class U>void do_test_spots4(T, U){   //   // Tolerance is 4 eps expressed as a persentage:   //   T tolerance = boost::math::tools::epsilon<T>() * 4 * 100;   //   // Polynomials of order 4   //   static const U n5c[5] = { 10, 10, 4, 11, 9 };   static const boost::array<U, 5> n5a = { 10, 10, 4, 11, 9 };   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(0.125), 5),      static_cast<T>(0.11336181640625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(0.25), 5),      static_cast<T>(0.1295703125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(0.75), 5),      static_cast<T>(0.2723828125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(1.0f - 1.0f/64.0f), 5),      static_cast<T>(0.42662663042545318603515625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(6.5), 5),      static_cast<T>(0.193304375e5L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(10247.25), 5),      static_cast<T>(0.9924842756673782995703125e17L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(0.125)),      static_cast<T>(0.11336181640625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(0.25)),      static_cast<T>(0.1295703125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(0.75)),      static_cast<T>(0.2723828125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.42662663042545318603515625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(6.5)),      static_cast<T>(0.193304375e5L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5c, static_cast<T>(10247.25)),      static_cast<T>(0.9924842756673782995703125e17L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5a, static_cast<T>(0.125)),      static_cast<T>(0.11336181640625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5a, static_cast<T>(0.25)),      static_cast<T>(0.1295703125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5a, static_cast<T>(0.75)),      static_cast<T>(0.2723828125e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5a, static_cast<T>(1.0f - 1.0f/64.0f)),      static_cast<T>(0.42662663042545318603515625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5a, static_cast<T>(6.5)),      static_cast<T>(0.193304375e5L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_polynomial(n5a, static_cast<T>(10247.25)),      static_cast<T>(0.9924842756673782995703125e17L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(0.125), 5),      static_cast<T>(0.10157269060611724853515625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(0.25), 5),      static_cast<T>(0.106434478759765625e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(0.75), 5),      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), 5),      static_cast<T>(0.4138858164296656028113829961512237787247e2L),      tolerance);   BOOST_CHECK_CLOSE(      boost::math::tools::evaluate_even_polynomial(n5c, static_cast<T>(6.5f), 5),      static_cast<T>(0.2951521370703125e8L),      tolerance);

⌨️ 快捷键说明

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