From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Weird behavior with modular type
Date: Tue, 07 Feb 2012 19:15:52 +0100
Date: 2012-02-07T19:15:52+01:00 [thread overview]
Message-ID: <op.v9bmcqprule2fv@douda-yannick> (raw)
In-Reply-To: jgro6r$m6n$1@adenine.netfront.net
Le Tue, 07 Feb 2012 18:49:14 +0100, Jeffrey Carter
<spam.jrcarter.not@spam.not.acm.org> a écrit:
> On 02/07/2012 10:24 AM, Yannick Duchêne (Hibou57) wrote:
> >
>> Seems in the first case, the left‑side of “E < 10 ** I” has a modulo
>> applied, or
>> else, I see no way to explain the result, "FALSE". But why would this
>> modulo be
>> applied with a subtype of Natural and not with an Universal_Integer?
>
> Seems to me in both cases the expression on the right of "<" is
> Universal_Integer. What compiler message did you get?
Message is as follow:
bug.adb:12:23: value not in range of type "Modular_Type" defined at
line 4
bug.adb:12:23: static expression fails Constraint_Check
Compiled with GNAT.
Line 12 is the one containing “B := E < Natural'Pos (10 ** I);”.
By the way, formally speaking, the expression is not static, and it should
compile, although expected to raise a range‑check‑error at runtime.
--
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University
next prev parent reply other threads:[~2012-02-07 18:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-07 17:24 Weird behavior with modular type Yannick Duchêne (Hibou57)
2012-02-07 17:49 ` Jeffrey Carter
2012-02-07 18:06 ` Adam Beneschan
2012-02-07 18:21 ` Yannick Duchêne (Hibou57)
2012-02-08 6:53 ` J-P. Rosen
2012-02-08 15:29 ` Adam Beneschan
2012-02-09 3:37 ` Randy Brukardt
2012-02-07 18:15 ` Yannick Duchêne (Hibou57) [this message]
2012-02-07 17:53 ` Adam Beneschan
2012-02-07 17:54 ` Gautier write-only
2012-02-07 18:23 ` Yannick Duchêne (Hibou57)
2012-02-09 3:40 ` Randy Brukardt
2012-02-07 18:02 ` Adam Beneschan
2012-02-07 18:32 ` Georg Bauhaus
2012-02-07 18:13 ` Yannick Duchêne (Hibou57)
2012-02-07 18:15 ` Adam Beneschan
2012-02-07 18:35 ` Yannick Duchêne (Hibou57)
2012-02-07 18:40 ` Adam Beneschan
2012-02-07 19:22 ` Yannick Duchêne (Hibou57)
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox