C code that gets executed when mpz_mul() is invoked
bodrato at mail.dm.unipi.it
Tue May 15 19:32:26 UTC 2018
Il Mar, 15 Maggio 2018 2:24 am, Tanushree Banerjee ha scritto:
> I had a general question about the multiplication techniques used by GNU
> GMP implementation.
>>From the documentation I understand it uses Karatsuba for smaller sized
> inputs, for larger inputs Toom Cook 3/4 way and for very large ones FFT
> based multiplication.
It's a bit more complex than that. There is a basecase implementation for
smaller sizes, a couple of larger degree Toom-k+½ in between Toom-4 and
FFT. Moreover there are Toom-inspired functions specially crafted for
operands of different sizes...
> I want to see the C code which GMP uses for multiplication when I use
> mpz_mul () function and compile my C code using -lgmp flag.
You can find the code of mpz_mul() in gmp/mpz/mul.c
> Is it the code in the folder gmp-6.1.2\mpn\generic\mul_n.c ?
That is a good starting point
More information about the gmp-discuss