not dead yet
I’m getting better … and just in time. Late last night, beta tester Kent found an interesting rounding error. When the results from an advanced function key is used in an addition or subtraction operation with an entered number, the denominator of the entered number will be used as the denominator for the result. So, for example, if you got the number 21-3/16in from the [Diag] key and then added 5- 1/4in to it, BuildCalc would (wrongly) assume that the results needed to be in quarter inches or larger.
This is a case of a good algorithm run amok. First, what’s the good algorithm? Let’s say you want to enter something in 32nths, like 6- 5/32 inches and then add 1/4” to it. BuildCalc has the choice of displaying the results in the default denominator (which is usually 16ths) or the largest denominator in which you entered. In this case, since you took the trouble to enter a number in 32nds, BuildCalc puts the result in the largest denominator you entered. However, most of the time you’re working with the default units because they’re easier to deal with. Like if your dividing 215- 1/4 into 12 equal sections, you’ll likely want the results in 16ths rather than 64ths.
And how did this algorithm run amok? Well, the method BuildCalc uses to figure out if you wanted to use the default or the entered denominator had a loop hole. When doing addition or subtraction, it was allowing the denominator of the entered number to take priority over the default denominator.
Last night, right before bed, I got Kent’s email. This morning I looked at his example and in about 20 minutes was able to spin a new beta for him and a work around for the rest of us (see the FAQ page for more info on the work around). After some more testing, I spun a new release version and uploaded it to Apple late this afternoon. Given our past track record, you should see an update in about a week.
Now, stepping back a bit, I want to again thank Kent. His time to document this bug has benefited all BuildCalc users and I am truly grateful for his attention to detail.