Re: [eigen] Feature suggestion: interior row and column ranges [patch attached] |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Feature suggestion: interior row and column ranges [patch attached]
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Sun, 27 Jun 2010 09:04:49 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=TIZFxmEUDTbNDl1ogJL9nlgGB6EDPDpE3Su1NPYL5v4=; b=LWmxsAAmuZwvbr4Gkcv4pBBpTafT50utNtOOVHCzXH+qZeIPNU7Dw+AmIjkdrr5c1k 6jbkwvKQf35RsaDUO8n0rwML9W5v5JZuqx6K2rKkuAVyFjUY6XHkwbEtUWDUIQNLDj/7 TaxpJMgq2AhZZk3JiLmrxxg7L3jZfWDPuKG5M=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=DZiJ0FoZ3QRKOFcqbthSdrTJOhLDxupp+5ObGYs8Utw2fVf8SpnNGE7SujWwtzHOY1 sUnlcV/JH1fkvred7/CyTM/+ccLgC68Cb0aQAbaP0kZCj4LH8rdxHVt46+EDR8WGA2F3 q7waxQgPJVtlyA+6BaOPUPHY+P/o745qHbYj0=
Another extremely important point in favor of "middle" is that it was
already used in the BASIC keyword MID to get a substring in a string.
2010/6/27 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
> Thanks for all these proposals.... I had the same feeling than you
> regarding the word "range" which, for me, is implicitly defined by a
> start and end positions instead of a start+count. Like Manoj,
> middleRows makes me think that the rows are centered. The word "inner"
> is already used to speak about inner/outer vectors or inner/outer
> strides. So using innerRows would be too confusing. Sorry to be so
> negative ;) so finally among all these proposals, middleRows is maybe
> the least worse....
>
> gael
>
> On Sun, Jun 27, 2010 at 11:01 AM, FMDSPAM <fmdspam@xxxxxxxxx> wrote:
>> As you said: Ideally the naming is clash free, consistent and of little
>> surprise.
>> Because I didn't know Eigen or the English language well enough I'm totally
>> undecided.
>>
>> But let me post some Sunday morning thoughts:
>>
>> geometric names:
>> topRows - middleRows - bottomRows, leftCols - middleCols - rightCols
>>
>> block names:
>> topRows - blockRows - bottomRows, leftCols - blockCols - rightCols
>>
>> sequential names:
>> startRows - innerRows - endRows, startCols - innerCols - endCols
>> or
>> firstRows - middleRows - lastRows, firstCols - middleCols - lastCols
>>
>> oldie names: headRows - ???Rows - tailRows
>>
>> What, if there are range expression object types? Would that be possible w/o
>> runtime costs?:
>> Something in the lines of:
>> blockRange<startrow, endrow, startcol, endcol> brange
>> indexRange<start, end> irange
>>
>> topRows(3) -> blockRange brange1(1,3,Dynamic,Dynamic)
>> bottomRows(3) -> blockRange brange2(-3,-1,Dynamic,Dynamic)
>> innerRows(3,2) -> blockRange brange3(3,3+2,Dynamic, Dynamic)
>>
>> =>
>> cout << "A(3..5,:) =\n" << A(brange3) << endl;
>> or
>> indexRange<3,2> irange1;
>> cout << "A(3..5,:) =\n" << A.rows(irange1) << endl;
>>
>> Cheers
>> Frank
>>
>> P.S.
>> I'm eager
>>
>>
>>
>
>
>