comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Any easy/build-in construct to extract submatrices from larger matrix?
Date: Sat, 7 Jul 2012 10:22:06 +0200
Date: 2012-07-07T10:22:06+02:00	[thread overview]
Message-ID: <4v47r111x0z6$.ht7gkeuc7hr6$.dlg@40tude.net> (raw)
In-Reply-To: jt7teg$c97$1@munin.nbi.dk

On Fri, 6 Jul 2012 18:47:22 -0500, Randy Brukardt wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
> news:3u95tkqb1l8t$.t7lzt049tvq8.dlg@40tude.net...
>> On Wed, 4 Jul 2012 20:33:32 -0500, Randy Brukardt wrote:
> ...
>>> This is distributed overhead, which programs would  have to pay whether or
>>> not they used any 2-d slices. It would make all array parameters more
>>> expensive.
>>
>> By-value passed slices should impose no overhead.
> 
> Sure. but they're not a general solution.

I suppose it is for a great majority of people asking for this feature.
E.g. those doing linear algebra stuff.

> That is, they don't work for slices of arrays of by-reference types,

Yes, but nD arrays of those are rare. One important exception could be
arrays of controlled types used to implement fat pointers, e.g. handles.

>>>> Slices should be first class, that would remove the burden of
>>>> implementation from compiler writers. The rest is just same problematic as
>>>> with referencing single array/container element. There is no big
>>>> difference for one element or a set of elements.
>>>
>>> That's not really possible so long as slices are what C calls l-values. The
>>> problem is passing slices as parameters and allowing assignments into 
>>> them.
>>
>> Why does this work for array elements then?
> 
> (There is a "not" missing in what I wrote above.)
> 
> It works for array elements only because they are contiguous and passing a 
> single address is sufficient to represent the slice, as it is for any array 
> objects. (Recall that we're talking about *constrained* array parameters 
> here.)

That is why you could pass it copy-in/copy-out as you would with scalar
array elements. Yes, it would be much work and likely many compiler bugs,
but not impossible.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2012-07-07  8:22 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-24  8:05 Any easy/build-in construct to extract submatrices from larger matrix? Nasser M. Abbasi
2012-06-24  8:24 ` Dmitry A. Kazakov
2012-06-24  8:55   ` Nasser M. Abbasi
2012-06-24 11:10     ` Dmitry A. Kazakov
2012-06-24 12:16       ` Nasser M. Abbasi
2012-06-24 16:11         ` Dmitry A. Kazakov
2012-06-24 17:14           ` Nasser M. Abbasi
2012-06-24 18:33             ` Dmitry A. Kazakov
2012-06-25  5:44             ` J-P. Rosen
2012-06-25  6:32               ` Nasser M. Abbasi
2012-06-25  7:54                 ` J-P. Rosen
2012-06-25  8:20                   ` Dmitry A. Kazakov
2012-06-25 14:21                   ` Nasser M. Abbasi
2012-06-25  8:36                 ` Georg Bauhaus
2012-06-25 13:17                   ` Nasser M. Abbasi
2012-06-26 11:44                     ` Georg Bauhaus
2012-06-25 16:49                 ` Pascal Obry
2012-06-25 17:36                   ` Nasser M. Abbasi
2012-06-25 18:49                     ` stefan-lucks
2012-06-26  4:41                       ` Nasser M. Abbasi
2012-06-26  7:15                 ` Jacob Sparre Andersen
2012-06-26  9:51                   ` Nasser M. Abbasi
2012-06-25  9:33               ` Simon Wright
2012-06-26  2:48 ` Jerry
2012-06-26  4:19   ` Nasser M. Abbasi
2012-06-26  7:06   ` Nasser M. Abbasi
2012-06-26 12:54     ` Robert A Duff
2012-06-26 15:19       ` Adam Beneschan
2012-06-26 21:14         ` Robert A Duff
2012-06-27 23:42     ` Shark8
2012-06-26  7:10   ` Dmitry A. Kazakov
2012-06-26 15:06   ` Adam Beneschan
2012-06-26 21:19     ` Robert A Duff
2012-06-26 21:40       ` Adam Beneschan
2012-07-03  4:22         ` Randy Brukardt
2012-07-03  8:37           ` Dmitry A. Kazakov
2012-07-05  1:33             ` Randy Brukardt
2012-07-05  7:08               ` Dmitry A. Kazakov
2012-07-06 23:47                 ` Randy Brukardt
2012-07-07  8:22                   ` Dmitry A. Kazakov [this message]
2012-07-05 18:56               ` 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