functions added

This commit is contained in:
Jordi Baylina
2019-11-29 20:19:58 +01:00
parent 93330f065b
commit f4bbcfd90c
13 changed files with 258 additions and 161 deletions

View File

@@ -109,14 +109,14 @@ Circom_Sizes Circom_CalcWit::getSignalSizes(int cIdx, u64 hash) {
return circuit->components[cIdx].entries[entryPos].sizes;
}
PBigInt Circom_CalcWit::allocBigInts(Circom_Sizes sizes) {
PBigInt res = new BigInt[sizes[0]];
for (int i=0; i<sizes[0]; i++) mpz_init2(res[i], 256);
PBigInt Circom_CalcWit::allocBigInts(int n) {
PBigInt res = new BigInt[n];
for (int i=0; i<n; i++) mpz_init2(res[i], 256);
return res;
}
void Circom_CalcWit::freeBigInts(PBigInt bi, Circom_Sizes sizes) {
for (int i=0; i<sizes[0]; i++) mpz_clear(bi[i]);
void Circom_CalcWit::freeBigInts(PBigInt bi, int n) {
for (int i=0; i<n; i++) mpz_clear(bi[i]);
delete[] bi;
}

View File

@@ -35,8 +35,8 @@ public:
int getSignalOffset(int cIdx, u64 hash);
Circom_Sizes getSignalSizes(int cIdx, u64 hash);
PBigInt allocBigInts(Circom_Sizes sizes);
void freeBigInts(PBigInt bi, Circom_Sizes sizes);
PBigInt allocBigInts(int n);
void freeBigInts(PBigInt bi, int n);
void getSignal(int cIdx, int sIdx, PBigInt value);
void setSignal(int cIdx, int sIdx, PBigInt value);

View File

@@ -6,7 +6,6 @@ ZqField::ZqField(PBigInt ap) {
mpz_init_set_ui(one, 1);
}
void ZqField::add(PBigInt r, PBigInt a, PBigInt b) {
mpz_add(*r,*a,*b);
mpz_fdiv_r(*r, *r, p);
@@ -25,6 +24,6 @@ int ZqField::isTrue(PBigInt a) {
return mpz_sgn(*a);
}
void ZqField::copy(PBigInt a, PBigInt b) {
return mpz_set(*a, *b);
void ZqField::copyn(PBigInt a, PBigInt b, int n) {
for (int i=0;i<n; i++) mpz_set(a[i], b[i]);
}

View File

@@ -11,7 +11,7 @@ public:
BigInt zero;
ZqField(PBigInt ap);
void copy(PBigInt a, PBigInt b);
void copyn(PBigInt a, PBigInt b, int n);
void add(PBigInt r,PBigInt a, PBigInt b);
void lt(PBigInt r, PBigInt a, PBigInt b);
int isTrue(PBigInt a);