Fixes a bug where the result of intersecting two lines segments is sometimes incorrect.
The bug only occurs in aarch64 and is due to an unanticipated fused multiply-add (FMA) operation. The FMA causes the cross product method to return very small but non-zero results for linearly dependent inputs (i.e. two vectors that are scaled versions of each other).
Description
Fixes a bug where the result of intersecting two lines segments is sometimes incorrect.
The bug only occurs in
aarch64
and is due to an unanticipated fused multiply-add (FMA) operation. The FMA causes the cross product method to return very small but non-zero results for linearly dependent inputs (i.e. two vectors that are scaled versions of each other).The bug does not occur on
x64_64
.Check List
Have you:
Added unit tests? Yes.
Add cmprefimpl tests? (if appropriate?) N/A.
Updated release notes? (if appropriate?)
Related Issue