Here is a list of corner case examples that I believe should be covered in our test suite. These tests help us verify the correctness of our code, and eliminate any discrepancies I may have produced in the cpp version.
ray origin is within sphere and within bounds [1, N] (i.e. exclusive). For example, if N = 4, the ray origin should be 2 or 3.
ray origin begins on an angular boundary.
ray origin begins on an azimuthal boundary.
ray origin begins on a radial_boundary within the sphere.
ray origin is (0.0, 0.0, 0.0) and t_begin != 0.0
Edit: One more. We want to hit the following case in angular_hit:
(is_intersect_max && is_collinear_min)). This might be more up Ariel's alley.
Here is a list of corner case examples that I believe should be covered in our test suite. These tests help us verify the correctness of our code, and eliminate any discrepancies I may have produced in the cpp version.
Edit: One more. We want to hit the following case in angular_hit:
(is_intersect_max && is_collinear_min))
. This might be more up Ariel's alley.