Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improved the performance of Delaunay3 by using the newly modified TSManifoldMesh and by including interval arithmetic with the rational arithmetic in ToPlane and ToCircumsphere to amortize the cost of the computations. In many cases, interval arithmetic can determine the signs of determinants using only floating-point arithmetic which avoids the more expensive rational-only arithmetic. For a user-supplied dataset of over 3066 points and executing on an Intel i9-10900 processor, the following measurements were made for float with compute type BSNumber<UIntegerFP32<44>> and for double with compute type BSNumber<UIntegerFP32<330>>. The old code Delaunay3<InputType,ComputeType> required 3611 milliseconds for float input and 3858 milliseconds for double. The new code Delaunay3<T> required 1274 milliseconds for float and 1280 milliseconds for double. The old code is deprecated, to be removed in GTL, but the current file still contains it in addition to the new code.
- Loading branch information