From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!uunet!ncrlnk!ncrcae!hubcap!gatech!bloom-beacon!apple!bbn!inmet!ishmael!inmet!ada-uts!stt From: stt@ada-uts Newsgroups: comp.lang.ada Subject: Re: Implicit conversion? Message-ID: <57900090@ada-uts> Date: 9 Mar 89 15:40:00 GMT References: <5678@sdcrdcf.sm.unisys.com> Nf-ID: #R:sdcrdcf.sm.unisys.com:-567800:ada-uts:57900090:000:694 Nf-From: ada-uts!stt Mar 9 10:40:00 1989 List-Id: W.r.t.: X := MAX_INT - MAX_INT; You are correct that formally the conversion to tiny integer takes place at the leaves of the expression, however 4.5:7 in the LRM states: The predefined operations on integer types either yield the mathematically correct result or raise the exception NUMERIC_ERROR. Hence it is perfectly legal to perform intermediate calculations with predefined operators using more accuracy than the declared type. I suspect that most Ada compilers will evaluate "static" expressions (see 4.9 for definition) with infinite precision, since they are required to evaluate all static *universal* expressions exactly. S. Tucker Taft Intermetrics, Inc. Cambridge, MA 02138