Clean up requirements.

This commit is contained in:
2018-12-30 17:51:22 -08:00
parent dc6732a875
commit 7da10f5fa4
3 changed files with 264 additions and 14 deletions

View File

@@ -47,6 +47,7 @@ prime_gen_impls!(U256);
addition_impls!(U320, U384);
base_impls!(U320, 5);
random_impls!(U320, UniformU320);
div_impls!(U320, U640);
multiply_impls!(U320, U640);
shift_impls!(U320, 5);
subtraction_impls!(U320, 5);
@@ -54,6 +55,7 @@ conversion_impls!(U320, U384);
conversion_impls!(U320, U512);
conversion_impls!(U320, U576);
conversion_impls!(U320, U640);
conversion_impls!(U320, U704);
addition_impls!(U384, U448);
base_impls!(U384, 6);
random_impls!(U384, UniformU384);
@@ -78,6 +80,7 @@ conversion_impls!(U448, U512);
conversion_impls!(U448, U768);
conversion_impls!(U448, U832);
conversion_impls!(U448, U896);
conversion_impls!(U448, U960);
addition_impls!(U512, U576);
base_impls!(U512, 8);
random_impls!(U512, UniformU512);
@@ -122,6 +125,7 @@ conversion_impls!(U640, U704);
conversion_impls!(U640, U1152);
conversion_impls!(U640, U1216);
conversion_impls!(U640, U1280);
conversion_impls!(U640, U1344);
base_impls!(U704, 11);
random_impls!(U704, UniformU704);
subtraction_impls!(U704, 11);
@@ -185,6 +189,7 @@ conversion_impls!(U1088, U1152);
conversion_impls!(U1088, U2048);
conversion_impls!(U1088, U2112);
conversion_impls!(U1088, U2176);
conversion_impls!(U1088, U2240);
addition_impls!(U1152, U1216);
base_impls!(U1152, 18);
random_impls!(U1152, UniformU1152);
@@ -233,6 +238,7 @@ prime_gen_impls!(U1536);
addition_impls!(U1600, U1664);
base_impls!(U1600, 25);
random_impls!(U1600, UniformU1600);
div_impls!(U1600, U3200);
multiply_impls!(U1600, U3200);
shift_impls!(U1600, 25);
subtraction_impls!(U1600, 25);
@@ -240,6 +246,7 @@ conversion_impls!(U1600, U1664);
conversion_impls!(U1600, U3072);
conversion_impls!(U1600, U3136);
conversion_impls!(U1600, U3200);
conversion_impls!(U1600, U3264);
base_impls!(U1664, 26);
random_impls!(U1664, UniformU1664);
subtraction_impls!(U1664, 26);
@@ -277,10 +284,16 @@ conversion_impls!(U2112, U2176);
conversion_impls!(U2112, U4096);
conversion_impls!(U2112, U4160);
conversion_impls!(U2112, U4224);
conversion_impls!(U2112, U4288);
addition_impls!(U2176, U2240);
base_impls!(U2176, 34);
random_impls!(U2176, UniformU2176);
shift_impls!(U2176, 34);
subtraction_impls!(U2176, 34);
conversion_impls!(U2176, U2240);
base_impls!(U2240, 35);
random_impls!(U2240, UniformU2240);
subtraction_impls!(U2240, 35);
base_impls!(U2304, 36);
random_impls!(U2304, UniformU2304);
subtraction_impls!(U2304, 36);
@@ -321,10 +334,16 @@ conversion_impls!(U3136, U3200);
conversion_impls!(U3136, U6144);
conversion_impls!(U3136, U6208);
conversion_impls!(U3136, U6272);
conversion_impls!(U3136, U6336);
addition_impls!(U3200, U3264);
base_impls!(U3200, 50);
random_impls!(U3200, UniformU3200);
shift_impls!(U3200, 50);
subtraction_impls!(U3200, 50);
conversion_impls!(U3200, U3264);
base_impls!(U3264, 51);
random_impls!(U3264, UniformU3264);
subtraction_impls!(U3264, 51);
addition_impls!(U4096, U4160);
base_impls!(U4096, 64);
random_impls!(U4096, UniformU4096);
@@ -353,13 +372,19 @@ conversion_impls!(U4160, U4224);
conversion_impls!(U4160, U8192);
conversion_impls!(U4160, U8256);
conversion_impls!(U4160, U8320);
conversion_impls!(U4160, U8384);
addition_impls!(U4224, U4288);
base_impls!(U4224, 66);
random_impls!(U4224, UniformU4224);
div_impls!(U4224, U8448);
multiply_impls!(U4224, U8448);
shift_impls!(U4224, 66);
subtraction_impls!(U4224, 66);
conversion_impls!(U4224, U4288);
conversion_impls!(U4224, U8448);
base_impls!(U4288, 67);
random_impls!(U4288, UniformU4288);
subtraction_impls!(U4288, 67);
addition_impls!(U6144, U6208);
base_impls!(U6144, 96);
random_impls!(U6144, UniformU6144);
@@ -377,10 +402,15 @@ multiply_impls!(U6208, U12416);
subtraction_impls!(U6208, 97);
conversion_impls!(U6208, U6272);
conversion_impls!(U6208, U12416);
addition_impls!(U6272, U6336);
base_impls!(U6272, 98);
random_impls!(U6272, UniformU6272);
shift_impls!(U6272, 98);
subtraction_impls!(U6272, 98);
conversion_impls!(U6272, U6336);
base_impls!(U6336, 99);
random_impls!(U6336, UniformU6336);
subtraction_impls!(U6336, 99);
base_impls!(U7680, 120);
random_impls!(U7680, UniformU7680);
barrett_impl!(BarrettU7680, U7680, U7744, U15360, U15424);
@@ -400,6 +430,7 @@ prime_gen_impls!(U7680);
addition_impls!(U7744, U7808);
base_impls!(U7744, 121);
random_impls!(U7744, UniformU7744);
div_impls!(U7744, U15488);
multiply_impls!(U7744, U15488);
shift_impls!(U7744, 121);
subtraction_impls!(U7744, 121);
@@ -407,6 +438,7 @@ conversion_impls!(U7744, U7808);
conversion_impls!(U7744, U15360);
conversion_impls!(U7744, U15424);
conversion_impls!(U7744, U15488);
conversion_impls!(U7744, U15552);
base_impls!(U7808, 122);
random_impls!(U7808, UniformU7808);
subtraction_impls!(U7808, 122);
@@ -436,13 +468,19 @@ conversion_impls!(U8256, U8320);
conversion_impls!(U8256, U16384);
conversion_impls!(U8256, U16448);
conversion_impls!(U8256, U16512);
conversion_impls!(U8256, U16576);
addition_impls!(U8320, U8384);
base_impls!(U8320, 130);
random_impls!(U8320, UniformU8320);
div_impls!(U8320, U16640);
multiply_impls!(U8320, U16640);
shift_impls!(U8320, 130);
subtraction_impls!(U8320, 130);
conversion_impls!(U8320, U8384);
conversion_impls!(U8320, U16640);
base_impls!(U8384, 131);
random_impls!(U8384, UniformU8384);
subtraction_impls!(U8384, 131);
base_impls!(U8448, 132);
random_impls!(U8448, UniformU8448);
subtraction_impls!(U8448, 132);
@@ -481,10 +519,16 @@ conversion_impls!(U15424, U15488);
conversion_impls!(U15424, U30720);
conversion_impls!(U15424, U30784);
conversion_impls!(U15424, U30848);
conversion_impls!(U15424, U30912);
addition_impls!(U15488, U15552);
base_impls!(U15488, 242);
random_impls!(U15488, UniformU15488);
shift_impls!(U15488, 242);
subtraction_impls!(U15488, 242);
conversion_impls!(U15488, U15552);
base_impls!(U15552, 243);
random_impls!(U15552, UniformU15552);
subtraction_impls!(U15552, 243);
base_impls!(U16384, 256);
random_impls!(U16384, UniformU16384);
div_impls!(U16384, U32768);
@@ -501,10 +545,15 @@ multiply_impls!(U16448, U32896);
subtraction_impls!(U16448, 257);
conversion_impls!(U16448, U16512);
conversion_impls!(U16448, U32896);
addition_impls!(U16512, U16576);
base_impls!(U16512, 258);
random_impls!(U16512, UniformU16512);
shift_impls!(U16512, 258);
subtraction_impls!(U16512, 258);
conversion_impls!(U16512, U16576);
base_impls!(U16576, 259);
random_impls!(U16576, UniformU16576);
subtraction_impls!(U16576, 259);
base_impls!(U16640, 260);
random_impls!(U16640, UniformU16640);
subtraction_impls!(U16640, 260);
@@ -527,10 +576,15 @@ multiply_impls!(U30784, U61568);
subtraction_impls!(U30784, 481);
conversion_impls!(U30784, U30848);
conversion_impls!(U30784, U61568);
addition_impls!(U30848, U30912);
base_impls!(U30848, 482);
random_impls!(U30848, UniformU30848);
shift_impls!(U30848, 482);
subtraction_impls!(U30848, 482);
conversion_impls!(U30848, U30912);
base_impls!(U30912, 483);
random_impls!(U30912, UniformU30912);
subtraction_impls!(U30912, 483);
base_impls!(U32768, 512);
random_impls!(U32768, UniformU32768);
subtraction_impls!(U32768, 512);
@@ -577,38 +631,46 @@ mod tests {
generate_base_tests!(U2048, u2048);
generate_base_tests!(U2112, u2112);
generate_base_tests!(U2176, u2176);
generate_base_tests!(U2240, u2240);
generate_base_tests!(U2304, u2304);
generate_base_tests!(U2432, u2432);
generate_base_tests!(U2560, u2560);
generate_base_tests!(U3072, u3072);
generate_base_tests!(U3136, u3136);
generate_base_tests!(U3200, u3200);
generate_base_tests!(U3264, u3264);
generate_base_tests!(U4096, u4096);
generate_base_tests!(U4160, u4160);
generate_base_tests!(U4224, u4224);
generate_base_tests!(U4288, u4288);
generate_base_tests!(U6144, u6144);
generate_base_tests!(U6208, u6208);
generate_base_tests!(U6272, u6272);
generate_base_tests!(U6336, u6336);
generate_base_tests!(U7680, u7680);
generate_base_tests!(U7744, u7744);
generate_base_tests!(U7808, u7808);
generate_base_tests!(U8192, u8192);
generate_base_tests!(U8256, u8256);
generate_base_tests!(U8320, u8320);
generate_base_tests!(U8384, u8384);
generate_base_tests!(U8448, u8448);
generate_base_tests!(U12288, u12288);
generate_base_tests!(U12416, u12416);
generate_base_tests!(U15360, u15360);
generate_base_tests!(U15424, u15424);
generate_base_tests!(U15488, u15488);
generate_base_tests!(U15552, u15552);
generate_base_tests!(ignore U16384, u16384);
generate_base_tests!(ignore U16448, u16448);
generate_base_tests!(ignore U16512, u16512);
generate_base_tests!(ignore U16576, u16576);
generate_base_tests!(ignore U16640, u16640);
generate_base_tests!(ignore U24832, u24832);
generate_base_tests!(ignore U30720, u30720);
generate_base_tests!(ignore U30784, u30784);
generate_base_tests!(ignore U30848, u30848);
generate_base_tests!(ignore U30912, u30912);
generate_base_tests!(ignore U32768, u32768);
generate_base_tests!(ignore U32896, u32896);
generate_base_tests!(ignore U61440, u61440);
@@ -641,38 +703,46 @@ mod tests {
generate_conversion_tests!(U2048, u2048);
generate_conversion_tests!(U2112, u2112);
generate_conversion_tests!(U2176, u2176);
generate_conversion_tests!(U2240, u2240);
generate_conversion_tests!(U2304, u2304);
generate_conversion_tests!(U2432, u2432);
generate_conversion_tests!(U2560, u2560);
generate_conversion_tests!(U3072, u3072);
generate_conversion_tests!(U3136, u3136);
generate_conversion_tests!(U3200, u3200);
generate_conversion_tests!(U3264, u3264);
generate_conversion_tests!(U4096, u4096);
generate_conversion_tests!(U4160, u4160);
generate_conversion_tests!(U4224, u4224);
generate_conversion_tests!(U4288, u4288);
generate_conversion_tests!(U6144, u6144);
generate_conversion_tests!(U6208, u6208);
generate_conversion_tests!(U6272, u6272);
generate_conversion_tests!(U6336, u6336);
generate_conversion_tests!(U7680, u7680);
generate_conversion_tests!(U7744, u7744);
generate_conversion_tests!(U7808, u7808);
generate_conversion_tests!(U8192, u8192);
generate_conversion_tests!(U8256, u8256);
generate_conversion_tests!(U8320, u8320);
generate_conversion_tests!(U8384, u8384);
generate_conversion_tests!(U8448, u8448);
generate_conversion_tests!(U12288, u12288);
generate_conversion_tests!(U12416, u12416);
generate_conversion_tests!(U15360, u15360);
generate_conversion_tests!(U15424, u15424);
generate_conversion_tests!(U15488, u15488);
generate_conversion_tests!(U15552, u15552);
generate_conversion_tests!(U16384, u16384);
generate_conversion_tests!(U16448, u16448);
generate_conversion_tests!(U16512, u16512);
generate_conversion_tests!(U16576, u16576);
generate_conversion_tests!(U16640, u16640);
generate_conversion_tests!(U24832, u24832);
generate_conversion_tests!(U30720, u30720);
generate_conversion_tests!(U30784, u30784);
generate_conversion_tests!(U30848, u30848);
generate_conversion_tests!(U30912, u30912);
generate_conversion_tests!(U32768, u32768);
generate_conversion_tests!(U32896, u32896);
generate_conversion_tests!(U61440, u61440);
@@ -705,38 +775,46 @@ mod tests {
generate_codec_tests!(U2048, u2048);
generate_codec_tests!(U2112, u2112);
generate_codec_tests!(U2176, u2176);
generate_codec_tests!(U2240, u2240);
generate_codec_tests!(U2304, u2304);
generate_codec_tests!(U2432, u2432);
generate_codec_tests!(U2560, u2560);
generate_codec_tests!(U3072, u3072);
generate_codec_tests!(U3136, u3136);
generate_codec_tests!(U3200, u3200);
generate_codec_tests!(U3264, u3264);
generate_codec_tests!(U4096, u4096);
generate_codec_tests!(U4160, u4160);
generate_codec_tests!(U4224, u4224);
generate_codec_tests!(U4288, u4288);
generate_codec_tests!(U6144, u6144);
generate_codec_tests!(U6208, u6208);
generate_codec_tests!(U6272, u6272);
generate_codec_tests!(U6336, u6336);
generate_codec_tests!(U7680, u7680);
generate_codec_tests!(U7744, u7744);
generate_codec_tests!(U7808, u7808);
generate_codec_tests!(U8192, u8192);
generate_codec_tests!(U8256, u8256);
generate_codec_tests!(U8320, u8320);
generate_codec_tests!(U8384, u8384);
generate_codec_tests!(U8448, u8448);
generate_codec_tests!(U12288, u12288);
generate_codec_tests!(U12416, u12416);
generate_codec_tests!(U15360, u15360);
generate_codec_tests!(U15424, u15424);
generate_codec_tests!(U15488, u15488);
generate_codec_tests!(U15552, u15552);
generate_codec_tests!(U16384, u16384);
generate_codec_tests!(U16448, u16448);
generate_codec_tests!(U16512, u16512);
generate_codec_tests!(U16576, u16576);
generate_codec_tests!(U16640, u16640);
generate_codec_tests!(U24832, u24832);
generate_codec_tests!(U30720, u30720);
generate_codec_tests!(U30784, u30784);
generate_codec_tests!(U30848, u30848);
generate_codec_tests!(U30912, u30912);
generate_codec_tests!(U32768, u32768);
generate_codec_tests!(U32896, u32896);
generate_codec_tests!(U61440, u61440);
@@ -772,38 +850,46 @@ mod tests {
generate_cmp_tests!(U2048, u2048);
generate_cmp_tests!(U2112, u2112);
generate_cmp_tests!(U2176, u2176);
generate_cmp_tests!(U2240, u2240);
generate_cmp_tests!(U2304, u2304);
generate_cmp_tests!(U2432, u2432);
generate_cmp_tests!(U2560, u2560);
generate_cmp_tests!(U3072, u3072);
generate_cmp_tests!(U3136, u3136);
generate_cmp_tests!(U3200, u3200);
generate_cmp_tests!(U3264, u3264);
generate_cmp_tests!(U4096, u4096);
generate_cmp_tests!(U4160, u4160);
generate_cmp_tests!(U4224, u4224);
generate_cmp_tests!(U4288, u4288);
generate_cmp_tests!(U6144, u6144);
generate_cmp_tests!(U6208, u6208);
generate_cmp_tests!(U6272, u6272);
generate_cmp_tests!(U6336, u6336);
generate_cmp_tests!(U7680, u7680);
generate_cmp_tests!(U7744, u7744);
generate_cmp_tests!(U7808, u7808);
generate_cmp_tests!(U8192, u8192);
generate_cmp_tests!(U8256, u8256);
generate_cmp_tests!(U8320, u8320);
generate_cmp_tests!(U8384, u8384);
generate_cmp_tests!(U8448, u8448);
generate_cmp_tests!(U12288, u12288);
generate_cmp_tests!(U12416, u12416);
generate_cmp_tests!(U15360, u15360);
generate_cmp_tests!(U15424, u15424);
generate_cmp_tests!(U15488, u15488);
generate_cmp_tests!(U15552, u15552);
generate_cmp_tests!(ignore U16384, u16384);
generate_cmp_tests!(ignore U16448, u16448);
generate_cmp_tests!(ignore U16512, u16512);
generate_cmp_tests!(ignore U16576, u16576);
generate_cmp_tests!(ignore U16640, u16640);
generate_cmp_tests!(ignore U24832, u24832);
generate_cmp_tests!(ignore U30720, u30720);
generate_cmp_tests!(ignore U30784, u30784);
generate_cmp_tests!(ignore U30848, u30848);
generate_cmp_tests!(ignore U30912, u30912);
generate_cmp_tests!(ignore U32768, u32768);
generate_cmp_tests!(ignore U32896, u32896);
generate_cmp_tests!(ignore U61440, u61440);
@@ -839,38 +925,46 @@ mod tests {
generate_sub_tests!(U2048, u2048);
generate_sub_tests!(U2112, u2112);
generate_sub_tests!(U2176, u2176);
generate_sub_tests!(U2240, u2240);
generate_sub_tests!(U2304, u2304);
generate_sub_tests!(U2432, u2432);
generate_sub_tests!(U2560, u2560);
generate_sub_tests!(U3072, u3072);
generate_sub_tests!(U3136, u3136);
generate_sub_tests!(U3200, u3200);
generate_sub_tests!(U3264, u3264);
generate_sub_tests!(U4096, u4096);
generate_sub_tests!(U4160, u4160);
generate_sub_tests!(U4224, u4224);
generate_sub_tests!(U4288, u4288);
generate_sub_tests!(U6144, u6144);
generate_sub_tests!(U6208, u6208);
generate_sub_tests!(U6272, u6272);
generate_sub_tests!(U6336, u6336);
generate_sub_tests!(U7680, u7680);
generate_sub_tests!(U7744, u7744);
generate_sub_tests!(U7808, u7808);
generate_sub_tests!(U8192, u8192);
generate_sub_tests!(U8256, u8256);
generate_sub_tests!(U8320, u8320);
generate_sub_tests!(U8384, u8384);
generate_sub_tests!(U8448, u8448);
generate_sub_tests!(ignore U12288, u12288);
generate_sub_tests!(ignore U12416, u12416);
generate_sub_tests!(ignore U15360, u15360);
generate_sub_tests!(ignore U15424, u15424);
generate_sub_tests!(ignore U15488, u15488);
generate_sub_tests!(ignore U15552, u15552);
generate_sub_tests!(ignore U16384, u16384);
generate_sub_tests!(ignore U16448, u16448);
generate_sub_tests!(ignore U16512, u16512);
generate_sub_tests!(ignore U16576, u16576);
generate_sub_tests!(ignore U16640, u16640);
generate_sub_tests!(ignore U24832, u24832);
generate_sub_tests!(ignore U30720, u30720);
generate_sub_tests!(ignore U30784, u30784);
generate_sub_tests!(ignore U30848, u30848);
generate_sub_tests!(ignore U30912, u30912);
generate_sub_tests!(ignore U32768, u32768);
generate_sub_tests!(ignore U32896, u32896);
generate_sub_tests!(ignore U61440, u61440);
@@ -987,17 +1081,25 @@ mod tests {
generate_add_tests!(U1600, u1600, U1664);
generate_add_tests!(U2048, u2048, U2112);
generate_add_tests!(U2112, u2112, U2176);
generate_add_tests!(U2176, u2176, U2240);
generate_add_tests!(U3072, u3072, U3136);
generate_add_tests!(U3136, u3136, U3200);
generate_add_tests!(U3200, u3200, U3264);
generate_add_tests!(U4096, u4096, U4160);
generate_add_tests!(U4160, u4160, U4224);
generate_add_tests!(U4224, u4224, U4288);
generate_add_tests!(U6144, u6144, U6208);
generate_add_tests!(U6208, u6208, U6272);
generate_add_tests!(U6272, u6272, U6336);
generate_add_tests!(U7744, u7744, U7808);
generate_add_tests!(U8256, u8256, U8320);
generate_add_tests!(U8320, u8320, U8384);
generate_add_tests!(ignore U15424, u15424, U15488);
generate_add_tests!(ignore U15488, u15488, U15552);
generate_add_tests!(ignore U16448, u16448, U16512);
generate_add_tests!(ignore U16512, u16512, U16576);
generate_add_tests!(ignore U30784, u30784, U30848);
generate_add_tests!(ignore U30848, u30848, U30912);
}
mod mul {
use super::super::*;
@@ -1049,6 +1151,7 @@ mod tests {
generate_div_tests!(U192, u192);
generate_div_tests!(U256, u256);
generate_div_tests!(U320, u320);
generate_div_tests!(U384, u384);
generate_div_tests!(U448, u448);
generate_div_tests!(U512, u512);
@@ -1063,6 +1166,7 @@ mod tests {
generate_div_tests!(U1216, u1216);
generate_div_tests!(U1280, u1280);
generate_div_tests!(U1536, u1536);
generate_div_tests!(U1600, u1600);
generate_div_tests!(U2048, u2048);
generate_div_tests!(ignore U2112, u2112);
generate_div_tests!(ignore U3072, u3072);
@@ -1073,6 +1177,7 @@ mod tests {
generate_div_tests!(ignore U6144, u6144);
generate_div_tests!(ignore U6208, u6208);
generate_div_tests!(ignore U7680, u7680);
generate_div_tests!(ignore U7744, u7744);
generate_div_tests!(ignore U8192, u8192);
generate_div_tests!(ignore U8256, u8256);
generate_div_tests!(ignore U8320, u8320);