8namespace plug::matrix {
174#define THORIN_matrix_NORMALIZER_IMPL \
175 void register_normalizers(Normalizers& normalizers) {\
176 normalizers[flags_t(Annex::Base<shape>)] = &normalize_shape; \
177 normalizers[flags_t(Annex::Base<read>)] = &normalize_read; \
178 normalizers[flags_t(Annex::Base<insert>)] = &normalize_insert; \
179 normalizers[flags_t(Annex::Base<prod>)] = &normalize_prod; \
180 normalizers[flags_t(Annex::Base<transpose>)] = &normalize_transpose; \
181 normalizers[flags_t(Annex::Base<map_reduce>)] = &normalize_map_reduce; \
Helper class to retrieve Infer::arg if present.
lower_matrix_medium_level
Ref normalize_transpose(Ref type, Ref callee, Ref arg)
Ref normalize_prod(Ref type, Ref callee, Ref arg)
static constexpr plugin_t Plugin_Id
void register_normalizers(Normalizers &normalizers)
Ref normalize_insert(Ref type, Ref callee, Ref arg)
Normalizer for write operations TODO: implement.
lower_matrix_high_level_map_reduce
Ref normalize_shape(Ref type, Ref callee, Ref arg)
Normalizer for transpose operations.
Ref normalize_map_reduce(Ref type, Ref callee, Ref arg)
map_reduce normalizers
internal_map_reduce_cleanup
Ref normalize_read(Ref type, Ref callee, Ref arg)
Normalizer for read opertions.
absl::flat_hash_map< flags_t, NormalizeFn > Normalizers
static constexpr flags_t Base