]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Increase the number of floating-point precision test cases by 9x, and
authordrh <>
Tue, 17 Feb 2026 14:02:27 +0000 (14:02 +0000)
committerdrh <>
Tue, 17 Feb 2026 14:02:27 +0000 (14:02 +0000)
increase the require precision to 16 digits.

FossilOrigin-Name: 62c2cf74db5e47f975d1f47818f82f060ddecad4b68c4d4dbc6190cc9a8fc397

manifest
manifest.uuid
test/fpconv1.test

index 993d6a84c61d3cbfbf2e410fd01fde793a6cddc5..2d0d4dae16f430b21f75d9453c8e110a999d2b14 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sharmless\scompiler\swarning\sfrom\sMSVC.
-D 2026-02-17T12:23:12.724
+C Increase\sthe\snumber\sof\sfloating-point\sprecision\stest\scases\sby\s9x,\sand\nincrease\sthe\srequire\sprecision\sto\s16\sdigits.
+D 2026-02-17T14:02:27.515
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -1130,7 +1130,7 @@ F test/fordelete.test ba98f14446b310f9c9d935b97ec748753d0144a28b356ba30d1f4f6958
 F test/fork-test.c 9ac2e6423a1d38df3d6be0e8ac15608b545de21e2b19d9d876254c5931b63edb
 F test/format4.test eeae341953db8b6bda7f549044797c3278a6cc345d11ada81471671b654f8ef4
 F test/fp-speed-1.c b37de94eba034e1703668816225f54510ec60fb0685406608cc707afe6b8234d
-F test/fpconv1.test d5d8aa0c427533006c112fb1957cdd1ea68c1d0709470dabb9ca02c2e4c06ad8
+F test/fpconv1.test ac9616f36ac8b8bc16b78f389978d8fb1420f53c1fc93d2793a9553ca2755f72
 F test/fts-9fd058691.test 78b887e30ae6816df0e1fed6259de4b5a64ad33c
 F test/fts3.test 672a040ea57036fb4b6fdc09027c18d7d24ab654
 F test/fts3_common.tcl dffad248f9ce090800e272017d2898005c28ee6314fc1dd5550643a02666907a
@@ -2194,8 +2194,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d
-R 5886af748abe9a72a68682d3ad979bc9
+P 12f3a6d0aaff8818c427d79e2b9394328625b3a60ccaa7b628d064084c65cfaf
+R bcf6cb540190f93195962d583ed6f2e0
 U drh
-Z 7efc95a8fc6e07536942a6656313d09e
+Z 9f6a9fb600611e6d6cb6106d77d50061
 # Remove this line to create a well-formed Fossil manifest.
index adb55eb16fcf072fd2f99e61aeca03e7f621186b..df4ea7b5bf06407fd762ebb6d45a9b99a76dc1e0 100644 (file)
@@ -1 +1 @@
-12f3a6d0aaff8818c427d79e2b9394328625b3a60ccaa7b628d064084c65cfaf
+62c2cf74db5e47f975d1f47818f82f060ddecad4b68c4d4dbc6190cc9a8fc397
index 195fdf990488feaaa8cfb2057ec174a95ee44be8..7b052d78b280d57b839603aa91748926ead3ae54 100644 (file)
@@ -26,19 +26,20 @@ sqlite3_create_function db
 do_execsql_test fpconv1-1.0 {
   WITH RECURSIVE
        /* Number of random floating-point values to try.
-       ** On a circa 2016 x64 linux box, this test runs at
-       ** about 80000 cases per second  -------------------vvvvvv */
-    c(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM c WHERE x<100000),
+       ** On a circa 2021 Ryzen 5950X running Mint Linux, and
+       ** compiled with -O0 -DSQLITE_DEBUG, this test runs at
+       ** about 150000 cases per second  ------------------vvvvvv */
+    c(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM c WHERE x<900000),
     fp(y) AS MATERIALIZED (
        SELECT CAST( format('%+d.%019d0e%+03d',
                            random()%10,abs(random()),random()%200) AS real)
         FROM c
     )
   SELECT y FROM fp
-   WHERE -log10(abs(decimal_sub(dtostr(y,24),format('%!.24e',y))/y))<15.0;
+   WHERE -log10(abs(decimal_sub(dtostr(y,24),format('%!.24e',y))/y))<16.0;
                      /* Number of digits of accuracy required -------^^^^ */
 } {}
 #  ^---- Expect a empty set as the result.  The output is all tested numbers
-#        that fail to preserve at least 15 significant digits of accuracy.
+#        that fail to preserve at least 16 significant digits of accuracy.
 
 finish_test