template<typename T>
{
{ is_diff_v<T> } -> std::convertible_to<bool>;
requires is_diff_v<T>;
{
gradient(a) } -> std::convertible_to<remove_diff_t<T>>;
}
Definition: gradient.h:25
void track_gradient(T &t, bool toggle=true)
Enable/disable tracking of gradients for a variable.
Definition: backbone.h:451
void backward_gradient(T &t)
Enable backward/reverse gradient tracking.
Definition: backbone.h:479
bool is_gradient_tracked(const T &t)
Checks if gradients are enabled for a variable.
Definition: backbone.h:436
auto gradient(T &t)
Return the gradient.
Definition: backbone.h:423
void forward_gradient(T &t)
Enable forward gradient tracking.
Definition: backbone.h:465
auto detach_gradient(T &t)
Detach the value from the gradient computations.
Definition: backbone.h:408