Due to the differences between the types of long double, this function
is effectively three functions in one. This patch adds basic support for
the types of long double, although it's just using the fast path and the
fallback for the moment. I still need to implement a version of
Eisel-Lemire for performance, but the existing algorithms should be
correct.
Details
- Reviewers
sivachandra lntue - Commits
- rGaa1902f917fa: [libc] add basic strtold implementation
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
libc/src/__support/str_to_float.h | ||
---|---|---|
71 | User reference arguments. Also, the name of this function should probably be setImplicitBit so that it is easy to explain/understand the NOP nature for IEEE-754 encodings. | |
libc/test/src/stdlib/strtold_test.cpp | ||
26 | May be I am missing something but I don't seem to find tests with different 64-bit, 80-bit and 128-bit errno. If they are missing, can we add them? |
fix inf rounding error and add a few tests. I'm planning on adding more, but I have other priority projects right now.
libc/test/src/stdlib/strtold_test.cpp | ||
---|---|---|
26 | I've added tests with different errno behavior for the different sizes. |
User reference arguments. Also, the name of this function should probably be setImplicitBit so that it is easy to explain/understand the NOP nature for IEEE-754 encodings.