Description
The test structure is fairly comprehensive but we are starting to run into a few things as the library grows. The test files are becoming a conglomeration of new functions but are not standardized. Additionally, we are testing against the SpecialFunctions.jl
library which has its own errors and could eventually be replaced with new implementations. So as we add functions that are more accurate we can't test them to strict error tolerances. There are some potential alternatives.
- Switch all tests to
ArbNumerics.jl
so that the tests are accurate to all digits. Though this has the drawback of being very slow which I don't think is a good idea to slow down CI so much. - Generate a table of values that can be stored in the test folder to be loaded and compared against. This should be much faster as then we are only evaluating the functions in Bessels.jl. I would imagine loading a big table of values would not be too slow for each function.
There are I'm sure different approaches that I would be happy to hear. Though, I am in general of having a pretty complete testing approach in CI as there are so many functions that depend on each other it would be hard to locally test everything during each PR. Ideally, this will help any new implementation or performance improvement be checked against the strictest error tolerance of the existing function...