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

Reply via email to