Lines Matching refs:number

62 static u_long		 get_ulong(struct number *);
64 static __inline void push_number(struct number *);
68 static __inline struct number *pop_number(void);
88 static u_int count_digits(const struct number *);
114 static bool compare_numbers(enum bcode_compare, struct number *,
115 struct number *);
304 pn(const char *str, const struct number *n)
306 char *p = BN_bn2dec(n->number);
381 split_number(const struct number *n, BIGNUM *i, BIGNUM *f)
385 bn_checkp(BN_copy(i, n->number));
407 bn_check(BN_div(i, f, n->number, a, ctx));
415 normalize(struct number *n, u_int s)
418 scale_number(n->number, s - n->scale);
423 get_ulong(struct number *n)
427 return (BN_get_word(n->number));
431 negate(struct number *n)
433 BN_set_negative(n->number, !BN_is_negative(n->number));
437 push_number(struct number *n)
471 static __inline struct number *
584 struct number *n;
587 bn_check(BN_set_word(n->number, bmachine.scale));
594 struct number *n;
599 if (BN_is_negative(n->number))
600 warnx("scale must be a nonnegative number");
615 struct number *n;
618 bn_check(BN_set_word(n->number, bmachine.obase));
625 struct number *n;
634 warnx("output base must be a number greater than 1");
642 struct number *n;
645 bn_check(BN_set_word(n->number, bmachine.ibase));
652 struct number *n;
661 warnx("input base must be a number between 2 and 16 "
670 struct number *n;
675 bn_check(BN_set_word(n->number, i));
682 struct number *n;
699 bn_check(BN_set_word(n->number, scale));
705 count_digits(const struct number *n)
707 struct number *int_part, *fract_part;
710 if (BN_is_zero(n->number))
716 split_number(n, int_part->number, fract_part->number);
719 while (!BN_is_zero(int_part->number)) {
720 BN_div_word(int_part->number, 10);
731 struct number *n = NULL;
743 bn_check(BN_set_word(n->number, digits));
748 bn_check(BN_set_word(n->number, digits));
759 struct number *n;
772 if (BN_num_bits(n->number) > 8)
773 bn_check(BN_mask_bits(n->number, 8));
774 str[0] = (char)BN_get_word(n->number);
810 struct number *n;
820 bn_check(BN_zero(n->number));
883 struct number *inumber, *n;
896 if (BN_is_negative(inumber->number))
905 bn_check(BN_zero(n->number));
918 struct number *inumber;
935 if (BN_is_negative(inumber->number)) {
974 struct number *a, *b, *r;
991 bn_check(BN_add(r->number, a->number, b->number));
1000 struct number *a, *b, *r;
1018 bn_check(BN_sub(r->number, b->number, a->number));
1025 bmul_number(struct number *r, struct number *a, struct number *b, u_int scale)
1036 bn_check(BN_mul(r->number, a->number, b->number, ctx));
1047 struct number *a, *b, *r;
1069 struct number *a, *b, *r;
1086 if (BN_is_zero(a->number))
1094 bn_check(BN_div(r->number, NULL, b->number, a->number, ctx));
1105 struct number *a, *b, *r;
1122 if (BN_is_zero(a->number))
1130 bn_check(BN_mod(r->number, b->number, a->number, ctx));
1141 struct number *a, *b, *rdiv, *rmod;
1160 if (BN_is_zero(a->number))
1168 bn_check(BN_div(rdiv->number, rmod->number,
1169 b->number, a->number, ctx));
1181 struct number *a, *p;
1182 struct number *r;
1211 if (BN_is_negative(p->number)) {
1220 b = BN_get_word(p->number);
1228 if (BN_is_zero(p->number)) {
1230 bn_check(BN_one(r->number));
1236 while (!BN_is_bit_set(p->number, 0)) {
1239 bn_check(BN_rshift1(p->number, p->number));
1243 bn_check(BN_rshift1(p->number, p->number));
1246 while (!BN_is_zero(p->number)) {
1249 if (BN_is_bit_set(p->number, 0)) {
1253 bn_check(BN_rshift1(p->number, p->number));
1267 if (BN_is_zero(r->number))
1270 bn_check(BN_div(r->number, NULL, one,
1271 r->number, ctx));
1302 struct number *n, *r;
1311 if (BN_is_zero(n->number)) {
1314 } else if (BN_is_negative(n->number))
1315 warnx("square root of negative number");
1319 x = BN_dup(n->number);
1328 bn_check(BN_div(x, NULL, n->number, x, ctx));
1336 r->number = y;
1348 struct number *a;
1354 bn_check(BN_set_word(a->number, BN_get_word(a->number) ? 0 : 1));
1368 struct number *a, *b, *r;
1379 bn_check(BN_set_word(r->number,
1387 struct number *a, *b, *r;
1398 bn_check(BN_set_word(r->number,
1406 struct number *a, *b, *r;
1417 bn_check(BN_set_word(r->number,
1479 compare_numbers(enum bcode_compare type, struct number *a, struct number *b)
1491 cmp = BN_cmp(a->number, b->number);
1516 struct number *a, *b;
1584 struct number *n;
1593 warnx("Q command requires a number >= 1");
1607 struct number *n;
1615 warnx("J command requires a number >= 0");