Re: [eigen] Feature request - Prevent dynamic resizing of a matrix |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Feature request - Prevent dynamic resizing of a matrix
- From: "Schleimer, Ben" <bensch128@xxxxxxxxx>
- Date: Wed, 28 Jan 2009 16:10:28 -0800 (PST)
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type:Message-ID; b=0ftd8bBxPPGX68IpjiH2oZAJXdPK/gLU+HsefqLDU/vm8L45Zw1DTjc2EH/G2SOFSrIwOXgoZpGcs5c6YkO9JKpLVeJu9uMbYChnwLIJUK4VsLNV4FZhxHfc7gdeAAelcC+VeUhhehqa9n1NHlxPzcOUmE1ew2gQpLP+59B1Rac=;
The template flag seems very reasonable... IMHO
--- On Wed, 1/28/09, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> Subject: Re: [eigen] Feature request - Prevent dynamic resizing of a matrix
> To: eigen@xxxxxxxxxxxxxxxxxxx
> Date: Wednesday, January 28, 2009, 6:45 AM
> OK, this has been a tough decision. Let's recall the
> arguments on both sides.
> In favor of automatic resizing:
> 1) This is more practical for the majority
> 2) This is the usual behavior of objects in C++ and in the
> C++ STL
> 3) Because this is what STL containers assume, it's
> almost required in
> order to allow convenient usage of STL containers with
> Eigen types
> Against automatic resizing:
> 1) Exactly what you say. Indeed automatic resizing can hide
> nasty bugs.
>
> So the default behavior will stay as it is right now, but
> what you
> propose, with a #define, sounds like a good solution to me.
> I
> implement it now. I'd rather call it
> EIGEN_NO_AUTOMATIC_RESIZING
> because i think we still want to allow explicitly calling
> resize().
>
> Notice that one could also consider implementing this
> behavior as a
> matrix type option. So you would do
> typedef Eigen::Matrix<float, Eigen::Dynamic,
> Eigen::Dynamic,
> Eigen::NonResizable> MyMat;
> and then objects of type MyMat have this behavior. Stuff to
> consider for 2.1...
>
> Cheers,
> Benoit
>
> 2009/1/28 Timothy Hunter <tjhunter@xxxxxxxxxxxx>:
> > Hello all,
> > I has been decided that the operator=(A,B) would
> resize A if it does
> > not fit the size of B, right?
> > I had a bug in my code I had problems to detect
> because of this
> > feature. It would be nice to have an assert that fails
> if the matrices
> > are of different size, and let the user decide to use
> this assert with
> > some flag definitions like
> EIGEN_DO_NOT_RESIZE_DYNAMIC_MATRICES.
> > Is it possible to do it with the current code?
> >
> > -- Timothy Hunter
> >
> >
> >