boost::geometry::math::equals用法的测试程序
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用法的测试程序相关推荐
- boost::geometry::detail::calculate_point_order用法的测试程序
boost::geometry::detail::calculate_point_order用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::detail::cal ...
- boost::geometry::detail::as_range用法的测试程序
boost::geometry::detail::as_range用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::detail::as_range用法的测试程序 ...
- boost::geometry::index::intersects用法的测试程序
boost::geometry::index::intersects用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::index::intersects用法的测试程 ...
- boost::geometry::index:containst用法的测试程序
boost::geometry::index:containst用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::index:containst用法的测试程序 C+ ...
- boost::geometry::util::is_implemented2用法的测试程序
boost::geometry::util::is_implemented2用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::util::is_implemente ...
- boost::geometry::util::calculation_type用法的测试程序
boost::geometry::util::calculation_type用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::util::calculation_ ...
- boost::geometry::strategy::vincenty用法的测试程序
boost::geometry::strategy::vincenty用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::strategy::vincenty用法的测 ...
- boost::geometry::model::point用法的测试程序
boost::geometry::model::point用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::model::point用法的测试程序 C++实现代码 ...
- boost::geometry::strategy::distance用法的测试程序
boost::geometry::strategy::distance用法的测试程序 实现功能 C++实现代码 实现功能 boost::geometry::strategy::distance用法的测 ...
最新文章
- sqlalchemy数据库中的offset偏移查询的使用
- PEAR安装、管理及使用
- 【Apache】 配置 (http协议的) vhost
- 再谈Windows 2000安全技术
- 分布式理论和分布式一致性协议
- HttpClient详解
- (转)Rust:Ownership,Reference和Lifetime详解
- 【UVA524】Prime Ring Problem(素数环--递归回溯+全局变量的一个小坑点---水题)
- 开源字体_开源字体的前5大资源
- 用结构化思维策划一个会议
- 数字逻辑实验一--组合逻辑电路的设计
- JavaScript实现汉字转拼音功能
- 看板工具 Wekan 安装配置启动和数据备份
- linux on galaxy 教程,三星 'Linux on DeX' 进入 Beta 版,该文章告诉您如何参与其中
- 王之泰201771010131《面向对象程序设计(java)》第二周学习总结
- PHPword 表格内换行处理
- linux 通过命令行打印本机IP
- 三星 盖世3 刷CM10.2 请插入sim卡
- 番茄工作法总结-第四章:中断
- 水浒.招安还是好过不招安
热门文章
- NavigationView的使用
- JavaWeb学习之路——SSM框架之SpringMVC(九)
- StoryBoard之User Defined Runtime Attributes的使用
- static 变量初始化顺序的问题和解决方案
- 《剑指offer》-- 斐波那契数列、跳台阶问题 、变态跳台阶问题、矩阵覆盖
- Java开发中的几种对象的说明(PO,VO,DTO,BO,POJO,DAO,SAO等)
- Go 结构体的值传递和地址传递
- ios保存gif到相册_iOS相册中的GIF图片的读取与保存
- 添加主键和添加主键约束有什么不同_为什么世界上不同国家之间的食品添加剂标准不同?...
- 什么是java常量?