Re: Missing Data Programming Contest [message #65978 is a reply to message #65977] |
Thu, 09 April 2009 09:22   |
R.Bauer
Messages: 1424 Registered: November 1998
|
Senior Member |
|
|
David Fanning schrieb:
> David Fanning writes:
>
>> You should assume:
>>
>> 1. The data can be any data type except complex or string.
>>
>> 2. The missing value *could* be !VALUES.F_NAN.
>>
>> 3. Unsophisticated users might be using your program,
>> so, for example, they might pass in a missing value
>> such as 594.32.
>>
>> No, this is NOT my homework! But I do need it ASAP. ;-)
>
> Thanks all, for your help. This was a more difficult problem
> than I expected it to be, but this was probably due to my
> program structure more than anything else. I was hoping for
> a general solution, but couldn't see my way through to that.
> Maybe next time.
>
> In the end, I ended up replacing "missing" values with
> NANs, and then dealing with those just before processing.
> This is always complicated, of course, by not knowing
> a priori what kind of data you are talking about, so there
> is complicated code to deal with all of that. It's a bit
> of a dog's dish, but at least it works. :-)
>
> Cheers,
>
> David
>
it works only for float or double but not
for everything of spec 1.
e.g. byte, long, structure ...
IDL> help,z
Z ULONG64 = Array[3]
IDL> z[1] = !values.f_nan
% Program caused arithmetic error: Floating illegal operand
IDL> help,z
Z ULONG64 = Array[3]
IDL> print,z
1 9223372036854775808 1
that's fun or?
/me personally hates dealing with data when I don't know some more
specs. e.g. units, missing_value, fill_value, valid_min, valid_max
cheers
Reimar
|
|
|