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

📄 complex_test.cpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CPP
📖 第 1 页 / 共 3 页
字号:
   check_complex(ct(half_pi), result, 2);      result = boost::math::acos(ct(mzero));   check_complex(ct(half_pi), result, 2);      result = boost::math::acos(ct(zero, mzero));   check_complex(ct(half_pi), result, 2);      result = boost::math::acos(ct(mzero, mzero));   check_complex(ct(half_pi), result, 2);      if(test_nan)   {      result = boost::math::acos(ct(zero,nan));      BOOST_CHECK_CLOSE(result.real(), half_pi, eps*200);      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));         result = boost::math::acos(ct(mzero,nan));      BOOST_CHECK_CLOSE(result.real(), half_pi, eps*200);      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));   }   if(test_infinity)   {      result = boost::math::acos(ct(zero, infinity));      BOOST_CHECK_CLOSE(result.real(), half_pi, eps*200);      BOOST_CHECK(result.imag() == -infinity);      result = boost::math::acos(ct(zero, -infinity));      BOOST_CHECK_CLOSE(result.real(), half_pi, eps*200);      BOOST_CHECK(result.imag() == infinity);   }   if(test_nan)   {      result = boost::math::acos(ct(one, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));   }   if(test_infinity)   {      result = boost::math::acos(ct(-infinity, one));      BOOST_CHECK_CLOSE(result.real(), pi, eps*200);      BOOST_CHECK(result.imag() == -infinity);      result = boost::math::acos(ct(infinity, one));      BOOST_CHECK(result.real() == 0);      BOOST_CHECK(result.imag() == -infinity);      result = boost::math::acos(ct(-infinity, -one));      BOOST_CHECK_CLOSE(result.real(), pi, eps*200);      BOOST_CHECK(result.imag() == infinity);      result = boost::math::acos(ct(infinity, -one));      BOOST_CHECK(result.real() == 0);      BOOST_CHECK(result.imag() == infinity);      result = boost::math::acos(ct(-infinity, infinity));      BOOST_CHECK_CLOSE(result.real(), three_quarter_pi, eps*200);      BOOST_CHECK(result.imag() == -infinity);      result = boost::math::acos(ct(infinity, infinity));      BOOST_CHECK_CLOSE(result.real(), quarter_pi, eps*200);      BOOST_CHECK(result.imag() == -infinity);      result = boost::math::acos(ct(-infinity, -infinity));      BOOST_CHECK_CLOSE(result.real(), three_quarter_pi, eps*200);      BOOST_CHECK(result.imag() == infinity);      result = boost::math::acos(ct(infinity, -infinity));      BOOST_CHECK_CLOSE(result.real(), quarter_pi, eps*200);      BOOST_CHECK(result.imag() == infinity);   }   if(test_nan)   {      result = boost::math::acos(ct(infinity, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(std::fabs(result.imag()) == infinity);      result = boost::math::acos(ct(-infinity, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(std::fabs(result.imag()) == infinity);      result = boost::math::acos(ct(nan, zero));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));      result = boost::math::acos(ct(nan, -zero));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));      result = boost::math::acos(ct(nan, one));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));      result = boost::math::acos(ct(nan, -one));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));      result = boost::math::acos(ct(nan, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));      result = boost::math::acos(ct(nan, infinity));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(result.imag() == -infinity);            result = boost::math::acos(ct(nan, -infinity));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(result.imag() == infinity);   }   //   // C99 spot tests for acosh:   //   result = boost::math::acosh(ct(zero, zero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK_CLOSE(result.imag(), half_pi, eps*200);   result = boost::math::acosh(ct(zero, mzero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK_CLOSE(result.imag(), half_pi, eps*200);   result = boost::math::acosh(ct(mzero, zero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK_CLOSE(result.imag(), half_pi, eps*200);      result = boost::math::acosh(ct(mzero, mzero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK_CLOSE(result.imag(), half_pi, eps*200);      if(test_infinity)   {      result = boost::math::acosh(ct(one, infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), half_pi, eps*200);      result = boost::math::acosh(ct(one, -infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), -half_pi, eps*200);   }   if(test_nan)   {      result = boost::math::acosh(ct(one, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));   }   if(test_infinity)   {      result = boost::math::acosh(ct(-infinity, one));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), pi, eps*200);            result = boost::math::acosh(ct(infinity, one));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(result.imag() == 0);            result = boost::math::acosh(ct(-infinity, -one));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), -pi, eps*200);            result = boost::math::acosh(ct(infinity, -one));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(result.imag() == 0);            result = boost::math::acosh(ct(-infinity, infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), three_quarter_pi, eps*200);            result = boost::math::acosh(ct(infinity, infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), quarter_pi, eps*200);            result = boost::math::acosh(ct(-infinity, -infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), -three_quarter_pi, eps*200);            result = boost::math::acosh(ct(infinity, -infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), -quarter_pi, eps*200);   }      if(test_nan)   {      result = boost::math::acosh(ct(infinity, nan));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));            result = boost::math::acosh(ct(-infinity, nan));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));            result = boost::math::acosh(ct(nan, one));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));            result = boost::math::acosh(ct(nan, infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));            result = boost::math::acosh(ct(nan, -one));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));            result = boost::math::acosh(ct(nan, -infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));            result = boost::math::acosh(ct(nan, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));   }   //   // C99 spot checks for asinh:   //   result = boost::math::asinh(ct(zero, zero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK(result.imag() == 0);   result = boost::math::asinh(ct(mzero, zero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK(result.imag() == 0);   result = boost::math::asinh(ct(zero, mzero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK(result.imag() == 0);   result = boost::math::asinh(ct(mzero, mzero));   BOOST_CHECK(result.real() == 0);   BOOST_CHECK(result.imag() == 0);   if(test_infinity)   {      result = boost::math::asinh(ct(one, infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), half_pi, eps*200);            result = boost::math::asinh(ct(one, -infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), -half_pi, eps*200);            result = boost::math::asinh(ct(-one, -infinity));      BOOST_CHECK(result.real() == -infinity);      BOOST_CHECK_CLOSE(result.imag(), -half_pi, eps*200);            result = boost::math::asinh(ct(-one, infinity));      BOOST_CHECK(result.real() == -infinity);      BOOST_CHECK_CLOSE(result.imag(), half_pi, eps*200);   }   if(test_nan)   {      result = boost::math::asinh(ct(one, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));      result = boost::math::asinh(ct(-one, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));      result = boost::math::asinh(ct(zero, nan));      BOOST_CHECK(boost::math::detail::test_is_nan(result.real()));      BOOST_CHECK(boost::math::detail::test_is_nan(result.imag()));   }   if(test_infinity)   {      result = boost::math::asinh(ct(infinity, one));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(result.imag() == 0);            result = boost::math::asinh(ct(infinity, -one));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK(result.imag() == 0);            result = boost::math::asinh(ct(-infinity, -one));      BOOST_CHECK(result.real() == -infinity);      BOOST_CHECK(result.imag() == 0);            result = boost::math::asinh(ct(-infinity, one));      BOOST_CHECK(result.real() == -infinity);      BOOST_CHECK(result.imag() == 0);            result = boost::math::asinh(ct(infinity, infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), quarter_pi, eps*200);            result = boost::math::asinh(ct(infinity, -infinity));      BOOST_CHECK(result.real() == infinity);      BOOST_CHECK_CLOSE(result.imag(), -quarter_pi, eps*200);

⌨️ 快捷键说明

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