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
-----------------------------------------------------------------------

Reply via email to