diff options
author | drh <drh@noemail.net> | 2016-09-20 22:04:05 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-09-20 22:04:05 +0000 |
commit | 09952c6490fb1004055bd4a1c83d85fa781da1f2 (patch) | |
tree | 4e4f6bc76ae655916985d9d38857bf84400013d4 /test/expr.test | |
parent | d8992cef36568fcc8b42e5c3c6e4bc7999d8b7db (diff) | |
download | sqlite-09952c6490fb1004055bd4a1c83d85fa781da1f2.tar.gz sqlite-09952c6490fb1004055bd4a1c83d85fa781da1f2.zip |
Improved implementation of 64-bit signed integer multiply that correctly
detects overflow (and promotes to floating-point) in some corner cases.
Fix for ticket [1ec41379c9c1e400]
FossilOrigin-Name: db3ebd7c52cfc5fcc7be00f52e9d7c84719f7b93
Diffstat (limited to 'test/expr.test')
-rw-r--r-- | test/expr.test | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/expr.test b/test/expr.test index 7d7b8ce5a..7a6d47725 100644 --- a/test/expr.test +++ b/test/expr.test @@ -308,6 +308,33 @@ ifcapable floatingpoint {if {[working_64bit_int]} { test_realnum_expr expr-1.257\ {i1=-4294967296, i2=-2147483647} {i1*i2} 9223372032559808512 + test_realnum_expr expr-1.260\ + {i1=3037000500, i2=3037000500} {i1*i2} 9.22337203700025e+18 + test_realnum_expr expr-1.261\ + {i1=3037000500, i2=-3037000500} {i1*i2} -9.22337203700025e+18 + test_realnum_expr expr-1.262\ + {i1=-3037000500, i2=3037000500} {i1*i2} -9.22337203700025e+18 + test_realnum_expr expr-1.263\ + {i1=-3037000500, i2=-3037000500} {i1*i2} 9.22337203700025e+18 + + test_realnum_expr expr-1.264\ + {i1=3037000500, i2=3037000499} {i1*i2} 9223372033963249500 + test_realnum_expr expr-1.265\ + {i1=3037000500, i2=-3037000499} {i1*i2} -9223372033963249500 + test_realnum_expr expr-1.266\ + {i1=-3037000500, i2=3037000499} {i1*i2} -9223372033963249500 + test_realnum_expr expr-1.267\ + {i1=-3037000500, i2=-3037000499} {i1*i2} 9223372033963249500 + + test_realnum_expr expr-1.268\ + {i1=3037000499, i2=3037000500} {i1*i2} 9223372033963249500 + test_realnum_expr expr-1.269\ + {i1=3037000499, i2=-3037000500} {i1*i2} -9223372033963249500 + test_realnum_expr expr-1.270\ + {i1=-3037000499, i2=3037000500} {i1*i2} -9223372033963249500 + test_realnum_expr expr-1.271\ + {i1=-3037000499, i2=-3037000500} {i1*i2} 9223372033963249500 + }} ifcapable floatingpoint { |