mirror of
https://github.com/arnaucube/circom.git
synced 2026-02-06 18:56:40 +01:00
functions added
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user