Log Message:
-----------
[cu2qu] Add failing test for split_cubic_into_three complex division
Same class of Cython-vs-pure-Python divergence fixed in
calc_cubic_points by PR #3930, but in split_cubic_into_three
which has its own / 3.0 expressions. Cython's C complex division
(__divdc3) uses multiply-by-reciprocal internally, producing a
1-ULP difference from Python's scalar division. This causes ±1
off-curve coordinate rounding on fonts with fractional default-
master coordinates (e.g. JosefinSans-Italic).
Log Message:
-----------
[cu2qu] Add failing test for split_cubic_into_three complex division
Same class of Cython-vs-pure-Python divergence fixed in
calc_cubic_points by PR #3930, but in split_cubic_into_three
which has its own / 3.0 expressions. Cython's C complex division
(__divdc3) uses multiply-by-reciprocal internally, producing a
1-ULP difference from Python's scalar division. This causes ±1
off-curve coordinate rounding on fonts with fractional default-
master coordinates (e.g. JosefinSans-Italic).
Log Message:
-----------
[cu2qu] Use _complex_div_by_real in split_cubic_into_three
Apply the same fix from PR #3930 to the two remaining / 3.0
expressions in split_cubic_into_three, which were missed by
the original calc_cubic_points fix.