From 572d87e3cac465b9bd31e584eecdf3ceb7e0ba6d Mon Sep 17 00:00:00 2001 From: Borislav Stanimirov Date: Sat, 13 Feb 2021 00:54:53 +0200 Subject: [PATCH] : Optimize _Integer_to_chars for bases 3,5,6,7,9 (#1622) --- stl/inc/charconv | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/stl/inc/charconv b/stl/inc/charconv index 20d8342c4..9ab5d01ec 100644 --- a/stl/inc/charconv +++ b/stl/inc/charconv @@ -127,6 +127,17 @@ _NODISCARD to_chars_result _Integer_to_chars( } while (_Value != 0); break; + case 3: + case 5: + case 6: + case 7: + case 9: + do { + *--_RNext = static_cast('0' + _Value % _Base); + _Value = static_cast<_Unsigned>(_Value / _Base); + } while (_Value != 0); + break; + default: do { *--_RNext = _Charconv_digits[_Value % _Base];