H A D | mpih-mul.c | 34 #define MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace) \ 39 mul_n(prodp, up, vp, size, tspace); \ 42 #define MPN_SQR_N_RECURSE(prodp, up, size, tspace) \ 47 mpih_sqr_n(prodp, up, size, tspace); \ 109 mpi_size_t size, mpi_ptr_t tspace) mul_n() 125 MPN_MUL_N_RECURSE(prodp, up, vp, esize, tspace); mul_n() 156 tspace); mul_n() 179 MPN_MUL_N_RECURSE(tspace, prodp, prodp + hsize, hsize, mul_n() 180 tspace + size); mul_n() 190 mpihelp_sub_n(prodp + hsize, prodp + hsize, tspace, mul_n() 194 mpihelp_add_n(prodp + hsize, prodp + hsize, tspace, mul_n() 203 MPN_MUL_N_RECURSE(tspace, up, vp, hsize, tspace + size); mul_n() 207 cy += mpihelp_add_n(prodp + hsize, prodp + hsize, tspace, size); mul_n() 212 MPN_COPY(prodp, tspace, hsize); mul_n() 213 cy = mpihelp_add_n(prodp + hsize, prodp + hsize, tspace + hsize, mul_n() 258 mpih_sqr_n(mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size, mpi_ptr_t tspace) mpih_sqr_n() argument 274 MPN_SQR_N_RECURSE(prodp, up, esize, tspace); mpih_sqr_n() 289 MPN_SQR_N_RECURSE(prodp + size, up + hsize, hsize, tspace); mpih_sqr_n() 302 MPN_SQR_N_RECURSE(tspace, prodp, hsize, tspace + size); mpih_sqr_n() 310 cy -= mpihelp_sub_n(prodp + hsize, prodp + hsize, tspace, size); mpih_sqr_n() 317 MPN_SQR_N_RECURSE(tspace, up, hsize, tspace + size); mpih_sqr_n() 320 cy += mpihelp_add_n(prodp + hsize, prodp + hsize, tspace, size); mpih_sqr_n() 325 MPN_COPY(prodp, tspace, hsize); mpih_sqr_n() 326 cy = mpihelp_add_n(prodp + hsize, prodp + hsize, tspace + hsize, mpih_sqr_n() 341 if (!ctx->tspace || ctx->tspace_size < vsize) { mpihelp_mul_karatsuba_case() 342 if (ctx->tspace) mpihelp_mul_karatsuba_case() 343 mpi_free_limb_space(ctx->tspace); mpihelp_mul_karatsuba_case() 344 ctx->tspace = mpi_alloc_limb_space(2 * vsize); mpihelp_mul_karatsuba_case() 345 if (!ctx->tspace) mpihelp_mul_karatsuba_case() 350 MPN_MUL_N_RECURSE(prodp, up, vp, vsize, ctx->tspace); mpihelp_mul_karatsuba_case() 361 if (ctx->tspace) mpihelp_mul_karatsuba_case() 362 mpi_free_limb_space(ctx->tspace); mpihelp_mul_karatsuba_case() 363 ctx->tspace = NULL; mpihelp_mul_karatsuba_case() 370 MPN_MUL_N_RECURSE(ctx->tp, up, vp, vsize, ctx->tspace); mpihelp_mul_karatsuba_case() 383 if (mpihelp_mul(ctx->tspace, vp, vsize, up, usize, &tmp) mpihelp_mul_karatsuba_case() 392 if (mpihelp_mul_karatsuba_case(ctx->tspace, mpihelp_mul_karatsuba_case() 399 cy = mpihelp_add_n(prodp, prodp, ctx->tspace, vsize); mpihelp_mul_karatsuba_case() 400 mpihelp_add_1(prodp + vsize, ctx->tspace + vsize, usize, cy); mpihelp_mul_karatsuba_case() 412 if (ctx->tspace) mpihelp_release_karatsuba_ctx() 413 mpi_free_limb_space(ctx->tspace); mpihelp_release_karatsuba_ctx() 418 if (ctx->tspace) mpihelp_release_karatsuba_ctx() 419 mpi_free_limb_space(ctx->tspace); mpihelp_release_karatsuba_ctx() 108 mul_n(mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t size, mpi_ptr_t tspace) mul_n() argument
|