dsalgo/
test_fast_prime_counting.rs1use crate::{
6 prime_pi_power_of_10::PRIME_PI_POWER_OF_10,
7 prime_pi_table_from_enumerate_primes::prime_pi_table,
8};
9
10#[allow(dead_code)]
11
12pub(crate) fn test_fast_prime_counting<F>(pi: &F)
13where
14 F: Fn(u64) -> u64,
15{
16 const N: u32 = 1 << 10;
17
18 let ans = prime_pi_table(N as usize);
19
20 for i in 0..N {
21 let res = pi(i as u64) as u32;
22
23 assert_eq!(ans[i as usize], res);
24 }
25
26 for i in 0..11 {
27 let ans = PRIME_PI_POWER_OF_10[i as usize] as u64;
28
29 let res = pi(10u64.pow(i as u32));
30
31 assert_eq!(ans, res);
32 }
33}