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