1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.rng.examples.jmh;
19
20 import org.apache.commons.rng.simple.RandomSource;
21 import org.openjdk.jmh.annotations.Param;
22 import org.openjdk.jmh.annotations.Scope;
23 import org.openjdk.jmh.annotations.Setup;
24 import org.openjdk.jmh.annotations.State;
25
26
27
28
29
30
31 @State(Scope.Benchmark)
32 public class RandomSourceValues {
33
34
35
36
37
38
39
40
41
42 @Param({"JDK",
43 "WELL_512_A",
44 "WELL_1024_A",
45 "WELL_19937_A",
46 "WELL_19937_C",
47 "WELL_44497_A",
48 "WELL_44497_B",
49 "MT",
50 "ISAAC",
51 "SPLIT_MIX_64",
52 "XOR_SHIFT_1024_S",
53 "TWO_CMRES",
54 "MT_64",
55 "MWC_256",
56 "KISS",
57 "XOR_SHIFT_1024_S_PHI",
58 "XO_RO_SHI_RO_64_S",
59 "XO_RO_SHI_RO_64_SS",
60 "XO_SHI_RO_128_PLUS",
61 "XO_SHI_RO_128_SS",
62 "XO_RO_SHI_RO_128_PLUS",
63 "XO_RO_SHI_RO_128_SS",
64 "XO_SHI_RO_256_PLUS",
65 "XO_SHI_RO_256_SS",
66 "XO_SHI_RO_512_PLUS",
67 "XO_SHI_RO_512_SS",
68 "PCG_XSH_RR_32",
69 "PCG_XSH_RS_32",
70 "PCG_RXS_M_XS_64",
71 "PCG_MCG_XSH_RR_32",
72 "PCG_MCG_XSH_RS_32",
73 "MSWS",
74 "SFC_32",
75 "SFC_64",
76 "JSF_32",
77 "JSF_64",
78 "XO_SHI_RO_128_PP",
79 "XO_RO_SHI_RO_128_PP",
80 "XO_SHI_RO_256_PP",
81 "XO_SHI_RO_512_PP",
82 "XO_RO_SHI_RO_1024_PP",
83 "XO_RO_SHI_RO_1024_S",
84 "XO_RO_SHI_RO_1024_SS",
85 "PCG_XSH_RR_32_OS",
86 "PCG_XSH_RS_32_OS",
87 "PCG_RXS_M_XS_64_OS",
88 "L64_X128_SS",
89 "L64_X128_MIX",
90 "L64_X256_MIX",
91 "L64_X1024_MIX",
92 "L128_X128_MIX",
93 "L128_X256_MIX",
94 "L128_X1024_MIX",
95 "L32_X64_MIX"})
96 private String randomSourceName;
97
98
99 private RandomSource randomSource;
100
101
102
103
104
105
106 public RandomSource getRandomSource() {
107 return randomSource;
108 }
109
110
111
112
113 @Setup
114 public void setup() {
115 randomSource = RandomSource.valueOf(randomSourceName);
116 }
117 }