CONST arithmetic

From: Campbell, Robert D (UK Edinburgh) <"Campbell,>
Date: Thu, 02 Dec 2004 11:07:42 +0000

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


I have some code:

CONST
  arrayLen = 5;
  arrayMax = arrayLen - 1;

VAR
  xyx : REAL;

BEGIN
  xyz := 100. / arrayMax;


Fine.
But for a simple test case I set arraylen = 1.
I get a compiler error 'division by zero'.

This is not an error; my algorithm will work fine with
xyz = INF.

Even if I add

  IF arraylen > 1 THEN xyz := 100. / arrayMax END

I still get a compiler error.

Is this a restriction in the language, or the compiler, or ...?

I thought that the compiler removed 'dead' code of the form:

IF FALSE THEN ... END anyway.

Robert

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

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.


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

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFxwYXINCkkgaGF2ZSBzb21lIGNvZGU6XHBhcg0K
XHBhcg0KQ09OU1RccGFyDQogIGFycmF5TGVuICA9ICA1O1xwYXINCiAgYXJyYXlNYXggID0gIGFy
cmF5TGVuIC0gMTtccGFyDQpccGFyDQpWQVJccGFyDQogIHh5eCAgOiAgUkVBTDtccGFyDQpccGFy
DQpCRUdJTlxwYXINCiAgeHl6ICA6PSAgMTAwLiAvIGFycmF5TWF4O1xwYXINClxwYXINClxwYXIN
CkZpbmUuXHBhcg0KQnV0IGZvciBhIHNpbXBsZSB0ZXN0IGNhc2UgSSBzZXQgYXJyYXlsZW4gPSAx
LlxwYXINCkkgZ2V0IGEgY29tcGlsZXIgZXJyb3IgJ2RpdmlzaW9uIGJ5IHplcm8nLlxwYXINClxw
YXINClRoaXMgaXMgbm90IGFuIGVycm9yOyBteSBhbGdvcml0aG0gd2lsbCB3b3JrIGZpbmUgd2l0
aFxwYXINCnh5eiA9IElORi5ccGFyDQpccGFyDQpFdmVuIGlmIEkgYWRkXHBhcg0KXHBhcg0KICBJ
RiAgYXJyYXlsZW4gID4gIDEgIFRIRU4gIHh5eiAgOj0gIDEwMC4gLyBhcnJheU1heCAgRU5EXHBh
cg0KXHBhcg0KSSBzdGlsbCBnZXQgYSBjb21waWxlciBlcnJvci5ccGFyDQpccGFyDQpJcyB0aGlz
IGEgcmVzdHJpY3Rpb24gaW4gdGhlIGxhbmd1YWdlLCBvciB0aGUgY29tcGlsZXIsIG9yIC4uLj9c
cGFyDQpccGFyDQpJIHRob3VnaHQgdGhhdCB0aGUgY29tcGlsZXIgcmVtb3ZlZCAnZGVhZCcgY29k
ZSBvZiB0aGUgZm9ybTpccGFyDQpccGFyDQpJRiAgRkFMU0UgIFRIRU4gIC4uLiAgRU5EICBhbnl3
YXkuXHBhcg0KXHBhcg0KUm9iZXJ0XHBhcg0KXHBhcg0KKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipccGFyDQpUaGlzIGVt
YWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlIGNvbmZpZGVudGlhbCB0byB0aGUgaW50ZW5kZWRc
cGFyDQpyZWNpcGllbnQgYW5kIG1heSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90
IHRoZSBpbnRlbmRlZFxwYXINCnJlY2lwaWVudCBwbGVhc2UgZGVsZXRlIGl0IGZyb20geW91ciBz
eXN0ZW0gYW5kIG5vdGlmeSB0aGUgc2VuZGVyLlxwYXINCllvdSBzaG91bGQgbm90IGNvcHkgaXQg
b3IgdXNlIGl0IGZvciBhbnkgcHVycG9zZSBub3IgZGlzY2xvc2Ugb3JccGFyDQpkaXN0cmlidXRl
IGl0cyBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLlxwYXINCioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHBhcg0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFyDQpccGFyDQpU
byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbWFpbGluZyBsaXN0LCBzZW5kIGEgbWVzc2FnZSBjb250
YWluaW5nIHRoZSB3b3JkICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KICAgYmxhY2tib3gtcmVxdWVz
dEBvYmVyb24uY2hccGFyDQpccGFyDQpUbyBnZXQgYSBsaXN0IG9mIHZhbGlkIGUtbWFpbCBjb21t
YW5kcyBhbmQgaW5zdHJ1Y3Rpb25zIG9uIHRoZWlyIHVzYWdlLCBzZW5kIGEgbWVzc2FnZSBjb250
YWluaW5nIHRoZSB3b3JkICJoZWxwIiB0byB0aGUgYWJvdmUgYWRkcmVzcy5ccGFyDQpccGFyDQpT
ZW5kIGFueSBwcm9ibGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbWFp
bCBsaXN0IHRvIHRoZSBsaXN0IG93bmVyIGF0XHBhcg0KICAgb3duZXItYmxhY2tib3hAb2Jlcm9u
LmNoXHBhcg0KXHBhcg0KQ3VycmVudCBwb3N0aW5nIHBvbGljeTpccGFyDQpccGFyDQphKSBUbyBw
b3N0IHlvdSBzaG91bGQgdXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkgd2hpY2ggeW91IGFyZSBzdWJz
Y3JpYmVkIHRvIHRoZSBtYWlsaW5nIGxpc3QuIFRoYXQgd2F5LCB0aGUgbGlzdCBzZXJ2ZXIgd2ls
bCByZWNvZ25pemUgeW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91ciBwb3N0aW5nIGlt
bWVkaWF0ZWx5LCB3aXRob3V0IGNyZWF0aW5nIGFueSBvdmVyaGVhZC5ccGFyDQpccGFyDQpiKSBJ
ZiwgZm9yIHNvbWUgcmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUgYWRkcmVzcywgYnkg
d2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBtb2RlcmF0ZWQg
dG8gYXZvaWQgc3BhbS4gUGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBtb2RlcmF0aW9uIHdpbGwgb2Z0
ZW4gY2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxhciBvdmVyIHdlZWtlbmRzIG9yIGhvbHlk
YXl9fQAxUDewRo8

----boundary-LibPST-iamunique-1016194674_-_---
Received on Thu Dec 02 2004 - 12:07:42 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:29 UTC