MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
normalizers.cpp File Reference
#include <mim/normalize.h>
#include "mim/plug/math/math.h"
Include dependency graph for normalizers.cpp:

Go to the source code of this file.

Namespaces

namespace  mim
 
namespace  mim::plug
 
namespace  mim::plug::math
 The math Plugin
 

Macros

#define CODE(i)
 
#define CODE(i)
 
#define CODE(i)
 
#define M(S, D)
 

Functions

%math.arith
template<arith id>
const Defmim::plug::math::normalize_arith (const Def *type, const Def *c, const Def *arg)
 
%math.extrema
template<extrema id>
const Defmim::plug::math::normalize_extrema (const Def *type, const Def *c, const Def *arg)
 
%math.tri
template<tri id>
const Defmim::plug::math::normalize_tri (const Def *type, const Def *, const Def *arg)
 
%math.pow
const Defmim::plug::math::normalize_pow (const Def *type, const Def *, const Def *arg)
 
%math.rt
template<rt id>
const Defmim::plug::math::normalize_rt (const Def *type, const Def *, const Def *arg)
 
%math.exp
template<exp id>
const Defmim::plug::math::normalize_exp (const Def *type, const Def *, const Def *arg)
 
%math.er
template<er id>
const Defmim::plug::math::normalize_er (const Def *type, const Def *, const Def *arg)
 
%math.gamma
template<gamma id>
const Defmim::plug::math::normalize_gamma (const Def *type, const Def *, const Def *arg)
 
%math.cmp
template<cmp id>
const Defmim::plug::math::normalize_cmp (const Def *type, const Def *c, const Def *arg)
 
%math.conv
template<conv id>
const Defmim::plug::math::normalize_conv (const Def *dst_t, const Def *, const Def *x)
 
%math.abs
const Defmim::plug::math::normalize_abs (const Def *type, const Def *, const Def *arg)
 
%math.round
template<round id>
const Defmim::plug::math::normalize_round (const Def *type, const Def *, const Def *arg)
 

Macro Definition Documentation

◆ CODE [1/3]

#define CODE ( i)
Value:
case i: res = fold<Id, i>(la->get()); break;

◆ CODE [2/3]

#define CODE ( i)
Value:
case i: res = fold<Id, id, i>(*la); break;

◆ CODE [3/3]

#define CODE ( i)
Value:
case i: res = fold<Id, id, i>(*la, *lb); break;

◆ M

#define M ( S,
D )
Value:
else if (S == *sw && D == *dw) { \
if constexpr (S >= min_s && D >= min_d) \
res = fold<conv, id, S, D>(*l); \
else \
return {}; \
}