summaryrefslogtreecommitdiff
path: root/tests/float/float2int_doubleprec.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/float/float2int_doubleprec.py')
-rw-r--r--tests/float/float2int_doubleprec.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/float/float2int_doubleprec.py b/tests/float/float2int_doubleprec.py
new file mode 100644
index 000000000..c6fe3783e
--- /dev/null
+++ b/tests/float/float2int_doubleprec.py
@@ -0,0 +1,21 @@
+# check cases converting float to int, requiring double precision float
+
+# This case occurs with time.time() values
+print(int(1418774543.))
+print("%d" % 1418774543.)
+
+testpass = True
+for i in range(0,1024):
+ bitcnt = len(bin(int(2.**i))) - 3;
+ if i != bitcnt:
+ print('fail: 2**%u was %u bits long' % (i, bitcnt));
+ testpass = False
+print("power of 2 test: %s" % (testpass and 'passed' or 'failed'))
+
+testpass = True
+for i in range(0,23):
+ digcnt = len(str(int(10.**i))) - 1;
+ if i != digcnt:
+ print('fail: 10**%u was %u digits long' % (i, digcnt));
+ testpass = False
+print("power of 10 test: %s" % (testpass and 'passed' or 'failed'))