boost::geometry::math::equals用法的测试程序

  • 实现功能
  • C++实现代码

实现功能

boost::geometry::math::equals用法的测试程序

C++实现代码

#include <geometry_test_common.hpp>
#include <limits>
#include <boost/geometry/util/condition.hpp>
#include <boost/geometry/util/math.hpp>
namespace bgm = bg::math;
template <typename T>
void test_all()
{BOOST_CHECK(bgm::equals(0, 0));BOOST_CHECK(bgm::equals(1, 1));BOOST_CHECK(bgm::equals(123456, 123456));    T eps = std::numeric_limits<T>::epsilon();if ( eps > 0 ){BOOST_CHECK(bgm::equals(0, 0+eps));BOOST_CHECK(bgm::equals(0+eps, 0));BOOST_CHECK(bgm::equals(1, 1+eps));BOOST_CHECK(bgm::equals(1+eps, 1));BOOST_CHECK(bgm::equals(12345+eps, 12345));}if (BOOST_GEOMETRY_CONDITION(std::numeric_limits<T>::has_infinity)){T inf = std::numeric_limits<T>::infinity();BOOST_CHECK(!bgm::equals(0, inf));BOOST_CHECK(!bgm::equals(0, -inf));BOOST_CHECK(!bgm::equals(1, inf));BOOST_CHECK(!bgm::equals(1, -inf));BOOST_CHECK(!bgm::equals(12345, inf));BOOST_CHECK(!bgm::equals(12345, -inf));BOOST_CHECK(!bgm::equals(inf, 0));BOOST_CHECK(!bgm::equals(-inf, 0));BOOST_CHECK(!bgm::equals(inf, 1));BOOST_CHECK(!bgm::equals(-inf, 1));BOOST_CHECK(!bgm::equals(inf, 12345));BOOST_CHECK(!bgm::equals(-inf, 12345));BOOST_CHECK(bgm::equals(inf, inf));BOOST_CHECK(bgm::equals(-inf, -inf));BOOST_CHECK(!bgm::equals(inf, -inf));BOOST_CHECK(!bgm::equals(-inf, inf));}if (BOOST_GEOMETRY_CONDITION(std::numeric_limits<T>::has_quiet_NaN)){T nan = std::numeric_limits<T>::quiet_NaN();BOOST_CHECK(!bgm::equals(0, nan));BOOST_CHECK(!bgm::equals(nan, 0));BOOST_CHECK(!bgm::equals(nan, nan));BOOST_CHECK(!bgm::equals(1, nan));BOOST_CHECK(!bgm::equals(nan, 1));BOOST_CHECK(!bgm::equals(12345, nan));BOOST_CHECK(!bgm::equals(nan, 12345));}
}int test_main(int, char* [])
{test_all<int>();test_all<float>();test_all<double>();   return 0;
}

boost::geometry::math::equals用法的测试程序相关推荐

  1. boost::geometry::detail::calculate_point_order用法的测试程序

    boost::geometry::detail::calculate_point_order用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::detail::cal ...

  2. boost::geometry::detail::as_range用法的测试程序

    boost::geometry::detail::as_range用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::detail::as_range用法的测试程序 ...

  3. boost::geometry::index::intersects用法的测试程序

    boost::geometry::index::intersects用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::index::intersects用法的测试程 ...

  4. boost::geometry::index:containst用法的测试程序

    boost::geometry::index:containst用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::index:containst用法的测试程序 C+ ...

  5. boost::geometry::util::is_implemented2用法的测试程序

    boost::geometry::util::is_implemented2用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::util::is_implemente ...

  6. boost::geometry::util::calculation_type用法的测试程序

    boost::geometry::util::calculation_type用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::util::calculation_ ...

  7. boost::geometry::strategy::vincenty用法的测试程序

    boost::geometry::strategy::vincenty用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::strategy::vincenty用法的测 ...

  8. boost::geometry::model::point用法的测试程序

    boost::geometry::model::point用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::model::point用法的测试程序 C++实现代码 ...

  9. boost::geometry::strategy::distance用法的测试程序

    boost::geometry::strategy::distance用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::strategy::distance用法的测 ...

最新文章

  1. sqlalchemy数据库中的offset偏移查询的使用
  2. PEAR安装、管理及使用
  3. 【Apache】 配置 (http协议的) vhost
  4. 再谈Windows 2000安全技术
  5. 分布式理论和分布式一致性协议
  6. HttpClient详解
  7. (转)Rust:Ownership,Reference和Lifetime详解
  8. 【UVA524】Prime Ring Problem(素数环--递归回溯+全局变量的一个小坑点---水题)
  9. 开源字体_开源字体的前5大资源
  10. 用结构化思维策划一个会议
  11. 数字逻辑实验一--组合逻辑电路的设计
  12. JavaScript实现汉字转拼音功能
  13. 看板工具 Wekan 安装配置启动和数据备份
  14. linux on galaxy 教程,三星 'Linux on DeX' 进入 Beta 版,该文章告诉您如何参与其中
  15. 王之泰201771010131《面向对象程序设计(java)》第二周学习总结
  16. PHPword 表格内换行处理
  17. linux 通过命令行打印本机IP
  18. 三星 盖世3 刷CM10.2 请插入sim卡
  19. 番茄工作法总结-第四章:中断
  20. 水浒.招安还是好过不招安

热门文章

  1. NavigationView的使用
  2. JavaWeb学习之路——SSM框架之SpringMVC(九)
  3. StoryBoard之User Defined Runtime Attributes的使用
  4. static 变量初始化顺序的问题和解决方案
  5. 《剑指offer》-- 斐波那契数列、跳台阶问题 、变态跳台阶问题、矩阵覆盖
  6. Java开发中的几种对象的说明(PO,VO,DTO,BO,POJO,DAO,SAO等)
  7. Go 结构体的值传递和地址传递
  8. ios保存gif到相册_iOS相册中的GIF图片的读取与保存
  9. 添加主键和添加主键约束有什么不同_为什么世界上不同国家之间的食品添加剂标准不同?...
  10. 什么是java常量?