118#define MIM_matrix_NORMALIZER_IMPL \
119 void register_normalizers(Normalizers& normalizers) {\
120 normalizers[flags_t(Annex::Base<shape>)] = &normalize_shape; \
121 normalizers[flags_t(Annex::Base<read>)] = &normalize_read; \
122 normalizers[flags_t(Annex::Base<insert>)] = &normalize_insert; \
123 normalizers[flags_t(Annex::Base<prod>)] = &normalize_prod; \
124 normalizers[flags_t(Annex::Base<transpose>)] = &normalize_transpose; \
125 normalizers[flags_t(Annex::Base<map_reduce>)] = &normalize_map_reduce; \
118#define MIM_matrix_NORMALIZER_IMPL \ …
internal_map_reduce_cleanup
const Def * normalize_insert(const Def *, const Def *, const Def *)
Normalizer for write operations TODO: implement.
static constexpr plugin_t Plugin_Id
const Def * normalize_map_reduce(const Def *, const Def *, const Def *)
map_reduce normalizers
lower_matrix_high_level_map_reduce
const Def * normalize_shape(const Def *type, const Def *callee, const Def *arg)
Normalizer for transpose operations.
void register_normalizers(Normalizers &normalizers)
const Def * normalize_prod(const Def *, const Def *, const Def *)
const Def * normalize_read(const Def *type, const Def *, const Def *arg)
Normalizer for read opertions.
const Def * normalize_transpose(const Def *, const Def *, const Def *)
lower_matrix_medium_level
absl::flat_hash_map< flags_t, NormalizeFn > Normalizers
static constexpr size_t Num
static constexpr flags_t Base