void generate() { for(int i=0;i<numG;i++) { //cout<<"p1"<<endl; //cout<<p1<<endl; //cout<<"p2"<<endl; //cout<<p2<<endl; ps1[i]=p1[20]+p1[17]+p1[6]; ps2[i]=p2[20]+p2[18]+p2[7]; p1.shift_right(p1[0]); p2.shift_right(p2[0]); p1[0]=p1[21]+p1[24]; p2[0]=p2[21]+p2[22]+p2[23]+p2[24]; c1[i]=p1[24]+p2[24]; c2[i]=ps1[i]+ps2[i]; } for(int i=0;i<numG;i++) { (c1(i)==0) ? cv1(i)=1: cv1(i)=-1; (c2(i)==0) ? cv2(i)=1: cv2(i)=-1; } complex<double>temp; for(int i=0;i<numG;i++) { temp._Val[0]=cv1(i); temp._Val[1]=pow(-1,i)*cv2(2*floor(i/2.0)); c(i)=temp; cConjugate[i]=c(i); cConjugate[i]._Val[1]=cConjugate[i]._Val[1]*(-1.0); } }