From 7cd6927e7f1baff9b972b48abf5446b373b70e23 Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 20 Jun 2007 15:29:25 +0000 Subject: [PATCH] Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) FossilOrigin-Name: 406675bb1c954dae95b9059f7f533ed57e3947d9 --- manifest | 18 +++++++++--------- manifest.uuid | 2 +- src/printf.c | 2 +- src/sqliteInt.h | 6 ++---- src/vdbe.c | 4 ++-- src/vdbemem.c | 2 +- 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/manifest b/manifest index 63f9a39198..42ea6151b4 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\san\sunused\svariable\sfrom\sbtree.c.\s(CVS\s4102) -D 2007-06-20T15:14:10 +C Remove\sthe\sdependency\son\slibm\sfor\sisnan().\s\sTicket\s#2436.\s(CVS\s4103) +D 2007-06-20T15:29:25 F Makefile.in 5babd49c427a0e82e849c89a4d3c3c1e607ec014 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -99,14 +99,14 @@ F src/pager.h 94110a5570dca30d54a883e880a3633b2e4c05ae F src/parse.y ad2ce25665be7f7303137f774a4e3e72e0d036ff F src/pragma.c 0d25dad58bdfd6789943a10f1b9663c2eb85b96d F src/prepare.c 87c23644986b5e41a58bc76f05abebd899e00089 -F src/printf.c 711908d6ff3385f9882df8ff405b9e0a2a4d04df +F src/printf.c deaef57ea97557b8b53313d5c793fa4236036a0e F src/random.c 6119474a6f6917f708c1dee25b9a8e519a620e88 F src/select.c 33a258fc9c9dccb28ae2d3a02f1e1148d6433148 F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96 F src/shell.c 4b0fc3c76a9f23a1c963e01703c0fbbca1b5c34d F src/sqlite.h.in 42ec2b1e9186f08461d90b8268d06d3ae5cd9487 F src/sqlite3ext.h 7d0d363ea7327e817ef0dfe1b7eee1f171b72890 -F src/sqliteInt.h 07b0f7a4b7e849c9b96d921e9c5b32fc8802072c +F src/sqliteInt.h ed31d1a0311c1ffc018fa2e9035a6cf7985049c8 F src/sqliteLimit.h f14609c27636ebc217c9603ade26dbdd7d0f6afa F src/table.c a8de75bcedf84d4060d804264b067ab3b1a3561d F src/tclsqlite.c 4bffe56752d2c24ade23340e46a91fd92c316e08 @@ -135,14 +135,14 @@ F src/update.c 3359041db390a8f856d67272f299600e2104f350 F src/utf.c 01b2aba02b10d12903e9e1ff897215c9faf6b662 F src/util.c 80cdf6b68d03b8f0ab3237a390842e039cff66c6 F src/vacuum.c 8bd895d29e7074e78d4e80f948e35ddc9cf2beef -F src/vdbe.c 4f3e83218359fd51ae0b6efc445a97bd5f658ae4 +F src/vdbe.c a7407f045ecc35fc2a9ddeffdd06145e402a7685 F src/vdbe.h 001c5b257567c1d3de7feb2203aac71d0d7b16a3 F src/vdbeInt.h 7d2bf163d6d4e815724a457f2216dd8e38c3955c F src/vdbeapi.c 7930b9a188ab385287ca3eb3840af7225cb43549 F src/vdbeaux.c c580d3605edc2c24ba9bd26fa7aa8b4fff10daa4 F src/vdbeblob.c 96f3572fdc45eda5be06e6372b612bc30742d9f0 F src/vdbefifo.c 3ca8049c561d5d67cbcb94dc909ae9bb68c0bf8f -F src/vdbemem.c d86c25bbfe8102499ff7505fca44a779c68694d8 +F src/vdbemem.c ca4d3994507cb0a9504820293af69f5c778b4abd F src/vtab.c c5ebebf615b2f29499fbe97a584c4bb342632aa0 F src/where.c 12387641659605318ae03d87f0687f223dfc9568 F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617 @@ -508,7 +508,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P df9957b94737b76ed7b1de77bb22bb27c7ae2dcf -R dbf863d91628d68fe1b1f1f779094eae +P cb47a8297fd91becdc4e1c50fd84b3efedd3951f +R 6ebcd51f9fd0054745685eecbc671d5d U drh -Z 442eb2f8160b24ef3ebe8bd258555c56 +Z 72f79d91f079bd73d6674fde4cba4b70 diff --git a/manifest.uuid b/manifest.uuid index 501a225c50..5a3ac3ae13 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -cb47a8297fd91becdc4e1c50fd84b3efedd3951f \ No newline at end of file +406675bb1c954dae95b9059f7f533ed57e3947d9 \ No newline at end of file diff --git a/src/printf.c b/src/printf.c index e910650fe7..457dac4b8b 100644 --- a/src/printf.c +++ b/src/printf.c @@ -454,7 +454,7 @@ static int vxprintf( if( xtype==etFLOAT ) realvalue += rounder; /* Normalize realvalue to within 10.0 > realvalue >= 1.0 */ exp = 0; - if( isnan(realvalue) ){ + if( sqlite3_isnan(realvalue) ){ bufpt = "NaN"; length = 3; break; diff --git a/src/sqliteInt.h b/src/sqliteInt.h index eca83996e5..38cad64d99 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -11,7 +11,7 @@ ************************************************************************* ** Internal interface definitions for SQLite. ** -** @(#) $Id: sqliteInt.h,v 1.573 2007/06/19 15:23:48 drh Exp $ +** @(#) $Id: sqliteInt.h,v 1.574 2007/06/20 15:29:25 drh Exp $ */ #ifndef _SQLITEINT_H_ #define _SQLITEINT_H_ @@ -65,9 +65,7 @@ #include #include -#if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__BORLANDC__) -# define isnan(X) ((X)!=(X)) -#endif +#define sqlite3_isnan(X) ((X)!=(X)) /* ** If compiling for a processor that lacks floating point support, diff --git a/src/vdbe.c b/src/vdbe.c index cdee714650..8522c21a28 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -43,7 +43,7 @@ ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** -** $Id: vdbe.c,v 1.626 2007/06/15 14:53:53 danielk1977 Exp $ +** $Id: vdbe.c,v 1.627 2007/06/20 15:29:25 drh Exp $ */ #include "sqliteInt.h" #include "os.h" @@ -1188,7 +1188,7 @@ case OP_Remainder: { /* same as TK_REM, no-push */ break; } } - if( isnan(b) ){ + if( sqlite3_isnan(b) ){ goto divide_by_zero; } Release(pTos); diff --git a/src/vdbemem.c b/src/vdbemem.c index 21a27f3b28..f05e05cce9 100644 --- a/src/vdbemem.c +++ b/src/vdbemem.c @@ -436,7 +436,7 @@ void sqlite3VdbeMemSetInt64(Mem *pMem, i64 val){ ** manifest type REAL. */ void sqlite3VdbeMemSetDouble(Mem *pMem, double val){ - if( isnan(val) ){ + if( sqlite3_isnan(val) ){ sqlite3VdbeMemSetNull(pMem); }else{ sqlite3VdbeMemRelease(pMem);