RFR: 8176501: Method Shape.getBounds2D() incorrectly includes Bezier control points in bounding box [v2]
Jeremy
duke at openjdk.java.net
Fri Nov 12 05:50:33 UTC 2021
On Thu, 11 Nov 2021 10:26:30 GMT, Laurent Bourgès <lbourges at openjdk.org> wrote:
>> You made an amazing job !
>> Your bigdecimal impl looks good.
>> I will play with your test experiment... asap.
>> I think numerical accuracies are related to the dynamic /magnitude of values: points.
>> The test should evaluate(max error) depending on the quick length(curve) ~ manhattan norm(curve arms), so small curves have less numerical error whereas huge curve (10^50 length) means points are wide spread and coeffs... solver...points are less accurate.
>>
>> I will try making sampled control points vary in log scale: 10^-6 to 10^38 (float max) so curve length will vary in huge range and determine the histogram of max(error) / length ratio.
>
> see condition number = magnitude range on such plot:
> https://github.com/JuliaMath/AccurateArithmetic.jl/blob/master/test/figs/sum_accuracy.svg
I just pushed a commit ( 40bda06 ) that addresses the machine error problem to my satisfaction. It includes a unit test that failed before that commit and now passes.
At your convenience let me know your thoughts. (That commit continues to focus on very small doubles; it may (?) need help to address very large double errors.)
-------------
PR: https://git.openjdk.java.net/jdk/pull/6227
More information about the client-libs-dev
mailing list