Sub-issue of #1648 to track: should apply this optimization throughout the intersections.py file: don't construct many tiny numpy arrays inside numba routines.
Additionally, refactor the intersections.py routines to restore prior behavior of using 3-vector inputs and outputs, but to maintain performance improvements just accept tuples instead of requiring the allocation of tiny numpy arrays. Methods were recently "scalarized" via PR #1688, but the discussion there clarified that the intent was to restore to the pre-scalarized function interfaces where possible, as long as performance gains remain intact.
Sub-issue of #1648 to track: should apply this optimization throughout the intersections.py file: don't construct many tiny numpy arrays inside numba routines.
Additionally, refactor the intersections.py routines to restore prior behavior of using 3-vector inputs and outputs, but to maintain performance improvements just accept tuples instead of requiring the allocation of tiny numpy arrays. Methods were recently "scalarized" via PR #1688, but the discussion there clarified that the intent was to restore to the pre-scalarized function interfaces where possible, as long as performance gains remain intact.