|
MimIR 0.1
MimIR is my Intermediate Representation
|
Go to the source code of this file.
Namespaces | |
| namespace | mim |
| namespace | mim::plug |
| namespace | mim::plug::core |
| The core Plugin | |
Functions | |
%core.trait | |
| const Def * | mim::plug::core::op (trait o, const Def *type) |
%core.pe | |
| const Def * | mim::plug::core::op (pe o, const Def *def) |
%core.bit2 | |
| constexpr std::array< std::array< u64, 2 >, 2 > | mim::plug::core::make_truth_table (bit2 id) |
extract_unsafe | |
| const Def * | mim::plug::core::extract_unsafe (const Def *d, const Def *i) |
| const Def * | mim::plug::core::extract_unsafe (const Def *d, u64 i) |
insert_unsafe | |
| const Def * | mim::plug::core::insert_unsafe (const Def *d, const Def *i, const Def *val) |
| const Def * | mim::plug::core::insert_unsafe (const Def *d, u64 i, const Def *val) |
Convert TBound to Sigma | |
This is WIP. | |
| template<bool up> | |
| const Sigma * | mim::plug::core::convert (const TBound< up > *b) |
| const Sigma * | mim::plug::core::convert (const Bound *b) |
is_commutative/is_associative | |
| constexpr bool | mim::is_commutative (plug::core::nat id) |
| constexpr bool | mim::is_commutative (plug::core::ncmp id) |
| constexpr bool | mim::is_commutative (plug::core::wrap id) |
| constexpr bool | mim::is_commutative (plug::core::icmp id) |
| constexpr bool | mim::is_commutative (plug::core::bit2 id) |
| constexpr bool | mim::is_associative (plug::core::bit2 id) |
| constexpr bool | mim::is_associative (plug::core::nat id) |
| constexpr bool | mim::is_associative (plug::core::ncmp id) |
| constexpr bool | mim::is_associative (plug::core::icmp id) |
| constexpr bool | mim::is_associative (plug::core::wrap id) |
Mode | |
| enum class | mim::plug::core::Mode : nat_t { mim::plug::core::none = 0 , mim::plug::core::nsw = 1 << 0 , mim::plug::core::nuw = 1 << 1 , mim::plug::core::nusw = nuw | nsw } |
| using | mim::plug::core::VMode = std::variant<Mode, nat_t, const Def*> |
| Give Mode as mim::plug::math::Mode, mim::nat_t or const Def*. | |
| const Def * | mim::plug::core::mode (World &w, VMode m) |
| mim::plug::core::VMode -> const Def*. | |