summaryrefslogtreecommitdiffhomepage
path: root/docs/cbits_api.md
diff options
context:
space:
mode:
authorTyge Lovset <[email protected]>2023-02-01 08:38:45 +0100
committerTyge Lovset <[email protected]>2023-02-01 08:38:45 +0100
commit6ce6ef3307e52db5813d3c8d6a2cba52df06daf8 (patch)
tree25af4be9fcd5e72778715b83ff312e157ca63b59 /docs/cbits_api.md
parentb677a0c3950b8294ba6458e682a885351273ac08 (diff)
downloadSTC-modified-6ce6ef3307e52db5813d3c8d6a2cba52df06daf8.tar.gz
STC-modified-6ce6ef3307e52db5813d3c8d6a2cba52df06daf8.zip
Massive update from unsigned sizes and indices to signed.
Diffstat (limited to 'docs/cbits_api.md')
-rw-r--r--docs/cbits_api.md46
1 files changed, 23 insertions, 23 deletions
diff --git a/docs/cbits_api.md b/docs/cbits_api.md
index b21611df..726fb68b 100644
--- a/docs/cbits_api.md
+++ b/docs/cbits_api.md
@@ -21,34 +21,34 @@ All cbits definitions and prototypes are available by including a single header
```c
cbits cbits_init(void);
cbits cbits_from(const char* str);
-cbits cbits_with_size(size_t size, bool value); // size must be <= N if N is defined
-cbits cbits_with_pattern(size_t size, uint64_t pattern);
+cbits cbits_with_size(intptr_t size, bool value); // size must be <= N if N is defined
+cbits cbits_with_pattern(intptr_t size, uint64_t pattern);
cbits cbits_clone(cbits other);
void cbits_clear(cbits* self);
cbits* cbits_copy(cbits* self, const cbits* other);
-void cbits_resize(cbits* self, size_t size, bool value); // only if i_len is not defined
+void cbits_resize(cbits* self, intptr_t size, bool value); // only if i_len is not defined
void cbits_drop(cbits* self);
cbits* cbits_take(cbits* self, const cbits* other); // give other to self
cbits cbits_move(cbits* self); // transfer self to caller
-size_t cbits_size(const cbits* self);
-size_t cbits_count(const cbits* self); // count number of bits set
+intptr_t cbits_size(const cbits* self);
+intptr_t cbits_count(const cbits* self); // count number of bits set
-bool cbits_test(const cbits* self, size_t i);
-bool cbits_at(const cbits* self, size_t i); // same as cbits_test()
+bool cbits_test(const cbits* self, intptr_t i);
+bool cbits_at(const cbits* self, intptr_t i); // same as cbits_test()
bool cbits_subset_of(const cbits* self, const cbits* other); // is set a subset of other?
bool cbits_disjoint(const cbits* self, const cbits* other); // no common bits
-char* cbits_to_str(const cbits* self, char* str, size_t start, size_t stop);
+char* cbits_to_str(const cbits* self, char* str, intptr_t start, intptr_t stop);
-void cbits_set(cbits* self, size_t i);
-void cbits_reset(cbits* self, size_t i);
-void cbits_set_value(cbits* self, size_t i, bool value);
+void cbits_set(cbits* self, intptr_t i);
+void cbits_reset(cbits* self, intptr_t i);
+void cbits_set_value(cbits* self, intptr_t i, bool value);
void cbits_set_all(cbits* self, bool value);
void cbits_set_pattern(cbits* self, uint64_t pattern);
void cbits_flip_all(cbits* self);
-void cbits_flip(cbits* self, size_t i);
+void cbits_flip(cbits* self, intptr_t i);
void cbits_intersect(cbits* self, const cbits* other);
void cbits_union(cbits* self, const cbits* other);
@@ -70,19 +70,19 @@ void cbits_xor(cbits* self, const cbits* other); // set
#include <math.h>
#include <time.h>
-cbits sieveOfEratosthenes(size_t n)
+cbits sieveOfEratosthenes(intptr_t n)
{
cbits bits = cbits_with_size(n>>1, true);
- size_t q = (size_t) sqrt(n);
+ intptr_t q = (intptr_t) sqrt(n);
- for (size_t i = 3; i <= q; i += 2) {
- for (size_t j = i; j < n; j += 2) {
+ for (intptr_t i = 3; i <= q; i += 2) {
+ for (intptr_t j = i; j < n; j += 2) {
if (cbits_test(&bits, j>>1)) {
i = j;
break;
}
}
- for (size_t j = i*i; j < n; j += i*2)
+ for (intptr_t j = i*i; j < n; j += i*2)
cbits_reset(&bits, j>>1);
}
return bits;
@@ -90,19 +90,19 @@ cbits sieveOfEratosthenes(size_t n)
int main(void)
{
- size_t n = 100000000;
- printf("computing prime numbers up to %" c_ZU "\n", n);
+ intptr_t n = 100000000;
+ printf("computing prime numbers up to %" c_ZI "\n", n);
clock_t t1 = clock();
cbits primes = sieveOfEratosthenes(n + 1);
- size_t nprimes = cbits_count(&primes);
+ intptr_t nprimes = cbits_count(&primes);
clock_t t2 = clock();
- printf("number of primes: %" c_ZU ", time: %f\n", nprimes, (float)(t2 - t1)/CLOCKS_PER_SEC);
+ printf("number of primes: %" c_ZI ", time: %f\n", nprimes, (float)(t2 - t1)/CLOCKS_PER_SEC);
printf(" 2");
- for (size_t i = 3; i < 1000; i += 2)
- if (cbits_test(&primes, i>>1)) printf(" %" c_ZU, i);
+ for (intptr_t i = 3; i < 1000; i += 2)
+ if (cbits_test(&primes, i>>1)) printf(" %" c_ZI, i);
puts("");
cbits_drop(&primes);