Registered Member
|
Hi there,
Using the lastest development version of Eigen2 (from today morning) and compiling it on MacOS X 10.6 I obtain a nasty compile error. The reason is a different API of std::pow comparing MacOS and Linux. I insert the console output in here:
This error does not appear on various Linux systems. It also works fine with the official release of Eigen, version 2.0.6 Thanks for listening and for supporting this library! |
Registered Member
|
Seb:
- you can quickly fix this error by editing Core/StableNorm.h and making replacing "iexp" by "RealScalar(iexp)" in these calls to std::pow(). The problem is that GCC is confused because Mac provides only pow(int,int) and pow(double,double) and here one is trying to call pow(double,int). Gael: questions/comments: 1) isn't radix always just equal to 2? If yes, replace pow(radix,iexp) by 1<<iexp ? 2) The assertion at line 115 guards for something that isn't a memory error, and that is purely a platform check. Hence it should be moved to unit tests. Right?
Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list! |
Moderator
|
ok problem fixed now. I've also moved the platform check to the unit tests as you suggested.
|
Registered Member
|
Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]