[libc] add modified Eisel-Lemire for long doubles
authorMichael Jones <michaelrj@google.com>
Fri, 12 Nov 2021 23:45:56 +0000 (15:45 -0800)
committerMichael Jones <michaelrj@google.com>
Thu, 23 Dec 2021 00:45:22 +0000 (16:45 -0800)
commit9b39737129f549ce3a17893c780bab96441ac921
tree67d0a5b1f31374cbf097d5874d21e64070102c85
parentc3f0e1ea3ef802059e0c2bd60227ea2d83a910ac
[libc] add modified Eisel-Lemire for long doubles

The Eisel-Lemire algorithm is an effecient way to handle converting to
floating point numbers from strings, but in its base form it only
supports up to 64 bit floating point numbers. This adds an
implementation to handle long doubles.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D115280
libc/src/__support/str_to_float.h
libc/test/src/__support/str_to_float_test.cpp