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: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Sun, 27 Jun 2010 14:52:46 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=WTwp0NDR6RrENnE05VEWI0aC2au/9t6mCKlwsJ+EH5I=; b=mgVEmNj05T2DEpizppgmwk9am3B23nj0aXyZ80DexYDrnox7g7RBRFAN+KW38P5FX+ JrhsSoinPfGCb1RGkwNRLUJDdAfnZDxB0j+8VIQDrCr9nU59P8QGU4m5of3P5VB+38GI EfLJzTjARe7+t+cPQ3qWh1+vvzgTA8kX4fbe0=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=dJvkd1uBZJursoFFdLJKdTOSnVQczYBQTF9qvftXM0LdbyxuP8P+vED5nS/9H0Ot0+ LVu3797UCgKMGroaL7qeEN28UNZCMl2ncCjv/JjRG62qZMxknJEsfCuYKzS9P9oJrCWY RDs0LNqu7gkSpflJI7TmFNSabqTJ/DyuqIpBA=
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
>
>
>