)
add_header_library(
- str_conv_utils
+ str_to_integer
+ HDRS
+ str_to_integer.h
+ DEPENDS
+ .ctype_utils
+ libc.include.errno
+ libc.src.errno.__errno_location
+ libc.src.__support.CPP.standalone_cpp
+)
+
+add_header_library(
+ str_to_float
HDRS
- str_conv_utils.h
str_to_float.h
DEPENDS
+ .str_to_integer
.ctype_utils
.high_precision_decimal
libc.include.errno
// and contains the 128 bit mantissa approximations of the powers of 10 from
// -348 to 347. The exponents are implied by a linear expression with slope
// 217706.0/65536.0 ≈ log(10)/log(2). This is used by the Eisel-Lemire algorithm
-// in str_conv_utils.h.
+// in str_to_float.h.
constexpr int32_t DETAILED_POWERS_OF_TEN_MIN_EXP_10 = -348;
constexpr int32_t DETAILED_POWERS_OF_TEN_MAX_EXP_10 = 347;
#define LIBC_SRC_SUPPORT_HIGH_PRECISION_DECIMAL_H
#include "src/__support/ctype_utils.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
#include <stdint.h>
namespace __llvm_libc {
#include "src/__support/ctype_utils.h"
#include "src/__support/detailed_powers_of_ten.h"
#include "src/__support/high_precision_decimal.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
#include <errno.h>
namespace __llvm_libc {
-//===-- Stdlib utils --------------------------------------------*- C++ -*-===//
+//===-- String to integer conversion utils ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//
-#ifndef LIBC_SRC_STDLIB_STDLIB_UTILS_H
-#define LIBC_SRC_STDLIB_STDLIB_UTILS_H
+#ifndef LIBC_SRC_SUPPORT_STR_TO_INTEGER_H
+#define LIBC_SRC_SUPPORT_STR_TO_INTEGER_H
#include "src/__support/CPP/Limits.h"
#include "src/__support/ctype_utils.h"
} // namespace internal
} // namespace __llvm_libc
-#endif // LIBC_SRC_STDLIB_STDLIB_UTILS_H
+#endif // LIBC_SRC_SUPPORT_STR_TO_INTEGER_H
HDRS
strtoimax.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
HDRS
strtoumax.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
#include "src/inttypes/strtoimax.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
#include "src/inttypes/strtoumax.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
HDRS
atoi.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
HDRS
atof.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_float
)
add_entrypoint_object(
HDRS
atol.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
HDRS
atoll.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
HDRS
strtof.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_float
)
add_entrypoint_object(
HDRS
strtod.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_float
)
add_entrypoint_object(
HDRS
strtol.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
HDRS
strtoll.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
HDRS
strtoul.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
HDRS
strtoull.h
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_integer
)
add_entrypoint_object(
#include "src/stdlib/atoi.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
#include "src/stdlib/atol.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
#include "src/stdlib/atoll.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
#include "src/stdlib/strtol.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
#include "src/stdlib/strtoll.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
#include "src/stdlib/strtoul.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
#include "src/stdlib/strtoull.h"
#include "src/__support/common.h"
-#include "src/__support/str_conv_utils.h"
+#include "src/__support/str_to_integer.h"
namespace __llvm_libc {
SRCS
str_to_float_test.cpp
DEPENDS
- libc.src.__support.str_conv_utils
+ libc.src.__support.str_to_float
)
add_executable(