On Oct 26, 2006, at 12:26, Travis Oliphant wrote: > Charles R Harris wrote: >> >> >> On 10/26/06, *Travis Oliphant* <[EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]>> wrote: >> >> Ted Horst wrote: >>> On Mac OS X tiger (10.4) ppc, long double has increased >> precision but >>> the same range as double (it really is 128 bits not 80, btw), so >>> e**1000 is inf, so this is not really an error. >>> >>> >> >> Thanks for the clarification. Long-double is not standard >> across >> platforms with different platforms choosing to do different >> things >> with >> the extra bytes. This helps explain one more platform. >> >>> I'm not sure what is the right thing to do in the test, check for >>> overflow? Also, finfo has never worked properly for this type. >>> >> In machar.py is the code that runs to detect all of the >> parameters. I >> think the code should be moved to C as detecting precision on a >> long-double takes too long. >> >> The overflow check is a good idea. The test should probably >> check for >> overflow and not try to run if it's detected. >> >> >> How to check overflow? According to the documentation the flag is not >> set by the hardware. And the precision is variable! Somewhere in the >> neighborhood of 31 decimal digits, more or less, depending. So I >> think >> it is hard to figure out what to do here. > > Let's drop the test. Long-double is available but is not consistent > across platforms and NumPy has done nothing to try and make it so. > Thus, let's just let the user beware. > > -Travis
Yeah, that seem like the thing to do. Just for completeness: >>> N.seterr(all = 'raise') >>> fa = N.array([1e308], dtype=N.float) >>> lfa = N.array([1e308], dtype=N.longfloat) >>> fa + fa Traceback (most recent call last): File "<stdin>", line 1, in ? FloatingPointError: overflow encountered in add >>> lfa + lfa Traceback (most recent call last): File "<stdin>", line 1, in ? FloatingPointError: overflow encountered in add >>> N.exp(fa) Traceback (most recent call last): File "<stdin>", line 1, in ? FloatingPointError: overflow encountered in exp >>> N.exp(lfa) array([inf], dtype=float128) Ted ------------------------------------------------------------------------- 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