usr.bin/dc/bcode.c
1026
bn_check(BN_mul(r->number, a->number, b->number, bmachine.ctx));
usr.bin/dc/bcode.c
1029
if (rscale > bmachine.scale && rscale > ascale && rscale > bscale)
usr.bin/dc/bcode.c
1047
bmul_number(b, a, b, bmachine.scale);
usr.bin/dc/bcode.c
1069
r->scale = bmachine.scale;
usr.bin/dc/bcode.c
1078
bn_check(BN_div(r->number, NULL, b->number, a->number, bmachine.ctx));
usr.bin/dc/bcode.c
1103
r->scale = max(b->scale, a->scale + bmachine.scale);
usr.bin/dc/bcode.c
1109
normalize(b, scale + bmachine.scale);
usr.bin/dc/bcode.c
1111
bn_check(BN_mod(r->number, b->number, a->number, bmachine.ctx));
usr.bin/dc/bcode.c
1136
rdiv->scale = bmachine.scale;
usr.bin/dc/bcode.c
1137
rmod->scale = max(b->scale, a->scale + bmachine.scale);
usr.bin/dc/bcode.c
1144
normalize(b, scale + bmachine.scale);
usr.bin/dc/bcode.c
1147
b->number, a->number, bmachine.ctx));
usr.bin/dc/bcode.c
1190
rscale = bmachine.scale;
usr.bin/dc/bcode.c
1197
m = max(a->scale, bmachine.scale);
usr.bin/dc/bcode.c
1244
r->number, bmachine.ctx));
usr.bin/dc/bcode.c
1273
scale = max(bmachine.scale, n->scale);
usr.bin/dc/bcode.c
1281
bn_check(BN_div(y, NULL, n->number, x, bmachine.ctx));
usr.bin/dc/bcode.c
1473
v = stack_tos(&bmachine.reg[idx]);
usr.bin/dc/bcode.c
1500
if (bmachine.readsp < 2)
usr.bin/dc/bcode.c
1503
bmachine.readsp--;
usr.bin/dc/bcode.c
1505
bmachine.readsp--;
usr.bin/dc/bcode.c
1521
else if (bmachine.readsp < i)
usr.bin/dc/bcode.c
1526
bmachine.readsp--;
usr.bin/dc/bcode.c
1543
else if (i > 0 && bmachine.readsp < i)
usr.bin/dc/bcode.c
1548
bmachine.readsp--;
usr.bin/dc/bcode.c
1580
free(read_string(&bmachine.readstack[bmachine.readsp]));
usr.bin/dc/bcode.c
1608
push_number(readnumber(&bmachine.readstack[bmachine.readsp],
usr.bin/dc/bcode.c
1609
bmachine.ibase));
usr.bin/dc/bcode.c
1615
int ch = bmachine.readstack[bmachine.readsp].lastchar;
usr.bin/dc/bcode.c
1624
if (bmachine.readsp > 0) {
usr.bin/dc/bcode.c
1629
src_setstring(&bmachine.readstack[bmachine.readsp], p);
usr.bin/dc/bcode.c
1634
if (bmachine.readsp == bmachine.readstack_sz - 1) {
usr.bin/dc/bcode.c
1635
size_t newsz = bmachine.readstack_sz * 2;
usr.bin/dc/bcode.c
1637
stack = reallocarray(bmachine.readstack, newsz,
usr.bin/dc/bcode.c
1641
bmachine.readstack_sz = newsz;
usr.bin/dc/bcode.c
1642
bmachine.readstack = stack;
usr.bin/dc/bcode.c
1644
src_setstring(&bmachine.readstack[++bmachine.readsp], p);
usr.bin/dc/bcode.c
1678
if (bmachine.readsp == 0)
usr.bin/dc/bcode.c
1681
bmachine.readsp--;
usr.bin/dc/bcode.c
1684
if (bmachine.interrupted) {
usr.bin/dc/bcode.c
1685
if (bmachine.readsp > 0) {
usr.bin/dc/bcode.c
1687
bmachine.readsp--;
usr.bin/dc/bcode.c
1690
bmachine.interrupted = false;
usr.bin/dc/bcode.c
1694
stack_print(stderr, &bmachine.stack, "* ",
usr.bin/dc/bcode.c
1695
bmachine.obase);
usr.bin/dc/bcode.c
1696
(void)fprintf(stderr, "%zd =>\n", bmachine.readsp);
usr.bin/dc/bcode.c
1705
stack_print(stderr, &bmachine.stack, "* ",
usr.bin/dc/bcode.c
1706
bmachine.obase);
usr.bin/dc/bcode.c
1707
(void)fprintf(stderr, "%zd ==\n", bmachine.readsp);
usr.bin/dc/bcode.c
222
bmachine.interrupted = true;
usr.bin/dc/bcode.c
230
bmachine.ctx = BN_CTX_new();
usr.bin/dc/bcode.c
231
bn_checkp(bmachine.ctx);
usr.bin/dc/bcode.c
233
bmachine.extended_regs = extended_registers;
usr.bin/dc/bcode.c
234
bmachine.reg_array_size = bmachine.extended_regs ?
usr.bin/dc/bcode.c
237
bmachine.reg = calloc(bmachine.reg_array_size,
usr.bin/dc/bcode.c
238
sizeof(bmachine.reg[0]));
usr.bin/dc/bcode.c
239
if (bmachine.reg == NULL)
usr.bin/dc/bcode.c
255
stack_init(&bmachine.stack);
usr.bin/dc/bcode.c
257
for (i = 0; i < bmachine.reg_array_size; i++)
usr.bin/dc/bcode.c
258
stack_init(&bmachine.reg[i]);
usr.bin/dc/bcode.c
260
bmachine.readstack_sz = READSTACK_SIZE;
usr.bin/dc/bcode.c
261
bmachine.readstack = calloc(sizeof(struct source),
usr.bin/dc/bcode.c
262
bmachine.readstack_sz);
usr.bin/dc/bcode.c
263
if (bmachine.readstack == NULL)
usr.bin/dc/bcode.c
265
bmachine.obase = bmachine.ibase = 10;
usr.bin/dc/bcode.c
272
return bmachine.scale;
usr.bin/dc/bcode.c
279
bmachine.readsp = 0;
usr.bin/dc/bcode.c
280
bmachine.readstack[0] = *src;
usr.bin/dc/bcode.c
286
struct source *src = &bmachine.readstack[bmachine.readsp];
usr.bin/dc/bcode.c
294
struct source *src = &bmachine.readstack[bmachine.readsp];
usr.bin/dc/bcode.c
302
struct source *src = &bmachine.readstack[bmachine.readsp];
usr.bin/dc/bcode.c
310
struct source *src = &bmachine.readstack[bmachine.readsp];
usr.bin/dc/bcode.c
376
bn_check(BN_exp(a, a, p, bmachine.ctx));
usr.bin/dc/bcode.c
378
bn_check(BN_mul(n, n, a, bmachine.ctx));
usr.bin/dc/bcode.c
380
bn_check(BN_div(n, NULL, n, a, bmachine.ctx));
usr.bin/dc/bcode.c
410
bn_check(BN_exp(a, a, p, bmachine.ctx));
usr.bin/dc/bcode.c
411
bn_check(BN_div(i, f, n->number, a, bmachine.ctx));
usr.bin/dc/bcode.c
440
stack_pushnumber(&bmachine.stack, n);
usr.bin/dc/bcode.c
446
stack_pushstring(&bmachine.stack, string);
usr.bin/dc/bcode.c
452
stack_push(&bmachine.stack, v);
usr.bin/dc/bcode.c
458
return stack_tos(&bmachine.stack);
usr.bin/dc/bcode.c
464
return stack_pop(&bmachine.stack);
usr.bin/dc/bcode.c
470
return stack_popnumber(&bmachine.stack);
usr.bin/dc/bcode.c
476
return stack_popstring(&bmachine.stack);
usr.bin/dc/bcode.c
482
stack_clear(&bmachine.stack);
usr.bin/dc/bcode.c
488
stack_print(stdout, &bmachine.stack, "", bmachine.obase);
usr.bin/dc/bcode.c
496
print_value(stdout, value, "", bmachine.obase);
usr.bin/dc/bcode.c
507
print_value(stderr, value, "", bmachine.obase);
usr.bin/dc/bcode.c
52
static struct bmachine bmachine;
usr.bin/dc/bcode.c
542
print_value(stdout, value, "", bmachine.obase);
usr.bin/dc/bcode.c
551
stack_dup(&bmachine.stack);
usr.bin/dc/bcode.c
557
stack_swap(&bmachine.stack);
usr.bin/dc/bcode.c
574
bn_check(BN_set_word(n->number, bmachine.scale));
usr.bin/dc/bcode.c
591
bmachine.scale = (u_int)scale;
usr.bin/dc/bcode.c
605
bn_check(BN_set_word(n->number, bmachine.obase));
usr.bin/dc/bcode.c
619
bmachine.obase = (u_int)base;
usr.bin/dc/bcode.c
632
bn_check(BN_set_word(n->number, bmachine.ibase));
usr.bin/dc/bcode.c
646
bmachine.ibase = (u_int)base;
usr.bin/dc/bcode.c
660
i = stack_size(&bmachine.stack);
usr.bin/dc/bcode.c
726
bn_check(BN_exp(a, a, p, bmachine.ctx));
usr.bin/dc/bcode.c
805
if (idx == 0xff && bmachine.extended_regs) {
usr.bin/dc/bcode.c
814
if (idx < 0 || idx >= bmachine.reg_array_size) {
usr.bin/dc/bcode.c
830
v = stack_tos(&bmachine.reg[idx]);
usr.bin/dc/bcode.c
852
stack_set_tos(&bmachine.reg[idx], val);
usr.bin/dc/bcode.c
865
stack = &bmachine.reg[idx];
usr.bin/dc/bcode.c
889
stack_push(&bmachine.reg[idx], value);
usr.bin/dc/bcode.c
913
stack = &bmachine.reg[reg];
usr.bin/dc/bcode.c
953
stack = &bmachine.reg[reg];
usr.bin/dc/bcode.c
963
push_string(read_string(&bmachine.readstack[bmachine.readsp]));