Re: [eigen] On lazy evaluation and temporary matrices |

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] On lazy evaluation and temporary matrices*From*: Jose Luis Blanco <joseluisblancoc@xxxxxxxxx>*Date*: Thu, 25 Nov 2010 02:45:10 +0100*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=qGQdqld+ZlNmC14UQLRvdv/KSyvkeGiys+lu1gGnz1M=; b=RvhU1PRpakXhSpDLnO45+7gDl1mrlv4Fo906Ges0yhDRrh85K/xzrlR9lhT2FRy0FI 88gIImEg7/ME0Slsb0pq43G985IPQ+qkp3mwtg6dBSq3Xw/bsShXkvuD7XbIM1tfG2gw VW5q2Y2gOcNA/Er+GIRYfDnVdnlk9CKQtMEcc=*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=uBdd1abbDjkG7prCHTj7Eza+11pr8TlAewq2Uy+WybKo7TMdiOgzaviUWMhDJ7ekIa ZK69yuXnmvEuTiuqkGzFXT2aAesZC9eZddrG5GrWi4JG7eyySX2t4LSPmDQGutgIGEES rIzQq6Yum044WPNZt+qafS77A3kliv8E4bI0g=

Hi Thomas, Thanks, I added the EIGEN_ALIGN16 macro to all the number arrays, it definitively makes sense... but it behaves exactly the same :-( Best, JL PS: And yes, it's beta3*, actually an hg checkout from a few days ago... On Thu, Nov 25, 2010 at 2:22 AM, Thomas Capricelli <orzel@xxxxxxxxxxxxxxx> wrote: > It looks like an alignement problem. You should ensure "numbers" is aligned, > see bottom of http://eigen.tuxfamily.org/dox-devel/ > > (I assume you use the devel branch.. 3.0beta*) > > regards, > > -- > > Thomas Capricelli <orzel@xxxxxxxxxxxxxxx> > > http://www.freehackers.org/thomas > > On Thursday 25 November 2010 02:01:48 Jose Luis Blanco wrote: > >> Hi guys, > >> > >> I need the help of someone knowing the inner workings of Eigen. I've > >> spent a few days stuck debugging an error in some silly computations > >> with Eigen matrices, and want to rule out potential errors... > >> Consider this code: > >> > >> ====================== > >> void func( Matrix<...> &m_out ) > >> { > >> Matrix<...> I = .... > >> const double numbers[] = { 1.0, x(), -y()*x() , whatever, .... }; > >> m_out = I * Matrix<...>(numbers); > >> } > >> > >> int main() > >> { > >> Matrix<...> M; > >> func(M); > >> cout << M << endl; > >> } > >> ====================== > >> > >> Is it a problem for the temporary object "Matrix<...>(numbers)" to be > >> created with a pointer to memory on the stack, while the evaluation of > >> the object for the matrix product is actually evaluated *out* of that > >> function (where obviously that pointer is invalid)?? > >> > >> I ask because I'm having a very erratic behavior in code like above > >> (on GCC doesn't work, it does on MSVC; adding a "cout << ..." for an > >> unrelated matrix changes the result, etc...). > >> Is it necessary to use instead: > >> > >> ( I * Matrix<...>(numbers) ).eval(); > >> > >> or not even with this .eval() is my code correct? > >> I'm still having random wrong matrix elements with and without eval(), > >> so I wanted to be sure on this part before keep on debugging... > >> > >> Thanks for your time! > >> JL > >> > >> > >> -- ___________________________________________________________ Dr. Jose-Luis Blanco-Claraco Dpt. Ing. Civil, Mat. y Fabric - Phone: +34 952 152435 E.T.S.I. Industriales - Despacho 2.037 Dpt. Ing. Sist. y Automática - Phone: +34 952 132848 E.T.S.I. Telecomunicacion - Lab. 2.3.6 Universidad de Malaga - Campus Universitario de Teatinos 29071 Malaga, Spain http://www.isa.uma.es/jlblanco http://www.mrpt.org/ ___________________________________________________________

**Follow-Ups**:**Re: [eigen] On lazy evaluation and temporary matrices***From:*Gael Guennebaud

**References**:**[eigen] On lazy evaluation and temporary matrices***From:*Jose Luis Blanco

**Re: [eigen] On lazy evaluation and temporary matrices***From:*Thomas Capricelli

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] On lazy evaluation and temporary matrices** - Next by Date:
**Re: [eigen] On lazy evaluation and temporary matrices** - Previous by thread:
**Re: [eigen] On lazy evaluation and temporary matrices** - Next by thread:
**Re: [eigen] On lazy evaluation and temporary matrices**

Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |