fountain_raptor_10/
lib.rs1pub mod generator;
6pub mod raptor_10;
7
8pub use generator::*;
9pub use raptor_10::Raptor10SysCode;
10
11#[cfg(test)]
12mod tests {
13 use super::*;
14
15 #[test]
16 fn test_random_generator() {
17 let result = generator::random_generator::rand(100, 5, 1000);
19 assert!(result < 1000);
20 }
21
22 #[test]
23 fn test_degree_generator() {
24 assert_eq!(generator::degree_generator::deg(0), 1);
26 assert_eq!(generator::degree_generator::deg(500000), 3);
27 assert_eq!(generator::degree_generator::deg(1048575), 40);
28 }
29
30 #[test]
31 fn test_combined_usage() {
32 for x in 0..100 {
34 let v = generator::random_generator::rand(x, 1, 1048576);
35 let d = generator::degree_generator::deg(v);
36
37 assert!(matches!(d, 1 | 2 | 3 | 4 | 10 | 11 | 40),
39 "Invalid degree {} for v={}", d, v);
40 }
41 }
42}