#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 */