函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\mpi\mpih-mul.c Create Date:2022-07-27 08:17:51
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:mpihelp_mul_karatsuba_case

函数原型:int mpihelp_mul_karatsuba_case(mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize, mpi_ptr_t vp, mpi_size_t vsize, struct karatsuba_ctx *ctx)

返回类型:int

参数:

类型参数名称
mpi_ptr_tprodp
mpi_ptr_tup
mpi_size_tusize
mpi_ptr_tvp
mpi_size_tvsize
struct karatsuba_ctx *ctx
328  如果非tspacetspace_size小于vsize
329  如果tspacempi_free_limb_space(tspace)
331  tspace等于-- mpiutil.c --
332  如果非tspace则返回:负ENOMEM
334  tspace_size等于vsize
339  prodp加等于vsize
340  up加等于vsize
341  usize减等于vsize
342  如果usize大于等于vsize
343  如果非tptp_size小于vsize
344  如果tpmpi_free_limb_space(tp)
346  tp等于-- mpiutil.c --
347  如果非tp
350  tspace = NULL
351  返回:负ENOMEM
353  tp_size等于vsize
356  循环
358  cy等于mpihelp_add_n(prodp, prodp, tp, vsize)
361  prodp加等于vsize
362  up加等于vsize
363  usize减等于vsize
364 usize大于等于vsize循环
367  如果usize
373  否则
374  如果非next
376  如果非next则返回:负ENOMEM
379  如果mpihelp_mul_karatsuba_case(tspace, vp, vsize, up, usize, next)小于0则返回:负ENOMEM
390  返回:0
调用者
名称描述
mpihelp_mul_karatsuba_case
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
mpi_powm异或取模