mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Avoid unnecessary memset (#14180)
Avoid unnecessary memset from `_bc_do_sub`
This commit is contained in:
@@ -52,7 +52,7 @@ bc_num bc_add(bc_num n1, bc_num n2, size_t scale_min)
|
||||
switch (_bc_do_compare(n1, n2, false)) {
|
||||
case -1:
|
||||
/* n1 is less than n2, subtract n1 from n2. */
|
||||
sum = _bc_do_sub(n2, n1, scale_min);
|
||||
sum = _bc_do_sub(n2, n1);
|
||||
sum->n_sign = n2->n_sign;
|
||||
break;
|
||||
case 0:
|
||||
@@ -61,7 +61,7 @@ bc_num bc_add(bc_num n1, bc_num n2, size_t scale_min)
|
||||
break;
|
||||
case 1:
|
||||
/* n2 is less than n1, subtract n2 from n1. */
|
||||
sum = _bc_do_sub(n1, n2, scale_min);
|
||||
sum = _bc_do_sub(n1, n2);
|
||||
sum->n_sign = n1->n_sign;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ bc_num _bc_do_add(bc_num n1, bc_num n2, size_t scale_min)
|
||||
returned. The signs of N1 and N2 are ignored. Also, N1 is
|
||||
assumed to be larger than N2. SCALE_MIN is the minimum scale
|
||||
of the result. */
|
||||
bc_num _bc_do_sub(bc_num n1, bc_num n2, size_t scale_min)
|
||||
bc_num _bc_do_sub(bc_num n1, bc_num n2)
|
||||
{
|
||||
bc_num diff;
|
||||
/* The caller is guaranteed that n1 is always large. */
|
||||
@@ -185,7 +185,7 @@ bc_num _bc_do_sub(bc_num n1, bc_num n2, size_t scale_min)
|
||||
char *n1ptr, *n2ptr, *diffptr;
|
||||
|
||||
/* Allocate temporary storage. */
|
||||
diff = bc_new_num (diff_len, MAX(diff_scale, scale_min));
|
||||
diff = bc_new_num_nonzeroed(diff_len, diff_scale);
|
||||
|
||||
/* Initialize the subtract. */
|
||||
n1ptr = (char *) (n1->n_value + n1->n_len + n1->n_scale - 1);
|
||||
|
||||
@@ -99,5 +99,5 @@ static inline uint64_t BC_BSWAP64(uint64_t u)
|
||||
/* routines */
|
||||
int _bc_do_compare (bc_num n1, bc_num n2, bool use_sign);
|
||||
bc_num _bc_do_add (bc_num n1, bc_num n2, size_t scale_min);
|
||||
bc_num _bc_do_sub (bc_num n1, bc_num n2, size_t scale_min);
|
||||
bc_num _bc_do_sub (bc_num n1, bc_num n2);
|
||||
void _bc_rm_leading_zeros (bc_num num);
|
||||
|
||||
@@ -52,7 +52,7 @@ bc_num bc_sub(bc_num n1, bc_num n2, size_t scale_min)
|
||||
switch (_bc_do_compare(n1, n2, false)) {
|
||||
case -1:
|
||||
/* n1 is less than n2, subtract n1 from n2. */
|
||||
diff = _bc_do_sub(n2, n1, scale_min);
|
||||
diff = _bc_do_sub(n2, n1);
|
||||
diff->n_sign = (n2->n_sign == PLUS ? MINUS : PLUS);
|
||||
break;
|
||||
case 0: {
|
||||
@@ -63,7 +63,7 @@ bc_num bc_sub(bc_num n1, bc_num n2, size_t scale_min)
|
||||
}
|
||||
case 1:
|
||||
/* n2 is less than n1, subtract n2 from n1. */
|
||||
diff = _bc_do_sub(n1, n2, scale_min);
|
||||
diff = _bc_do_sub(n1, n2);
|
||||
diff->n_sign = n1->n_sign;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user