Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch floating-point-conversions Excluding Merge-Ins
This is equivalent to a diff from 699b792c to 0f706acf
2012-06-21
| ||
15:22 | Merge changes to trunk that ensure that floating point values are exactly preserved on a round-trip through ".dump". (check-in: 4cebd607 user: drh tags: trunk) | |
15:02 | Disable the atof1.test module when compiling on MSVC. (Closed-Leaf check-in: 0f706acf user: drh tags: floating-point-conversions) | |
2012-06-19
| ||
06:35 | Add tests to check that the "unicode61" and "icu" tokenizers both identify white-space codepoints outside the ASCII range. (check-in: bfb2d473 user: dan tags: trunk) | |
04:36 | Move variable declaration to fix compilation with MSVC. (check-in: d45f7a01 user: mistachkin tags: floating-point-conversions) | |
03:11 | Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. (check-in: 8ecffca9 user: drh tags: floating-point-conversions) | |
00:45 | Improved rounding accuracy on text-to-float conversions. (check-in: 699b792c user: drh tags: trunk) | |
2012-06-18
| ||
20:52 | Fix a problem with identifying white-space characters outside of the ascii range in the ICU tokenizer. (check-in: 892b7411 user: dan tags: trunk) | |
Changes to src/func.c.
︙ | |||
859 860 861 862 863 864 865 | 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 | - - + + + + + + + + + + + + + | ** "NULL". Otherwise, the argument is enclosed in single quotes with ** single-quote escapes. */ static void quoteFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ assert( argc==1 ); UNUSED_PARAMETER(argc); switch( sqlite3_value_type(argv[0]) ){ |
︙ |
Changes to src/printf.c.
︙ | |||
120 121 122 123 124 125 126 | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | - + + | ** The counter *cnt is incremented each time. After counter exceeds ** 16 (the number of significant digits in a 64-bit float) '0' is ** always returned. */ static char et_getdigit(LONGDOUBLE_TYPE *val, int *cnt){ int digit; LONGDOUBLE_TYPE d; |
︙ | |||
424 425 426 427 428 429 430 | 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 | + - - - + + + + + | exp = 0; if( sqlite3IsNaN((double)realvalue) ){ bufpt = "NaN"; length = 3; break; } if( realvalue>0.0 ){ LONGDOUBLE_TYPE scale = 1.0; |
︙ | |||
459 460 461 462 463 464 465 | 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 | - + - + | if( exp<-4 || exp>precision ){ xtype = etEXP; }else{ precision = precision - exp; xtype = etFLOAT; } }else{ |
︙ |
Changes to src/test_config.c.
︙ | |||
612 613 614 615 616 617 618 619 620 621 622 623 624 625 | 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 | + + + + + + + + + + + + + + + | LINKVAR( MAX_DEFAULT_PAGE_SIZE ); { static const int cv_TEMP_STORE = SQLITE_TEMP_STORE; Tcl_LinkVar(interp, "TEMP_STORE", (char *)&(cv_TEMP_STORE), TCL_LINK_INT | TCL_LINK_READ_ONLY); } #ifdef _MSC_VER { static const int cv__MSC_VER = 1; Tcl_LinkVar(interp, "_MSC_VER", (char *)&(cv__MSC_VER), TCL_LINK_INT | TCL_LINK_READ_ONLY); } #endif #ifdef __GNUC__ { static const int cv___GNUC__ = 1; Tcl_LinkVar(interp, "__GNUC__", (char *)&(cv___GNUC__), TCL_LINK_INT | TCL_LINK_READ_ONLY); } #endif } /* ** Register commands with the TCL interpreter. */ int Sqliteconfig_Init(Tcl_Interp *interp){ |
︙ |
Changes to test/atof1.test.
︙ | |||
10 11 12 13 14 15 16 17 18 | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | + + + + + - + - - - - + + + + + + + + + + + + + + + + + + + + + + + | #*********************************************************************** # # Tests of the sqlite3AtoF() function. # set testdir [file dirname $argv0] source $testdir/tester.tcl if {![info exists __GNUC__]} { finish_test return } expr srand(1) |
Changes to test/date.test.
︙ | |||
147 148 149 150 151 152 153 | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | - + | datetest 2.51 {datetime('2003-10-22 12:24','nonsense')} NULL datetest 3.1 {strftime('%d','2003-10-31 12:34:56.432')} 31 datetest 3.2.1 {strftime('pre%fpost','2003-10-31 12:34:56.432')} pre56.432post datetest 3.2.2 {strftime('%f','2003-10-31 12:34:59.9999999')} 59.999 datetest 3.3 {strftime('%H','2003-10-31 12:34:56.432')} 12 datetest 3.4 {strftime('%j','2003-10-31 12:34:56.432')} 304 |
︙ |
Changes to test/func.test.
︙ | |||
308 309 310 311 312 313 314 | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | - + | do_test func-4.36 { execsql {SELECT round(99999999999994.5);} } {99999999999995.0} do_test func-4.37 { execsql {SELECT round(9999999999999.55,1);} } {9999999999999.6} do_test func-4.38 { |
︙ |