diff options
| author | Syndamia <kamen@syndamia.com> | 2026-06-12 12:14:50 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2026-07-12 09:14:06 +0300 |
| commit | d808ca3d93743598995f198e9cb814752312bbe5 (patch) | |
| tree | 42c294c29d3572ff88c4890d0e838c73b42c719f | |
| parent | d769c93ef5965aea956171b8622e976a0a7c2863 (diff) | |
| download | foollib-d808ca3d93743598995f198e9cb814752312bbe5.tar foollib-d808ca3d93743598995f198e9cb814752312bbe5.tar.gz foollib-d808ca3d93743598995f198e9cb814752312bbe5.zip | |
feat: Update example codebigint
| -rw-r--r-- | example.c | 20 |
1 files changed, 8 insertions, 12 deletions
@@ -43,13 +43,9 @@ main() { PRINT_NOTOK(H_freevals(&tet)); PRINT_NOTOK(H_free(&tet)); - BigInt a = B_new(&g, -1), - b = B_new(&g, 1); - - { - uint_fast32_t *aa = a; - aa[0] = -1; - } + BigInt a = B_newstr(&g, "0"), + b = B_newstr(&g, "1"); + printf("a takes up %lu bits\n", B_bits(a)); B_sum(&a, b); char *astr = B_tostr(&g, a); @@ -58,15 +54,15 @@ main() { B_sub(&a, b); B_sub(&a, b); astr = B_tostr(&g, a); - printf("a - b = %s\n", astr); + printf("a - b = %s\t(%lu bits)\n", astr, B_bits(a)); - B_lshift(&a, 30); + B_lshift(&a, 65); astr = B_tostr(&g, a); - printf("a << 30 = %s\n", astr); + printf("a << 65 = %s (%d)\n", astr, B_gt(a, b)); - B_rshift(&a, 30); + B_rshift(&a, 65); astr = B_tostr(&g, a); - printf("a >> 30 = %s\n", astr); + printf("a >> 65 = %s\n", astr); BigInt c = B_newstr(&g, "12345678901234567890123"); astr = B_tostr(&g, c); |
