arnaucube
arnaucube/poulpyPublic Self-hosted repository
Updated all crates to edition 2024 and set workspace resolver to "3".

`gen` is reserved keyword in 2024. So modigied `galois_element` function in base2k/src/module.rs for compat
Janmajaya Mall janmajayamall@protonmail.com
Mon, 28 Apr 2025 11:17:16 +0530
commit

78b6e9544d37e63d7edd7e1064abfddc67d838be

parent

54148acf6b24b8306ee8c0319c134f7d276c9995

4 files changed, 16 insertions(+), 12 deletions(-)

jump to
M Cargo.toml → Cargo.toml

@@ -1,6 +1,6 @@

[workspace] members = ["base2k", "rlwe", "sampling", "utils"] - +resolver = "3" [workspace.dependencies] rug = "1.27"
M base2k/Cargo.toml → base2k/Cargo.toml

@@ -1,7 +1,7 @@

[package] name = "base2k" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] rug = {workspace = true}
M base2k/build.rs → base2k/build.rs

@@ -3,10 +3,11 @@

fn main() { println!( "cargo:rustc-link-search=native={}", - absolute("./spqlios-arithmetic/build/spqlios") + absolute("spqlios-arithmetic/build/spqlios") .unwrap() .to_str() .unwrap() ); - println!("cargo:rustc-link-lib=static=spqlios"); //"cargo:rustc-link-lib=dylib=spqlios" + println!("cargo:rustc-link-lib=static=spqlios"); + // println!("cargo:rustc-link-lib=dylib=spqlios") }
M base2k/src/module.rs → base2k/src/module.rs

@@ -65,21 +65,24 @@ pub fn cyclotomic_order(&self) -> u64 {

(self.n() << 1) as _ } - // Returns GALOISGENERATOR^|gen| * sign(gen) - pub fn galois_element(&self, gen: i64) -> i64 { - if gen == 0 { + // Returns GALOISGENERATOR^|generator| * sign(generator) + pub fn galois_element(&self, generator: i64) -> i64 { + if generator == 0 { return 1; } - ((mod_exp_u64(GALOISGENERATOR, gen.abs() as usize) & (self.cyclotomic_order() - 1)) as i64) * gen.signum() + ((mod_exp_u64(GALOISGENERATOR, generator.abs() as usize) & (self.cyclotomic_order() - 1)) as i64) * generator.signum() } // Returns gen^-1 - pub fn galois_element_inv(&self, gen: i64) -> i64 { - if gen == 0 { + pub fn galois_element_inv(&self, generator: i64) -> i64 { + if generator == 0 { panic!("cannot invert 0") } - ((mod_exp_u64(gen.abs() as u64, (self.cyclotomic_order() - 1) as usize) & (self.cyclotomic_order() - 1)) as i64) - * gen.signum() + ((mod_exp_u64( + generator.abs() as u64, + (self.cyclotomic_order() - 1) as usize, + ) & (self.cyclotomic_order() - 1)) as i64) + * generator.signum() } pub fn free(self) {