On Aug 12, 2:45 pm, William Stein <[email protected]> wrote: > On Thu, Aug 12, 2010 at 12:30 PM, John H Palmieri > > > > > > <[email protected]> wrote: > > How can I tell if numerical noise is actually noise, or if it is > > indicative of a bug? For example, with one or two OS/processor > > combinations, I get this (from chmm.pyx): > > > sage: m.viterbi([0,1,10,10,1]) > > Expected: > > ([0, 0, 1, 1, 0], -9.0604285688230899) > > Got: > > ([0, 0, 1, 1, 0], -9.0604285688230917) > > > Can I tell how accurate this is actually supposed to be? I can > > certainly just change the doctest to > > > ([0, 0, 1, 1, 0], -9.0604285688230...) > > > but if the code is actually supposed to be accurate to a few more > > decimal places, this is concealing a bug. Sometimes I can look at the > > code and easily figure out its supposed accuracy, but more frequently > > I can't. So what should be done in cases like this? > > I'm the upstream author of 100% of this code, and know precisely what > it does, which is a sequence of floating point ops and calls to the > math library, which *of course* can be machine dependent. > > Put in dots.
Great, that's very helpful. (My guess was that it was just a sequence of floating point ops, as you say, but I wanted to check, to make sure we were preserving the integrity of Sage's doctests.) -- John -- To post to this group, send an email to [email protected] To unsubscribe from this group, send an email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
