From: Simon Wright <simon@pushface.org>
Subject: Re: Ada.Numerics.Long_Real_Arrays
Date: Wed, 25 Jan 2017 16:17:01 +0000
Date: 2017-01-25T16:17:01+00:00 [thread overview]
Message-ID: <ly37g7w1vm.fsf@pushface.org> (raw)
In-Reply-To: 40c85340-df43-43f7-8974-dca83704036e@googlegroups.com
hnptz@yahoo.de writes:
> On Wednesday, January 25, 2017 at 1:25:18 PM UTC+1, hn...@yahoo.de wrote:
>> 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;
> First, I want to keep the length of P open until I fix it in
> test_nm.adb. The length of R_Vector is always Mp-1. Second, I want to
> use the builtin Real_Vector arithmetic, that I do not have to resort
> to loops. Using Real_Matrix definitions won't allow it, as slices of
> n-dimensional arrays are not possible.
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;
next prev parent reply other threads:[~2017-01-25 16:17 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 ` Simon Wright [this message]
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 ` Ada.Numerics.Long_Real_Arrays hnptz
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