It is easy for the user to enter an input ray's position (and maybe direction cosines) as integers, e.g. np.array([0,10,0]) to begin a ray at y=0 and otherwise the origin.
This array is of integer type, and when the type is picked up inside the raytrace functions, it will be int64 and break the algorithms.
The entrypoints should typecast P and S to config.precision to stabilize the algorithms.
It is easy for the user to enter an input ray's position (and maybe direction cosines) as integers, e.g.
np.array([0,10,0])
to begin a ray at y=0 and otherwise the origin.This array is of integer type, and when the type is picked up inside the raytrace functions, it will be int64 and break the algorithms.
The entrypoints should typecast P and S to
config.precision
to stabilize the algorithms.