clad
clad copied to clipboard
clad -- automatic differentiation for C/C++
The PR [#497](https://github.com/vgvassilev/clad/pull/497) adds support for differentiating copy constructors of class `ValueAndPushforward` and that too, only the C++ generated default ones. However for other class types and user defined copy...
This commit adds a new verification target, 'check-clad-exec-only'. This target only verifies the 'CHECK-EXEC' filecheck checks. It is helpful during the development phase when derivative code is expected to change...
This is the initial PR for capturing the differentiation plan in a graphical format. However, the traversal order is still breadth-first, as we don't have the complete graph in the...
`check-clad` target verifies both the derivative code and derivative output. It's difficult to use this target when we are making Clad modifications that are expected to change the derivative code....
This PR removes adjoints for integral types in the reverse mode. This is done because integers are not differentiable in the traditional mathematical sense. Such behavior is consistent with other...
When implementing custom derivatives for one of the still unsupported std::erf built-ins, I noticed that custom derivatives were not being found and used correctly. For example: ``` C++ namespace clad...
LLVM crashing when nested void functions are used in conjunction with multiple double* input values
I have recently been running an experiment and LLVM crashes. Running the function on its own provides the correct answer, but if I however try and run the script with...
When there is no return statement and a value/pointer is modified inside the function we want to derive, the user has to initialize the derivative of the argument before passing...
We should restructure our code to ensure that methods like `AddRequestToSchedule` and `ProcessDiffRequest` are not required to be called by `Visitors` methods. Instead, we can make the DiffSchedule array accessible...