On Sat, May 24, 2008 at 9:37 PM, Charles R Harris <[EMAIL PROTECTED]> wrote: > > > On Sat, May 24, 2008 at 8:25 PM, Robert Kern <[EMAIL PROTECTED]> wrote: >> >> On Sat, May 24, 2008 at 9:09 PM, Charles R Harris >> <[EMAIL PROTECTED]> wrote: >> > >> > On Sat, May 24, 2008 at 7:47 PM, Robert Kern <[EMAIL PROTECTED]> >> > wrote: >> >> >> >> On Sat, May 24, 2008 at 8:31 PM, Charles R Harris >> >> <[EMAIL PROTECTED]> wrote: >> >> > Hi All, >> >> > >> >> > I'm writing tests for ufuncs and turned up some oddities: >> >> > >> >> > In [4]: degrees(True) >> >> > Out[4]: 57.29578 >> >> > >> >> > In [5]: radians(True) >> >> > Out[5]: 0.017453292 >> >> > >> >> > In [6]: sin(True) >> >> > Out[6]: 0.84147096 >> >> > >> >> > Do we want numeric functions to apply to booleans? >> >> >> >> I don't see a good reason to prevent it. They are just 0 and 1 under >> >> the covers and behave like it everywhere else (e.g. True + True == 2 >> >> and the very useful boolean_mask.sum()). >> > >> > True + True == 1 >> >> No, True + True == 2. Try it. We might have made boolean arrays behave >> differently than Python bool objects, but that's not what I wrote. > > Robert, the C code in the inner loop is generated with > > /**begin repeat > > #TYPE=(BOOL, > BYTE,UBYTE,SHORT,USHORT,INT,UINT,LONG,ULONG,LONGLONG,ULONGLONG,FLOAT,DOUBLE,LONGDOUBLE)*2# > #OP=||, +*13, ^, -*13# > #kind=add*14, subtract*14# > #typ=(Bool, byte, ubyte, short, ushort, int, uint, long, ulong, longlong, > ulonglong, float, double, longdouble)*2# > */ > > Note that || is not the same as +. Also note that subtract is implemented as > xor.
I'm not sure why you're showing me numpy C code. I am talking about the Python bools True and False. $ python Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04) [GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> True + True 2 -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion