Victor Zverovich
47e167679a
Simplify arg formatter
2020-10-21 19:04:02 -07:00
Victor Zverovich
f0a42346a4
Move parsing optimization one level up
2020-10-21 18:18:53 -07:00
Victor Zverovich
86287b8d56
Optimize common case in parse_format_specs
2020-10-21 17:16:58 -07:00
Victor Zverovich
0ecb3d1829
Optimize alignment parsing
2020-10-21 12:45:11 -07:00
Victor Zverovich
9755307842
Optimize format_uint
2020-10-21 08:19:21 -07:00
Victor Zverovich
7446818f98
Simplify vformat_to
2020-10-21 07:15:11 -07:00
darklukee
280b5612c0
Add option to force usage of inline namespaces
...
Detection of inline namespaces is imperfect as some compilers
don't provide __has_feature
This option allows to override it if needed.
2020-10-21 06:38:59 -07:00
Victor Zverovich
e57ec7d563
Merge vformat_to overloads
2020-10-20 17:39:50 -07:00
Victor Zverovich
2a3f4de3f4
Remove iterator_category
2020-10-20 16:44:49 -07:00
Victor Zverovich
27fdb4ead2
Unshadow floaty
2020-10-20 15:05:00 -07:00
Victor Zverovich
297e0bad8c
Apply clang-format
2020-10-20 14:10:28 -07:00
Victor Zverovich
e3b4c22ec9
Simplify is_output_iterator
2020-10-20 14:09:57 -07:00
Victor Zverovich
da8278e1e3
Update changelog and bump version
2020-10-19 14:37:14 -07:00
Victor Zverovich
f468b203ad
Avoid conversion from long long to size_t ( #1935 )
2020-10-18 09:25:33 -07:00
Victor Zverovich
20d4f2e836
Fix handling of weird character types when parsing sign ( #1932 )
2020-10-17 09:40:30 -07:00
Bart Siwek
271eff149f
Make classes derived from buffer<T> final to silence the virtual destructor warning. ( #1937 )
...
Co-authored-by: Bart Siwek <bsiwek@cisco.com>
2020-10-15 17:41:56 -07:00
Victor Zverovich
41d97e1ef4
Fix a UB on ridiculously large precision
2020-10-11 08:07:52 -07:00
MarcDirven
01c37e0a4b
Added check for -mbig-obj
and ref qualifier check ( #1929 )
...
* Added check whether mingw has -mbig-obj flag
* Removed ref qualifiers
2020-10-11 07:49:54 -07:00
Victor Zverovich
a5e7e7db95
Fix handling of thousand separator ( #1927 )
2020-10-10 07:23:36 -07:00
Victor Zverovich
bf19051a9f
Optimize floating point formatting
2020-10-09 15:29:56 -07:00
Victor Zverovich
3c13a88b14
Optimize floating point formatting
2020-10-09 11:01:01 -07:00
Victor Zverovich
f6d75c534c
Refactor write_float
2020-10-09 09:11:39 -07:00
Victor Zverovich
e9c0b2d69e
Merge write_float overloads
2020-10-08 20:00:38 -07:00
Victor Zverovich
7eddbfed53
Cleanup exponent handling in write_float
2020-10-07 15:58:43 -07:00
Victor Zverovich
b347b3023f
Update dynamic_formatter comment ( #1923 )
2020-10-07 12:15:07 -07:00
Victor Zverovich
3541880efd
Fix integer overflow when using max int precision
2020-10-07 11:27:02 -07:00
Victor Zverovich
a18b3fbbdc
Fix fixed precision handling when rounding ( #1917 )
2020-10-07 07:42:23 -07:00
Victor Zverovich
b91d39f20b
Get rid of float_writer
2020-10-05 06:34:04 -07:00
Victor Zverovich
b4b64b9cce
Refactor float formatting
2020-10-04 14:44:25 -07:00
Victor Zverovich
712abe40f2
Workaround a bug in gcc 7.5 ( #1912 )
...
Thanks Martin Janzen.
2020-10-04 09:20:37 -07:00
Victor Zverovich
af8a180aed
Make GetCachedPower test more precise
2020-10-04 08:00:47 -07:00
Kazantcev Andrey
a581e9e5d8
Fix warning C4018: '<=': signed/unsigned mismatch ( #1908 )
2020-10-02 06:30:57 -07:00
Victor Zverovich
575f401896
Simplify FP formatting and follow coding conventions
2020-09-30 06:36:17 -07:00
jk-jeon
6f3536f974
Move zero-check to an earlier branch ( #1906 )
2020-09-29 06:24:53 -07:00
Victor Zverovich
90ef46df0b
Fix dragonbox integration
2020-09-28 18:10:46 -07:00
Victor Zverovich
3ae88147e2
Fix declaration
2020-09-28 06:50:09 -07:00
Victor Zverovich
6417952574
Improve dragonbox integration
2020-09-27 20:49:37 -07:00
Victor Zverovich
79694d424c
Fix WriteConsole signature
2020-09-27 14:26:28 -07:00
Victor Zverovich
63e0c35412
Make dragonbox::to_decimal available in format.h
2020-09-27 07:27:44 -07:00
Victor Zverovich
762c33a964
Simplify windows handling ( #1903 )
2020-09-26 08:20:38 -07:00
Bernd Baumanns
253d63159f
Remove dependency on windows.h ( #1900 )
2020-09-26 07:03:16 -07:00
Victor Zverovich
c156093ffd
Fix carry in fallback_format
2020-09-25 10:12:44 -07:00
moiwi
34179b3354
Update format.h ( #1898 )
2020-09-24 08:16:16 -07:00
Victor Zverovich
0651e4598b
Minor tweaks to get_cached_power
2020-09-23 16:04:40 -07:00
Victor Zverovich
6c025520aa
Test that max_k is correctly defined
2020-09-23 15:44:37 -07:00
Victor Zverovich
51f8d0cc21
Reuse log10_2_significand constant
2020-09-23 13:19:21 -07:00
Riccardo Ghetta (larix)
1305cbeb6f
Fix MSVC2019 error C2049 when compiling with /clr ( #1897 )
...
'fmt::v7': non-inline namespace cannot be reopened as inline
2020-09-23 09:55:41 -07:00
Victor Zverovich
2d4fde3a2e
Don't emit trailing zero for consistency with std::format
2020-09-23 09:19:12 -07:00
Victor Zverovich
5fd89d50e4
Minor simplifications
2020-09-23 08:05:31 -07:00
Victor Zverovich
605ce5e429
Simplify divisible_by_power_of_2
2020-09-22 20:44:29 -07:00
Victor Zverovich
085171e7e6
Remove grisu_count_digits
2020-09-22 19:36:52 -07:00
Victor Zverovich
aa729bf25b
Remove dead code
2020-09-22 16:58:02 -07:00
Victor Zverovich
aa2ddf9b86
Simplify Dragonbox integration
2020-09-22 16:20:40 -07:00
Victor Zverovich
c1654ce487
Simplify uint32_or_64_or_128_t definition
2020-09-22 15:08:37 -07:00
Victor Zverovich
33712dc07a
Combine pragmas
2020-09-22 14:47:35 -07:00
Victor Zverovich
e5942ac9dd
Tweak comments
2020-09-22 14:36:10 -07:00
Victor Zverovich
aae7a1338c
Remove unused pragmas
2020-09-22 14:00:41 -07:00
jk-jeon
6bcde9aab2
https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 ( #1894 )
2020-09-22 10:33:52 -07:00
Victor Zverovich
bb0db5e51e
clang-format
2020-09-22 08:19:37 -07:00
Victor Zverovich
16410056bf
Optimize copy_str for counting_iterator
2020-09-22 07:56:09 -07:00
mwinterb
2591ab91c3
MSVC optimizations for count_digits. ( #1890 )
...
Changed the clz implementations to use xor instead of subtraction so that when
count_digits "undoes" the BSR -> CLZ translation, the optimizer is more
willing to recognize the equivalence.
Changed the data array in bsr2log10 to static since otherwise MSVC generates
code to build the array every time the function is called.
2020-09-21 11:38:06 -07:00
jk-jeon
2e620ddbcd
Small improvements that should have zero to negligible impact on the runtime ( #1887 )
2020-09-20 09:34:44 -07:00
Victor Zverovich
2f7e08856b
Disable range formatter if value type is not formattable ( #1885 )
2020-09-20 08:37:49 -07:00
rimathia
2696dc9273
add forgotten template argument to make_format_args which made some u… ( #1877 )
...
* add forgotten template argument to make_format_args which made some uses of FMT_COMPILE not work anymore after 54daa0864a
, add more elaborate test cases to compile-test as regression tests
* fix old-style cast which gcc on travis thankfully doesn't accept anymore
* hopefully last forgotten (void*)
2020-09-20 06:51:11 -07:00
Victor Zverovich
0016da7ab3
Don't generate zeros and fix UB on huge precision
2020-09-19 16:01:43 -07:00
Victor Zverovich
ce3f76994a
Merge intrinsic blocks
2020-09-19 07:54:45 -07:00
Junekey Jeon
3b6248f602
Change formatting
2020-09-19 07:23:41 -07:00
Junekey Jeon
2d9b1dd0ad
Fix sign mismatch
2020-09-19 07:23:41 -07:00
Junekey Jeon
1f0600a23b
Fix bug regarding FMT_SAFEBUFFERS
2020-09-19 07:23:41 -07:00
Junekey Jeon
2ecdbb986d
Fix a bug in ctzll
2020-09-19 07:23:41 -07:00
Junekey Jeon
6f81ea151a
Fix typo (and thus bug)
2020-09-19 07:23:41 -07:00
Junekey Jeon
0c8ffe9b0f
Implement Dragonbox (first version)
2020-09-19 07:23:41 -07:00
jk-jeon
42699bf408
Fix msvc version of clz & clzll ( #1880 )
...
Change msvc version of clz & clzll to match __builtin_clz & _builtin_clzll
2020-09-18 11:07:01 -07:00
Axel Kohlmeyer
bc51a8df04
Disable fallthrough attributes for the Intel compilers on Linux and MacOS ( #1879 )
...
* Disable fallthrough attributes for the Intel compilers
On MacOS and Linux the Intel compilers may be identified as the
host compilers (Clang or GNU) but do not support the corresponding
compiler specific fallthrough attributes.
* Rearrange ifdef logic for excluding pre-C++17 fallthrough attributes
This puts Intel and PGI compilers into a separate group
and thus makes the intent and logic more obvious.
2020-09-18 09:57:00 -07:00
Jan Schwers
45da432d60
fix compiler warnings in public header files
2020-09-17 15:53:53 -07:00
jk-jeon
d55e61f120
Improve FMT_ALWAYS_INLINE ( #1878 )
...
1. FMT_ALWAYS_INLINE should imply inline; otherwise, there might be
linkage problems
2. Add specialization for MSVC (__forceinline)
2020-09-17 15:21:17 -07:00
Victor Zverovich
7e6827521a
Remove trailing zeros when using fallback formatter ( #1873 )
2020-09-17 08:16:21 -07:00
Victor Zverovich
1d696dc280
Handle exotic character types in compilation
2020-09-17 07:12:34 -07:00
Alexey Ochapov
f674434a67
Add format_to_n overload that accepts FMT_COMPILE (from #1767 ) ( #1869 )
...
* Add format_to_n overload that accepts FMT_COMPILE
* add FormatToNWithCompileMacro test into CompileTest
Co-authored-by: Dmitriy Kurkin <Dmitriy.Kurkin@itiviti.com>
2020-09-15 07:28:06 -07:00
Victor Zverovich
5b5a597198
Fix handling of wide alignment
2020-09-15 06:53:06 -07:00
Victor Zverovich
3813966497
Simplify fallback format
2020-09-13 11:27:34 -07:00
Victor Zverovich
dce8e49b4f
Handle float in fallback formatter
2020-09-13 09:28:40 -07:00
Victor Zverovich
78b5944313
Spelling
2020-09-12 13:14:49 -07:00
Victor Zverovich
f233b56cdd
Don't generate insignificant digits
2020-09-12 09:19:50 -07:00
Victor Zverovich
58a044be5d
Use built-in FP formatter for any precision
2020-09-11 07:19:45 -07:00
Victor Zverovich
efe3694f15
Macro tweak and clang-format
2020-09-07 14:43:00 -07:00
Victor Zverovich
9f312fe87e
Implement fallback FP formatting with given precision ( #1526 )
2020-09-07 09:34:30 -07:00
Victor Zverovich
86f0a7046e
Fix formatting
2020-09-06 08:58:19 -07:00
Denis Blank
bff4d18efb
Add color format_to overloads
...
* Fix variable size basic_memory_buffer colorization
* Fix an unused arguments warning on GCC that blocks the CI otherwise
* Ref #1842
* Ref #1593
2020-09-06 08:24:15 -07:00
Ivan Shynkarenka
f19b8885f2
Fixed a warning in mingw32/mingw64 ( #1860 )
2020-09-06 06:27:37 -07:00
Giovanni Cerretani
f8e00a084a
NOMINMAX not handled properly ( #1855 )
2020-09-03 09:45:47 -07:00
Victor Zverovich
6cccdc24bc
Fix move constructor ( #1844 )
2020-09-01 08:48:56 -07:00
t-wiser
69902c1787
Allow use of <fcntl.h> in Linux when __has_include is not available ( #1848 )
2020-09-01 06:29:34 -07:00
t-wiser
1edd38b96e
Add append mode. ( #1847 )
2020-08-31 15:48:39 -07:00
Adam Burgess
f39e6fb617
Add formatters for chrono::time_point<system_clock> ( #1837 )
...
Add formatters for chrono::time_point and helper overloads for localtime/gmtime(time_point)
Fixes #1819
2020-08-28 07:41:38 -07:00
Victor Zverovich
77b627be20
Fix bogus MSVC warnings ( #1825 )
2020-08-26 12:33:54 -07:00
Alexander Lanin
c7e6d8afb0
Fix usage of override ( #1836 )
2020-08-23 11:01:46 -07:00
Victor Zverovich
92bff2fe2c
Revert "Add missing includes"
...
This reverts commit 06895a7687
.
2020-08-21 16:24:53 -07:00
Victor Zverovich
a0dcfbc57b
Add ptr to docs
2020-08-21 06:54:05 -07:00
Alexey Ochapov
1651b2d433
Fix detail::write with fallback formatter ( #1829 )
...
* add support for fallback_formatter in detail::write
* add ToString test into OStreamTest
to check fmt::to_string() with class that has output stream operator
* add WithOstreamOperator test into CompileTest
to check fmt::format() with FMT_COMPILE() and class that has output stream operator
* use conditional_t inside detail::write instead of 2 overloads
* Revert "add WithOstreamOperator test into CompileTest"
* remove Context from template parameters in detail::write
2020-08-20 06:41:09 -07:00