Lines Matching refs:BcDig

210 bc_num_zeroDigits(const BcDig* n)  in bc_num_zeroDigits()
316 static BcDig
317 bc_num_addDigits(BcDig a, BcDig b, bool* carry) in bc_num_addDigits()
319 assert(((BcBigDig) BC_BASE_POW) * 2 == ((BcDig) BC_BASE_POW) * 2); in bc_num_addDigits()
341 static BcDig
342 bc_num_subDigits(BcDig a, BcDig b, bool* carry) in bc_num_subDigits()
364 bc_num_addArrays(BcDig* restrict a, const BcDig* restrict b, size_t len) in bc_num_addArrays()
388 bc_num_subArrays(BcDig* restrict a, const BcDig* restrict b, size_t len) in bc_num_subArrays()
438 c->num[i] = (BcDig) carry; in bc_num_mulArray()
473 c->num[i] = (BcDig) (in / b); in bc_num_divArray()
497 bc_num_compare(const BcDig* restrict a, const BcDig* restrict b, size_t len) in bc_num_compare()
500 BcDig c = 0; in bc_num_compare()
512 BcDig* max_num; in bc_num_cmp()
513 BcDig* min_num; in bc_num_cmp()
612 if (BC_NUM_NONZERO(n)) n->num[0] -= n->num[0] % (BcDig) pow; in bc_num_truncate()
786 BcDig* ptr = n->num; in bc_num_shift()
802 ptr[i] = ((BcDig) (in / pow)) + (BcDig) temp; in bc_num_shift()
1054 BcDig* ptr_c; in bc_num_as()
1055 BcDig* ptr_l; in bc_num_as()
1056 BcDig* ptr_r; in bc_num_as()
1247 BcDig* ptr_a = a->num; in bc_num_m_simp()
1248 BcDig* ptr_b = b->num; in bc_num_m_simp()
1249 BcDig* ptr_c; in bc_num_m_simp()
1252 assert(sizeof(sum) >= sizeof(BcDig) * 2); in bc_num_m_simp()
1298 ptr_c[i] = (BcDig) sum; in bc_num_m_simp()
1337 BcDig* digs; in bc_num_k()
1338 BcDig* dig_ptr; in bc_num_k()
1625 bc_num_nonZeroDig(BcDig* restrict a, size_t len) in bc_num_nonZeroDig()
1647 bc_num_divCmp(const BcDig* a, const BcNum* b, size_t len) in bc_num_divCmp()
1725 memset(c->num, 0, c->cap * sizeof(BcDig)); in bc_num_d_long()
1807 BcDig* n; in bc_num_d_long()
1861 c->num[i] = (BcDig) result; in bc_num_d_long()
2374 BcDig c = val[i]; in bc_num_strValid()
2542 n->num[idx + 1] = (BcDig) (dig / BC_BASE_POW); in bc_num_parseDecimal()
2543 n->num[idx] = (BcDig) (dig % BC_BASE_POW); in bc_num_parseDecimal()
2550 n->num[idx] = (BcDig) dig; in bc_num_parseDecimal()
2841 BcDig n9 = n->num[i]; in bc_num_printDecimal()
2898 BcDig digs[BC_NUM_BIGDIG_LOG10]; in bc_num_printExponent()
2988 BcDig* a = n->num + idx; in bc_num_printFixup()
3004 a[i - 1] = (BcDig) (acc % pow); in bc_num_printFixup()
3035 a[i] = (BcDig) acc; in bc_num_printFixup()
3067 assert(pow == ((BcBigDig) ((BcDig) pow))); in bc_num_printPrepare()
3070 if (n->num[i] >= (BcDig) pow) in bc_num_printPrepare()
3086 n->num[i + 1] += n->num[i] / ((BcDig) pow); in bc_num_printPrepare()
3087 n->num[i] %= (BcDig) pow; in bc_num_printPrepare()
3105 BcDig digit_digs[BC_NUM_BIGDIG_LOG10 + 1]; in bc_num_printNum()
3287 bc_num_setup(&digit, digit_digs, sizeof(digit_digs) / sizeof(BcDig)); in bc_num_printNum()
3406 bc_num_setup(BcNum* restrict n, BcDig* restrict num, size_t cap) in bc_num_setup()
3417 BcDig* num; in bc_num_init()
3675 BcDig* ptr; in bc_num_bigdig2num()
3808 BcDig temp1_num[BC_RAND_NUM_SIZE], temp2_num[BC_RAND_NUM_SIZE]; in bc_num_createFromRNG()
3809 BcDig conv_num[BC_NUM_BIGDIG_LOG10]; in bc_num_createFromRNG()
3822 bc_num_setup(&temp1, temp1_num, sizeof(temp1_num) / sizeof(BcDig)); in bc_num_createFromRNG()
3823 bc_num_setup(&temp2, temp2_num, sizeof(temp2_num) / sizeof(BcDig)); in bc_num_createFromRNG()
3824 bc_num_setup(&conv, conv_num, sizeof(conv_num) / sizeof(BcDig)); in bc_num_createFromRNG()
3912 b->num[i] = (BcDig) (dig % BC_BASE_POW); in bc_num_irand()
3913 b->num[i + 1] = (BcDig) (dig / BC_BASE_POW); in bc_num_irand()
3942 b->num[i - 1] = (BcDig) (dig % BC_BASE_POW); in bc_num_irand()
3943 b->num[i] = (BcDig) (dig / BC_BASE_POW); in bc_num_irand()
3954 b->num[i - 1] = (BcDig) bc_rand_bounded(rng, BC_BASE_POW); in bc_num_irand()
3964 b->num[i] = (BcDig) bc_rand_bounded(rng, (BcRand) atemp.num[i]); in bc_num_irand()
4134 BcDig half_digs[1]; in bc_num_sqrt()
4192 bc_num_setup(&half, half_digs, sizeof(half_digs) / sizeof(BcDig)); in bc_num_sqrt()
4333 d->num[0] = (BcDig) rem; in bc_num_divmod()
4362 BcDig two_digs[2]; in bc_num_modexp()
4391 bc_num_setup(&two, two_digs, sizeof(two_digs) / sizeof(BcDig)); in bc_num_modexp()
4456 bc_num_printDigs(const BcDig* n, size_t len, bool emptyline) in bc_num_printDigs()
4502 BcDig div; in bc_num_dump()
4506 div = n->num[i] / ((BcDig) bc_num_pow10[(ulong) d]); in bc_num_dump()
4510 div = n->num[i] % ((BcDig) bc_num_pow10[(ulong) d]); in bc_num_dump()