Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
autogen.h File Reference
#include <thorin/axiom.h>
#include <thorin/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  thorin::plug::math
 The math Plugin
 
namespace  thorin
 
namespace  thorin::plug
 

Macros

#define THORIN_math_NORMALIZER_IMPL
 

Enumerations

%math.F
enum  thorin::plug::math::F : flags_t
 
%math.f16
enum  thorin::plug::math::f16 : flags_t
 
enum  thorin::plug::math::F16 : flags_t
 
%math.f32
enum  thorin::plug::math::f32 : flags_t
 
enum  thorin::plug::math::F32 : flags_t
 
%math.f64
enum  thorin::plug::math::f64 : flags_t
 
enum  thorin::plug::math::F64 : flags_t
 
%math.bf16
enum  thorin::plug::math::bf16 : flags_t
 
enum  thorin::plug::math::BF16 : flags_t
 
%math.nvtf32
enum  thorin::plug::math::nvtf32 : flags_t
 
enum  thorin::plug::math::NVTF32 : flags_t
 
%math.amdfp24
enum  thorin::plug::math::amdfp24 : flags_t
 
enum  thorin::plug::math::AMDFP24 : flags_t
 
%math.pxr24
enum  thorin::plug::math::pxr24 : flags_t
 
enum  thorin::plug::math::PXR24 : flags_t
 
%math.minus
enum  thorin::plug::math::minus : flags_t
 
%math.slf
enum  thorin::plug::math::slf : flags_t
 
%math.sgn
enum  thorin::plug::math::sgn : flags_t
 
%math.rrt
enum  thorin::plug::math::rrt : flags_t
 

Functions

void thorin::plug::math::register_normalizers (Normalizers &normalizers)
 

Variables

static constexpr plugin_t thorin::plug::math::Plugin_Id = 0x3825490000000000
 

%math.arith

enum  thorin::plug::math::arith : flags_t {
  thorin::plug::math::add = 0x3825490000000f00 ,
  thorin::plug::math::sub = 0x3825490000000f01 ,
  thorin::plug::math::mul = 0x3825490000000f02 ,
  thorin::plug::math::div = 0x3825490000000f03 ,
  thorin::plug::math::rem = 0x3825490000000f04
}
 
template<arith id>
Ref thorin::plug::math::normalize_arith (Ref type, Ref c, Ref arg)
 

%math.extrema

enum  thorin::plug::math::extrema : flags_t {
  thorin::plug::math::im = 0x3825490000001100 ,
  thorin::plug::math::fmin = im ,
  thorin::plug::math::iM = 0x3825490000001101 ,
  thorin::plug::math::fmax = iM ,
  thorin::plug::math::Im = 0x3825490000001102 ,
  thorin::plug::math::ieee754min = Im ,
  thorin::plug::math::IM = 0x3825490000001103 ,
  thorin::plug::math::ieee754max = IM
}
 
template<extrema id>
Ref thorin::plug::math::normalize_extrema (Ref type, Ref c, Ref arg)
 

%math.tri

enum  thorin::plug::math::tri : flags_t {
  thorin::plug::math::ahff = 0x3825490000001200 ,
  thorin::plug::math::sin = ahff ,
  thorin::plug::math::ahfF = 0x3825490000001201 ,
  thorin::plug::math::cos = ahfF ,
  thorin::plug::math::ahFf = 0x3825490000001202 ,
  thorin::plug::math::tan = ahFf ,
  thorin::plug::math::ahFF = 0x3825490000001203 ,
  thorin::plug::math::aHff = 0x3825490000001204 ,
  thorin::plug::math::sinh = aHff ,
  thorin::plug::math::h = aHff ,
  thorin::plug::math::aHfF = 0x3825490000001205 ,
  thorin::plug::math::cosh = aHfF ,
  thorin::plug::math::aHFf = 0x3825490000001206 ,
  thorin::plug::math::tanh = aHFf ,
  thorin::plug::math::aHFF = 0x3825490000001207 ,
  thorin::plug::math::Ahff = 0x3825490000001208 ,
  thorin::plug::math::asin = Ahff ,
  thorin::plug::math::a = Ahff ,
  thorin::plug::math::AhfF = 0x3825490000001209 ,
  thorin::plug::math::acos = AhfF ,
  thorin::plug::math::AhFf = 0x382549000000120a ,
  thorin::plug::math::atan = AhFf ,
  thorin::plug::math::AhFF = 0x382549000000120b ,
  thorin::plug::math::AHff = 0x382549000000120c ,
  thorin::plug::math::asinh = AHff ,
  thorin::plug::math::AHfF = 0x382549000000120d ,
  thorin::plug::math::acosh = AHfF ,
  thorin::plug::math::AHFf = 0x382549000000120e ,
  thorin::plug::math::atanh = AHFf ,
  thorin::plug::math::AHFF = 0x382549000000120f
}
 
template<tri id>
Ref thorin::plug::math::normalize_tri (Ref type, Ref c, Ref arg)
 

%math.pow

enum  thorin::plug::math::pow : flags_t
 
Ref thorin::plug::math::normalize_pow (Ref type, Ref c, Ref arg)
 

%math.rt

enum  thorin::plug::math::rt : flags_t {
  thorin::plug::math::sq = 0x3825490000001400 ,
  thorin::plug::math::cb = 0x3825490000001401
}
 
template<rt id>
Ref thorin::plug::math::normalize_rt (Ref type, Ref c, Ref arg)
 

%math.exp

enum  thorin::plug::math::exp : flags_t {
  thorin::plug::math::lbb = 0x3825490000001500 ,
  thorin::plug::math::exp = lbb ,
  thorin::plug::math::lbB = 0x3825490000001501 ,
  thorin::plug::math::exp2 = lbB ,
  thorin::plug::math::bin = lbB ,
  thorin::plug::math::lBb = 0x3825490000001502 ,
  thorin::plug::math::exp10 = lBb ,
  thorin::plug::math::dec = lBb ,
  thorin::plug::math::lBB = 0x3825490000001503 ,
  thorin::plug::math::Lbb = 0x3825490000001504 ,
  thorin::plug::math::log = Lbb ,
  thorin::plug::math::LbB = 0x3825490000001505 ,
  thorin::plug::math::log2 = LbB ,
  thorin::plug::math::LBb = 0x3825490000001506 ,
  thorin::plug::math::log10 = LBb ,
  thorin::plug::math::LBB = 0x3825490000001507
}
 
template<exp id>
Ref thorin::plug::math::normalize_exp (Ref type, Ref c, Ref arg)
 

%math.er

enum  thorin::plug::math::er : flags_t {
  thorin::plug::math::f = 0x3825490000001600 ,
  thorin::plug::math::fc = 0x3825490000001601
}
 
template<er id>
Ref thorin::plug::math::normalize_er (Ref type, Ref c, Ref arg)
 

%math.gamma

enum  thorin::plug::math::gamma : flags_t {
  thorin::plug::math::t = 0x3825490000001700 ,
  thorin::plug::math::l = 0x3825490000001701
}
 
template<gamma id>
Ref thorin::plug::math::normalize_gamma (Ref type, Ref c, Ref arg)
 

%math.abs

enum  thorin::plug::math::abs : flags_t
 
Ref thorin::plug::math::normalize_abs (Ref type, Ref c, Ref arg)
 

%math.round

enum  thorin::plug::math::round : flags_t {
  thorin::plug::math::f = 0x3825490000001600 ,
  thorin::plug::math::c = 0x3825490000001901 ,
  thorin::plug::math::r = 0x3825490000001902 ,
  thorin::plug::math::t = 0x3825490000001700
}
 
template<round id>
Ref thorin::plug::math::normalize_round (Ref type, Ref c, Ref arg)
 

%math.cmp

enum  thorin::plug::math::cmp : flags_t {
  thorin::plug::math::ugle = 0x3825490000001a00 ,
  thorin::plug::math::f = 0x3825490000001600 ,
  thorin::plug::math::uglE = 0x3825490000001a01 ,
  thorin::plug::math::e = uglE ,
  thorin::plug::math::ugLe = 0x3825490000001a02 ,
  thorin::plug::math::l = 0x3825490000001701 ,
  thorin::plug::math::ugLE = 0x3825490000001a03 ,
  thorin::plug::math::le = ugLE ,
  thorin::plug::math::uGle = 0x3825490000001a04 ,
  thorin::plug::math::g = uGle ,
  thorin::plug::math::uGlE = 0x3825490000001a05 ,
  thorin::plug::math::ge = uGlE ,
  thorin::plug::math::uGLe = 0x3825490000001a06 ,
  thorin::plug::math::ne = uGLe ,
  thorin::plug::math::uGLE = 0x3825490000001a07 ,
  thorin::plug::math::o = uGLE ,
  thorin::plug::math::Ugle = 0x3825490000001a08 ,
  thorin::plug::math::u = Ugle ,
  thorin::plug::math::UglE = 0x3825490000001a09 ,
  thorin::plug::math::ue = UglE ,
  thorin::plug::math::UgLe = 0x3825490000001a0a ,
  thorin::plug::math::ul = UgLe ,
  thorin::plug::math::UgLE = 0x3825490000001a0b ,
  thorin::plug::math::ule = UgLE ,
  thorin::plug::math::UGle = 0x3825490000001a0c ,
  thorin::plug::math::ug = UGle ,
  thorin::plug::math::UGlE = 0x3825490000001a0d ,
  thorin::plug::math::uge = UGlE ,
  thorin::plug::math::UGLe = 0x3825490000001a0e ,
  thorin::plug::math::une = UGLe ,
  thorin::plug::math::UGLE = 0x3825490000001a0f ,
  thorin::plug::math::t = 0x3825490000001700
}
 
template<cmp id>
Ref thorin::plug::math::normalize_cmp (Ref type, Ref c, Ref arg)
 

%math.conv

enum  thorin::plug::math::conv : flags_t {
  thorin::plug::math::s2f = 0x3825490000001b00 ,
  thorin::plug::math::u2f = 0x3825490000001b01 ,
  thorin::plug::math::f2s = 0x3825490000001b02 ,
  thorin::plug::math::f2u = 0x3825490000001b03 ,
  thorin::plug::math::f2f = 0x3825490000001b04
}
 
template<conv id>
Ref thorin::plug::math::normalize_conv (Ref dst_t, Ref c, Ref x)
 

Macro Definition Documentation

◆ THORIN_math_NORMALIZER_IMPL

#define THORIN_math_NORMALIZER_IMPL

Definition at line 503 of file autogen.h.