gpt4 book ai didi

cgal - CGAL 中的浮点精度选择

转载 作者:行者123 更新时间:2023-12-04 23:00:07 26 4
gpt4 key购买 nike

我想知道是否有办法让我选择CGAL中使用的浮点位宽。

例如下面的代码只是直接从CGAL手册中拷贝过来的一个凸包例子:

#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/convex_hull_2.h>
#include <vector>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef K::Point_2 Point_2;
typedef std::vector<Point_2> Points;
int main()
{
Points points, result;
points.push_back(Point_2(0,0));
points.push_back(Point_2(10,0));
points.push_back(Point_2(10,10));
points.push_back(Point_2(6,5));
points.push_back(Point_2(4,1));
CGAL::convex_hull_2( points.begin(), points.end(), std::back_inserter(result) );
std::cout << result.size() << " points on the convex hull" << std::endl;
return 0;
}

但是,我不能选择点的坐标存储在32位或64位 float 中。我还希望选择在 32 位或 64 位算法下计算凸包。(而且,是的,我愿意承担高舍入误差的风险。)

有没有办法在运行时或编译时选择浮点精度?

最佳答案

可以看文件Exact_predicates_inexact_constructions_kernel.h并对其进行调整以创建您自己的精确谓词不精确的结构,但将数字存储在 float 中

关于cgal - CGAL 中的浮点精度选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24052744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com