I was watching this video Explaining Karatsuba by Purple Mind and I thought as to practice C language, I implement the algorithm in pure C.
Karatsuba was the first attempt to break O(n^2)
time complexity for multiplication problems. It was invented by a brilliant Russian mathematician at Moscow State University (MSU). It made multiplication from O(n^2)
to O(n^1.53)
.
Which is actually better than the latter. It is the underlying algorithm for most programming languages (e.g. Python) when someone tries to multiply large numbers together.
I don't have energy to write detail README as I am tired now. I later will going to discuss about my code on my Blogpost. (https://sleeping4cat.github.io/sleepingcat/blog.html)
Umm, I want to practice my C knowldege and extension play with the lang. Since I do deep learning in Python I don't get enough time writing C. Implementing algorithm makes me practice. And C is extremely fast so that's anothe reason.