Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
TomAFrench committed Sep 13, 2024
1 parent 74780f0 commit 06d20cf
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 67 deletions.
122 changes: 61 additions & 61 deletions src/bignum_test.nr
Original file line number Diff line number Diff line change
Expand Up @@ -17,67 +17,67 @@ impl RuntimeBigNumParamsTrait<18> for Test2048Params {
}
impl BigNumParamsTrait<18> for Test2048Params {
fn get_instance() -> BigNumInstance<18, Self> {
let modulus: [Field; 18] = [
0x0000000000000000000000000000000000c0a197a5ae0fcdceb052c9732614fe,
0x0000000000000000000000000000000000656ae034423283422243918ab83be3,
0x00000000000000000000000000000000006bf590da48a7c1070b7d5aabaac678,
0x00000000000000000000000000000000000cce39f530238b606f24b296e2bda9,
0x000000000000000000000000000000000001e1fef9bb9c1c3ead98f226f1bfa0,
0x0000000000000000000000000000000000ad8c1c816e12e0ed1379055e373abf,
0x0000000000000000000000000000000000cebe80e474f753aa9d1461c435123d,
0x0000000000000000000000000000000000aee5a18ceedef88d115a8b93c167ad,
0x0000000000000000000000000000000000268ba83c4a65c4307427fc495d9e44,
0x0000000000000000000000000000000000dd2777926848667b7df79f342639d4,
0x0000000000000000000000000000000000f455074c96855ca0068668efe7da3d,
0x00000000000000000000000000000000005ddba6b30bbc168bfb3a1225f27d65,
0x0000000000000000000000000000000000591fec484f36707524133bcd6f4258,
0x000000000000000000000000000000000059641b756766aeebe66781dd01d062,
0x000000000000000000000000000000000058bc5eaff4b165e142bf9e2480eebb,
0x0000000000000000000000000000000000667a3964f08e06df772ce64b229a72,
0x00000000000000000000000000000000009c1fdb18907711bfe3e3c1cf918395,
0x00000000000000000000000000000000000000000000000000000000000000b8
];
// fn double_modulus() -> [Field; 18] {[
// 0x000000000000000000000000000000000181432f4b5c1f9b9d60a592e64c29fc,
// 0x0000000000000000000000000000000001cad5c06884650684448723157077c6,
// 0x0000000000000000000000000000000001d7eb21b4914f820e16fab557558cef,
// 0x0000000000000000000000000000000001199c73ea604716c0de49652dc57b51,
// 0x000000000000000000000000000000000103c3fdf37738387d5b31e44de37f3f,
// 0x00000000000000000000000000000000015b183902dc25c1da26f20abc6e757d,
// 0x00000000000000000000000000000000019d7d01c8e9eea7553a28c3886a247a,
// 0x00000000000000000000000000000000015dcb4319ddbdf11a22b5172782cf5a,
// 0x00000000000000000000000000000000014d17507894cb8860e84ff892bb3c88,
// 0x0000000000000000000000000000000001ba4eef24d090ccf6fbef3e684c73a7,
// 0x0000000000000000000000000000000001e8aa0e992d0ab9400d0cd1dfcfb47a,
// 0x0000000000000000000000000000000001bbb74d6617782d17f674244be4faca,
// 0x0000000000000000000000000000000001b23fd8909e6ce0ea4826779ade84af,
// 0x0000000000000000000000000000000001b2c836eacecd5dd7cccf03ba03a0c3,
// 0x0000000000000000000000000000000001b178bd5fe962cbc2857f3c4901dd75,
// 0x0000000000000000000000000000000001ccf472c9e11c0dbeee59cc964534e3,
// 0x0000000000000000000000000000000001383fb63120ee237fc7c7839f230729,
// 0x0000000000000000000000000000000000000000000000000000000000000170
// ]}
let redc_param: [Field; 18] = [
0x000000000000000000000000000000000091697def7100cd5cf8d890b4ef2ec3,
0x00000000000000000000000000000000006765ba8304214dac764d3f4adc3185,
0x000000000000000000000000000000000048404bd14d927ea230e60d4bebf940,
0x00000000000000000000000000000000007c4d53a23bacc251ecbfc4b7ba5a0b,
0x000000000000000000000000000000000093eaf3499474a6f5b2fff83f1259c8,
0x00000000000000000000000000000000005bff4c737b97281f1a5f2384a8c16d,
0x000000000000000000000000000000000061b4cf2f55358476b5323782999055,
0x00000000000000000000000000000000001e7a804e8eacfe3a2a5673bc3885b8,
0x0000000000000000000000000000000000eabadeae4282906c817adf70eab4ae,
0x0000000000000000000000000000000000166f7df257fe2bf27f0809aceed9b0,
0x00000000000000000000000000000000007d90fb7428901b8bed11f6b81e36bf,
0x0000000000000000000000000000000000f36e6ba885c60b7024c563605df7e0,
0x000000000000000000000000000000000052b7c58d2fb5d2c8478963ae6d4a44,
0x000000000000000000000000000000000036ee761de26635f114ccc3f7d74f85,
0x0000000000000000000000000000000000e3fb726a10cf2220897513f05243de,
0x0000000000000000000000000000000000f43a26bbd732496eb4d828591b8056,
0x0000000000000000000000000000000000ff4e42304e60fb3a54fca735499f2c,
0x0000000000000000000000000000000000000000000000000000000000000162
];
BigNumInstance::new(modulus, redc_param)
let modulus: [Field; 18] = [
0x0000000000000000000000000000000000c0a197a5ae0fcdceb052c9732614fe,
0x0000000000000000000000000000000000656ae034423283422243918ab83be3,
0x00000000000000000000000000000000006bf590da48a7c1070b7d5aabaac678,
0x00000000000000000000000000000000000cce39f530238b606f24b296e2bda9,
0x000000000000000000000000000000000001e1fef9bb9c1c3ead98f226f1bfa0,
0x0000000000000000000000000000000000ad8c1c816e12e0ed1379055e373abf,
0x0000000000000000000000000000000000cebe80e474f753aa9d1461c435123d,
0x0000000000000000000000000000000000aee5a18ceedef88d115a8b93c167ad,
0x0000000000000000000000000000000000268ba83c4a65c4307427fc495d9e44,
0x0000000000000000000000000000000000dd2777926848667b7df79f342639d4,
0x0000000000000000000000000000000000f455074c96855ca0068668efe7da3d,
0x00000000000000000000000000000000005ddba6b30bbc168bfb3a1225f27d65,
0x0000000000000000000000000000000000591fec484f36707524133bcd6f4258,
0x000000000000000000000000000000000059641b756766aeebe66781dd01d062,
0x000000000000000000000000000000000058bc5eaff4b165e142bf9e2480eebb,
0x0000000000000000000000000000000000667a3964f08e06df772ce64b229a72,
0x00000000000000000000000000000000009c1fdb18907711bfe3e3c1cf918395,
0x00000000000000000000000000000000000000000000000000000000000000b8
];
// fn double_modulus() -> [Field; 18] {[
// 0x000000000000000000000000000000000181432f4b5c1f9b9d60a592e64c29fc,
// 0x0000000000000000000000000000000001cad5c06884650684448723157077c6,
// 0x0000000000000000000000000000000001d7eb21b4914f820e16fab557558cef,
// 0x0000000000000000000000000000000001199c73ea604716c0de49652dc57b51,
// 0x000000000000000000000000000000000103c3fdf37738387d5b31e44de37f3f,
// 0x00000000000000000000000000000000015b183902dc25c1da26f20abc6e757d,
// 0x00000000000000000000000000000000019d7d01c8e9eea7553a28c3886a247a,
// 0x00000000000000000000000000000000015dcb4319ddbdf11a22b5172782cf5a,
// 0x00000000000000000000000000000000014d17507894cb8860e84ff892bb3c88,
// 0x0000000000000000000000000000000001ba4eef24d090ccf6fbef3e684c73a7,
// 0x0000000000000000000000000000000001e8aa0e992d0ab9400d0cd1dfcfb47a,
// 0x0000000000000000000000000000000001bbb74d6617782d17f674244be4faca,
// 0x0000000000000000000000000000000001b23fd8909e6ce0ea4826779ade84af,
// 0x0000000000000000000000000000000001b2c836eacecd5dd7cccf03ba03a0c3,
// 0x0000000000000000000000000000000001b178bd5fe962cbc2857f3c4901dd75,
// 0x0000000000000000000000000000000001ccf472c9e11c0dbeee59cc964534e3,
// 0x0000000000000000000000000000000001383fb63120ee237fc7c7839f230729,
// 0x0000000000000000000000000000000000000000000000000000000000000170
// ]}
let redc_param: [Field; 18] = [
0x000000000000000000000000000000000091697def7100cd5cf8d890b4ef2ec3,
0x00000000000000000000000000000000006765ba8304214dac764d3f4adc3185,
0x000000000000000000000000000000000048404bd14d927ea230e60d4bebf940,
0x00000000000000000000000000000000007c4d53a23bacc251ecbfc4b7ba5a0b,
0x000000000000000000000000000000000093eaf3499474a6f5b2fff83f1259c8,
0x00000000000000000000000000000000005bff4c737b97281f1a5f2384a8c16d,
0x000000000000000000000000000000000061b4cf2f55358476b5323782999055,
0x00000000000000000000000000000000001e7a804e8eacfe3a2a5673bc3885b8,
0x0000000000000000000000000000000000eabadeae4282906c817adf70eab4ae,
0x0000000000000000000000000000000000166f7df257fe2bf27f0809aceed9b0,
0x00000000000000000000000000000000007d90fb7428901b8bed11f6b81e36bf,
0x0000000000000000000000000000000000f36e6ba885c60b7024c563605df7e0,
0x000000000000000000000000000000000052b7c58d2fb5d2c8478963ae6d4a44,
0x000000000000000000000000000000000036ee761de26635f114ccc3f7d74f85,
0x0000000000000000000000000000000000e3fb726a10cf2220897513f05243de,
0x0000000000000000000000000000000000f43a26bbd732496eb4d828591b8056,
0x0000000000000000000000000000000000ff4e42304e60fb3a54fca735499f2c,
0x0000000000000000000000000000000000000000000000000000000000000162
];
BigNumInstance::new(modulus, redc_param)
}
fn modulus_bits() -> u32 {
2048
Expand Down
8 changes: 4 additions & 4 deletions src/utils/arrayX.nr
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ struct ArrayX<T, let N: u32, let SizeMultiplier: u32> {
segments: [[T; N]; SizeMultiplier]
}

impl<T, let N: u32, let SizeMultiplier: u32> std::convert::From<[T; N]> for ArrayX<T, N, SizeMultiplier> where T: std::default::Default {
impl<T, let N: u32, let SizeMultiplier: u32> std::convert::From<[T; N]> for ArrayX<T, N, SizeMultiplier> where T: std::default::Default {
fn from(input: [T; N]) -> Self {
assert(N == 1);
let mut result = ArrayX::new();
Expand All @@ -21,13 +21,13 @@ impl<T, let N: u32, let SizeMultiplier: u32> std::convert::From<[T; N]> for Arra
}
}

impl<T, let N: u32, let SizeMultiplier: u32> std::convert::From<[[T; N]; SizeMultiplier]> for ArrayX<T, N, SizeMultiplier> where T: std::default::Default {
impl<T, let N: u32, let SizeMultiplier: u32> std::convert::From<[[T; N]; SizeMultiplier]> for ArrayX<T, N, SizeMultiplier> where T: std::default::Default {
fn from(input: [[T; N]; SizeMultiplier]) -> Self {
ArrayX{ segments: input }
ArrayX { segments: input }
}
}

impl<T, let N: u32, let SizeMultiplier: u32> std::cmp::Eq for ArrayX<T, N, SizeMultiplier> where T: std::cmp::Eq {
impl<T, let N: u32, let SizeMultiplier: u32> std::cmp::Eq for ArrayX<T, N, SizeMultiplier> where T: std::cmp::Eq {
fn eq(self, other: Self) -> bool {
let mut result: bool = true;
for i in 0..SizeMultiplier {
Expand Down
4 changes: 2 additions & 2 deletions src/utils/u60_representation.nr
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ impl<let N: u32, let NumSegments: u32> std::ops::Sub for U60Repr<N, NumSegments>
}
}

impl<let N: u32, let NumSegments: u32> std::convert::From<[Field; N]> for U60Repr<N, NumSegments> {
impl<let N: u32, let NumSegments: u32> std::convert::From<[Field; N]> for U60Repr<N, NumSegments> {
fn from(input: [Field; N]) -> Self {
let mut result: Self = U60Repr { limbs: ArrayX { segments: [[0; N]; NumSegments] } };
for i in 0..(N) {
Expand All @@ -75,7 +75,7 @@ impl<let N: u32, let NumSegments: u32> std::convert::Into<[Field; N]> for U60Rep
}
}

impl<let N: u32, let NumSegments: u32> std::cmp::Eq for U60Repr<N, NumSegments> {
impl<let N: u32, let NumSegments: u32> std::cmp::Eq for U60Repr<N, NumSegments> {
fn eq(self, other: Self) -> bool {
self.limbs == other.limbs
}
Expand Down

0 comments on commit 06d20cf

Please sign in to comment.