The discrete option, as we originally intended it, was a nearest grid-point option. The relevant code snippet from the Janus interpreter:

* allow for order 0 linear interpolation, i.e. take nearest discrete * value on the grid. */ if ( 0 == functionIndependentVariableOrder_[ index ][ i ] ) { if ( 0.5 >= frac[ i ] ) { frac[ i ] = 0.0; } else { frac[ i ] = 1.0; } } We only use discrete where the inputs are meant to be one of the breakpoints. The "nearest" interpretation ensures we get the right answer if there is some issue with a data precision-related error (though we would normally use integer inputs anyway). However, I can also see the utility of a "threshhold" approach as you have described (eg, ISA properties as a function of pressure altitude). You could always shift the breakpoints to achieve the same thing, or use MathML. I agree it needs to be clearly documented. Regards, Rob Rob Curtin Ball Solutions Group on contract to Air Vehicles Division, Defence Science & Technology Organisation Tel: +61 (0)3 9626 7730 Fax: +61 (0)3 9626 7705 [EMAIL PROTECTED] -----Original Message----- From: Giovanni A. Cignoni [mailto:[EMAIL PROTECTED] Sent: Tuesday, 19 June 2007 10:17 PM To: simstds@larc.nasa.gov Subject: Re: Re: Discrete interpolation attribute (was New version of DAVEfunc DTD 1.9b3) > so the independent values state where the function changes value. > > Nearest-neighbor would put the transitions exactly between the > independent break points. So at the end is just truncation vs approximation, but being in sync with names is anyway important :) Ciao, Giovanni. IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 1914. If you have received this email in error, you are requested to contact the sender and delete the email.