int isNeg;
char zResult[100];
assert( sizeof(m)==sizeof(r) );
- if( sqlite3_value_type(argv[0])!=SQLITE_FLOAT ) return;
- r = sqlite3_value_double(argv[0]);
+ if( sqlite3_value_type(argv[0])==SQLITE_BLOB
+ && sqlite3_value_bytes(argv[0])==sizeof(r)
+ ){
+ const unsigned char *x = sqlite3_value_blob(argv[0]);
+ int i;
+ sqlite3_uint64 v = 0;
+ for(i=0; i<sizeof(r); i++){
+ v = (v<<8) | x[i];
+ }
+ memcpy(&r, &v, sizeof(r));
+ }else{
+ r = sqlite3_value_double(argv[0]);
+ }
if( r<0.0 ){
isNeg = 1;
r = -r;
B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
-C Add\sthe\sdecimal\sextension.\s\sIt\sis\sbuilt\sinto\sthe\sshell,\sbut\sis\san\soptional\nadd-on\sfor\sthe\slibrary.\s\sIt\sis\snot\sincluded\sin\sthe\samalgamation.
-D 2020-06-24T12:29:19.193
+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
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 main.mk c99e452dd4edd0bea28547259421bd6cf24d41d928d24720737efc548958ca39
F src/build.c ba1bbe563a3dc02d5fed20537603181e5289c13ea30ae5e775f552e7557adbfa
F src/shell.c.in a46df1496dea229614a14ca1c517f9e4bfecf6e3867cc6a4a129b311f3ad8c9c
F tool/mkautoconfamal.sh f62353eb6c06ab264da027fd4507d09914433dbdcab9cb011cdc18016f1ab3b8
F tool/mksqlite3c.tcl f4ef476510eca4124c874a72029f1e01bc54a896b1724e8f9eef0d8bfae0e84c
F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
-P d45c27a3e5edaa2bd9ff0473e18c6536aa5d15f9a4d22dfee894a5ee4347f8d7 e1416c8b0628afa062d8cff40d0cd3576dc85460e55b21a271f88fcb608b9f59
-R 1dc74743de9bc456bb43ec5af60d4adc
-T +closed e1416c8b0628afa062d8cff40d0cd3576dc85460e55b21a271f88fcb608b9f59
+P 5391687bf8563b3fdd157b436b2cbb6a0ee5f676727d41bbddfaa8eacc39729b
+R 9df1873b31c9843b7d8070e95e535ae7
U drh
-Z 36be594520b9cc692897ded1e5b06833
+Z e294649fafe56ea83e41b8415698390e