Fix the log(B,N) function so that it works for 0.0<B<1.0.

[bugs:/info/2026-10-26T16:32:25Z|Bug 2026-10-26T16:32:25Z]

FossilOrigin-Name: 994f05ccd131604c5c6296fab93c1bb1e936ce5ef70d1168abf275c3f30a0158
This commit is contained in:
drh committed 2026-10-28 00:20:35 +00:00
1 parent 37a6d8d4e4
commit 3cf93639e3
4 files changed
+12 -11

No files matched your search

+7 -7
View File
@@ -1,5 +1,5 @@
C When\saggregate\scontent\spasses\sthrough\sthe\ssorter\sto\simplement\sGROUP\sBY\nit\sloses\sits\ssubtype.\s\sSo\sdo\snot\spass\sJSON\svalues\sfrom\san\sindex\son\san\nexpression\sthrough\sthe\ssorter\nand\sinto\sa\sJSON\saggregate,\sas\sthat\soptimization\swill\snot\swork.\n[bugs:/info/2026-10-27T20:02:01Z|Bug\s2026-10-27T20:02:01Z]
D 2026-10-28T00:00:01.733
C Fix\sthe\slog(B,N)\sfunction\sso\sthat\sit\sworks\sfor\s0.0<B<1.0.\n[bugs:/info/2026-10-26T16:32:25Z|Bug\s2026-10-26T16:32:25Z]
D 2026-10-28T00:20:35.200
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -763,7 +763,7 @@ F src/delete.c f3f07c1fb6ac87fac2425d48fd40ecb2f24a4495a9966f5a939668d3576916c8
F src/expr.c 27e53abcb148c0aa2063fcd7763c84f98ffdb6e1dbe45a631d86ad9a65b3c9d0
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c b5dd0cb20393ccac7bed59e7a52f40f50ff37e68f4e27dd1eaac8b5f171ab317
F src/func.c 8c500a079a52d789613b173ba1894b143f8e38009bab224179bc89d3493201a0
F src/func.c 0df641e0153fb9f03aa48174f7bc95371dbd198a398b61b8e7b115a818d540d6
F src/global.c 7eea537ac0c113ac55cb2dd4d8fc2a6a91ae478be34231b4efaffc46817fee85
F src/hash.c 73934a7f7ab1cb110614a9388cb516893b0cf5b7b69e4fd1a0780ac4ce166be7
F src/hash.h 46b92795a95bfefb210f52f0c316e9d7cdbcdd7e7fcfb0d8be796d3a5767cddf
@@ -1324,7 +1324,7 @@ F test/func3.test 6b22dfada95b778d01dba75aa00fa8e6a1fb90d30b859241638e7540edcfb3
F test/func4.test a02e695f62beb31cb092dccf6873ff97543407fff97a5f3ec4da70b5b337bc84
F test/func5.test 863e6d1bd0013d09c17236f8a13ea34008dd857d87d85a13a673960e4c25d82a
F test/func6.test 3bc89ec0f2605736d3a118f43d25ef58115a7db4dba8ae939a363917d815c0bb
F test/func7.test 9896bee8cab608b2ac3a31548e9a1e860fdd1ba30be1707b0d025fee516fdddf
F test/func7.test 277b61004f8e85c4048db0b8d27e9f334905aed8c3c4ef42ac6266ccc2210594
F test/func8.test c4e2ecacf9f16e47a245e7a25fbabcc7e78f9c7c41a80f158527cdfdc6dd299d
F test/func9.test 32c7d53b9bc99ddd45fad29457add438f2aca43d24920793773a96b13610f552
F test/fuzz-oss1.test 514dcabb24687818ea949fa6760229eaacad74ca70157743ef36d35bbe01ffb0
@@ -2303,8 +2303,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
P 6b66b52ab29511e0e9d775892bad4eb0b29a5d25289feeaed2eafe004e1e920a
R 45b343b9744f52b205dfd062e720c7dc
P 9887cc52346ff30b54b6236069883dd929df217a3ee80a32e8920cf6a439cf88
R ee3aaa0e941c89e57d3b5dbe75e8354c
U drh
Z 8fb3339c4e67a9ba84bd92adb2859cab
Z 6312ec32480fbd51635bcdbcd2aa1aec
# Remove this line to create a well-formed Fossil manifest.
+1 -1
View File
@@ -1 +1 @@
9887cc52346ff30b54b6236069883dd929df217a3ee80a32e8920cf6a439cf88
994f05ccd131604c5c6296fab93c1bb1e936ce5ef70d1168abf275c3f30a0158
+1 -1
View File
@@ -2581,7 +2581,7 @@ static void logFunc(
case SQLITE_INTEGER:
case SQLITE_FLOAT:
b = log(x);
if( b<=0.0 ) return;
if( b==0.0 ) return;
x = sqlite3_value_double(argv[1]);
if( x<=0.0 ) return;
break;
+3 -2
View File
@@ -32,8 +32,9 @@ do_execsql_test func7-210 {
} {{} {}}
db null NULL
do_execsql_test func7-220 {
SELECT log(2,8), log(2,'8'), log(2,'8xyz'), log(2,x'38');
} {3.0 3.0 NULL NULL}
SELECT log(2,8), log(2,'8'), log(2,'8xyz'), log(2,x'38'),
log(0.5,8), log(0.0,8.0), log(1.0,8.0);
} {3.0 3.0 NULL NULL -3.0 NULL NULL}
db null {}
# Test cases derived from PostgreSQL documentation