diff options
| author | Tyge Løvset <[email protected]> | 2020-08-16 13:56:53 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2020-08-16 13:56:53 +0200 |
| commit | 209bfe53ddea2e2d12b45996245babcdec5cdded (patch) | |
| tree | d3a557da3ff61a9529c6fa61af256948ac91f510 /examples | |
| parent | 744ebf56851b5c0f549e68b07d3fd9c9fda32925 (diff) | |
| download | STC-modified-209bfe53ddea2e2d12b45996245babcdec5cdded.tar.gz STC-modified-209bfe53ddea2e2d12b45996245babcdec5cdded.zip | |
Fixed comparison in inits.c. Added iterator in bits.c example.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/bits.c | 9 | ||||
| -rw-r--r-- | examples/inits.c | 20 |
2 files changed, 17 insertions, 12 deletions
diff --git a/examples/bits.c b/examples/bits.c index c54c02fd..d3554033 100644 --- a/examples/bits.c +++ b/examples/bits.c @@ -22,13 +22,14 @@ int main() { cbitset_resize(&set, 102, true);
cbitset_set_value(&set, 99, false);
printf("%4zu: ", set.size);
+ for (int i=0; i<set.size; ++i)
+ printf("%d", cbitset_test(set, i));
+
+ puts("\nIterator:");
+ printf("%4zu: ", set.size);
c_foreach (i, cbitset, set)
printf("%d", i.item(i));
puts("");
- printf("%4zu: ", set.size);
- for (int i=0; i<set.size; ++i)
- printf("%d", cbitset_test(set, i));
- puts("");
cbitset_t s2 = cbitset_clone(set);
cbitset_flip_all(&s2);
diff --git a/examples/inits.c b/examples/inits.c index 6b88905f..92e67b84 100644 --- a/examples/inits.c +++ b/examples/inits.c @@ -8,8 +8,12 @@ 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;
-declare_cvec(ip, ipair_t, c_default_destroy, c_mem_compare);
-declare_clist(ip, ipair_t, c_default_destroy, c_mem_compare);
+inline static int ipair_compare(const ipair_t* a, const ipair_t* b) {
+ int c = c_default_compare(&a->x, &b->x);
+ return c != 0 ? c : c_default_compare(&a->y, &b->y);
+}
+declare_cvec(ip, ipair_t, c_default_destroy, ipair_compare);
+declare_clist(ip, ipair_t, c_default_destroy, ipair_compare);
declare_cvec(f, float);
declare_cvec_pqueue(f, >);
@@ -82,12 +86,12 @@ int main(void) { cvec_ip pairs1 = cvec_init;
c_push(&pairs1, cvec_ip, c_items(
- {1, 2},
- {3, 4},
{5, 6},
+ {3, 4},
+ {1, 2},
{7, 8},
));
-
+ cvec_ip_sort(&pairs1);
c_foreach (i, cvec_ip, pairs1)
printf("(%d %d) ", i.item->x, i.item->y);
puts("");
@@ -97,12 +101,12 @@ int main(void) { clist_ip pairs2 = clist_init;
c_push(&pairs2, clist_ip, c_items(
- {1, 2},
- {3, 4},
{5, 6},
+ {3, 4},
+ {1, 2},
{7, 8},
));
-
+ clist_ip_sort(&pairs2);
c_foreach (i, clist_ip, pairs2)
printf("(%d %d) ", i.item->value.x, i.item->value.y);
puts("");
|
