Robert Kern wrote: > I think we decided long ago that an int32 really is an array of 32-bit > integers > and behaves like one.
That would apply to y*y: >>> x = 999999 >>> y = numpy.array([x]) >>> x*x 999998000001L So Python ints automatically convert to Python longs on overflow. >>> y*y array([-729379967]) numpy int32 arrays wrap... >>> z = y[0] >>> type(z) <type 'numpy.int32'> >>> z*z Warning: overflow encountered in long_scalars -729379967 int32 scalars wrap, but give a warning -- (why the warning here, but not with the array calculation?) I'm a bit confused, because I thought that when you extracted a scalar from an array, you got regular python scalar for the datatypes that are supported. This made it clear that you always get a numpy Scalar, which, in a few situations, behaves differently than a seemingly equivalent Python scalar. Have I got that right? -Chris -- Christopher Barker, Ph.D. Oceanographer NOAA/OR&R/HAZMAT (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception [EMAIL PROTECTED] ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion