arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/poulpy-hal/src/reference/znx/mod.rs
poulpy-hal/src/reference/znx/mod.rsRaw
  1mod add;
  2mod arithmetic_ref;
  3mod automorphism;
  4mod copy;
  5mod neg;
  6mod normalization;
  7mod rotate;
  8mod sampling;
  9mod sub;
 10mod switch_ring;
 11mod zero;
 12
 13pub use add::*;
 14pub use arithmetic_ref::*;
 15pub use automorphism::*;
 16pub use copy::*;
 17pub use neg::*;
 18pub use normalization::*;
 19pub use rotate::*;
 20pub use sub::*;
 21pub use switch_ring::*;
 22pub use zero::*;
 23
 24pub use sampling::*;
 25
 26pub trait ZnxAdd {
 27    fn znx_add(res: &mut [i64], a: &[i64], b: &[i64]);
 28}
 29
 30pub trait ZnxAddInplace {
 31    fn znx_add_inplace(res: &mut [i64], a: &[i64]);
 32}
 33
 34pub trait ZnxSub {
 35    fn znx_sub(res: &mut [i64], a: &[i64], b: &[i64]);
 36}
 37
 38pub trait ZnxSubABInplace {
 39    fn znx_sub_ab_inplace(res: &mut [i64], a: &[i64]);
 40}
 41
 42pub trait ZnxSubBAInplace {
 43    fn znx_sub_ba_inplace(res: &mut [i64], a: &[i64]);
 44}
 45
 46pub trait ZnxAutomorphism {
 47    fn znx_automorphism(p: i64, res: &mut [i64], a: &[i64]);
 48}
 49
 50pub trait ZnxCopy {
 51    fn znx_copy(res: &mut [i64], a: &[i64]);
 52}
 53
 54pub trait ZnxNegate {
 55    fn znx_negate(res: &mut [i64], src: &[i64]);
 56}
 57
 58pub trait ZnxNegateInplace {
 59    fn znx_negate_inplace(res: &mut [i64]);
 60}
 61
 62pub trait ZnxRotate {
 63    fn znx_rotate(p: i64, res: &mut [i64], src: &[i64]);
 64}
 65
 66pub trait ZnxZero {
 67    fn znx_zero(res: &mut [i64]);
 68}
 69
 70pub trait ZnxSwitchRing {
 71    fn znx_switch_ring(res: &mut [i64], a: &[i64]);
 72}
 73
 74pub trait ZnxNormalizeFirstStepCarryOnly {
 75    fn znx_normalize_first_step_carry_only(basek: usize, lsh: usize, x: &[i64], carry: &mut [i64]);
 76}
 77
 78pub trait ZnxNormalizeFirstStepInplace {
 79    fn znx_normalize_first_step_inplace(basek: usize, lsh: usize, x: &mut [i64], carry: &mut [i64]);
 80}
 81
 82pub trait ZnxNormalizeFirstStep {
 83    fn znx_normalize_first_step(basek: usize, lsh: usize, x: &mut [i64], a: &[i64], carry: &mut [i64]);
 84}
 85
 86pub trait ZnxNormalizeMiddleStepCarryOnly {
 87    fn znx_normalize_middle_step_carry_only(basek: usize, lsh: usize, x: &[i64], carry: &mut [i64]);
 88}
 89
 90pub trait ZnxNormalizeMiddleStepInplace {
 91    fn znx_normalize_middle_step_inplace(basek: usize, lsh: usize, x: &mut [i64], carry: &mut [i64]);
 92}
 93
 94pub trait ZnxNormalizeMiddleStep {
 95    fn znx_normalize_middle_step(basek: usize, lsh: usize, x: &mut [i64], a: &[i64], carry: &mut [i64]);
 96}
 97
 98pub trait ZnxNormalizeFinalStepInplace {
 99    fn znx_normalize_final_step_inplace(basek: usize, lsh: usize, x: &mut [i64], carry: &mut [i64]);
100}
101
102pub trait ZnxNormalizeFinalStep {
103    fn znx_normalize_final_step(basek: usize, lsh: usize, x: &mut [i64], a: &[i64], carry: &mut [i64]);
104}