Investigating #1623 showed that _on_minor_arc_xyz is not affected by the choice of boolean arithmetic versus conditionals, but subsequent analysis shows a number of call sites for _on_minor_arc_xyz that could potentially benefit from optimization.
Scalarizing gca_gca_intersection is a relatively easy way to improve the behavior of on_minor_arc routines; we can remove numpy ndarray objects and replace them with scalars in these numba-compiled contexts.
Investigating #1623 showed that
_on_minor_arc_xyzis not affected by the choice of boolean arithmetic versus conditionals, but subsequent analysis shows a number of call sites for_on_minor_arc_xyzthat could potentially benefit from optimization.Scalarizing
gca_gca_intersectionis a relatively easy way to improve the behavior ofon_minor_arcroutines; we can remove numpyndarrayobjects and replace them with scalars in these numba-compiled contexts.