* Re: Fixed point operator visibility que
[not found] <00985E28.98D9FB40.9907@iberia.cc>
@ 1994-10-14 7:26 ` eachus
1994-10-14 14:42 ` ncohen
1 sibling, 0 replies; 2+ messages in thread
From: eachus @ 1994-10-14 7:26 UTC (permalink / raw)
Subject: Re: Fixed point operator visibility question
In article <00985E28.98D9FB40.9907@iberia.cca.rockwell.com> mlc@iberia.cca.rockwell.com (Michael Cook) writes:
> My viewpoint is that fixed point division is defined by package
> STANDARD, see Ada RM, section 4.5.5, para 9-11. And so the division
> should be visible without the 'use' clause.
> Vendor A's claim is that the example deals with visibility of
> operations of derived types. The argument is that Fixed_Type is
> a derived type of an anonymous predefined fixed point type (RM
> 3.5.9 para 9).
You are correct. And that is the most bogus version of "its not a
bug it is a feature" I have ever seen.
There is no fixed by fixed division operation defined for
Fixed_Type or its parent, so whether or not it is a derived type is
irrelevant. In any case the division operation for _universal_fixed_
that applies here is defined in STANDARD, and will be visible without
the use clause.
Give the vendor fifty lashes with a wet noodle, served with heaping
amounts of supercilious scorn. ;-)
--
Robert I. Eachus
with Standard_Disclaimer;
use Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Fixed point operator visibility que
[not found] <00985E28.98D9FB40.9907@iberia.cc>
1994-10-14 7:26 ` Fixed point operator visibility que eachus
@ 1994-10-14 14:42 ` ncohen
1 sibling, 0 replies; 2+ messages in thread
From: ncohen @ 1994-10-14 14:42 UTC (permalink / raw)
Subject: Re: Fixed point operator visibility question
In article <00985E28.98D9FB40.9907@iberia.cca.rockwell.com>,
mlc@iberia.cca.rockwell.com (Michael Cook) writes:
|> My viewpoint is that fixed point division is defined by package
|> STANDARD, see Ada RM, section 4.5.5, para 9-11. And so the division
|> should be visible without the 'use' clause.
You are quite right. See also the last two declarations in Annex C,
paragraph 11.
|> Vendor A's claim is that the example deals with visibility of
|> operations of derived types. The argument is that Fixed_Type is
|> a derived type of an anonymous predefined fixed point type (RM
|> 3.5.9 para 9).
|>
|> The derived type introduces a derived "/" operator, that hides the
|> predefined "/" operator in the scope of the declaration of Fixed_Type
|> (RM 3.4 para 5).
Vendor A is wrong. The "/" operator in question is not an operation of
the parent fixed-point type. Rather, it is a "magic" operation that
takes operands of ANY fixed-point type and produces a result of type
universal_fixed. Thus it is not inherited.
|> package Fixed_Type_Example is
|>
|> Fixed_Type_Delta : constant := 1.0 / (2.0 ** 27);
|>
|> type Fixed_Type is delta Fixed_Type_Delta range -16.0 .. 16.0;
|>
|> end Fixed_Type_Example;
|>
|> -------------------------
|>
|> with Fixed_Type_Example;
...
|> type Value_Type is range -2**15 .. 2**15 - 1;
...
|> H : Fixed_Type_Example.Fixed_Type;
|> PH : Fixed_Type_Example.Fixed_Type;
|>
|> PCV : Value_Type;
...
|> PCV := Value_Type (H / PH);
--
Norman H. Cohen ncohen@watson.ibm.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~1994-10-14 14:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <00985E28.98D9FB40.9907@iberia.cc>
1994-10-14 7:26 ` Fixed point operator visibility que eachus
1994-10-14 14:42 ` ncohen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox