]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix the decoding of subnormal values in the ieee754 extension.
authordrh <drh@noemail.net>
Wed, 24 Jun 2020 13:52:10 +0000 (13:52 +0000)
committerdrh <drh@noemail.net>
Wed, 24 Jun 2020 13:52:10 +0000 (13:52 +0000)
FossilOrigin-Name: 838817b680f02b3845d6d56f85d5d36fa5ae7453afef7a1a5a24624255f2dc3e

ext/misc/ieee754.c
manifest
manifest.uuid

index 40ee69c4541cd3b3b6eb672b03fcded3093f7301..403b08aba1a7eeea3769ea031f7441ce667b561a 100644 (file)
@@ -77,7 +77,11 @@ static void ieee754func(
     }else{
       e = a>>52;
       m = a & ((((sqlite3_int64)1)<<52)-1);
-      m |= ((sqlite3_int64)1)<<52;
+      if( e==0 ){
+        m <<= 1;
+      }else{
+        m |= ((sqlite3_int64)1)<<52;
+      }
       while( e<1075 && m>0 && (m&1)==0 ){
         m >>= 1;
         e++;
index 96f842691fbdc4f9193d1ff3d32ee197116efebd..ca3555092de9a8b67326d36a4755d0d121c30a84 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,12 +1,12 @@
 B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
-C In\sthe\sone-argument\sversion\sof\sthe\sieee754()\sextension\sfunction,\sif\sthe\nargument\sis\san\s8-byte\sblob,\sinterpret\sthat\sblob\sas\sa\sbinary64\sfloating\spoint\nand\sdecode\sit.
-D 2020-06-24T13:14:00.385
+C Fix\sthe\sdecoding\sof\ssubnormal\svalues\sin\sthe\sieee754\sextension.
+D 2020-06-24T13:52:10.631
 F Makefile.in 014ad669b4a5809752939c2dea83722992711b464aa56adebca80c5cc98cfdc2
 F Makefile.msc 08c8bbedfa51e21b57153370edbfee86d35bbefb53e3773a3e086fe654facccb
 F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
 F ext/lsm1/lsm_unix.c 11e0a5c19d754a4e1d93dfad06de8cc201f10f886b8e61a4c599ed34e334fc24
 F ext/misc/decimal.c c1897f624893d1c12e3c879d97ca7d1c4a36cae10d32afe632779de78c4aaa4f
-F ext/misc/ieee754.c 527917ceea0e5e822857004dd155bf4d76610360e46c875f0c8c619761528758
+F ext/misc/ieee754.c 94846ee4b2e7a77faf9980b36b9862b67735991448665a1ef9888254697e60db
 F main.mk c99e452dd4edd0bea28547259421bd6cf24d41d928d24720737efc548958ca39
 F src/build.c ba1bbe563a3dc02d5fed20537603181e5289c13ea30ae5e775f552e7557adbfa
 F src/shell.c.in a46df1496dea229614a14ca1c517f9e4bfecf6e3867cc6a4a129b311f3ad8c9c
@@ -16,7 +16,7 @@ F test/speedtest1.c ea201573f9b27542ea1e74a68e74f121e0eb04c89e67039f40ed68f1b833
 F tool/mkautoconfamal.sh f62353eb6c06ab264da027fd4507d09914433dbdcab9cb011cdc18016f1ab3b8
 F tool/mksqlite3c.tcl f4ef476510eca4124c874a72029f1e01bc54a896b1724e8f9eef0d8bfae0e84c
 F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
-P 5391687bf8563b3fdd157b436b2cbb6a0ee5f676727d41bbddfaa8eacc39729b
-R 9df1873b31c9843b7d8070e95e535ae7
+P 4199c1e8aa47d77df3ef598cb6f5418f67970dd00f34823463c85eabfc8d2b77
+R ba2656328834bfd4a44f83b197706ae6
 U drh
-Z e294649fafe56ea83e41b8415698390e
+Z 3f979f9393c7d6c04f34a16bcf1ccd28
index f249cc4086377ec942537d9fe63c02ad11c99d0c..aceb83dacbde533eb43502ab8e6fbd4245b42519 100644 (file)
@@ -1 +1 @@
-4199c1e8aa47d77df3ef598cb6f5418f67970dd00f34823463c85eabfc8d2b77
\ No newline at end of file
+838817b680f02b3845d6d56f85d5d36fa5ae7453afef7a1a5a24624255f2dc3e
\ No newline at end of file