@@ -15,6 +15,18 @@ Semigroup::Semigroup(const Semigroup& S){
wilf=S.wilf;
}
+void Semigroup::operator=(const Semigroup& S){
+ for(auto i=0;i<NBLOCKS;++i){
+ blocks[i]=S.blocks[i];
+ }
+ conductor=S.conductor;
+ min=S.min;
+ genus=S.genus;
+ left_primitive=S.left_primitive;
+ left=S.left;
+ e=S.e;
+ wilf=S.wilf;
+}
void init_full_N(Semigroup &m){
epi8 block ={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8};
@@ -32,6 +32,7 @@ public:
ind_t conductor, min, genus,left_primitive,left,e,wilf;
Semigroup();
Semigroup(const Semigroup& S);
+ Semigroup& operator=(const Semigroup& S);
};
inline Semigroup::Semigroup(){