Parcourir la source

Recopy operator

Jean Fromentin il y a 11 mois
Parent
commit
010f040137
2 fichiers modifiés avec 13 ajouts et 0 suppressions
  1. 12 0
      c++/src/semigroup.cpp
  2. 1 0
      c++/src/semigroup.hpp

+ 12 - 0
c++/src/semigroup.cpp

@@ -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};

+ 1 - 0
c++/src/semigroup.hpp

@@ -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(){