Collection of utilities for testing forward- and reverse-mode AD sensitivities.
ChainRulesTestUtils.jl is designed to help you test ChainRulesCore.frule and ChainRulesCore.rrule methods.
The main entry points are ChainRulesTestUtils.frule_test, ChainRulesTestUtils.rrule_test, and ChainRulesTestUtils.test_scalar
Currently this is done via testing the rules against numerical differentiation (using FiniteDifferences.jl).
ChainRulesTestUtils.jl is separate from ChainRulesCore.jl so that it can be a test-only dependency, allowing it to have potentially heavy dependencies, while keeping ChainRulesCore.jl as light-weight as possible.