Simple headerfile for bignum. Decimals not supported.
example.c provided to show sample multiplication operation.
- initBn(struct bignum* bn, uint number[], int highestWord, int sign);
- initBnUll(struct bignum* bn, ullong number, int sign);
- initBnHex(struct bignum* bn, char hex[], int sign);
- printBits(size_t const size, void const* const ptr, bool blocks);
- printBn(struct bignum bn, bool blocks);
- compareBn(struct bignum a, struct bignum b);
- compareBnIgnoreSize(struct bignum a, struct bignum b);
- flipBitBn(struct bignum a, int bitIndex, struct bignum *out);
- shiftBn(struct bignum a, int shift, struct bignum* out);
- bitShiftBn(struct bignum a, int shift, struct bignum* out);
- orBnBn(struct bignum a, struct bignum b, struct bignum* out);
- andBnBn(struct bignum a, struct bignum b, struct bignum* out);
- xorBnBn(struct bignum a, struct bignum b, struct bignum* out);
- addBnBn(struct bignum a, struct bignum b, struct bignum* out);
- subBnBn(struct bignum a, struct bignum b, struct bignum* out);
- mulBnBn(struct bignum a, struct bignum b, struct bignum* out);
- divBnBn(struct bignum a, struct bignum b, struct bignum* out, struct bignum* remainder);
- modBnBn(struct bignum a, struct bignum b, struct bignum* out);
- gcdBn(struct bignum a, struct bignum b, struct bignum* d, struct bignum* x, struct bignum* y);
- modExponentiation(struct bignum base, struct bignum exponent, struct bignum modulus, struct bignum* out);