void calc_mult_numbers(calc_t *calc)
{
	calc_t result;
	size_t max_len = calc->nbr1->len + calc->nbr2->len;

	result.nbr1 = number_create(max_len);
	result.nbr2 = number_create(max_len);
	result.bistro = calc->bistro;
	if (calc_cmp_numbers(calc) > 0)
		calc_swap_numbers(calc);
	calc_mult_add(calc, &result);
	calc->result = result.nbr2;
	if (calc->nbr1->is_neg != calc->nbr2->is_neg)
		calc->result->is_neg = 1;
}
示例#2
0
number_ref number_create_long_long (long long val) {
	struct number *self = number_create ();
	self->long_long_val = val;
	self->number_type = number_object_long_long;
}
示例#3
0
number_ref number_create_int (int val) {
	struct number *self = number_create ();
	self->int_val = val;
	self->number_type = number_object_int;
}
示例#4
0
number_ref number_create_short (short val) {
	struct number *self = number_create ();
	self->char_val = val;
	self->number_type = number_object_char;
}
示例#5
0
number_ref number_create_double (double val) {
	struct number *self = number_create ();
	self->double_val = val;
	self->number_type = number_object_double;
}
示例#6
0
number_ref number_create_float (float val) {
	struct number *self = number_create ();
	self->float_val = val;
	self->number_type = number_object_float;
}