MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
autodiff.h
Go to the documentation of this file.
1#pragma once
2
3#include "mim/world.h"
4
6
8
9/// @name %%autodiff.Tangent
10///@{
11const Def* tangent_type_fun(const Def*);
12///@}
13
14/// @name %%autodiff.zero
15///@{
16const Def* zero_def(const Def* T);
17const Def* zero_pullback(const Def* E, const Def* A);
18///@}
19
20/// @name %%autodiff.sum
21///@{
22const Def* op_sum(const Def* T, Defs);
23///@}
24
25/// @name Helpers
26///@{
27const Pi* pullback_type(const Def* E, const Def* A);
28const Def* id_pullback(const Def*);
29const Pi* autodiff_type_fun_pi(const Pi*);
30const Def* autodiff_type_fun(const Def*);
31///@}
32
33} // namespace mim::plug::autodiff
Base class for all Defs.
Definition def.h:261
A dependent function type.
Definition lam.h:14
The automatic differentiation Plugin
Definition autodiff.h:7
const Pi * autodiff_type_fun_pi(const Pi *)
Definition autodiff.cpp:83
const Def * op_sum(const Def *T, Defs)
Definition autodiff.cpp:151
const Def * autodiff_type_fun(const Def *)
Definition autodiff.cpp:105
const Def * zero_def(const Def *T)
Definition autodiff.cpp:130
const Def * tangent_type_fun(const Def *)
Definition autodiff.cpp:54
const Def * zero_pullback(const Def *E, const Def *A)
Definition autodiff.cpp:42
const Def * id_pullback(const Def *)
Definition autodiff.cpp:30
const Pi * pullback_type(const Def *E, const Def *A)
computes pb type E* -> A* E - type of the expression (return type for a function) A - type of the arg...
Definition autodiff.cpp:59
View< const Def * > Defs
Definition def.h:78