[UPDATE] bugfix in code listing
The method for the radix conversion of floating point numbers described more theoretically here and more practically here has one large drawback: albeit always correct it is abysmally slow for large magnitudes.
The conversion of a string to a binary encoded floating point number is not easy, as shown in my last post. The information given there is a bit too much on the theoretical side. I’ll try to change that here with some real code: String to Bigfloat and Bigfloat to String. Continue reading →
The Little programming language is in need of arbitrary precision floating point numbers, too. The necessary basics at least: addition; multiplication; division; roots; logarithm; an exponential function; and the three basic trigonometric function sin, cos, and tan; not to forget the constant computed to the current precision. More to come, of course, but these are the minimum for a comfortable environment.
Well, that’s all fine and dandy but how do we get the numbers in and out? Yes, that’s not that simple, indeed. Continue reading →
While I was sampling all the bits and pieces needed to make the whole thing not only function but useful I stumbled over some code I once wrote that I didn’t understand anymore at the first glance—where the first reaction was something in the line of WTF or worse. Continue reading →
The program Little is all about numerical mathematics and, as the expression suggests, contains numbers. That means, in all consequences that we must be able to handle numbers. The ability to parse a number is based on a mathematical rigorous description of the term Number and not in a “I know when I see it!” way as Justice Potter Stewart described his own ability to detect obscenities so succinctly in Jacobellis v. Ohio (1964)—that is not sufficient. Continue reading →