diff options
Diffstat (limited to 'BigInt.h')
| -rw-r--r-- | BigInt.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/BigInt.h b/BigInt.h new file mode 100644 index 0000000..2324143 --- /dev/null +++ b/BigInt.h @@ -0,0 +1,32 @@ +#ifndef _BIGINT +#define _BIGINT + +#include "MemoryManager.h" + +typedef void* BigInt; + +/* Create */ + +BigInt B_new(MemoryManager *mm, int value); +BigInt B_newstr(MemoryManager *mm, const char* str); +BigInt B_dup(MemoryManager *mm, BigInt bigint); + +BigInt B_newsum(MemoryManager *mm, BigInt a, BigInt b); +BigInt B_newsub(MemoryManager *mm, BigInt a, BigInt b); + +/* Free */ + +Result B_free(BigInt *bigint); + +/* Modify */ + +Result B_sum(BigInt *a, BigInt b); +Result B_sub(BigInt *a, BigInt b); + +/* Get */ + +usize B_bytes(BigInt x); +usize B_bitwidth(BigInt x); +char* B_tostr(MemoryManager *mm, BigInt x); + +#endif /* _BIGINT */ |
