hanchenye-llvm-project/libc
Michael Jones 87c016078a [libc] add atof, strtof and strtod
Add the string to floating point conversion functions.
Long doubles aren't supported yet, but floats and doubles are. The
primary algorithm used is the Eisel-Lemire ParseNumberF64 algorithm,
with the Simple Decimal Conversion algorithm as backup.

Links for more information on the algorithms:

Number Parsing at a Gigabyte per Second, Software: Practice and
Experience 51 (8), 2021 (https://arxiv.org/abs/2101.11408)
https://nigeltao.github.io/blog/2020/eisel-lemire.html
https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html

Differential Revision: https://reviews.llvm.org/D109261
2021-10-18 16:10:03 -07:00
..
AOR_v20.02
benchmarks [libc] Memory function benchmarks: rename MemcmpConfiguration in MemcmpOrBcmpConfiguration 2021-10-15 13:42:29 +00:00
cmake/modules [libc] Add a new suite called "libc-long-running-tests". 2021-08-21 05:01:28 +00:00
config [libc] add atof, strtof and strtod 2021-10-18 16:10:03 -07:00
docs
fuzzing [libc] add atof, strtof and strtod 2021-10-18 16:10:03 -07:00
include [libc] add inttypes header 2021-08-26 18:04:21 +00:00
lib [libc] add integration tests for scudo in libc 2021-08-04 20:06:09 +00:00
loader [libc] Normalize LIBC_TARGET_MACHINE 2021-05-05 15:52:42 +00:00
spec [libc] add atof, strtof and strtod 2021-10-18 16:10:03 -07:00
src [libc] add atof, strtof and strtod 2021-10-18 16:10:03 -07:00
test [libc] add atof, strtof and strtod 2021-10-18 16:10:03 -07:00
utils [libc][NFC] Add supporting class for atof implementation 2021-10-04 21:08:02 +00:00
CMakeLists.txt [libc] Enable MPFR library for math functions test 2021-07-27 20:40:04 +00:00
LICENSE.TXT Rename top-level LICENSE.txt files to LICENSE.TXT 2021-03-10 21:26:24 -08:00
README.txt

README.txt

LLVM libc
=========

This directory and its subdirectories contain source code for llvm-libc,
a retargetable implementation of the C standard library.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.