-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.odin
executable file
·36 lines (32 loc) · 1.17 KB
/
main.odin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main
import "FSR"
import "MWC"
import "MWCP"
import "Odin"
import "SFC"
import "SFCK"
import "WYR"
import "core:fmt"
import "lib"
main :: proc() {
// ---------------- Test Time ----------------
// lib.test_time(FSR.FSR64_init, FSR.FSR64_u64) // 0.549 ns
// lib.test_time(MWC.MWC64_init, MWC.MWC64_u64) // 0.565 ns
// lib.test_time(MWCP.MWCP64_init, MWCP.MWCP64_u64) // 0.610 ns
// lib.test_time(SFC.SFC64_init, SFC.SFC64_u64) // 0.992 ns
// lib.test_time(SFCK.SFCK64_init, SFCK.SFCK64_u64) // 0.900 ns
// lib.test_time(WYR.WYR64_init, WYR.WYR64_u64) // 0.381 ns
// lib.test_time(Odin.Odin_init, Odin.Odin_u64) // 0.916 ns
// ---------------- Test Rng ----------------
// lib.test_rng(FSR.FSR64_init, FSR.FSR64_u64, 0)
// lib.test_rng(MWC.MWC64_init, MWC.MWC64_u64, 0)
// lib.test_rng(MWCP.MWCP64_init, MWCP.MWCP64_u64, 0)
// lib.test_rng(SFC.SFC64_init, SFC.SFC64_u64, 0)
// lib.test_rng(SFCK.SFCK64_init, SFCK.SFCK64_u64, 0)
// lib.test_rng(WYR.WYR64_init, WYR.WYR64_u64, 0)
// lib.test_rng(Odin.Odin_init, Odin.Odin_u64, 2)
// ---------------- Print Balanced Primes ----------------
// for _ in 0 ..< 10 {
// fmt.printf("0x%x\n", lib.balanced_prime(64))
// }
}