comp.lang.ada
 help / color / mirror / Atom feed
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



  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