Go to the source code of this file.
Namespaces | |
| namespace | mim |
| namespace | mim::plug |
| namespace | mim::plug::math |
| The math Plugin | |
Functions | |
math.F | |
| std::optional< nat_t > | mim::plug::math::isa_f (const Def *def) |
| const Lit * | mim::plug::math::lit_f (World &w, std::floating_point auto val) |
| const Lit * | mim::plug::math::lit_f (World &w, nat_t width, mim::f64 val) |
is_commutative/is_associative | |
| constexpr bool | mim::is_commutative (plug::math::extrema) |
| constexpr bool | mim::is_commutative (plug::math::arith id) |
| constexpr bool | mim::is_commutative (plug::math::cmp id) |
| constexpr bool | mim::is_associative (plug::math::arith id) |
Mode | |
| enum class | mim::plug::math::Mode : nat_t { mim::plug::math::top = 0 , mim::plug::math::none = top , mim::plug::math::nnan = 1 << 0 , mim::plug::math::ninf = 1 << 1 , mim::plug::math::nsz = 1 << 2 , mim::plug::math::arcp = 1 << 3 , mim::plug::math::contract = 1 << 4 , mim::plug::math::afn = 1 << 5 , mim::plug::math::reassoc = 1 << 6 , mim::plug::math::finite = nnan | ninf , mim::plug::math::unsafe = nsz | arcp | reassoc , mim::plug::math::fast , mim::plug::math::bot = fast } |
| Allowed optimizations for a specific operation. More... | |
| using | mim::plug::math::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::math::mode (World &w, VMode m) |
| mim::plug::math::VMode -> const Def*. | |