#pragma once
namespacehaar_lib{template<typenameT>structadd_mul_semiring{usingvalue_type=T;value_typeid_add()const{return0;}value_typeid_mul()const{return1;}value_typeadd(value_typea,value_typeb)const{returna+b;}value_typemul(value_typea,value_typeb)const{returna*b;}};}// namespace haar_lib