Skip to content

Commit

Permalink
fix: remove function which was ignoring compiler warning to not do th…
Browse files Browse the repository at this point in the history
…at (#21)
  • Loading branch information
TomAFrench authored Sep 18, 2024
1 parent bdc978c commit bb348ac
Show file tree
Hide file tree
Showing 35 changed files with 97 additions and 95 deletions.
2 changes: 1 addition & 1 deletion src/fields/U1024.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct U1024Params {}
struct U1024Params {}
impl RuntimeBigNumParamsTrait<9> for U1024Params {
fn modulus_bits() -> u32 {
1025
Expand Down
2 changes: 1 addition & 1 deletion src/fields/U2048.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct U2048Params {}
struct U2048Params {}
impl RuntimeBigNumParamsTrait<18> for U2048Params {
fn modulus_bits() -> u32 {
2049
Expand Down
2 changes: 1 addition & 1 deletion src/fields/U256.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct U256Params {}
struct U256Params {}
impl RuntimeBigNumParamsTrait<3> for U256Params {
fn modulus_bits() -> u32 {
257
Expand Down
2 changes: 1 addition & 1 deletion src/fields/U384.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct U384_Params {}
struct U384_Params {}
impl RuntimeBigNumParamsTrait<4> for U384_Params {
fn modulus_bits() -> u32 {
385
Expand Down
2 changes: 1 addition & 1 deletion src/fields/U4096.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct U4096Params {}
struct U4096Params {}
impl RuntimeBigNumParamsTrait<35> for U4096Params {
fn modulus_bits() -> u32 {
4097
Expand Down
2 changes: 1 addition & 1 deletion src/fields/U512.nr
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use crate::utils::arrayX::ArrayX;
// a / b = c

// b * c + (rem < modulus) = a
struct U512Params {}
struct U512Params {}
impl RuntimeBigNumParamsTrait<5> for U512Params {
fn modulus_bits() -> u32 {
513
Expand Down
2 changes: 1 addition & 1 deletion src/fields/U768.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct U768Params {}
struct U768Params {}
impl RuntimeBigNumParamsTrait<13> for U768Params {
fn modulus_bits() -> u32 {
1537
Expand Down
2 changes: 1 addition & 1 deletion src/fields/U8192.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct U8192Params {}
struct U8192Params {}
impl RuntimeBigNumParamsTrait<69> for U8192Params {
fn modulus_bits() -> u32 {
8193
Expand Down
2 changes: 1 addition & 1 deletion src/fields/bls12_377Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct BLS12_377_Fq_Params {}
struct BLS12_377_Fq_Params {}
impl RuntimeBigNumParamsTrait<4> for BLS12_377_Fq_Params {
fn modulus_bits() -> u32 {
377
Expand Down
2 changes: 1 addition & 1 deletion src/fields/bls12_377Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct BLS12_377_Fr_Params {}
struct BLS12_377_Fr_Params {}
impl RuntimeBigNumParamsTrait<3> for BLS12_377_Fr_Params {
fn modulus_bits() -> u32 {
253
Expand Down
2 changes: 1 addition & 1 deletion src/fields/bls12_381Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct BLS12_381_Fq_Params {}
struct BLS12_381_Fq_Params {}
impl RuntimeBigNumParamsTrait<4> for BLS12_381_Fq_Params {
fn modulus_bits() -> u32 {
381
Expand Down
2 changes: 1 addition & 1 deletion src/fields/bls12_381Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct BLS12_381_Fr_Params {}
struct BLS12_381_Fr_Params {}
impl RuntimeBigNumParamsTrait<3> for BLS12_381_Fr_Params {
fn modulus_bits() -> u32 {
255
Expand Down
2 changes: 1 addition & 1 deletion src/fields/bn254Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct BNParams {}
struct BNParams {}
impl RuntimeBigNumParamsTrait<3> for BNParams {
fn modulus_bits() -> u32 {
254
Expand Down
2 changes: 1 addition & 1 deletion src/fields/ed25519Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::BigNumParamsTrait as BigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct ED25519_Fq_Params {}
struct ED25519_Fq_Params {}
impl RuntimeBigNumParamsTrait<3> for ED25519_Fq_Params {
fn modulus_bits() -> u32 {
255
Expand Down
2 changes: 1 addition & 1 deletion src/fields/ed25519Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct ED25519_Fr_Params {}
struct ED25519_Fr_Params {}
impl RuntimeBigNumParamsTrait<3> for ED25519_Fr_Params {
fn modulus_bits() -> u32 {
253
Expand Down
4 changes: 2 additions & 2 deletions src/fields/mnt4_753Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
//! * G2 curve equation: y^2 = x^3 + Ax + B, where
//! * A = Fq2 = (a * NON_RESIDUE, 0)
//! * B = Fq2(0, b * NON_RESIDUE)
//! * NON_RESIDUE = 13 is the quadratic non-residue used to construct the
//! * NON_RESIDUE = 13 is the quadratic non-residue used to construct the
//! extension field Fq2

use crate::BigNumParamsTrait;
Expand All @@ -26,7 +26,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct MNT4_753_Fq_Params {}
struct MNT4_753_Fq_Params {}
impl RuntimeBigNumParamsTrait<7> for MNT4_753_Fq_Params {
fn modulus_bits() -> u32 {
753
Expand Down
4 changes: 2 additions & 2 deletions src/fields/mnt4_753Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
//! * G2 curve equation: y^2 = x^3 + Ax + B, where
//! * A = Fq2 = (a * NON_RESIDUE, 0)
//! * B = Fq2(0, b * NON_RESIDUE)
//! * NON_RESIDUE = 13 is the quadratic non-residue used to construct the
//! * NON_RESIDUE = 13 is the quadratic non-residue used to construct the
//! extension field Fq2

use crate::BigNumParamsTrait;
Expand All @@ -26,7 +26,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct MNT4_753_Fr_Params {}
struct MNT4_753_Fr_Params {}
impl RuntimeBigNumParamsTrait<7> for MNT4_753_Fr_Params {
fn modulus_bits() -> u32 {
753
Expand Down
4 changes: 2 additions & 2 deletions src/fields/mnt6_753Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
//! * G2 curve equation: y^2 = x^3 + Ax + B, where
//! * A = Fq3(0, 0, a)
//! * B = Fq3(b * NON_RESIDUE, 0, 0)
//! * NON_RESIDUE = 11 is the cubic non-residue used to construct the
//! * NON_RESIDUE = 11 is the cubic non-residue used to construct the
//! extension field Fq3

use crate::BigNumParamsTrait;
Expand All @@ -26,7 +26,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct MNT6_753_Fq_Params {}
struct MNT6_753_Fq_Params {}
impl RuntimeBigNumParamsTrait<7> for MNT6_753_Fq_Params {
fn modulus_bits() -> u32 {
753
Expand Down
4 changes: 2 additions & 2 deletions src/fields/mnt6_753Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
//! * G2 curve equation: y^2 = x^3 + Ax + B, where
//! * A = Fq3(0, 0, a)
//! * B = Fq3(b * NON_RESIDUE, 0, 0)
//! * NON_RESIDUE = 11 is the cubic non-residue used to construct the
//! * NON_RESIDUE = 11 is the cubic non-residue used to construct the
//! extension field Fq3

use crate::BigNumParamsTrait;
Expand All @@ -26,7 +26,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct MNT6_753_Fr_Params {}
struct MNT6_753_Fr_Params {}
impl RuntimeBigNumParamsTrait<7> for MNT6_753_Fr_Params {
fn modulus_bits() -> u32 {
753
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/fields/pallasFq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Pallas_Fq_Params {}
struct Pallas_Fq_Params {}
impl RuntimeBigNumParamsTrait<3> for Pallas_Fq_Params {
fn modulus_bits() -> u32 {
255
Expand Down
2 changes: 1 addition & 1 deletion src/fields/pallasFr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Pallas_Fr_Params {}
struct Pallas_Fr_Params {}
impl RuntimeBigNumParamsTrait<3> for Pallas_Fr_Params {
fn modulus_bits() -> u32 {
255
Expand Down
2 changes: 1 addition & 1 deletion src/fields/secp256k1Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Secp256k1_Fq_Params {}
struct Secp256k1_Fq_Params {}
impl RuntimeBigNumParamsTrait<3> for Secp256k1_Fq_Params {
fn modulus_bits() -> u32 {
256
Expand Down
2 changes: 1 addition & 1 deletion src/fields/secp256k1Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Secp256k1_Fr_Params {}
struct Secp256k1_Fr_Params {}
impl RuntimeBigNumParamsTrait<3> for Secp256k1_Fr_Params {
fn modulus_bits() -> u32 {
256
Expand Down
2 changes: 1 addition & 1 deletion src/fields/secp256r1Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Secp256r1_Fq_Params {}
struct Secp256r1_Fq_Params {}
impl RuntimeBigNumParamsTrait<3> for Secp256r1_Fq_Params {
fn modulus_bits() -> u32 {
256
Expand Down
2 changes: 1 addition & 1 deletion src/fields/secp256r1Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Secp256r1_Fr_Params {}
struct Secp256r1_Fr_Params {}
impl RuntimeBigNumParamsTrait<3> for Secp256r1_Fr_Params {
fn modulus_bits() -> u32 {
256
Expand Down
2 changes: 1 addition & 1 deletion src/fields/secp384r1Fq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Secp384r1_Fq_Params {}
struct Secp384r1_Fq_Params {}
impl RuntimeBigNumParamsTrait<4> for Secp384r1_Fq_Params {
fn modulus_bits() -> u32 {
384
Expand Down
2 changes: 1 addition & 1 deletion src/fields/secp384r1Fr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Secp384r1_Fr_Params {}
struct Secp384r1_Fr_Params {}
impl RuntimeBigNumParamsTrait<4> for Secp384r1_Fr_Params {
fn modulus_bits() -> u32 {
384
Expand Down
2 changes: 1 addition & 1 deletion src/fields/vestaFq.nr
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Vesta_Fq_Params {}
struct Vesta_Fq_Params {}
impl RuntimeBigNumParamsTrait<3> for Vesta_Fq_Params {
fn modulus_bits() -> u32 {
255
Expand Down
2 changes: 1 addition & 1 deletion src/fields/vestaFr.nr
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
use crate::utils::u60_representation::U60Repr;
use crate::utils::arrayX::ArrayX;

struct Vesta_Fr_Params {}
struct Vesta_Fr_Params {}
impl RuntimeBigNumParamsTrait<3> for Vesta_Fr_Params {
fn modulus_bits() -> u32 {
255
Expand Down
27 changes: 11 additions & 16 deletions src/lib.nr
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ pub use crate::runtime_bignum::BigNumInstance as RuntimeBigNumInstance;
pub use crate::runtime_bignum::BigNumInstanceTrait as RuntimeBigNumInstanceTrait;
pub use crate::runtime_bignum::BigNumParamsTrait as RuntimeBigNumParamsTrait;
pub use crate::runtime_bignum::BigNumTrait as RuntimeBigNumTrait;
struct BigNum<let N: u32, Params> {

struct BigNum<let N: u32, Params> {
limbs: [Field; N]
}

Expand Down Expand Up @@ -51,7 +52,6 @@ trait BigNumTrait where BigNumTrait: std::ops::Add + std::ops::Sub + std::ops::M
fn __udiv_mod(self, divisor: Self) -> (Self, Self);
fn __invmod(self) -> Self;
fn __batch_invert<let M: u32>(to_invert: [Self; M]) -> [Self; M];
fn __batch_invert_slice(x: [Self]) -> [Self];
fn __is_zero(self) -> bool { RuntimeBigNumTrait::__is_zero(self) }
fn __eq(self, other: Self) -> bool { RuntimeBigNumTrait::__eq(self, other) }
fn __compute_quadratic_expression<let LHS_N: u32, let RHS_N: u32, let NUM_PRODUCTS: u32, let ADD_N: u32>(lhs: [[Self; LHS_N]; NUM_PRODUCTS], lhs_flags: [[bool; LHS_N]; NUM_PRODUCTS], rhs: [[Self; RHS_N]; NUM_PRODUCTS], rhs_flags: [[bool; RHS_N]; NUM_PRODUCTS], add: [Self; ADD_N], add_flags: [bool; ADD_N]) -> (Self, Self);
Expand All @@ -77,7 +77,6 @@ trait BigNumTrait where BigNumTrait: std::ops::Add + std::ops::Sub + std::ops::M

impl<let N: u32, Params> BigNumTrait for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {


// Weird compiler issue where if we do not pass `Self` as a parameter to these methods,
// then a generic struct that conforms to BigNumTrait cannot access these methods?
// the Params: BigNumParamsTrait<N> needs to be satisfied, but the BigNumTrait has no knowledge of BigNumParamsTrait?
Expand All @@ -86,7 +85,9 @@ impl<let N: u32, Params> BigNumTrait for BigNum<N, Params> where Params: BigNumP
let r: u32 = Params::modulus_bits();
r
}
fn num_limbs(_: Self) -> u32 { N }
fn num_limbs(_: Self) -> u32 {
N
}

fn modulus() -> Self {
Params::get_instance().modulus()
Expand Down Expand Up @@ -142,11 +143,6 @@ impl<let N: u32, Params> BigNumTrait for BigNum<N, Params> where Params: BigNumP
Params::get_instance().__batch_invert(x)
}

// n.b. needs to be declared unconstrained because we return a slice from an unconstrained runtime
unconstrained fn __batch_invert_slice(x: [Self]) -> [Self] {
assert(Params::has_multiplicative_inverse());
Params::get_instance().__batch_invert_slice(x)
}
fn __invmod(self) -> Self {
assert(Params::has_multiplicative_inverse());
Params::get_instance().__invmod(self)
Expand Down Expand Up @@ -272,26 +268,25 @@ impl<let N: u32, Params> BigNumTrait for BigNum<N, Params> where Params: BigNumP
}
}

impl<let N: u32, Params> BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
}
impl<let N: u32, Params> BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {}

impl<let N: u32, Params> std::ops::Add for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
impl<let N: u32, Params> std::ops::Add for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
// Note: this method is expensive! Try to craft quadratic relations and directly evaluate them
// via evaluate_quadratic_expression
fn add(self, other: Self) -> Self {
Params::get_instance().add(self, other)
}
}

impl<let N: u32, Params> std::ops::Sub for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
impl<let N: u32, Params> std::ops::Sub for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
// Note: this method is expensive! Try to craft quadratic relations and directly evaluate them
// via evaluate_quadratic_expression
fn sub(self, other: Self) -> Self {
Params::get_instance().sub(self, other)
}
}

impl<let N: u32, Params> std::ops::Mul for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
impl<let N: u32, Params> std::ops::Mul for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
// Note: this method is expensive! Try to craft quadratic relations and directly evaluate them
// via evaluate_quadratic_expression
// e.g. performing a sum of multiple multiplications and additions via `evaluate_quadratic_expression`
Expand All @@ -301,14 +296,14 @@ impl<let N: u32, Params> std::ops::Mul for BigNum<N, Params> where Params: BigNu
}
}

impl<let N: u32, Params> std::ops::Div for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
impl<let N: u32, Params> std::ops::Div for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
// Note: this method is expensive! Witness computation is extremely expensive as it requires modular exponentiation
fn div(self, other: Self) -> Self {
Params::get_instance().div(self, other)
}
}

impl<let N: u32, Params> std::cmp::Eq for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {
impl<let N: u32, Params> std::cmp::Eq for BigNum<N, Params> where Params: BigNumParamsTrait<N> + RuntimeBigNumParamsTrait<N> {

fn eq(self, other: Self) -> bool {
let bn: RuntimeBigNumInstance<N, Params> = Params::get_instance();
Expand Down
Loading

0 comments on commit bb348ac

Please sign in to comment.