stephan
6af10b0efd
Refactor the uint128 type check to consolidate duplicated rules.
...
FossilOrigin-Name: 362ef7bc00eea180fb3458bd8887021aed54e321901483edc00ad6b23a33d8e5
2026-04-27 06:48:07 +00:00
stephan
70d1e3e75e
Feature detection fix for uint128 on RISCV 32-bit, reported in [forum:f8d1417ce8eb2f22|forum post 2026-04-26T11:41:01Z] and validated by the OP.
...
FossilOrigin-Name: c4a2c20839ef75534d71d928a03ad276bdc488b0baa76c1505f48dc1ff0bcdd1
2026-04-27 05:55:38 +00:00
drh
8cdc2abf07
Attempt to work around a bug in legacy Microsoft compilers.
...
[forum:/forumpost/2026-04-10T06:33:11z|Forum post 2026-04-10T06:33:11z].
FossilOrigin-Name: 661e1413625f55c37e2cd4d785074576d355e125231bbc1dd0a511a2b02c8e3b
2026-04-10 10:48:04 +00:00
drh
b060cecb2e
Remove an unused variable in sqlite3Reindex(). Minor enhancements to the
...
header comment on sqlite3AtoF().
FossilOrigin-Name: fbba900728d444f6a0b428197ebb41fe039b235e18caa2243c9f8f04fce42595
2026-03-30 10:00:48 +00:00
drh
03f13d77a5
Avoid using unsigned 64-bit integer division on platforms that do not support
...
it in hardware.
FossilOrigin-Name: 2197677491dfc5ec87b57bbf807776875248a250f80ce9a5ce94ae385bb1d2bc
2026-03-29 19:06:36 +00:00
drh
445fbc61c8
The _umulh() intrinsic function is not available on 32-bit windows. So don't
...
use it there.
FossilOrigin-Name: e75f30c7e66e725a2f3f46c7d4d69a2ff925e2de9a86c3a6ec38897545b43a58
2026-03-29 10:32:25 +00:00
drh
00c6eca32c
Enable the use of intrinsic high-precision multiplies on Windows ARM.
...
Make the SQLITE_DISABLE_INTRINSIC option effective on high-precision
multiple subroutines, for testing purposes.
FossilOrigin-Name: efb6212de4ca998546329b06b43122f0fffa3759e4615ca3357ef9fa13606d44
2026-03-27 16:09:10 +00:00
drh
d4af925e34
Enhance the return value from sqlite3AtoF() so that it reports if the input
...
includes more than 19.25 significant digits.
FossilOrigin-Name: 1721c8da769816ca16104cd636299d84f682fc004938a50056b76b269e49e915
2026-03-26 18:19:47 +00:00
drh
61d3bc8ddc
Revamp the return code from sqlite3AtoF() for additional information and
...
for small speed improvement and size reduction.
FossilOrigin-Name: f10a431eade20ecd4c4d501fc534e2dae6ab2fe67302ea7bb3cd6eba127848fc
2026-03-26 16:33:03 +00:00
drh
f9a3b78561
Improvements to the sqlite3AtoF() interface. Add a test-control for
...
direct testing of sqlite3AtoF().
FossilOrigin-Name: 97ee48b6ef65fb55633196282c9e75b3b0a3b81ba9755f63493a38e3f1a5610c
2026-03-26 14:19:34 +00:00
drh
f855727e45
Back out the sqlite3_atof() API, for now.
...
FossilOrigin-Name: 7568d264be3988df195401158d8d07105b8e9e018eccf98ac948219bee9388ac
2026-03-26 12:09:37 +00:00
drh
3d58f022a8
Fix an off-by-one error that cause a loop to (harmlessly) run more times
...
than necessary. Performance optimization, not a bug fix.
FossilOrigin-Name: 58f4e058f1cbb798b8a48208c6310fd10ca9cd1fc7c550f3ed283cf38ae45c2f
2026-03-25 21:23:23 +00:00
drh
0944b3efad
Small size reduction and performance increase in sqlite3Atoi64().
...
FossilOrigin-Name: c818165fd709b813ab07788662bf69205ece2dcea41346609b3439950f900057
2026-03-25 19:36:16 +00:00
drh
80b88b2482
Proposed new API routine: sqlite3_atof().
...
FossilOrigin-Name: db370f0f628895279a1c1db79ba7428cb4e31b56cafc191859c2f1a5a924435b
2026-03-22 20:52:23 +00:00
drh
dfd31e158c
Additional performance improvements in sqlite3AtoF(). Also update the
...
header comments.
FossilOrigin-Name: 8c3a1b450d6d5778004b9fb0e92b4f3f90d3e06ff87276370d01a45b7d607d23
2026-03-22 17:50:48 +00:00
drh
cc19c1dafd
Further simplification and performance improvement
...
FossilOrigin-Name: 6c3dc2430adef061b458b6d9159628bb8debfd4d63876d5d5e7493afb799d97f
2026-03-22 02:51:18 +00:00
drh
99571bf3c3
Performance improvements in the floating-point number parser.
...
FossilOrigin-Name: aea648f3668219a2539160eb68c77ddd06aa8eac235c1326fe7b1547288b11ee
2026-03-22 02:26:38 +00:00
drh
915a55444b
Use compiler intrinsics to improve the performance of
...
sqlite3Multiply160().
FossilOrigin-Name: 3c64f31392328f51e205fde52f19cf70c193e90897ccb7e93c685bad4f342cac
2026-03-19 13:40:40 +00:00
drh
08eb5e9e51
Continue enforcing the legacy declaration-before-statement C-language rule,
...
since some downstream still uses it.
FossilOrigin-Name: 5c237f1f863a32cf229010d2024d0d1e76a07a4d8b9492b26503b959f1c32485
2026-03-18 22:31:56 +00:00
drh
b302c4d39c
Typo fix in sqlite3Multiply128(): The datatype should be *unsigned*.
...
FossilOrigin-Name: b459f6ff63325f71d4056dad2ebb536e0d414c973f3c6e167e8f67e94e6f0e2d
2026-03-17 11:19:16 +00:00
drh
b50ce08591
Include the float-point table generator utility in the tools directory.
...
FossilOrigin-Name: 4ab10b251d870af8297b9e505452393f6000f83784c822ff128e7aec06f8c72f
2026-03-17 09:45:47 +00:00
drh
e9018e5ff5
Reorder bounds checking in sqlite3Fp10Convert2()
...
FossilOrigin-Name: 23ad656edb3a63e7e6602770e1f2c4a5ef1f3d41565e7f13408b5305619dfa3d
2026-03-17 09:18:36 +00:00
drh
a6640846dd
Improve accuracy of text→floating-point conversions by moving
...
from 64-bit to 96-bit approximations to powers of ten.
FossilOrigin-Name: a19c0785dcfb9fb74963c45b161b12ac8f4379e2b990f6c5de0d7b959c5be98d
2026-03-16 09:40:12 +00:00
drh
eac7cd634d
Use the UINT64_C() macro rather than the LLU suffix on integer literals
...
for portability to older Microsoft compilers.
[forum:/forumpost/0a9ffaff6fcdedb3|Forum thread 0a9ffaff6fcdedb3].
FossilOrigin-Name: 27be26566fdb4d01c44dc111f1c18c835797de0990d4fcc876e91edc216e9e93
2026-03-07 22:37:28 +00:00
drh
83de60bd7b
Simplified rounding logic in sqlite3Fp10Convert2().
...
FossilOrigin-Name: 8ac63ebc5c04ba555bbf0d878a70e25deba5fcc75ff44c464600b92c27e5dcb0
2026-03-01 20:22:08 +00:00
drh
a000db9754
Code changes in sqlite3Fp10Convert2() for easier maintenance. Does not
...
affect the generated machine code.
FossilOrigin-Name: 21c8fc7100e23b632b77934cbbafb98dfd3e6e73bab702446ef6345b378c9d36
2026-02-28 20:22:10 +00:00
drh
7ac310d0c6
Improvements to power-of-ten computations used for text ↔ binary64
...
conversions.
FossilOrigin-Name: 0780bce854b962fb2d4a1a19c55c9b5790a9669f26e1ff8b5f1f1733cfc647e0
2026-02-27 22:59:46 +00:00
drh
afaf7ea2e4
Minor simplification to the text→binary64 conversion algorithm.
...
FossilOrigin-Name: 6632d51f1673e9a6b6e26baebc7aaa1ae27024ad5db1baff6ee5fcf865099f43
2026-02-27 20:37:03 +00:00
drh
7aba858597
Remove an unreachable branch.
...
FossilOrigin-Name: 93f90eacc0c5b2ae0042ec525359298883f8473e24967208feef4029d9fa2d08
2026-02-21 13:40:07 +00:00
drh
4428aa842c
Increase the precision of double → text conversions that happen in
...
sqlite3_column_text(), or sqlite3_value_text(), or in the CAST() operator,
or similar, so that round-tripping the value back to double results in
exactly the same value.
FossilOrigin-Name: ef0049e3ade304f64e1ab97e52e1e21379e4db461f3fa80dac8e544fb90d622f
2026-02-21 10:57:02 +00:00
drh
24ef9fbb19
Further simplification, performance gain, and size reduction in
...
sqlite3FpDecode().
FossilOrigin-Name: 5954f22ceb6b43ed160ec085cd86b66299d8aab3e349a41941a4f1c2eade7457
2026-02-21 00:56:11 +00:00
drh
aec283385e
Small performance increase and size reduction in sqlite3FpDecode() by using
...
local variables instead of structure elements.
FossilOrigin-Name: b4c378bba582205aa676e45b21ffa17ad6199e2a017ec73cf41a0243f693b589
2026-02-21 00:20:29 +00:00
drh
ac5ee556eb
Inconsequential changes to floating-point conversion, amounting to mere
...
code cleanup to aid comprehension.
FossilOrigin-Name: 6d9c29123b6b143b0f7c8f5d018f170c72edfc5b1a4d67edd45e5552def2af6c
2026-02-20 20:43:25 +00:00
drh
20c65785cd
Improved rounding of floating-point conversions in some corner cases.
...
FossilOrigin-Name: 436dccd42650a6ab0a74459ae42fdb3e36d853f934324acc2bc961f87c001852
2026-02-20 12:27:52 +00:00
drh
cac09127e1
Improvements to rounding behavior in the new floating-point conversion logic.
...
FossilOrigin-Name: e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18
2026-02-19 12:59:42 +00:00
drh
31d4e56b29
Fix a harmless compiler warning from MSVC.
...
FossilOrigin-Name: 12f3a6d0aaff8818c427d79e2b9394328625b3a60ccaa7b628d064084c65cfaf
2026-02-17 12:23:12 +00:00
drh
0b5e944480
Faster conversion of integers to text, by converting two digits at a time.
...
FossilOrigin-Name: 90300e02f0de45b57d53976cae72928b3e56532d90b8b8cdc988e14762777930
2026-02-17 00:37:12 +00:00
drh
63338e3ba8
Simplifications to sqlite3AtoF(), resulting in slightly faster performance
...
and slightly smaller size.
FossilOrigin-Name: 6b9ab641763bc1620a01beec71589506b3b0827bff1c6cd98a5d17c6070050b3
2026-02-16 23:52:51 +00:00
drh
5c977eaa0a
Refactor the sqlite3AtoF() routine so that it requires a zero-terminated
...
UTF-8 input. When the need arises to convert UTF16 or non-terminated
strings, wrapper functions are used. Together, this makes the code slightly
smaller and faster.
FossilOrigin-Name: 67c7c72e9bdf04c920d77006538a202c923fa74b47c81dc3014c2929dac7277d
2026-02-16 16:56:59 +00:00
drh
adbb756155
Avoid the big power-of-ten lookup table.
...
FossilOrigin-Name: 245ac7d9ec61e14fcef13a731e290fc5e8979efef6f4345f875eab9b882b0713
2026-02-15 18:41:29 +00:00
drh
658908a32f
Fix to [9d3a12d3926d55ef] to force the static const string literal to
...
have two-byte alignment. Necessary to get that patch to work in Mac-ARM.
FossilOrigin-Name: a80c847169f307a4d2e524b6732ea557bf7f312f1a319d6c6c2e81adb0907596
2026-02-14 22:04:53 +00:00
drh
b3b2695d4b
Add the "LLU" suffix to 64-bit integer constants, for portability to older
...
compilers.
FossilOrigin-Name: 4bf08110662c4b8db9ee90ce34271890a62a469166ea292f7f782b84236531d4
2026-02-14 21:47:08 +00:00
drh
775e4b7073
Fix to the generic version of the 128-bit multiple subroutine.
...
FossilOrigin-Name: 9c3d09ee75beb26447161c0bf5ea252520a6ec051774f1a4e9f18204281d504f
2026-02-14 21:31:31 +00:00
drh
4bee65dcb9
Another minor performance refinement.
...
FossilOrigin-Name: 9d3a12d3926d55efffdc84bff342bd1dbccd08426104aeb2d339b064bf6f02f4
2026-02-14 20:48:58 +00:00
drh
4d0611c1eb
Minor corrections.
...
FossilOrigin-Name: 93fdee20021b8cc2a113ea042fedbccd8b53b6aceeeb34c0810e6d3a5f106f07
2026-02-14 19:42:55 +00:00
drh
10fb1e3077
Improved comment. No code changes.
...
FossilOrigin-Name: c5a4da1bf7af8f8ec4b3273f88b09c01ce90986c8a5ce3d03319bd094706c411
2026-02-14 19:36:41 +00:00
drh
db84cdb747
Use a precomputed table of 696 powers of 10 to improve the performance
...
of floating-point to decimal and decimal to floating-point conversions.
FossilOrigin-Name: 64d9b7becf2da8927024adda278e837a46837e46af3cff51bd54a183d1716750
2026-02-14 17:58:46 +00:00
drh
643fb6cf4b
Minor performance enhancement to floating-point rendering.
...
FossilOrigin-Name: 38d8c0d8a0b0e9990ba7bdcce979f2824ffee22a083cb788a75917628b1eb559
2026-02-11 19:42:46 +00:00
stephan
129203bce3
Internal doc typo fixes reported in [forum:01d15f21b6|forum post 01d15f21b6].
...
FossilOrigin-Name: d6514c20ff583ccc4fb3a526fb8f86a563224f513ee10bb39a978046bd952726
2025-02-27 03:23:33 +00:00
drh
a0d35d44e4
Convert some expensive NEVER() and ASSERT() macros into assert()s.
...
FossilOrigin-Name: 4aad891802d9d87f1ff3cbbf4bc70fa242c6782088189a2bd5d6f8863f552d29
2025-02-10 11:16:37 +00:00