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

The vec Plugin More...

Enumerations

<tt>vec.first</tt>
enum class  first : flags_t
<tt>vec.last</tt>
enum class  last : flags_t
<tt>vec.len</tt>
enum class  len : flags_t

Functions

void register_normalizers (Normalizers &normalizers)

Variables

static constexpr plugin_t Plugin_Id = 0x5c61000000000000

<tt>vec.fold</tt>

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

<tt>vec.zip</tt>

enum class  zip : flags_t
const Def * normalize_zip (const Def *type, const Def *c, const Def *arg)

<tt>vec.scan</tt>

enum class  scan : flags_t {
  for_all = 0x5c61000000000200 ,
  exists = 0x5c61000000000201
}
template<scan id>
const Def * normalize_scan (const Def *, const Def *c, const Def *vec)

<tt>vec.is_unique</tt>

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

<tt>vec.cat</tt>

enum class  cat : flags_t
const Def * normalize_cat (const Def *, const Def *callee, const Def *arg)

<tt>vec.diff</tt>

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

Detailed Description

Enumeration Type Documentation

◆ cat

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

Definition at line 75 of file autogen.h.

◆ diff

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

Definition at line 83 of file autogen.h.

◆ first

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

Definition at line 46 of file autogen.h.

◆ fold

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

Definition at line 14 of file autogen.h.

◆ is_unique

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

Definition at line 67 of file autogen.h.

◆ last

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

Definition at line 53 of file autogen.h.

◆ len

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

Definition at line 60 of file autogen.h.

◆ scan

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

Definition at line 34 of file autogen.h.

◆ zip

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

Definition at line 26 of file autogen.h.

Function Documentation

◆ normalize_cat()

const Def * mim::plug::vec::normalize_cat ( const Def * ,
const Def * callee,
const Def * arg )

◆ 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 28 of file normalizers.cpp.

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

Referenced by normalize_fold().

◆ normalize_is_unique()

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

Definition at line 99 of file normalizers.cpp.

References mim::App::arg(), mim::Lit::isa(), and normalize_is_unique().

Referenced by normalize_is_unique().

◆ normalize_scan()

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

◆ normalize_zip()

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

◆ register_normalizers()

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

Variable Documentation

◆ Plugin_Id

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

Definition at line 10 of file autogen.h.