-
Notifications
You must be signed in to change notification settings - Fork 1
/
fp.cpp
31 lines (27 loc) · 2.3 KB
/
fp.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "fp.hpp"
void const_set()
{
const char *pStr = "5326738796327623094747867617954605554069371494832722337612446642054009560026576537626892113026381253624626941643949444792662881241621373288942880288065659";
Fp::modmpz = pStr;
Fp::set_mpz(Fp::p, Fp::modmpz);
Fp::set_mpz(Fp::p.inv4, mpz_class("1331684699081905773686966904488651388517342873708180584403111660513502390006644134406723028256595313406156735410987361198165720310405343322235720072016415"));
Fp::p.sqrt4 = "72984510660328627668487265992516213834621203782665312994583680849552234545871";
Fp::p.nbit = 511;
Fp::set_mpz(Fp::p.R, mpz_class("13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095"));
Fp::set_mpz(Fp::p.R2, mpz_class("4129249336087068599567712096533367844627103091116178550771554439546768636879316215877587311580678557833245516716846632497161687522600395855704996009744164"));
Fp::set_mpz(Fp::p.nr, mpz_class("11352847703487789629542365874112686817491332780459616199453250137299746292403308035585887700708945576897648221145487706796396106115280843778209115643193677"));
Fp::set_mpz(Fp::p.mrR2, mpz_class("2754330337287350910078289762296635019340622830926948702498668159613744910020393901548090072114140920440777974898587161268428120328703823368547888429952778"));
Fp::set_mpz(Fp::p.MR2, mpz_class("181921878247078725408711906638664484611874167021175067384889677173480260014211265469288031201900587256929008153224877744193359415786273448152896571839897"));
Fp::set_mpz(Fp::p.MR4, mpz_class("363843756494157450817423813277328969223748334042350134769779354346960520028422530938576062403801174513858016306449755488386718831572546896305793143679794"));
Fp::p.fpone.buf[0] = 1;
Fp::p.fptwo.buf[0] = 2;
Fp::p.p_plus_1_quarte = "1331684699081905773686966904488651388517342873708180584403111660513502390006644134406723028256595313406156735410987361198165720310405343322235720072016415";
Fp::set_mpz(Fp::p.MRinv4, mpz_class("3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024"));
#ifdef USE_NEW_MCL
int ret = mcl_init(pStr);
if (ret) {
printf("err mcl_init %d\n", ret);
exit(1);
}
#endif
}