1) IEEE handling in "Compute" 2) Behaviour of invalid() in "Compute" 3) Added functionality to "Compute" (isnan/finite) 4) Calling DXStatistics within "Replace"
Here is a list of some issues I've stumbled upon. I'd not mind playing around and fixing them if they are thought of as reasonable fixes to DX. What are the opinions of you how really knows something about the internals of DX. 1) IEEE handling in "Compute" Following up on a thread on the user list I am getting into questions about the way compute works. The original question was bout how to filter out NaN values by marking points with such values as "invalid positions". The following questions have arisen to me that I wonder if there is someone that can answer, before I get my hands dirty in the code: - A condition such as "byte ( ( a < 1e32 ) ? 0 : 1 )" creates a byte array of zeros and ones that can be used as "invalid positions". This marks all NaN and +Inf with 1. Trying to detect -Inf as well fails for me. The following two examples that _should_ work does not. I assume 0.*x is not performed in IEEE, but instead returns the value 0.0. Likewise a==a is not made in IEEE but is performed as a bit-pattern compare. - byte ( ( ( 0.*a ) < 1e32 ) ? 0 : 1 ) - byte ( ( a == a ) ? 0 : 1 ) 2) Behaviour of invalid() in "Compute" I also have had some problems with the invalid() function in compute. I was trying things like "byte (invalid(a) || ( ( a < 1e32 ) ? 0 : 1 ) )" to preserve the existing invalid positions if present. Does anyone know if invalid() behaves correct if there is no "invalid positions" component. In my opinion it should always return 0 in this case, however it seems to currently abort with a SISSEGV. 3) I would like to add isnan and finite (and maybe more) to the "Compute" module. Is there any good reasons against? 4) If in "Replace" you replace the "invalid positions" component, there is no automatic call to DXStatistics to recompute the statistics. Should this be done or should it be up to the user? /Nils -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Nils Smeds http://www.pdc.kth.se/ Center for Parallel Computers e-mail: [EMAIL PROTECTED] Royal Institute of Technology Voice: +46-8-7909115 KTH Fax: +46-8-247784 S-100 44 Stockholm, Sweden Office: OB2, room 1546 -----------------------------------------------------------------------
