From b6df805a12d857da7f7d4b46c53348b5c828af0c Mon Sep 17 00:00:00 2001 From: Borislav Stanimirov Date: Thu, 4 Feb 2021 14:34:59 +0200 Subject: [PATCH] : small optimization of _Integer_to_chars for bases 3,6,5,7,9 --- stl/inc/charconv | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/stl/inc/charconv b/stl/inc/charconv index 20d8342c41b..9ab5d01ec81 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];