One thing that has been an ongoing challenge in the design of my 3D
scanner software, well, almost any of my software in general I guess I
could say, was the lack of good integer math library routines.
Surely, there’s got to be good integer math library routines out
there, I just need to search for them, right?
Well, that’s the catch. Yes, there are good integer math routines out
there, but traditionally, you won’t find them in a nice standalone
library.
Come on, think about the greatest software you know of that uses
integer math extensively. Not just the basics, but integer arithmetic
for higher level mathematics. The Doom and Quake game engines come to
mind, along with the MPEG-2 audio/video codecs. How did they
implement their integer math routines? Did they find them in a shared
library? Nope, they wrote them all on their own. Did they even
create a shared library of their own? Nope, they wrote them solely
for the purpose of embedding in the Doom and Quake game engines. For
the MPEG-2 audio/video codecs, although the audio/video interface is
exposed as a shared library, the integer math routines are not. So
the greatest integer math programmers did that, so you must do it
yourself if you want great integer math for software of your own.
Read on →