<charconv>: Optimize _Integer_to_chars for bases 3,5,6,7,9 (#1622)

This commit is contained in:
Borislav Stanimirov 2021-02-13 00:54:53 +02:00 коммит произвёл GitHub
Родитель 396f901d58
Коммит 572d87e3ca
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 11 добавлений и 0 удалений

Просмотреть файл

@ -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<char>('0' + _Value % _Base);
_Value = static_cast<_Unsigned>(_Value / _Base);
} while (_Value != 0);
break;
default:
do {
*--_RNext = _Charconv_digits[_Value % _Base];