MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
autogen.h File Reference
#include <mim/axiom.h>
#include <mim/plugin.h>
Include dependency graph for autogen.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  mim::plug::autodiff
 The automatic differentiation Plugin
 
namespace  mim
 
namespace  mim::plug
 

Macros

#define MIM_autodiff_NORMALIZER_IMPL
 

Enumerations

%autodiff.ad_eval_pass
enum class  mim::plug::autodiff::ad_eval_pass : flags_t
 
%autodiff.ad_zero_pass
enum class  mim::plug::autodiff::ad_zero_pass : flags_t
 
%autodiff.ad_zero_cleanup_pass
enum class  mim::plug::autodiff::ad_zero_cleanup_pass : flags_t
 
%autodiff.ad_ext_cleanup_pass
enum class  mim::plug::autodiff::ad_ext_cleanup_pass : flags_t
 

Functions

void mim::plug::autodiff::register_normalizers (Normalizers &normalizers)
 

Variables

static constexpr plugin_t mim::plug::autodiff::Plugin_Id = 0x9655014a1c70000
 

%autodiff.Tangent

enum class  mim::plug::autodiff::Tangent : flags_t
 
Ref mim::plug::autodiff::normalize_Tangent (Ref, Ref, Ref arg)
 

%autodiff.AD

enum class  mim::plug::autodiff::AD : flags_t
 
enum class  mim::plug::autodiff::ad : flags_t
 
Ref mim::plug::autodiff::normalize_AD (Ref type, Ref callee, Ref arg)
 
Ref mim::plug::autodiff::normalize_ad (Ref type, Ref callee, Ref arg)
 Currently this normalizer does nothin.
 

%autodiff.zero

enum class  mim::plug::autodiff::zero : flags_t
 
Ref mim::plug::autodiff::normalize_zero (Ref type, Ref callee, Ref arg)
 Currently this normalizer does nothing.
 

%autodiff.add

enum class  mim::plug::autodiff::add : flags_t
 
Ref mim::plug::autodiff::normalize_add (Ref type, Ref callee, Ref arg)
 Currently resolved the full addition.
 

%autodiff.sum

enum class  mim::plug::autodiff::sum : flags_t
 
Ref mim::plug::autodiff::normalize_sum (Ref type, Ref callee, Ref arg)
 

Macro Definition Documentation

◆ MIM_autodiff_NORMALIZER_IMPL

#define MIM_autodiff_NORMALIZER_IMPL
Value:
void register_normalizers(Normalizers& normalizers) {\
normalizers[flags_t(Annex::Base<Tangent>)] = &normalize_Tangent; \
normalizers[flags_t(Annex::Base<AD>)] = &normalize_AD; \
normalizers[flags_t(Annex::Base<ad>)] = &normalize_ad; \
normalizers[flags_t(Annex::Base<zero>)] = &normalize_zero; \
normalizers[flags_t(Annex::Base<add>)] = &normalize_add; \
normalizers[flags_t(Annex::Base<sum>)] = &normalize_sum; \
}

Definition at line 90 of file autogen.h.