The matrix Plugin
More...
|
const Def * | zero_int (World &w, const Def *n, const Def *S, const Def *mem, nat_t m) |
| mat.zero: [n: Nat, S: «n; Nat», m: Nat] -> mat.Mat (n,S,(Idx m));
|
|
const Def * | op_read (const Def *mem, const Def *matrix, const Def *idx) |
|
u64 | get_max_index (u64 init, Defs inputs) |
| Matrix normalizer for product on two-dimensional matrices.
|
|
std::pair< Lam *, const Def * > | counting_for (const Def *bound, DefVec acc, const Def *exit, const char *name="for_body") |
|
void | register_normalizers (Normalizers &normalizers) |
|
◆ constMat
◆ init
◆ insert
◆ internal_map_reduce_cleanup
◆ lower_matrix_high_level_map_reduce
◆ lower_matrix_low_level
◆ lower_matrix_medium_level
◆ map_reduce
◆ Mat
◆ prod
◆ read
◆ shape
◆ sum
◆ transpose
◆ counting_for()
std::pair< Lam *, const Def * > mim::plug::matrix::counting_for |
( |
const Def * | bound, |
|
|
DefVec | acc, |
|
|
const Def * | exit, |
|
|
const char * | name = "for_body" ) |
◆ get_max_index()
u64 mim::plug::matrix::get_max_index |
( |
u64 | init, |
|
|
Defs | inputs ) |
Matrix normalizer for product on two-dimensional matrices.
- product (constMat v1, constMat v2) -> constMat v1 * v2 * dim (TODO: implement)
- product (constMat v, m) -> ... (TODO: implement)
- product (m, constMat v) -> ... (TODO: implement)
- product (id, m) -> m (TODO: check)
- product (m, id) -> m
- map(constMat v, f) -> constMat f(v) (TODO: implement)
- map f (map g m) -> map (f . g) m (TODO: implement)
- map f (zipWith g m1 m2) -> zipWith (f . g) m1 m2 (TODO: implement)
Definition at line 68 of file normalizers.cpp.
References mim::Lit::isa().
◆ normalize_insert()
const Def * mim::plug::matrix::normalize_insert |
( |
const Def * | , |
|
|
const Def * | , |
|
|
const Def * | ) |
Normalizer for write operations TODO: implement.
Definition at line 41 of file normalizers.cpp.
◆ normalize_map_reduce()
const Def * mim::plug::matrix::normalize_map_reduce |
( |
const Def * | , |
|
|
const Def * | , |
|
|
const Def * | ) |
◆ normalize_prod()
const Def * mim::plug::matrix::normalize_prod |
( |
const Def * | , |
|
|
const Def * | , |
|
|
const Def * | ) |
◆ normalize_read()
const Def * mim::plug::matrix::normalize_read |
( |
const Def * | type, |
|
|
const Def * | , |
|
|
const Def * | arg ) |
◆ normalize_shape()
const Def * mim::plug::matrix::normalize_shape |
( |
const Def * | type, |
|
|
const Def * | callee, |
|
|
const Def * | arg ) |
Normalizer for transpose operations.
- transpose (constMat v) -> cosntMat v (TODO: implement)
- transpose (insert m v (i,j)) -> insert (transpose m) v (j,i) (TODO: implement, maybe other way around?)
- transpose (tranpose m) -> m (TODO: implement)
- shape (@mat n (k1,k2,...,kn) i) -> (k1,k2,...,kn)#i (TODO: implement)
Definition at line 49 of file normalizers.cpp.
References mim::match(), mim::Def::projs(), and mim::Def::world().
◆ normalize_transpose()
const Def * mim::plug::matrix::normalize_transpose |
( |
const Def * | , |
|
|
const Def * | , |
|
|
const Def * | ) |
◆ op_read()
const Def * mim::plug::matrix::op_read |
( |
const Def * | mem, |
|
|
const Def * | matrix, |
|
|
const Def * | idx ) |
|
inline |
◆ register_normalizers()
void mim::plug::matrix::register_normalizers |
( |
Normalizers & | normalizers | ) |
|
◆ zero_int()
mat.zero: [n: Nat, S: «n; Nat», m: Nat] -> mat.Mat (n,S,(Idx m));
Definition at line 14 of file matrix.h.
◆ Plugin_Id
plugin_t mim::plug::matrix::Plugin_Id = 0x3825532990000000 |
|
staticconstexpr |