[fpc-devel] Arbitrary-precision arithmetic unit
    Michael Schnell 
    mschnell at lumino.de
       
    Mon Mar  2 13:49:55 CET 2009
    
    
  
> It is Karatsuba, actually (he is Russian professor). 
:) Thanks :)
> I vaguely remember that although it is asymptotically faster than FFT,
> implementation
> is complicated and the time constant is higher, so FFT is used in
> practice except
> for really large problems.
>   
In this application the make-up of the algorithm (compared to the plain 
old "school" multiplication) in fact is a little bit similar to how FFT 
works (compared to doing straight DFT), but regarding to what it results 
in here it has nothing to do with what a Fourier Transform results in. 
But like FFT it's speed is O(n), while the speed of plain old "school" 
multiplication and DFT is O(n²).
In fact it's not very complicated, it's done as recursive function calls 
that do partial multiplications for half of the word cont. If the word 
count gets below a predefined limit, normal multiplication is done, as 
here same is faster (and the recursion level is limited).
> Unfortunately, I do not read German, so I it is hard for me to understand,
> and this code even uses German procedure names (!).
> If someone will at least provide an english translation, I might help
> with code cleanup
> to get the code ready for FPC inclusion.
>   
If someone is inclined to manage this as an open source project, I'll be 
happy to help....
> Good, although getting explicit license from the author is always 
> preferable.
He certainly will provide this (e.g. LGLP) when the project is out of Alpha.
-Michael
    
    
More information about the fpc-devel
mailing list