diff options
| author | Tyge Løvset <[email protected]> | 2020-07-29 16:02:04 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2020-07-29 16:02:04 +0200 |
| commit | 5dad12ce1a2dcd6bd9805c2f7eeb96f9dbe8aa48 (patch) | |
| tree | 542b15e8dbf14a419128f9364c59768d073535c3 /examples | |
| parent | b818bb967c6050d14a9c7058f02592a4ffeef9b4 (diff) | |
| download | STC-modified-5dad12ce1a2dcd6bd9805c2f7eeb96f9dbe8aa48.tar.gz STC-modified-5dad12ce1a2dcd6bd9805c2f7eeb96f9dbe8aa48.zip | |
Renamed crandom.h to crand.h + Changed API. Renamed coptget.h to copt.h.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/advanced.c | 4 | ||||
| -rw-r--r-- | examples/benchmark.c | 8 | ||||
| -rw-r--r-- | examples/bits.c | 4 | ||||
| -rw-r--r-- | examples/demos.c | 6 | ||||
| -rw-r--r-- | examples/geek2.c | 2 | ||||
| -rw-r--r-- | examples/geek3.c | 2 | ||||
| -rw-r--r-- | examples/geek4.c | 4 | ||||
| -rw-r--r-- | examples/heap.c | 10 | ||||
| -rw-r--r-- | examples/inits.c | 2 | ||||
| -rw-r--r-- | examples/list.c | 6 | ||||
| -rw-r--r-- | examples/prime.c | 2 | ||||
| -rw-r--r-- | examples/priority.c | 6 | ||||
| -rw-r--r-- | examples/rngbirthday.c | 11 | ||||
| -rw-r--r-- | examples/rngtest.c | 16 |
14 files changed, 43 insertions, 40 deletions
diff --git a/examples/advanced.c b/examples/advanced.c index bba534ca..68732544 100644 --- a/examples/advanced.c +++ b/examples/advanced.c @@ -34,8 +34,8 @@ int vikingvw_equals(const VikingVw* x, const VikingVw* y) { // Viking data struct ----------------------- typedef struct Viking { - cstr name; - cstr country; + cstr_t name; + cstr_t country; } Viking; diff --git a/examples/benchmark.c b/examples/benchmark.c index 568ba880..ea6c1794 100644 --- a/examples/benchmark.c +++ b/examples/benchmark.c @@ -1,4 +1,4 @@ -#include <stc/crandom.h>
+#include <stc/crand.h>
#include <stc/cstr.h>
#include <stc/cmap.h>
#include "others/khash.h"
@@ -21,9 +21,9 @@ KHASH_MAP_INIT_INT64(ii, uint64_t) size_t seed;
static const float max_load_factor = 0.77f;
-crandom64_t rng;
-#define SEED(s) rng = crandom64_uniform_engine(seed)
-#define RAND(N) (crandom64_uniform_int(&rng) & ((1 << N) - 1))
+crand_eng64_t rng;
+#define SEED(s) rng = crand_eng64(seed)
+#define RAND(N) (crand_gen_i64(&rng) & ((1 << N) - 1))
#define CMAP_SETUP(tag, Key, Value) cmap_##tag map = cmap_init \
diff --git a/examples/bits.c b/examples/bits.c index fd074232..bf9125de 100644 --- a/examples/bits.c +++ b/examples/bits.c @@ -2,7 +2,7 @@ #include <stc/cbitset.h>
int main() {
- cbitset set = cbitset_make(23, true);
+ cbitset_t set = cbitset_make(23, true);
printf("count %zu, %zu\n", cbitset_count(set), set.size);
cbitset_reset(&set, 9);
cbitset_resize(&set, 43, false);
@@ -21,7 +21,7 @@ int main() { printf("%d", cbitset_test(set, i));
puts("");
- cbitset s2 = cbitset_from(set);
+ cbitset_t s2 = cbitset_from(set);
cbitset_flip_all(&s2);
cbitset_set(&s2, 16);
cbitset_set(&s2, 17);
diff --git a/examples/demos.c b/examples/demos.c index 845f0cf0..3c7ac5f4 100644 --- a/examples/demos.c +++ b/examples/demos.c @@ -8,7 +8,7 @@ void stringdemo1()
{
printf("\nSTRINGDEMO1\n");
- cstr cs = cstr_make("one-nine-three-seven-five");
+ cstr_t cs = cstr_make("one-nine-three-seven-five");
printf("%s.\n", cs.str);
cstr_insert(&cs, 3, "-two");
@@ -54,7 +54,7 @@ void vectordemo1() -declare_cvec(cs, cstr, cstr_destroy, cstr_compare); // supply inline destructor of values
+declare_cvec(cs, cstr_t, cstr_destroy, cstr_compare); // supply inline destructor of values
void vectordemo2()
{
@@ -150,7 +150,7 @@ void mapdemo2() }
-declare_cmap_str(ss, cstr, cstr_destroy);
+declare_cmap_str(ss, cstr_t, cstr_destroy);
void mapdemo3()
{
diff --git a/examples/geek2.c b/examples/geek2.c index c3a9ddfc..988f1f98 100644 --- a/examples/geek2.c +++ b/examples/geek2.c @@ -3,7 +3,7 @@ #include <stc/cmap.h>
#include <stc/cstr.h>
-declare_cmap_str(ss, cstr, cstr_destroy);
+declare_cmap_str(ss, cstr_t, cstr_destroy);
declare_cset_str();
int main()
diff --git a/examples/geek3.c b/examples/geek3.c index 4c53a026..b8de97c8 100644 --- a/examples/geek3.c +++ b/examples/geek3.c @@ -4,7 +4,7 @@ #include <stc/cstr.h>
declare_cmap_str(si, int);
-declare_cmap_str(ss, cstr, cstr_destroy);
+declare_cmap_str(ss, cstr_t, cstr_destroy);
int main ()
{
diff --git a/examples/geek4.c b/examples/geek4.c index dcf7edbf..c541e805 100644 --- a/examples/geek4.c +++ b/examples/geek4.c @@ -59,7 +59,7 @@ int commonWords(cvec_str S) // Extract all words of first string and store it in ans
while (i < cstr_size(S.data[0])) {
// To store separate words
- cstr word = cstr_init;
+ cstr_t word = cstr_init;
cmapentry_sb tmp = {cstr_init, false};
while (i < cstr_size(S.data[0]) && S.data[0].str[i] != ' ') {
@@ -89,7 +89,7 @@ int commonWords(cvec_str S) i = 0;
while (i < cstr_size(S.data[j])) {
- cstr word = cstr_init;
+ cstr_t word = cstr_init;
while (i < cstr_size(S.data[j]) && S.data[j].str[i] != ' ') {
cstr_push_back(&word, S.data[j].str[i]);
i++;
diff --git a/examples/heap.c b/examples/heap.c index 857ff1fb..55aac409 100644 --- a/examples/heap.c +++ b/examples/heap.c @@ -1,7 +1,7 @@ #include <stdio.h>
#include <time.h>
#include "stc/cvecpq.h"
-#include "stc/crandom.h"
+#include "stc/crand.h"
declare_cvec(f, float);
declare_cvec_priority_queue(f, >);
@@ -9,12 +9,12 @@ declare_cvec_priority_queue(f, >); int main()
{
uint32_t seed = time(NULL);
- crandom32_t pcg = crandom32_uniform_engine(seed);
+ crand_eng32_t pcg = crand_eng32(seed);
int N = 30000000, M = 100;
cvec_f vec = cvec_init;
clock_t start = clock();
for (int i=0; i<N; ++i)
- cvec_f_push_back(&vec, crandom32_uniform_int(&pcg));
+ cvec_f_push_back(&vec, crand_gen_i32(&pcg));
cvecpq_f_build(&vec);
printf("Built priority queue: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC);
@@ -25,10 +25,10 @@ int main() cvecpq_f_pop(&vec);
printf("\n\npopped PQ: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC);
- pcg = crandom32_uniform_engine(seed);
+ pcg = crand_eng32(seed);
start = clock();
for (int i=0; i<N; ++i)
- cvecpq_f_push(&vec, crandom32_uniform_int(&pcg));
+ cvecpq_f_push(&vec, crand_gen_i32(&pcg));
printf("pushed PQ: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC);
for (int i=0; i<M; ++i)
printf("%.0f ", cvecpq_f_top(&vec)), cvecpq_f_pop(&vec);
diff --git a/examples/inits.c b/examples/inits.c index c7758926..0769ce3c 100644 --- a/examples/inits.c +++ b/examples/inits.c @@ -4,7 +4,7 @@ #include <stc/cvec.h>
#include <stc/clist.h>
-declare_cmap(id, int, cstr, cstr_destroy); // Map of int -> cstr
+declare_cmap(id, int, cstr_t, cstr_destroy); // Map of int -> cstr_t
declare_cmap_str(cnt, int);
typedef struct {int x, y;} ipair_t;
diff --git a/examples/list.c b/examples/list.c index 352965b2..2689d187 100644 --- a/examples/list.c +++ b/examples/list.c @@ -1,15 +1,15 @@ #include <stdio.h>
#include <time.h>
#include <stc/clist.h>
-#include <stc/crandom.h>
+#include <stc/crand.h>
declare_clist(ix, uint64_t);
int main() {
clist_ix list = clist_init;
- crandom32_t pcg = crandom32_uniform_engine(time(NULL));
+ crand_eng32_t pcg = crand_eng32(time(NULL));
int n;
for (int i=0; i<10000000; ++i) // ten million
- clist_ix_push_back(&list, crandom32_uniform_int(&pcg));
+ clist_ix_push_back(&list, crand_gen_i32(&pcg));
n = 100;
c_foreach (i, clist_ix, list)
if (n--) printf("%8d: %10zu\n", 100 - n, i.item->value); else break;
diff --git a/examples/prime.c b/examples/prime.c index 463203d2..611690ac 100644 --- a/examples/prime.c +++ b/examples/prime.c @@ -10,7 +10,7 @@ static inline void sieveOfEratosthenes(size_t n)
{
- cbitset prime = cbitset_make(n + 1, true);
+ cbitset_t prime = cbitset_make(n + 1, true);
printf("computing prime numbers up to %zu\n", n);
cbitset_reset(&prime, 0);
cbitset_reset(&prime, 1);
diff --git a/examples/priority.c b/examples/priority.c index 1aee8f58..cf1c386c 100644 --- a/examples/priority.c +++ b/examples/priority.c @@ -3,18 +3,18 @@ #include <time.h>
#include <stc/cvecpq.h>
#include <stc/cmap.h>
-#include <stc/crandom.h>
+#include <stc/crand.h>
declare_cvec(i, uint32_t);
declare_cvec_priority_queue(i, >); // min-heap (increasing values)
int main() {
- crandom32_t pcg = crandom32_uniform_engine(time(NULL));
+ crand_eng32_t pcg = crand_eng32(time(NULL));
cvec_i heap = cvec_init;
// Push ten million random numbers to queue
for (int i=0; i<10000000; ++i)
- cvecpq_i_push(&heap, crandom32_uniform_int(&pcg));
+ cvecpq_i_push(&heap, crand_gen_i32(&pcg));
// Extract the hundred smallest.
for (int i=0; i<100; ++i) {
diff --git a/examples/rngbirthday.c b/examples/rngbirthday.c index 69d510e6..43718fe8 100644 --- a/examples/rngbirthday.c +++ b/examples/rngbirthday.c @@ -2,7 +2,7 @@ #include <stdio.h>
#include <time.h>
-#include <stc/crandom.h>
+#include <stc/crand.h>
#include <stc/cmap.h>
#include <stc/cvec.h>
#include <stc/cstr.h>
@@ -15,12 +15,12 @@ const static uint64_t mask = (1ull << 52) - 1; void repeats(void)
{
- crandom64_t rng = crandom64_uniform_engine(seed);
+ crand_eng64_t rng = crand_eng64(seed);
cmap_ic m = cmap_init;
cmap_ic_reserve(&m, N);
clock_t now = clock();
for (size_t i = 0; i < N; ++i) {
- uint64_t k = crandom64_uniform_int(&rng) & mask;
+ uint64_t k = crand_gen_i64(&rng) & mask;
int v = ++cmap_ic_insert(&m, k, 0)->value;
if (v > 1) printf("%zu: %x - %d\n", i, k, v);
}
@@ -34,12 +34,13 @@ declare_cvec(x, uint64_t); void distribution(void)
{
- crandom32_t rng = crandom32_uniform_engine(seed); // time(NULL), time(NULL));
+ crand_eng32_t rng = crand_eng32(seed); // time(NULL), time(NULL));
const size_t N = 1ull << 28, M = 1ull << 9; // 1ull << 10;
cmap_x map = cmap_x_make(M);
clock_t now = clock();
+ crand_i32_uniform_t dist = crand_i32_uniform(0, M);
for (size_t i = 0; i < N; ++i) {
- ++cmap_x_insert(&map, crandom32_uniform_int_bounded(&rng, M), 0)->value;
+ ++cmap_x_insert(&map, crand_gen_i32_uniform(&rng, dist), 0)->value;
}
float diff = (float) (clock() - now) / CLOCKS_PER_SEC;
diff --git a/examples/rngtest.c b/examples/rngtest.c index 296cdc3a..d33daa3b 100644 --- a/examples/rngtest.c +++ b/examples/rngtest.c @@ -1,6 +1,6 @@ #include <stdio.h>
#include <time.h>
-#include <stc/crandom.h>
+#include <stc/crand.h>
#ifdef __cplusplus
#include <random>
#endif
@@ -14,26 +14,28 @@ int main(void) uint64_t v;
printf("start\n");
- crandom32_t pcg = crandom32_uniform_engine(time(NULL));
+ crand_eng32_t pcg = crand_eng32(time(NULL));
before = clock(); \
v = 0;
for (size_t i=0; i<NN; i++) {
- v += crandom32_uniform_int(&pcg);
+ v += crand_gen_i32(&pcg);
}
difference = clock() - before;
printf("pcg32: %.02f, %zu\n", (float) difference / CLOCKS_PER_SEC, v);
- crandom64_t sfc = crandom64_uniform_engine(time(NULL));
+ crand_eng64_t sfc = crand_eng64(time(NULL));
before = clock(); \
v = 0;
for (size_t i=0; i<NN; i++) {
- v += crandom64_uniform_int(&sfc) & 0xffffffff;
+ v += crand_gen_i64(&sfc) & 0xffffffff;
}
difference = clock() - before;
printf("sfc64: %.02f, %zu\n", (float) difference / CLOCKS_PER_SEC, v);
- for (int i=0; i<8; ++i) printf("%f ", crandom32_uniform_real(&pcg));
+ crand_f64_uniform_t fdist = crand_f64_uniform(10, 20);
+ for (int i=0; i<8; ++i) printf("%f ", crand_gen_f64_uniform(&sfc, fdist));
puts("");
- for (int i=0; i<8; ++i) printf("%f ", crandom64_uniform_real(&sfc));
+ crand_f32_uniform_t f32dist = crand_f32_uniform(10, 20);
+ for (int i=0; i<8; ++i) printf("%f ", crand_gen_f32_uniform(&pcg, f32dist));
puts("");
}
\ No newline at end of file |
