diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-10-26 13:50:50 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-10-26 13:50:50 (GMT) |
| commit | e46ef289e142982d7bd592faa7b0f85470364c01 (patch) | |
| tree | cda253e03788f7db0a7cdcd05662f66b4455e298 /src/python/stdlib/test/ieee754.txt | |
| parent | d0d0d62bbcbb5c3417f8cba419c83bac192ea985 (diff) | |
| download | powder-e46ef289e142982d7bd592faa7b0f85470364c01.zip powder-e46ef289e142982d7bd592faa7b0f85470364c01.tar.gz | |
Remove Python console stuff
Diffstat (limited to 'src/python/stdlib/test/ieee754.txt')
| -rw-r--r-- | src/python/stdlib/test/ieee754.txt | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/src/python/stdlib/test/ieee754.txt b/src/python/stdlib/test/ieee754.txt deleted file mode 100644 index 89bb0c5..0000000 --- a/src/python/stdlib/test/ieee754.txt +++ /dev/null @@ -1,185 +0,0 @@ -====================================== -Python IEEE 754 floating point support -====================================== - ->>> from sys import float_info as FI ->>> from math import * ->>> PI = pi ->>> E = e - -You must never compare two floats with == because you are not going to get -what you expect. We treat two floats as equal if the difference between them -is small than epsilon. ->>> EPS = 1E-15 ->>> def equal(x, y): -... """Almost equal helper for floats""" -... return abs(x - y) < EPS - - -NaNs and INFs -============= - -In Python 2.6 and newer NaNs (not a number) and infinity can be constructed -from the strings 'inf' and 'nan'. - ->>> INF = float('inf') ->>> NINF = float('-inf') ->>> NAN = float('nan') - ->>> INF -inf ->>> NINF --inf ->>> NAN -nan - -The math module's ``isnan`` and ``isinf`` functions can be used to detect INF -and NAN: ->>> isinf(INF), isinf(NINF), isnan(NAN) -(True, True, True) ->>> INF == -NINF -True - -Infinity --------- - -Ambiguous operations like ``0 * inf`` or ``inf - inf`` result in NaN. ->>> INF * 0 -nan ->>> INF - INF -nan ->>> INF / INF -nan - -However unambigous operations with inf return inf: ->>> INF * INF -inf ->>> 1.5 * INF -inf ->>> 0.5 * INF -inf ->>> INF / 1000 -inf - -Not a Number ------------- - -NaNs are never equal to another number, even itself ->>> NAN == NAN -False ->>> NAN < 0 -False ->>> NAN >= 0 -False - -All operations involving a NaN return a NaN except for nan**0 and 1**nan. ->>> 1 + NAN -nan ->>> 1 * NAN -nan ->>> 0 * NAN -nan ->>> 1 ** NAN -1.0 ->>> NAN ** 0 -1.0 ->>> 0 ** NAN -nan ->>> (1.0 + FI.epsilon) * NAN -nan - -Misc Functions -============== - -The power of 1 raised to x is always 1.0, even for special values like 0, -infinity and NaN. - ->>> pow(1, 0) -1.0 ->>> pow(1, INF) -1.0 ->>> pow(1, -INF) -1.0 ->>> pow(1, NAN) -1.0 - -The power of 0 raised to x is defined as 0, if x is positive. Negative -values are a domain error or zero division error and NaN result in a -silent NaN. - ->>> pow(0, 0) -1.0 ->>> pow(0, INF) -0.0 ->>> pow(0, -INF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> 0 ** -1 -Traceback (most recent call last): -... -ZeroDivisionError: 0.0 cannot be raised to a negative power ->>> pow(0, NAN) -nan - - -Trigonometric Functions -======================= - ->>> sin(INF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> sin(NINF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> sin(NAN) -nan ->>> cos(INF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> cos(NINF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> cos(NAN) -nan ->>> tan(INF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> tan(NINF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> tan(NAN) -nan - -Neither pi nor tan are exact, but you can assume that tan(pi/2) is a large value -and tan(pi) is a very small value: ->>> tan(PI/2) > 1E10 -True ->>> -tan(-PI/2) > 1E10 -True ->>> tan(PI) < 1E-15 -True - ->>> asin(NAN), acos(NAN), atan(NAN) -(nan, nan, nan) ->>> asin(INF), asin(NINF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> acos(INF), acos(NINF) -Traceback (most recent call last): -... -ValueError: math domain error ->>> equal(atan(INF), PI/2), equal(atan(NINF), -PI/2) -(True, True) - - -Hyberbolic Functions -==================== - |
