diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/benchmark.cpp | 6 | ||||
| -rw-r--r-- | examples/birthday.c | 10 | ||||
| -rw-r--r-- | examples/ex_gaussian.c | 6 | ||||
| -rw-r--r-- | examples/heap.c | 8 | ||||
| -rw-r--r-- | examples/list.c | 6 | ||||
| -rw-r--r-- | examples/priority.c | 8 | ||||
| -rw-r--r-- | examples/queue.c | 10 | ||||
| -rw-r--r-- | examples/random.c | 16 | ||||
| -rw-r--r-- | examples/rngtest.c | 14 |
9 files changed, 42 insertions, 42 deletions
diff --git a/examples/benchmark.cpp b/examples/benchmark.cpp index 4830c9ba..206da5ce 100644 --- a/examples/benchmark.cpp +++ b/examples/benchmark.cpp @@ -28,9 +28,9 @@ KHASH_MAP_INIT_INT64(ii, int64_t) size_t seed;
static const float max_load_factor = 0.77f;
-cstc64_t rng;
-#define SEED(s) rng = cstc64_init(seed)
-#define RAND(N) (cstc64_rand(&rng) & ((1 << N) - 1))
+crand_t rng;
+#define SEED(s) rng = crand_init(seed)
+#define RAND(N) (crand_next(&rng) & ((1 << N) - 1))
#define CMAP_SETUP(X, Key, Value) cmap_##X map = cmap_inits \
diff --git a/examples/birthday.c b/examples/birthday.c index fedb2c5c..ac05a5f5 100644 --- a/examples/birthday.c +++ b/examples/birthday.c @@ -14,12 +14,12 @@ const static uint64_t mask = (1ull << 52) - 1; void repeats(void)
{
- cstc64_t rng = cstc64_init(seed);
+ crand_t rng = crand_init(seed);
cmap_ic m = cmap_ic_init();
cmap_ic_reserve(&m, N);
clock_t now = clock();
c_forrange (i, N) {
- uint64_t k = cstc64_rand(&rng) & mask;
+ uint64_t k = crand_next(&rng) & mask;
int v = ++cmap_ic_emplace(&m, k, 0).first->second;
if (v > 1) printf("%zu: %llx - %d\n", i, k, v);
}
@@ -33,14 +33,14 @@ using_cvec(x, uint64_t); void distribution(void)
{
- cstc64_t rng = cstc64_init(seed); // time(NULL), time(NULL));
+ crand_t rng = crand_init(seed); // time(NULL), time(NULL));
const size_t N = 1ull << 28, M = 1ull << 9; // 1ull << 10;
cmap_x map = cmap_x_with_capacity(M);
clock_t now = clock();
- cstc64_uniform_t dist = cstc64_uniform_init(0, M);
+ crand_uniform_t dist = crand_uniform_init(0, M);
c_forrange (N) {
- ++cmap_x_emplace(&map, cstc64_uniform(&rng, &dist), 0).first->second;
+ ++cmap_x_emplace(&map, crand_uniform(&rng, &dist), 0).first->second;
}
float diff = (float) (clock() - now) / CLOCKS_PER_SEC;
diff --git a/examples/ex_gaussian.c b/examples/ex_gaussian.c index 5303dd0c..a3842aae 100644 --- a/examples/ex_gaussian.c +++ b/examples/ex_gaussian.c @@ -25,13 +25,13 @@ int main() // Setup random engine with normal distribution.
uint64_t seed = time(NULL);
- cstc64_t rng = cstc64_init(seed);
- cstc64_normalf_t dist = cstc64_normalf_init(Mean, StdDev);
+ crand_t rng = crand_init(seed);
+ crand_normalf_t dist = crand_normalf_init(Mean, StdDev);
// Create histogram map
cmap_i mhist = cmap_i_init();
for (size_t i = 0; i < N; ++i) {
- int index = (int) round( cstc64_normalf(&rng, &dist) );
+ int index = (int) round( crand_normalf(&rng, &dist) );
cmap_i_emplace(&mhist, index, 0).first->second += 1;
}
diff --git a/examples/heap.c b/examples/heap.c index 166dd6ba..83f9d97f 100644 --- a/examples/heap.c +++ b/examples/heap.c @@ -10,15 +10,15 @@ using_cpqueue(f, cvec_f, >); int main()
{
uint32_t seed = time(NULL);
- cstc64_t rng;
+ crand_t rng;
int N = 3000000, M = 100;
cpqueue_f pq = cpqueue_f_init();
- rng = cstc64_init(seed);
+ rng = crand_init(seed);
clock_t start = clock();
c_forrange (i, int, N)
- cvec_f_push_back(&pq, (float) cstc64_randf(&rng)*100000);
+ cvec_f_push_back(&pq, (float) crand_nextf(&rng)*100000);
cpqueue_f_make_heap(&pq);
printf("Built priority queue: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC);
@@ -35,7 +35,7 @@ int main() start = clock();
c_forrange (i, int, N)
- cpqueue_f_push(&pq, (float) cstc64_randf(&rng)*100000);
+ cpqueue_f_push(&pq, (float) crand_nextf(&rng)*100000);
printf("pushed PQ: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC);
c_forrange (i, int, M) {
diff --git a/examples/list.c b/examples/list.c index fbfa8830..4f6d16e1 100644 --- a/examples/list.c +++ b/examples/list.c @@ -9,11 +9,11 @@ int main() { const int n = 2000000;
clist_fx list = clist_inits;
- cstc64_t eng = cstc64_init(1234);
- cstc64_uniformf_t dist = cstc64_uniformf_init(100.0f, n);
+ crand_t rng = crand_init(1234);
+ crand_uniformf_t dist = crand_uniformf_init(100.0f, n);
int m = 0;
c_forrange (i, int, n)
- clist_fx_push_back(&list, cstc64_uniformf(&eng, &dist)), ++m;
+ clist_fx_push_back(&list, crand_uniformf(&rng, &dist)), ++m;
double sum = 0.0;
printf("sumarize %d:\n", m);
c_foreach (i, clist_fx, list)
diff --git a/examples/priority.c b/examples/priority.c index e81cd8a3..f6b4ecf0 100644 --- a/examples/priority.c +++ b/examples/priority.c @@ -11,19 +11,19 @@ using_cpqueue(i, cvec_i, >); // min-heap (increasing values) int main() {
size_t N = 10000000;
- cstc64_t pcg = cstc64_init(time(NULL));
- cstc64_uniform_t dist = cstc64_uniform_init(0, N * 10);
+ crand_t rng = crand_init(time(NULL));
+ crand_uniform_t dist = crand_uniform_init(0, N * 10);
cpqueue_i heap = cpqueue_i_init();
// Push ten million random numbers to priority queue
c_forrange (N)
- cpqueue_i_push(&heap, cstc64_uniform(&pcg, &dist));
+ cpqueue_i_push(&heap, crand_uniform(&rng, &dist));
// push some negative numbers too.
c_push_items(&heap, cpqueue_i, {-231, -32, -873, -4, -343});
c_forrange (N)
- cpqueue_i_push(&heap, cstc64_uniform(&pcg, &dist));
+ cpqueue_i_push(&heap, crand_uniform(&rng, &dist));
// Extract the hundred smallest.
diff --git a/examples/queue.c b/examples/queue.c index 0ff29736..57362493 100644 --- a/examples/queue.c +++ b/examples/queue.c @@ -7,20 +7,20 @@ using_cqueue(i, clist_i); // min-heap (increasing values) int main() {
int n = 10000000;
- cstc64_uniform_t dist;
- cstc64_t rng = cstc64_init(1234);
- dist = cstc64_uniform_init(0, n);
+ crand_uniform_t dist;
+ crand_t rng = crand_init(1234);
+ dist = crand_uniform_init(0, n);
cqueue_i queue = cqueue_i_init();
// Push ten million random numbers onto the queue.
c_forrange (n)
- cqueue_i_push(&queue, cstc64_uniform(&rng, &dist));
+ cqueue_i_push(&queue, crand_uniform(&rng, &dist));
// Push or pop on the queue ten million times
printf("%d\n", n);
c_forrange (n) { // range uses initial n only.
- int r = cstc64_uniform(&rng, &dist);
+ int r = crand_uniform(&rng, &dist);
if (r & 1)
++n, cqueue_i_push(&queue, r);
else
diff --git a/examples/random.c b/examples/random.c index 0cf9da6f..de1fe778 100644 --- a/examples/random.c +++ b/examples/random.c @@ -7,18 +7,18 @@ int main()
{
enum {R = 30};
- const size_t N = 500000000;
- uint64_t seed = time(NULL);
- cstc64_t stc = cstc64_init(seed);
+ const size_t N = 1000000000;
+ uint64_t seed = 1234; // time(NULL);
+ crand_t rng = crand_init(seed);
uint64_t sum = 0;
- cstc64_normalf_t dist2 = cstc64_normalf_init(R / 2.0, R / 6.0);
+ crand_normalf_t dist2 = crand_normalf_init(R / 2.0, R / 6.0);
size_t N2 = 10000000;
int hist[R] = {0};
sum = 0;
c_forrange (N2) {
- int n = round((cstc64_normalf(&stc, &dist2) + 0.5));
+ int n = round((crand_normalf(&rng, &dist2) + 0.5));
sum += n;
if (n >= 0 && n < R) ++hist[n];
}
@@ -33,16 +33,16 @@ int main() sum = 0;
before = clock();
c_forrange (N) {
- sum += cstc64_rand(&stc);
+ sum += crand_next(&rng);
}
diff = clock() - before;
printf("random : %f secs, %zu %f\n", (float) diff / CLOCKS_PER_SEC, N, (double) sum / N);
- cstc64_uniform_t dist1 = cstc64_uniform_init(0, 1000);
+ crand_uniform_t dist1 = crand_uniform_init(0, 1000);
sum = 0;
before = clock();
c_forrange (N) {
- sum += cstc64_uniform(&stc, &dist1);
+ sum += crand_uniform(&rng, &dist1);
}
diff = clock() - before;
printf("uniform: %f secs, %zu %f\n", (float) diff / CLOCKS_PER_SEC, N, (double) sum / N);
diff --git a/examples/rngtest.c b/examples/rngtest.c index 76666484..db7a8093 100644 --- a/examples/rngtest.c +++ b/examples/rngtest.c @@ -13,14 +13,14 @@ int main(void) clock_t diff, before;
uint64_t v;
- cstc64_t stc = cstc64_init(time(NULL));
- cstc64_uniform_t idist = cstc64_uniform_init(10, 20);
- cstc64_uniformf_t fdist = cstc64_uniformf_init(10, 20);
+ crand_t rng = crand_init(time(NULL));
+ crand_uniform_t idist = crand_uniform_init(10, 20);
+ crand_uniformf_t fdist = crand_uniformf_init(10, 20);
before = clock();
v = 0;
c_forrange (NN) {
- v += cstc64_rand(&stc);
+ v += crand_next(&rng);
}
diff = clock() - before;
printf("stc64_rand: %.02f, %zu\n", (float) diff / CLOCKS_PER_SEC, v);
@@ -28,13 +28,13 @@ int main(void) before = clock();
v = 0;
c_forrange (NN) {
- v += cstc64_uniform(&stc, &idist);
+ v += crand_uniform(&rng, &idist);
}
diff = clock() - before;
printf("stc64_uniform: %.02f, %zu\n\n", (float) diff / CLOCKS_PER_SEC, v);
- c_forrange (30) printf("%02zd ", cstc64_uniform(&stc, &idist));
+ c_forrange (30) printf("%02zd ", crand_uniform(&rng, &idist));
puts("");
- c_forrange (8) printf("%f ", cstc64_uniformf(&stc, &fdist));
+ c_forrange (8) printf("%f ", crand_uniformf(&rng, &fdist));
puts("");
}
\ No newline at end of file |
