Victor Zverovich 7b4ef1c814 Optimize 128-bit integer formatting
count_digits and do_format_decimal divided the full 128-bit value by a
constant in a loop. Compilers do not strength-reduce 128-bit division, so
each iteration became a slow __udivti3 library call (~27 per number).

Reduce the value to 64-bit chunks by dividing by 10^19 (at most twice) and
reuse the fast 64-bit paths, giving a ~5x speedup on full-range values.
2026-07-19 17:05:39 -07:00
..
args.h Unify copyright notices 2026-05-31 08:54:06 -07:00
base.h Suppress MSVC C4702 header-wide instead of restructuring code 2026-07-04 10:01:11 -07:00
chrono.h fix out-of-range float to int conversion in to_nonnegative_int (#4802) 2026-06-16 23:14:58 -07:00
color.h Unify copyright notices 2026-05-31 08:54:06 -07:00
compile.h Fix FMT_COMPILE failure with format_as mapped types (Issue #4794) (#4836) 2026-07-12 09:21:55 -07:00
core.h Unify copyright notices 2026-05-31 08:54:06 -07:00
fmt-c.h Minor cleanup 2026-06-26 15:57:41 -07:00
format-inl.h Fix hang/assertion when printing to a pipe with closed read end (#4797) 2026-06-18 08:08:44 +02:00
format.h Optimize 128-bit integer formatting 2026-07-19 17:05:39 -07:00
os.h Unify copyright notices 2026-05-31 08:54:06 -07:00
ostream.h Unify copyright notices 2026-05-31 08:54:06 -07:00
printf.h Unify copyright notices 2026-05-31 08:54:06 -07:00
ranges.h Fix compile time format for ranges, style, and std (#4759) 2026-05-31 08:21:35 -07:00
std.h Annotate FMT_USE_RTTI #endif directives 2026-07-17 12:12:25 -07:00
xchar.h Unify copyright notices 2026-05-31 08:54:06 -07:00