Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\mpi\generic_mpih-mul2.c Create Date:2022-07-28 07:18:25
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:mpihelp_addmul_1

Proto:mpi_limb_t mpihelp_addmul_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_limb_t s2_limb)

Type:mpi_limb_t

Parameter:

TypeParameterName
mpi_ptr_tres_ptr
mpi_ptr_ts1_ptr
mpi_size_ts1_size
mpi_limb_ts2_limb
30  j = -s1_size
31  res_ptr -= j
32  s1_ptr -= j
34  cy_limb = 0
35  Do
36  umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb)
38  prod_low += cy_limb
39  cy_limb = If prod_low < cy_limb Then 1 Else 0 + prod_high
41  x = res_ptr[j]
42  prod_low = x + prod_low
43  cy_limb += If prod_low < x Then 1 Else 0
44  res_ptr[j] = prod_low
45  When ++j cycle
46  Return cy_limb
Caller
NameDescribe
mul_n_basecaseMultiply the natural numbers u (pointed to by UP) and v (pointed to by VP),* both with SIZE limbs, and store the result at PRODP. 2 * SIZE limbs are* always stored. Return the most significant limb.* Argument constraints:* 1
mul_n
mpih_sqr_n_basecase
mpih_sqr_n
mpihelp_mulMultiply the natural numbers u (pointed to by UP, with USIZE limbs)* and v (pointed to by VP, with VSIZE limbs), and store the result at* PRODP. USIZE + VSIZE limbs are always stored, but if the input* operands are normalized