From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Array Help?
Date: Thu, 01 Mar 2012 08:16:18 +0100
Date: 2012-03-01T08:16:18+01:00 [thread overview]
Message-ID: <87mx80x03h.fsf@ludovic-brenta.org> (raw)
In-Reply-To: wccpqcxrzj2.fsf@shell01.TheWorld.com
Robert A Duff writes on comp.lang.ada:
> Robert A Duff <bobduff@shell01.TheWorld.com> writes:
>
>> % ./array_test
>>
>> raised SYSTEM.ASSERTIONS.ASSERT_FAILURE : predicate failed at array_test.adb:14
>
> Actually, I just realized there's a workaround for the slice problem.
> The following does not raise any exception.
>
> procedure Array_Test is
>
> type Integer_Array is array (Positive range <>) of Integer
> with Dynamic_Predicate => Integer_Array'First = 1;
>
> procedure Foo (Param : in out Integer_Array) is
> begin
> null;
> end Foo;
>
> A : Integer_Array (1 .. 10) := (others => 0);
>
> subtype Slide is Integer_Array(1..6);
> begin
> Foo (Slide(A (3 .. 8)));
Doesn't that involve copy-in and copy-out between the slice and a
temporary object of type Slide? Grossly inefficient, methinks.
> end Array_Test;
>
> But that's kind of tricky; I wouldn't do that without copious
> comments. And some constants or something to avoid violating the DRY
> principle.
Yes. For Adam: DRY=Don't Repeat Yourself.
--
Ludovic Brenta.
next prev parent reply other threads:[~2012-03-01 7:16 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-28 20:15 Array Help? Will
2012-02-28 20:47 ` Ludovic Brenta
2012-02-28 22:11 ` Simon Wright
2012-02-28 23:09 ` Will
2012-02-29 0:24 ` Adam Beneschan
2012-02-28 20:50 ` Gautier write-only
2012-02-28 21:33 ` Simon Wright
2012-02-29 0:27 ` Adam Beneschan
2012-02-29 8:00 ` Simon Wright
2012-02-29 8:48 ` Simon Wright
2012-02-29 0:22 ` Adam Beneschan
2012-02-29 16:09 ` Robert A Duff
2012-02-29 16:50 ` Ludovic Brenta
2012-02-29 18:24 ` Robert A Duff
2012-02-29 19:45 ` stefan-lucks
2012-02-29 20:45 ` Jeffrey Carter
2012-02-29 21:27 ` stefan-lucks
2012-02-29 23:06 ` Robert A Duff
2012-03-02 13:45 ` stefan-lucks
2012-03-07 23:58 ` Randy Brukardt
2012-03-08 11:20 ` stefan-lucks
2012-03-09 2:02 ` Randy Brukardt
2012-03-09 8:48 ` stefan-lucks
2012-03-09 21:10 ` Randy Brukardt
2012-03-15 2:55 ` BrianG
2012-03-15 7:46 ` stefan-lucks
2012-02-29 20:07 ` Dmitry A. Kazakov
2012-02-29 23:15 ` Robert A Duff
2012-03-01 8:54 ` Dmitry A. Kazakov
2012-03-01 14:06 ` Robert A Duff
2012-02-29 20:47 ` Simon Wright
2012-02-29 22:23 ` Robert A Duff
2012-02-29 23:27 ` Robert A Duff
2012-03-01 0:53 ` Adam Beneschan
2012-03-01 7:16 ` Ludovic Brenta [this message]
2012-03-01 14:03 ` Robert A Duff
2012-03-08 0:11 ` Randy Brukardt
2012-03-08 0:08 ` Randy Brukardt
2012-02-29 23:30 ` Simon Wright
2012-02-29 18:35 ` Jeffrey Carter
2012-02-29 22:59 ` Robert A Duff
2012-02-29 23:51 ` Jeffrey Carter
2012-03-01 3:03 ` Robert A Duff
2012-02-29 20:40 ` Adam Beneschan
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox