void SearchF() { GF2m* a; GF2m* b; for (int i=3;i< 50;i++) { a = new GF2m(i); b = new GF2m(i); a->SetOne(); b->SetPrimitive(); a->Inverse(); //dec(*a); printf("\nm=%i inverse() = %050s",i, a->Print(FMT_BIN, buf1)); power2(*b,b->BitLength); // b.Square(); dec(*b); printf("\nm=%i ^2^m-1 = %050s",i, b->Print(FMT_BIN, buf1)); printf("\n"); delete b; delete a; } { i = 167; a = new GF2m(i); b = new GF2m(i); a->SetOne(); b->SetPrimitive(); a->Inverse(); //dec(*a); printf("\nm=%i inverse() = %050s",i, a->Print(FMT_BIN, buf1)); power2(*b,b->BitLength); // b.Square(); dec(*b); printf("\nm=%i ^2^m-1 = %050s",i, b->Print(FMT_BIN, buf1)); printf("\n"); delete b; delete a; } }
test_power2() { //GF2m b(4); GF2m* b; for (int i=3;i< 50;i++) { b = new GF2m(i); b->SetPrimitive(); power2(*b,b->BitLength); // b.Square(); dec(*b); printf("\nm=%i b = %062s",i, b->Print(FMT_BIN, buf1)); delete b; } /*b.SetPrimitive(); power2(b,b.BitLength); // b.Square(); b--; printf("\n b = %032s", b.Print(FMT_BIN, buf1));*/ }