From: Eryndlia Mavourneen <eryndlia@gmail.com>
Subject: Re: Efficient Sequential Access to Arrays
Date: Mon, 25 Feb 2013 13:18:01 -0800 (PST)
Date: 2013-02-25T13:18:01-08:00 [thread overview]
Message-ID: <604f66e5-402d-4027-94a4-39d65680dc78@googlegroups.com> (raw)
In-Reply-To: <9c180f15-28b5-46ca-929d-b731058d0a97@googlegroups.com>
On Friday, July 27, 2012 3:21:18 AM UTC-5, Keean Schupke wrote:
>
> I am wondering if there is a way to use address arithmetic that would be just as safe as array indexing? ...
Perhaps something along the lines of:
with System, System.Storage_Elements;
use System, System.Storage_Elements;
package body Keean_Pkg is
type Value_Type is limited private;
type Index_Type is range <>;
type Array_Type is array (Index_Type) of Value_Type;
Element_Size : constant Storage_Offset := A'Component_Size / Storage_Unit;
Current_A : Address;
begin
Current_A := Some_Element'Address; -- address of 1st element to be processed
Processing_Loop: ... loop
Declare_A: declare
A : Array_Type;
for A'Address use Current_A;
begin
-- Perform processing on the element of array A
...
Current_A := Current_A + Element_Size;
end Declare_A;
end loop Processing_Loop;
end Keean_Pkg;
next prev parent reply other threads:[~2013-02-25 21:18 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-15 18:40 Efficient Sequential Access to Arrays Keean Schupke
2012-07-15 19:48 ` Dmitry A. Kazakov
2012-07-15 20:03 ` Keean Schupke
2012-07-15 20:56 ` Keean Schupke
2012-07-16 11:34 ` Jacob Sparre Andersen
2012-07-15 21:05 ` tmoran
2012-07-15 21:08 ` Keean Schupke
2012-07-16 1:19 ` tmoran
2012-07-15 21:44 ` Georg Bauhaus
2012-07-16 7:47 ` Dmitry A. Kazakov
2012-07-16 10:16 ` Keean Schupke
2012-07-16 14:57 ` Dmitry A. Kazakov
2012-07-16 16:39 ` Keean Schupke
2012-07-16 17:02 ` Georg Bauhaus
2012-07-16 18:48 ` Dmitry A. Kazakov
2012-07-16 19:12 ` Keean Schupke
2012-07-17 6:31 ` Dmitry A. Kazakov
2012-07-17 6:50 ` Georg Bauhaus
2012-07-17 8:42 ` Dmitry A. Kazakov
2012-07-17 7:24 ` Keean Schupke
2012-07-16 19:43 ` John B. Matthews
2012-07-16 20:44 ` Keean Schupke
2012-07-16 22:23 ` tmoran
2012-07-17 6:40 ` Keean Schupke
2012-07-17 9:01 ` Dmitry A. Kazakov
2012-07-18 8:10 ` Keean Schupke
2012-07-18 18:11 ` tmoran
2012-07-19 10:41 ` Keean Schupke
2012-07-19 11:18 ` Georg Bauhaus
2012-07-19 19:58 ` Keean Schupke
2012-07-21 8:24 ` Keean Schupke
2012-07-21 11:52 ` Georg Bauhaus
2012-07-21 16:14 ` Keean Schupke
2012-07-21 17:09 ` Keean Schupke
[not found] ` <i78m081tccmp078spmsei1l5vnj3k0kbkj@invalid.netcom.com>
2012-07-22 15:50 ` Keean Schupke
2012-07-22 5:13 ` Shark8
2012-07-15 21:35 ` J-P. Rosen
2012-07-15 19:52 ` Shark8
2012-07-15 20:16 ` Keean Schupke
2012-07-15 21:33 ` Georg Bauhaus
2012-07-17 18:16 ` Florian Weimer
2012-07-22 10:01 ` robin.vowels
2012-07-30 6:31 ` Jacob Sparre Andersen
2012-07-30 7:16 ` Keean Schupke
2012-07-30 9:20 ` Georg Bauhaus
2012-07-30 14:04 ` Keean Schupke
2012-07-22 10:09 ` robin.vowels
2012-07-22 16:02 ` Keean Schupke
2012-07-22 16:21 ` Florian Weimer
2012-07-22 16:46 ` Keean Schupke
2012-07-22 18:41 ` Florian Weimer
2012-07-24 8:21 ` Keean Schupke
2012-07-22 17:34 ` Niklas Holsti
2012-07-22 18:21 ` Keean Schupke
2012-07-30 14:18 ` Jacob Sparre Andersen
2012-07-24 16:00 ` robin.vowels
2012-07-25 7:09 ` Niklas Holsti
2012-07-25 9:03 ` Keean Schupke
2012-07-26 0:15 ` Randy Brukardt
2012-07-26 8:38 ` Keean Schupke
2012-07-26 10:10 ` Brian Drummond
2012-07-26 12:32 ` Keean Schupke
2012-07-26 13:46 ` Dmitry A. Kazakov
2012-07-26 17:40 ` Shark8
2012-07-26 18:56 ` Dmitry A. Kazakov
2012-07-27 5:25 ` Shark8
2012-07-27 6:28 ` Dmitry A. Kazakov
2012-07-27 7:01 ` Vasiliy Molostov
2012-07-27 8:48 ` Dmitry A. Kazakov
2012-07-27 12:01 ` Georg Bauhaus
2012-07-27 16:49 ` Vasiliy Molostov
2012-07-27 19:38 ` Dmitry A. Kazakov
2012-07-28 5:32 ` Shark8
2012-07-28 7:37 ` Dmitry A. Kazakov
2012-07-28 18:32 ` Shark8
[not found] ` <6ov218tnkbqu3vpkuo4t77rd7de0a3aesf@invalid.netcom.com>
2012-07-26 18:49 ` Dmitry A. Kazakov
[not found] ` <86d31898ne39maimbl24knds7rf38qg7vc@invalid.netcom.com>
2012-07-27 6:45 ` Dmitry A. Kazakov
2012-07-27 8:21 ` Keean Schupke
2012-07-27 8:50 ` Dmitry A. Kazakov
2012-07-27 9:17 ` Keean Schupke
2013-02-25 21:18 ` Eryndlia Mavourneen [this message]
2012-07-26 13:08 ` Georg Bauhaus
2012-07-26 19:37 ` stefan-lucks
2012-07-26 19:21 ` stefan-lucks
2012-07-31 3:12 ` Randy Brukardt
2012-07-26 7:11 ` Markus Schöpflin
2012-07-26 14:47 ` Robin Vowels
2012-07-26 15:18 ` Martin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox