summaryrefslogtreecommitdiffhomepage
path: root/examples/bits.c
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2020-07-24 12:21:24 +0200
committerTyge Løvset <[email protected]>2020-07-24 12:21:24 +0200
commiteda4377e0bea66d23f584b7660a7617f8bea4bf0 (patch)
treef24af161d9efebd136e49d8e6467430f0be46927 /examples/bits.c
parent1c686f72bf9857c904b1320df7248ee5144d484e (diff)
downloadSTC-modified-eda4377e0bea66d23f584b7660a7617f8bea4bf0.tar.gz
STC-modified-eda4377e0bea66d23f584b7660a7617f8bea4bf0.zip
Updated CBitset (renamed from CBitVec too). Added <container>_<tag>_init(void) functions.
Diffstat (limited to 'examples/bits.c')
-rw-r--r--examples/bits.c61
1 files changed, 41 insertions, 20 deletions
diff --git a/examples/bits.c b/examples/bits.c
index 3a10e48c..07e17605 100644
--- a/examples/bits.c
+++ b/examples/bits.c
@@ -1,26 +1,47 @@
#include <stdio.h>
-#include <stc/cbitvec.h>
+#include <stc/cbitset.h>
int main() {
- CBitVec vec = cbitvec_make(23, true);
- cbitvec_unset(&vec, 9);
- cbitvec_resize(&vec, 43, false);
- printf("%4zu: ", vec.size);
- for (int i=0; i<vec.size; ++i)
- printf("%d", cbitvec_value(&vec, i));puts("");
+ CBitset set = cbitset_make(23, true);
+ cbitset_reset(&set, 9);
+ cbitset_resize(&set, 43, false);
+ printf("%4zu: ", set.size);
+ for (int i=0; i<set.size; ++i)
+ printf("%d", cbitset_test(set, i));
+ puts("");
- cbitvec_set(&vec, 28);
- cbitvec_resize(&vec, 77, true);
- cbitvec_resize(&vec, 93, false);
- cbitvec_resize(&vec, 102, true);
- cbitvec_setValue(&vec, 99, false);
- printf("%4zu: ", vec.size);
- for (int i=0; i<vec.size; ++i)
- printf("%d", cbitvec_value(&vec, i));puts("");
+ cbitset_set(&set, 28);
+ cbitset_resize(&set, 77, true);
+ cbitset_resize(&set, 93, false);
+ cbitset_resize(&set, 102, true);
+ cbitset_setTo(&set, 99, false);
+ printf("%4zu: ", set.size);
+ for (int i=0; i<set.size; ++i)
+ printf("%d", cbitset_test(set, i));
+ puts("");
- cbitvec_setAll(&vec, false);
- printf("%4zu: ", vec.size);
- for (int i=0; i<vec.size; ++i)
- printf("%d", cbitvec_value(&vec, i));puts("");
- cbitvec_destroy(&vec);
+ CBitset s2 = cbitset_from(set);
+ cbitset_flipAll(&s2);
+ cbitset_set(&s2, 16);
+ cbitset_set(&s2, 17);
+ cbitset_set(&s2, 18);
+ printf(" new: ");
+ for (int i=0; i<s2.size; ++i)
+ printf("%d", cbitset_test(s2, i));
+ puts("");
+
+ printf(" xor: ");
+ cbitset_setXor(&set, s2);
+ for (int i=0; i<set.size; ++i)
+ printf("%d", cbitset_test(set, i));
+ puts("");
+
+ cbitset_setAll(&set, false);
+ printf("%4zu: ", set.size);
+ for (int i=0; i<set.size; ++i)
+ printf("%d", cbitset_test(set, i));
+ puts("");
+
+ cbitset_destroy(&s2);
+ cbitset_destroy(&set);
} \ No newline at end of file