Fons, here's my little code review: The "bug" is harmless, because the WbinVec variable is used only if WBIN is considered True, and WBIN is actually a constant set to 0.
-- Marc Le Tue, 18 Mar 2014 01:01:25 +0000, Fons Adriaensen <f...@linuxaudio.org> a écrit : > On Mon, Mar 17, 2014 at 05:06:32PM -0700, Aaron Heller wrote: > > On Mon, Mar 17, 2014 at 1:09 PM, Fons Adriaensen > > <f...@linuxaudio.org>wrote: > > > > > On Mon, Mar 17, 2014 at 06:05:11PM +0100, /dav/random wrote: > > > > > > > The project is called IDHOA and the code is hosted here [1] > > > > under GPL . > > > > > > (after automatic conversion to python3) > > > > > > Traceback (most recent call last): > > > File "./main.py", line 32, in <module> > > > from constants import * > > > File "/data/build/idhoa/constants.py", line 106, in <module> > > > WbinVec = fu.Wbinary() > > > File "/data/build/idhoa/functions.py", line 525, in Wbinary > > > return thetaTest > thetaThreshold > > > TypeError: unorderable types: list() > float() > > > > > > > > > It runs fine in Python 2.7 with NLOpt 2.4.1 > > > > It took about 370 seconds to solve the example speaker array at > > 3rd-order. From a quick look at the usual performance metrics, the > > resulting coefficients look pretty good for a challenging array. > > It turns out that Python 2 allows to compare a list of floats > to a float. But the result is probably not what the authors > assumed it to be: > > Python 2.7.6 (default, Nov 26 2013, 12:52:49) > [GCC 4.8.2] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> A = [0.1, 0.2, 0.3] > >>> A > 1000 > True > >>> A > -1000 > True > >>> A < 1000 > False > >>> A < -1000 > False > >>> > > In other words, the compare that Python 3 refuses will always > return True in Python 2. I suspect this is a bug. > > Ciao, _______________________________________________ Sursound mailing list Sursound@music.vt.edu https://mail.music.vt.edu/mailman/listinfo/sursound