Just need a bit of help making sure that I understand how the math tests are structured, or how they should be structured in an ideal world, plus a couple of questions. Let me know if I’m completely off here (obvious questions may follow).
Based on the guide in the wiki:
Implements the reverse, forward, and mixed autodiff tests for a 1- or 2-parameter function. But still requires a test in
test/unit/math/prim to test that the correct values are returned by the function.
- If a function has a test specified with this framework, does that mean they don’t need tests in
- If the function has analytic derivatives, does that change whether/how this testing framework is used?
- Are there limitations on the kinds of functions that can use this framework?
Next there are the frameworks for testing the vectorized versions of unary functions (i.e.
These only test whether the vectorization process has affected the function in some way, and still requires tests for the function in
For all other cases, a function needs to have a test in
Have I missed anything?