From 28216110b2e4f01db1a6cf7ea48ace31dea91a08 Mon Sep 17 00:00:00 2001 From: Janmajaya Mall Date: Mon, 20 May 2024 10:05:37 +0530 Subject: [PATCH] impl GetModulus for WordSizeModulus --- src/backend.rs | 15 +++++++++++---- src/bool/evaluator.rs | 6 ++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/backend.rs b/src/backend.rs index a66a227..5936fad 100644 --- a/src/backend.rs +++ b/src/backend.rs @@ -345,10 +345,6 @@ where fn sub(&self, a: &Self::Element, b: &Self::Element) -> Self::Element { T::Element::wrapping_sub(a, b) } - - // fn modulus(&self) -> &T { - // &self.modulus - // } } impl VectorOps for WordSizeModulus @@ -420,3 +416,14 @@ where // &self.modulus // } } + +impl GetModulus for WordSizeModulus +where + T: Modulus, +{ + type Element = T::Element; + type M = T; + fn modulus(&self) -> &Self::M { + &self.modulus + } +} diff --git a/src/bool/evaluator.rs b/src/bool/evaluator.rs index 2310d4f..fdb4e18 100644 --- a/src/bool/evaluator.rs +++ b/src/bool/evaluator.rs @@ -1881,7 +1881,7 @@ mod tests { use rand_distr::Uniform; use crate::{ - backend::ModularOpsU64, + backend::{GetModulus, ModInit, ModularOpsU64, WordSizeModulus}, bool, ntt::NttBackendU64, random::DEFAULT_RNG, @@ -1922,10 +1922,12 @@ mod tests { *r = rng; }); + // let mog = WordSizeModulus::>::new(12u64); + let mut bool_evaluator = BoolEvaluator::< Vec>, NttBackendU64, - ModularOpsU64>, + WordSizeModulus>, ModularOpsU64>, >::new(SP_BOOL_PARAMS);