comp.lang.ada
 help / color / mirror / Atom feed
From: hreba <f_hreba@yahoo.com.br>
Subject: Incompatible types for array conversion
Date: Tue, 21 Jul 2015 22:19:37 -0300
Date: 2015-07-21T22:19:37-03:00	[thread overview]
Message-ID: <d189dbFb5b2U1@mid.individual.net> (raw)

I have a generic vector package:

generic
    dim:		positive;
    type Real is digits <>;
package Vectors is
    type Vector is array (1..dim) of Real;
    function "*" (a: Vector; b: Real) return Vector;
end Vectors;

In another package I want to model the definition of a (physical) 
position vector by its direction and module:

package Basic is
    type Real is new Interfaces.IEEE_Float_64;
    type Length is new Real;

    package Positions is new Gen.Vectors (3, Length);
    package Directions is new Gen.Vectors (3, Real);

    subtype Position is Positions.Vector;
    subtype Direction is Directions.Vector;

    function "*" (l: Direction; r: Length) return Position;
end Basic;

Now my attempt to define this function:

    function "*" (l: Direction; r: Length) return Position is
    begin return Positions."*"(Position(l), r); end "*";

gets me the error message in the subject line.

Do I have to convert the vector element by element in a loop or is there 
a more elegant way?

-- 
Frank Hrebabetzky		+55 / 48 / 3235 1106
Florianopolis, Brazil

             reply	other threads:[~2015-07-22  1:19 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-22  1:19 hreba [this message]
2015-07-22  5:20 ` Incompatible types for array conversion Niklas Holsti
2015-07-22  7:13   ` Simon Wright
2015-07-22  7:41     ` Niklas Holsti
2015-07-22 12:32       ` Simon Wright
2015-07-27 23:12         ` Randy Brukardt
2015-07-22 13:00   ` hreba
2015-07-22 13:22     ` hreba
2015-07-22 17:50       ` Niklas Holsti
2015-07-22 19:02         ` Dmitry A. Kazakov
2015-07-22  6:49 ` Georg Bauhaus
2015-07-22 12:57   ` hreba
2015-07-22 14:22     ` G.B.
2015-07-23 13:21 ` hreba
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox