Lines Matching refs:BcNum
109 typedef struct BcNum { struct
137 } BcNum; typedef
368 typedef void (*BcNumBinaryOp)(BcNum* a, BcNum* b, BcNum* c, size_t scale);
379 typedef void (*BcNumBinOp)(BcNum* a, BcNum* b, BcNum* restrict c, size_t scale);
391 typedef size_t (*BcNumBinaryOpReq)(const BcNum* a, const BcNum* b,
422 void bc_num_init(BcNum *restrict n, size_t req);
432 void bc_num_setup(BcNum *restrict n, BcDig *restrict num, size_t cap);
440 void bc_num_copy(BcNum *d, const BcNum *s);
448 void bc_num_createCopy(BcNum *d, const BcNum *s);
456 void bc_num_createFromBigdig(BcNum *restrict n, BcBigDig val);
463 void bc_num_clear(BcNum *restrict n);
476 size_t bc_num_scale(const BcNum *restrict n);
486 size_t bc_num_len(const BcNum *restrict n);
495 BcBigDig bc_num_bigdig(const BcNum *restrict n);
503 BcBigDig bc_num_bigdig2(const BcNum *restrict n);
511 void bc_num_bigdig2num(BcNum *restrict n, BcBigDig val);
522 void bc_num_irand(BcNum *restrict a, BcNum *restrict b,
530 void bc_num_rng(const BcNum *restrict n, struct BcRNG *rng);
537 void bc_num_createFromRNG(BcNum *restrict n, struct BcRNG *rng);
548 void bc_num_add(BcNum *a, BcNum *b, BcNum *c, size_t scale);
557 void bc_num_sub(BcNum *a, BcNum *b, BcNum *c, size_t scale);
566 void bc_num_mul(BcNum *a, BcNum *b, BcNum *c, size_t scale);
575 void bc_num_div(BcNum *a, BcNum *b, BcNum *c, size_t scale);
584 void bc_num_mod(BcNum *a, BcNum *b, BcNum *c, size_t scale);
593 void bc_num_pow(BcNum *a, BcNum *b, BcNum *c, size_t scale);
603 void bc_num_places(BcNum *a, BcNum *b, BcNum *c, size_t scale);
612 void bc_num_lshift(BcNum *a, BcNum *b, BcNum *c, size_t scale);
621 void bc_num_rshift(BcNum *a, BcNum *b, BcNum *c, size_t scale);
631 void bc_num_sqrt(BcNum *restrict a, BcNum *restrict b, size_t scale);
641 void bc_num_divmod(BcNum *a, BcNum *b, BcNum *c, BcNum *d, size_t scale);
652 size_t bc_num_addReq(const BcNum* a, const BcNum* b, size_t scale);
663 size_t bc_num_mulReq(const BcNum *a, const BcNum *b, size_t scale);
674 size_t bc_num_divReq(const BcNum *a, const BcNum *b, size_t scale);
685 size_t bc_num_powReq(const BcNum *a, const BcNum *b, size_t scale);
698 size_t bc_num_placesReq(const BcNum *a, const BcNum *b, size_t scale);
708 void bc_num_truncate(BcNum *restrict n, size_t places);
716 void bc_num_extend(BcNum *restrict n, size_t places);
725 void bc_num_shiftRight(BcNum *restrict n, size_t places);
735 ssize_t bc_num_cmp(const BcNum *a, const BcNum *b);
744 void bc_num_modexp(BcNum *a, BcNum *b, BcNum *c, BcNum *restrict d);
750 void bc_num_zero(BcNum *restrict n);
756 void bc_num_one(BcNum *restrict n);
763 ssize_t bc_num_cmpZero(const BcNum *n);
785 void bc_num_parse(BcNum *restrict n, const char *restrict val, BcBigDig base);
794 void bc_num_print(BcNum *restrict n, BcBigDig base, bool newline);
802 void bc_num_stream(BcNum *restrict n);
814 void bc_num_printDebug(const BcNum *n, const char *name, bool emptyline);
830 void bc_num_printWithDigs(const BcNum *n, const char *name, bool emptyline);
837 void bc_num_dump(const char *varname, const BcNum *n);