From: hnptz@yahoo.de
Subject: Re: Ada.Numerics.Long_Real_Arrays
Date: Fri, 27 Jan 2017 08:51:05 -0800 (PST)
Date: 2017-01-27T08:51:05-08:00 [thread overview]
Message-ID: <85df173c-35e9-4e2e-b067-459794a98aa8@googlegroups.com> (raw)
In-Reply-To: <5a19787c-a11c-470e-8cef-2c5dc4897bf7@googlegroups.com>
> Hi,
>
> these are my definitions:
>
> with Ada.Numerics.Long_Real_Arrays; use Ada.Numerics.Long_Real_Arrays;
> package nm is
>
> Np : Positive;
> Type R_Vector is new Real_Vector (1..Np);
> Type R_Matrix is array (Positive range <>) of R_Vector;
>
> procedure nm1 (P : in out R_Matrix);
>
> end nm;
>
> -- definition of procedure nm1 in package body nm done.
>
> now in procedure test_nm.adb (only definitions):
>
> Np : Positive := 2;
> Mp : Positive := Np+1;
>
> 24 P : R_Matrix(1..Mp) := ((x,x),(y,y),(z,z));
>
> no "build all" error or warning
>
> result when running:
>
> raised CONSTRAINT_ERROR : test_nm.adb: 24 length check failed.
>
> Can you help?
On January 25. Simon Wright wrote:
You could try a generic?
with Ada.Numerics.Long_Real_Arrays;
generic
Rows : Positive;
package Nm_G is
subtype R_Vector
is Ada.Numerics.Long_Real_Arrays.Real_Vector (1 .. Rows - 1);
type R_Matrix is array (1 .. Rows) of R_Vector;
end Nm_G;
with Ada.Text_Io; use Ada.Text_Io;
with Nm_G;
procedure Nm_Test is
package Nm is new Nm_G (Rows => 3);
use Nm;
P : R_Matrix := ((42.0, 42.0), (43.0, 43.0), (44.0, 44.0));
V : R_Vector := P (P'Last);
begin
Put_Line ("v: " & V (V'First)'Img & ", " & V (V'Last)'Img);
end Nm_Test;
It works.
My new Nm_Test is
with Ada.Text_Io; use Ada.Text_Io;
with Nm_G;
procedure Nm_Test is
package Nm is new Nm_G (Rows => 3);
use Nm;
P : R_Matrix := ((42.0, 42.0), (43.0, 43.0), (44.0, 44.0));
V,X : R_Vector := P (P'Last);
MLF : Long_Float := 6.0;
begin
Put_Line ("v: " & V (V'First)'Img & ", " & V (V'Last)'Img);
X := V / MLF;
Put_Line ("X: " & X (X'First)'Img & ", " & X(X'Last)'Img);
end Nm_Test;
It should also work according to the description in the ARM 2012.
However, it says: expected type "Standard.Long_Float"
Maybe it lacks implementation ?
next prev parent reply other threads:[~2017-01-27 16:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-25 12:25 Ada.Numerics.Long_Real_Arrays hnptz
2017-01-25 13:50 ` Ada.Numerics.Long_Real_Arrays Simon Wright
2017-01-25 14:11 ` Ada.Numerics.Long_Real_Arrays hnptz
2017-01-25 16:17 ` Ada.Numerics.Long_Real_Arrays Simon Wright
2017-01-25 18:35 ` Ada.Numerics.Long_Real_Arrays hnptz
2017-01-25 21:29 ` Ada.Numerics.Long_Real_Arrays hnptz
2017-01-26 7:47 ` Ada.Numerics.Long_Real_Arrays Simon Wright
2017-01-26 11:54 ` Ada.Numerics.Long_Real_Arrays hnptz
2017-01-26 14:52 ` Ada.Numerics.Long_Real_Arrays Simon Wright
2017-01-26 15:03 ` Ada.Numerics.Long_Real_Arrays Simon Wright
2017-01-26 7:49 ` Ada.Numerics.Long_Real_Arrays Simon Wright
2017-01-26 7:55 ` Ada.Numerics.Long_Real_Arrays Simon Wright
2017-01-27 16:51 ` hnptz [this message]
2017-01-27 18:39 ` Ada.Numerics.Long_Real_Arrays Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox