Add support for Barrett reduction, which should be a faster way to do mods.

This commit is contained in:
2018-03-10 17:20:33 -08:00
parent f3d4b102c0
commit 4b90550225
4 changed files with 249 additions and 39 deletions

View File

@@ -14,11 +14,11 @@ use std::cmp::Ordering;
use std::fmt::{Debug,Error,Formatter};
use std::ops::*;
construct_unsigned!(U512, u512, 8);
construct_unsigned!(U1024, u1024, 16);
construct_unsigned!(U2048, u2048, 32);
construct_unsigned!(U3072, u3072, 48);
construct_unsigned!(U4096, u4096, 64);
construct_unsigned!(U7680, u7680, 120);
construct_unsigned!(U8192, u8192, 128);
construct_unsigned!(U15360, u15360, 240);
construct_unsigned!(U512, BarretMu512, u512, 8);
construct_unsigned!(U1024, BarretMu1024, u1024, 16);
construct_unsigned!(U2048, BarretMu2048, u2048, 32);
construct_unsigned!(U3072, BarretMu3072, u3072, 48);
construct_unsigned!(U4096, BarretMu4096, u4096, 64);
construct_unsigned!(U7680, BarretMu7680, u7680, 120);
construct_unsigned!(U8192, BarretMu8192, u8192, 128);
construct_unsigned!(U15360, BarretMu15360, u15360, 240);