- testing for NaNs

From: Campbell, Robert D \(SELEX\) \(UK Edinburgh\) <"Campbell,>
Date: Mon, 13 Aug 2007 10:43:51 +0100

----boundary-LibPST-iamunique-1220792419_-_-
Content-type: text/plain


Andrew

My platform independent code ...

CONST
  nanS = {19 .. 30};

PROCEDURE IsNan (x : REAL) : BOOLEAN;
  VAR
    xSet : SET;
  BEGIN
    xSet := SYSTEM.VAL (SET, SHORT (ASH (SYSTEM.VAL (LONGINT, x),
-32)));
    RETURN nanS - xSet = {}
  END IsNan;

I neither guarantee it is BEST, or even correct. I haven't used it for
years.

Cheers

Robert
 

>> -----Original Message-----
>> From: blackbox{([at]})nowhere.xy
>> Behalf Of A Thomas
>> Sent: 13 August 2007 09:04
>> To: BlackBox Mailing List
>> Subject: [BlackBox] - testing for NaNs
>>
>> *** WARNING ***
>>
>> This mail has originated outside your organization, either
>> from an external partner or the Global Internet.
>> Keep this in mind if you answer this message.
>>
>> Hei,
>>
>> I would like to test a REAL to see if it is a NaN. What
>> is the best way of doing this? If I use a variant record I
>> can regard the 8 byte real as two 4 byte integers (or maybe
>> better two variables of type SET)But what bit pattern will
>> indicate a NaN?
>>
>> Thanks
>>
>> Andrew
>>
>> --- BlackBox
>> --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>>
>>
>>

SELEX Sensors and Airborne Systems Limited
Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL
A company registered in England & Wales. Company no. 02426132
********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy

----boundary-LibPST-iamunique-1220792419_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFxwYXINCkFuZHJld1xwYXINClxwYXINCk15IHBs
YXRmb3JtIGluZGVwZW5kZW50IGNvZGUgLi4uXHBhcg0KXHBhcg0KQ09OU1RccGFyDQogIG5hblMg
ID0gIFx7MTkgLi4gMzBcfTtccGFyDQpccGFyDQpQUk9DRURVUkUgIElzTmFuICh4IDogUkVBTCkg
OiBCT09MRUFOO1xwYXINCiAgVkFSXHBhcg0KICAgIHhTZXQgIDogIFNFVDtccGFyDQogIEJFR0lO
XHBhcg0KICAgIHhTZXQgIDo9ICBTWVNURU0uVkFMIChTRVQsIFNIT1JUIChBU0ggKFNZU1RFTS5W
QUwgKExPTkdJTlQsIHgpLFxwYXINCi0zMikpKTtccGFyDQogICAgUkVUVVJOICBuYW5TIC0geFNl
dCAgPSAgXHtcfVxwYXINCiAgRU5EICBJc05hbjtccGFyDQpccGFyDQpJIG5laXRoZXIgZ3VhcmFu
dGVlIGl0IGlzIEJFU1QsIG9yIGV2ZW4gY29ycmVjdC4gSSBoYXZlbid0IHVzZWQgaXQgZm9yXHBh
cg0KeWVhcnMuXHBhcg0KXHBhcg0KQ2hlZXJzXHBhcg0KXHBhcg0KUm9iZXJ0XHBhcg0KIFxwYXIN
ClxwYXINCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tXHBhcg0KPj4gRnJvbTogYmxhY2ti
b3hAb2Jlcm9uLmNoIFttYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoXSBPbiBccGFyDQo+PiBCZWhh
bGYgT2YgQSBUaG9tYXNccGFyDQo+PiBTZW50OiAxMyBBdWd1c3QgMjAwNyAwOTowNFxwYXINCj4+
IFRvOiBCbGFja0JveCBNYWlsaW5nIExpc3RccGFyDQo+PiBTdWJqZWN0OiBbQmxhY2tCb3hdIC0g
dGVzdGluZyBmb3IgTmFOc1xwYXINCj4+IFxwYXINCj4+ICAgICAgICAgICAgICAgKioqIFdBUk5J
TkcgKioqXHBhcg0KPj4gXHBhcg0KPj4gVGhpcyBtYWlsIGhhcyBvcmlnaW5hdGVkIG91dHNpZGUg
eW91ciBvcmdhbml6YXRpb24sIGVpdGhlciBccGFyDQo+PiBmcm9tIGFuIGV4dGVybmFsIHBhcnRu
ZXIgb3IgdGhlIEdsb2JhbCBJbnRlcm5ldC4gXHBhcg0KPj4gICAgICBLZWVwIHRoaXMgaW4gbWlu
ZCBpZiB5b3UgYW5zd2VyIHRoaXMgbWVzc2FnZS4gXHBhcg0KPj4gXHBhcg0KPj4gSGVpLFxwYXIN
Cj4+IFxwYXINCj4+IFx0YWIgSSB3b3VsZCBsaWtlIHRvIHRlc3QgYSBSRUFMIHRvIHNlZSBpZiBp
dCBpcyBhIE5hTi4gV2hhdCBccGFyDQo+PiBpcyB0aGUgYmVzdCB3YXkgb2YgZG9pbmcgdGhpcz8g
SWYgSSB1c2UgYSB2YXJpYW50IHJlY29yZCBJIFxwYXINCj4+IGNhbiByZWdhcmQgdGhlIDggYnl0
ZSByZWFsIGFzIHR3byA0IGJ5dGUgaW50ZWdlcnMgKG9yIG1heWJlIFxwYXINCj4+IGJldHRlciB0
d28gdmFyaWFibGVzIG9mIHR5cGUgU0VUKUJ1dCB3aGF0IGJpdCBwYXR0ZXJuIHdpbGwgXHBhcg0K
Pj4gaW5kaWNhdGUgYSBOYU4/XHBhcg0KPj4gXHBhcg0KPj4gVGhhbmtzXHBhcg0KPj4gXHBhcg0K
Pj4gXHRhYiBBbmRyZXdccGFyDQo+PiBccGFyDQo+PiAtLS0gQmxhY2tCb3hccGFyDQo+PiAtLS0g
c2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2Jlcm9uLmNoXHBh
cg0KPj4gXHBhcg0KPj4gXHBhcg0KPj4gXHBhcg0KXHBhcg0KU0VMRVggU2Vuc29ycyBhbmQgQWly
Ym9ybmUgU3lzdGVtcyBMaW1pdGVkXHBhcg0KUmVnaXN0ZXJlZCBPZmZpY2U6IFNpZ21hIEhvdXNl
LCBDaHJpc3RvcGhlciBNYXJ0aW4gUm9hZCwgQmFzaWxkb24sIEVzc2V4IFNTMTQgM0VMXHBhcg0K
QSBjb21wYW55IHJlZ2lzdGVyZWQgaW4gRW5nbGFuZCAmIFdhbGVzLiAgQ29tcGFueSBuby4gMDI0
MjYxMzJccGFyDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKlxwYXINClRoaXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50
cyBhcmUgY29uZmlkZW50aWFsIHRvIHRoZSBpbnRlbmRlZFxwYXINCnJlY2lwaWVudCBhbmQgbWF5
IGFsc28gYmUgcHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkXHBhcg0KcmVj
aXBpZW50IHBsZWFzZSBkZWxldGUgaXQgZnJvbSB5b3VyIHN5c3RlbSBhbmQgbm90aWZ5IHRoZSBz
ZW5kZXIuXHBhcg0KWW91IHNob3VsZCBub3QgY29weSBpdCBvciB1c2UgaXQgZm9yIGFueSBwdXJw
b3NlIG5vciBkaXNjbG9zZSBvclxwYXINCmRpc3RyaWJ1dGUgaXRzIGNvbnRlbnRzIHRvIGFueSBv
dGhlciBwZXJzb24uXHBhcg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKipccGFyDQpccGFyDQotLS0gQmxhY2tCb3hccGFy
DQotLS0gc2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2J9fQAg
ezE5IC4uIDMwfQ=


----boundary-LibPST-iamunique-1220792419_-_---
Received on Mon Aug 13 2007 - 11:43:51 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:31:25 UTC