1
- extern crate primes;
2
-
3
- use primes:: { PrimeSet , is_prime, factors, factors_uniq} ;
1
+ use primes:: { factors, factors_uniq, is_prime, PrimeSet } ;
4
2
5
3
#[ test]
6
- fn test_iter ( ) {
4
+ fn test_iter ( ) {
7
5
let mut pset = PrimeSet :: new ( ) ;
8
- let first_few = [ 2u64 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 ] ;
6
+ let first_few = [ 2u64 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 ] ;
9
7
for ( m, & n) in pset. iter ( ) . zip ( first_few. iter ( ) ) {
10
8
assert_eq ! ( m, n) ;
11
9
}
12
10
}
13
11
14
12
#[ test]
15
- fn test_find ( ) {
13
+ fn test_find ( ) {
16
14
let mut pset = PrimeSet :: new ( ) ;
17
15
18
16
// pset is empty, so it needs to generate the primes
@@ -27,16 +25,16 @@ fn test_find(){
27
25
{
28
26
let plst = pset. list ( ) ;
29
27
let plen = plst. len ( ) ;
30
- assert_eq ! ( plen, ix_exp+ 1 ) ;
28
+ assert_eq ! ( plen, ix_exp + 1 ) ;
31
29
32
- assert_eq ! ( plst[ plen- 1 ] , n_exp) ;
30
+ assert_eq ! ( plst[ plen - 1 ] , n_exp) ;
33
31
}
34
32
35
33
assert_eq ! ( pset. find_vec( n_exp) , Some ( ( ix_exp, n_exp) ) ) ;
36
34
}
37
35
38
36
#[ test]
39
- fn test_primes ( ) {
37
+ fn test_primes ( ) {
40
38
let mut pset = PrimeSet :: new ( ) ;
41
39
42
40
// note: some are repeated, because the pset list grows as it goes
@@ -49,24 +47,22 @@ fn test_primes(){
49
47
assert ! ( is_prime( 13 ) ) ;
50
48
assert ! ( !pset. is_prime( 45 ) ) ;
51
49
assert ! ( !is_prime( 45 ) ) ;
52
- assert ! ( !pset. is_prime( 13 * 13 ) ) ;
53
- assert ! ( !is_prime( 13 * 13 ) ) ;
50
+ assert ! ( !pset. is_prime( 13 * 13 ) ) ;
51
+ assert ! ( !is_prime( 13 * 13 ) ) ;
54
52
assert ! ( pset. is_prime( 13 ) ) ;
55
53
assert ! ( pset. is_prime( 7 ) ) ;
56
54
assert ! ( is_prime( 7 ) ) ;
57
55
assert ! ( !pset. is_prime( 9 ) ) ;
58
56
assert ! ( !is_prime( 9 ) ) ;
59
57
assert ! ( pset. is_prime( 5 ) ) ;
60
58
assert ! ( is_prime( 5 ) ) ;
61
-
62
59
assert ! ( pset. is_prime( 954377 ) ) ;
63
60
assert ! ( pset. is_prime( 954379 ) ) ;
64
- assert ! ( !pset. is_prime( 954377 * 954379 ) ) ;
65
-
66
- assert ! ( !is_prime( 18409199 * 18409201 ) ) ;
61
+ assert ! ( !pset. is_prime( 954377 * 954379 ) ) ;
62
+
63
+ assert ! ( !is_prime( 18409199 * 18409201 ) ) ;
67
64
assert ! ( pset. is_prime( 18409199 ) ) ;
68
65
assert ! ( pset. is_prime( 18409201 ) ) ;
69
-
70
66
assert ! ( !pset. is_prime( 2147483643 ) ) ;
71
67
assert ! ( pset. is_prime( 2147483647 ) ) ;
72
68
assert ! ( !pset. is_prime( 2147483649 ) ) ;
@@ -83,40 +79,40 @@ fn test_primes(){
83
79
}
84
80
85
81
#[ test]
86
- fn test_factors ( ) {
87
- let mut pset = PrimeSet :: new ( ) ;
88
-
89
- let ns = [ ( 1 , vec ! ( ) ) ,
90
- ( 2 , vec ! ( 2 ) ) ,
91
- ( 3 , vec ! ( 3 ) ) ,
92
- ( 4 , vec ! ( 2 , 2 ) ) ,
93
- ( 5 , vec ! ( 5 ) ) ,
94
- ( 6 , vec ! ( 2 , 3 ) ) ,
95
- ( 9 , vec ! ( 3 , 3 ) ) ,
96
- ( 12 , vec ! ( 2 , 2 , 3 ) ) ,
97
- ( 121 , vec ! ( 11 , 11 ) ) ,
98
- ( 144 , vec ! ( 2 , 2 , 2 , 2 , 3 , 3 ) ) ,
99
- ( 10_000_000 , vec ! ( 2 , 2 , 2 , 2 , 2 , 2 , 2 , 5 , 5 , 5 , 5 , 5 , 5 , 5 ) ) ,
100
- ( 100 , vec ! ( 2 , 2 , 5 , 5 ) ) ,
101
- ( 121 , vec ! ( 11 , 11 ) ) ,
102
- ] ;
82
+ fn test_factors ( ) {
83
+ let mut pset = PrimeSet :: new ( ) ;
84
+
85
+ let ns = [
86
+ ( 1 , vec ! [ ] ) ,
87
+ ( 2 , vec ! [ 2 ] ) ,
88
+ ( 3 , vec ! [ 3 ] ) ,
89
+ ( 4 , vec ! [ 2 , 2 ] ) ,
90
+ ( 5 , vec ! [ 5 ] ) ,
91
+ ( 6 , vec ! [ 2 , 3 ] ) ,
92
+ ( 9 , vec ! [ 3 , 3 ] ) ,
93
+ ( 12 , vec ! [ 2 , 2 , 3 ] ) ,
94
+ ( 121 , vec ! [ 11 , 11 ] ) ,
95
+ ( 144 , vec ! [ 2 , 2 , 2 , 2 , 3 , 3 ] ) ,
96
+ ( 10_000_000 , vec ! [ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 5 , 5 , 5 , 5 , 5 , 5 , 5 ] ) ,
97
+ ( 100 , vec ! [ 2 , 2 , 5 , 5 ] ) ,
98
+ ( 121 , vec ! [ 11 , 11 ] ) ,
99
+ ] ;
103
100
104
101
// Test unique factors
105
- for & ( n, ref v) in ns. iter ( ) {
102
+ for & ( n, ref v) in ns. iter ( ) {
106
103
println ! ( "{}: {:?}" , n, v) ;
107
104
assert_eq ! ( pset. prime_factors( n) , * v) ;
108
105
assert_eq ! ( factors( n) , * v) ;
109
106
110
107
let unique_factors = factors_uniq ( n) ;
111
108
112
109
// Get unique factors from the lists we made above
113
- let mut unique_factors_exp : Vec < u64 > = v. iter ( ) . map ( |& x| { x } ) . collect ( ) ;
110
+ let mut unique_factors_exp: Vec < u64 > = v. iter ( ) . map ( |& x| x ) . collect ( ) ;
114
111
unique_factors_exp. dedup ( ) ;
115
112
116
113
assert_eq ! ( unique_factors, unique_factors_exp) ;
117
114
}
118
115
119
- pset = PrimeSet :: new ( ) ;
120
- assert_eq ! ( pset. prime_factors( 12 ) , vec!( 2 , 2 , 3 ) ) ;
121
-
122
- }
116
+ pset = PrimeSet :: new ( ) ;
117
+ assert_eq ! ( pset. prime_factors( 12 ) , vec!( 2 , 2 , 3 ) ) ;
118
+ }
0 commit comments