On Thu, 2010-01-28 at 21:59 +0100, Jari Häkkinen wrote: > For me the Nasal function looks strange. I can't understand what the > addition of 0.001 to freq does? For me it seems to be a waste of > precious CPU time. > > > Jari
var bar=int((freq+0.001)*10)-int(freq)*10; The 0.001 ensures we get the proper number since 'int' truncates and doesn't round. For example, 111.70 is stored internally as 111.69999... since base 2 and base 10 don't play well together below the decimal point. int((111.699999...)*10) returns 1116 when what was expected and desired was 1117. 0.001 is large enough to correct the result but small enough not to push us to the next station, station spacing is assumed at 0.05. (The same problem exists in C++.) Ron ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel