MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::plug::vec Namespace Reference

The vec Plugin More...

Functions

void register_normalizers (Normalizers &normalizers)
 

Variables

static constexpr plugin_t Plugin_Id = 0x5c61000000000000
 

%vec.fold

enum class  fold : flags_t {
  l = 0x5c61000000000000 ,
  r = 0x5c61000000000001
}
 
template<fold id>
const Defnormalize_fold (const Def *, const Def *c, const Def *arg)
 

%vec.scan

enum class  scan : flags_t {
  for_all = 0x5c61000000000100 ,
  exists = 0x5c61000000000101
}
 
template<scan id>
const Defnormalize_scan (const Def *, const Def *c, const Def *vec)
 

%vec.is_unique

enum class  is_unique : flags_t
 
const Defnormalize_is_unique (const Def *, const Def *, const Def *vec)
 

%vec.diff

enum class  diff : flags_t
 
const Defnormalize_diff (const Def *type, const Def *c, const Def *arg)
 

Detailed Description

Enumeration Type Documentation

◆ diff

enum class mim::plug::vec::diff : flags_t
strong

Definition at line 46 of file autogen.h.

◆ fold

enum class mim::plug::vec::fold : flags_t
strong
Enumerator

Definition at line 14 of file autogen.h.

◆ is_unique

enum class mim::plug::vec::is_unique : flags_t
strong

Definition at line 38 of file autogen.h.

◆ scan

enum class mim::plug::vec::scan : flags_t
strong
Enumerator
for_all 
exists 

Definition at line 26 of file autogen.h.

Function Documentation

◆ normalize_diff()

const Def * mim::plug::vec::normalize_diff ( const Def * type,
const Def * c,
const Def * arg )

◆ normalize_fold()

template<fold id>
const Def * mim::plug::vec::normalize_fold ( const Def * ,
const Def * c,
const Def * arg )

Definition at line 9 of file normalizers.cpp.

References l, mim::Def::projs(), and r.

◆ normalize_is_unique()

const Def * mim::plug::vec::normalize_is_unique ( const Def * ,
const Def * ,
const Def * vec )

Definition at line 47 of file normalizers.cpp.

References mim::Lit::isa(), and l.

◆ normalize_scan()

template<scan id>
const Def * mim::plug::vec::normalize_scan ( const Def * ,
const Def * c,
const Def * vec )

Definition at line 30 of file normalizers.cpp.

References mim::plug::core::and_, mim::App::arg(), exists, and mim::plug::core::or_.

◆ register_normalizers()

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

Referenced by mim_get_plugin().

Variable Documentation

◆ Plugin_Id

plugin_t mim::plug::vec::Plugin_Id = 0x5c61000000000000
staticconstexpr

Definition at line 10 of file autogen.h.