Path: blob/main/contrib/llvm-project/libcxx/src/include/ryu/digit_table.h
35265 views
//===----------------------------------------------------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78// Copyright (c) Microsoft Corporation.9// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception1011// Copyright 2018 Ulf Adams12// Copyright (c) Microsoft Corporation. All rights reserved.1314// Boost Software License - Version 1.0 - August 17th, 20031516// Permission is hereby granted, free of charge, to any person or organization17// obtaining a copy of the software and accompanying documentation covered by18// this license (the "Software") to use, reproduce, display, distribute,19// execute, and transmit the Software, and to prepare derivative works of the20// Software, and to permit third-parties to whom the Software is furnished to21// do so, all subject to the following:2223// The copyright notices in the Software and this entire statement, including24// the above license grant, this restriction and the following disclaimer,25// must be included in all copies of the Software, in whole or in part, and26// all derivative works of the Software, unless such copies or derivative27// works are solely in the form of machine-executable object code generated by28// a source language processor.2930// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR31// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,32// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT33// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE34// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,35// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER36// DEALINGS IN THE SOFTWARE.3738#ifndef _LIBCPP_SRC_INCLUDE_RYU_DIGIT_TABLE_H39#define _LIBCPP_SRC_INCLUDE_RYU_DIGIT_TABLE_H4041#include <__charconv/tables.h>42#include <__config>4344_LIBCPP_BEGIN_NAMESPACE_STD4546// A table of all two-digit numbers. This is used to speed up decimal digit47// generation by copying pairs of digits into the final output.48//49// In order to minimize the diff in the Ryu code between MSVC STL and libc++50// the code uses the name __DIGIT_TABLE. In order to avoid code duplication it51// reuses the table already available in libc++.52inline constexpr auto& __DIGIT_TABLE = __itoa::__digits_base_10;5354_LIBCPP_END_NAMESPACE_STD5556#endif // _LIBCPP_SRC_INCLUDE_RYU_DIGIT_TABLE_H575859