Skip to content

Commit a42d2e1

Browse files
committed
Changed bc_square_vector to normal multiplication and renamed it to bc_multiply_vector
1 parent c1568f1 commit a42d2e1

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

ext/bcmath/libbcmath/src/private.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ static const BC_VECTOR BC_POW_10_LUT[9] = {
8484
bcmath_compare_result _bc_do_compare (bc_num n1, bc_num n2, size_t scale, bool use_sign);
8585
bc_num _bc_do_add (bc_num n1, bc_num n2);
8686
bc_num _bc_do_sub (bc_num n1, bc_num n2);
87-
void bc_square_vector(BC_VECTOR *n1_vector, size_t n1_arr_size, BC_VECTOR *prod_vector, size_t prod_arr_size);
87+
void bc_multiply_vector(
88+
BC_VECTOR *n1_vector, size_t n1_arr_size, BC_VECTOR *n2_vector, size_t n2_arr_size, BC_VECTOR *prod_vector, size_t prod_arr_size);
8889
void _bc_rm_leading_zeros (bc_num num);
8990

9091
#endif

ext/bcmath/libbcmath/src/recmul.c

+5-4
Original file line numberDiff line numberDiff line change
@@ -186,15 +186,16 @@ bc_num bc_multiply(bc_num n1, bc_num n2, size_t scale)
186186
return prod;
187187
}
188188

189-
void bc_square_vector(BC_VECTOR *n1_vector, size_t n1_arr_size, BC_VECTOR *prod_vector, size_t prod_arr_size)
189+
void bc_multiply_vector(
190+
BC_VECTOR *n1_vector, size_t n1_arr_size, BC_VECTOR *n2_vector, size_t n2_arr_size, BC_VECTOR *prod_vector, size_t prod_arr_size)
190191
{
191-
if (n1_arr_size == 1) {
192-
prod_vector[0] = *n1_vector * *n1_vector;
192+
if (n1_arr_size == 1 && n2_arr_size == 1) {
193+
prod_vector[0] = *n1_vector * *n2_vector;
193194
if (prod_arr_size == 2) {
194195
prod_vector[1] = prod_vector[0] / BC_VECTOR_BOUNDARY_NUM;
195196
prod_vector[0] %= BC_VECTOR_BOUNDARY_NUM;
196197
}
197198
} else {
198-
bc_standard_vector_mul(n1_vector, n1_arr_size, n1_vector, n1_arr_size, prod_vector, prod_arr_size);
199+
bc_standard_vector_mul(n1_vector, n1_arr_size, n2_vector, n2_arr_size, prod_vector, prod_arr_size);
199200
}
200201
}

0 commit comments

Comments
 (0)