Skip to content

Commit

Permalink
Including FastFloat in parsing process (#62301)
Browse files Browse the repository at this point in the history
* Including FastFloat in parsing process

* PR step 1 - adjusting code in regards to received comments.

* DigitsToUInt64 : Parsing batches of 8 digits with SWAR

* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs

Co-authored-by: Günther Foidl <gue@korporal.at>

* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs

Co-authored-by: Günther Foidl <gue@korporal.at>

* MaxMantissaFastPath fix

* merge problem...

* Revert "merge problem..."

This reverts commit 1b5fd51.

* removing an extra comparison for fast path.

* According to PR review, all requested changes are in this commit.

* According to new serie of comments on this PR.

* Fixing formatting.

* fixing sentence ending in comments

* Update THIRD-PARTY-NOTICES.TXT

Adding license notice for FastFloat algorithm

* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs

Co-authored-by: Tanner Gooding <tagoo@outlook.com>

* Identation of power of 5 table

* some adjustements according to reviewer's requests.

* Unnecessary assignment of a value to 'exponent'

* removing excedent path for total digits < 7

* removing path for totaldigits <7

* getting rid of unused power of 10 table

* Renaming FastFloat specific values
Specifying infinitePower param as hexa

* renaming some variables and adjusting comments.

* Handle endianness swapping for BigEndian systems.

Co-authored-by: Günther Foidl <gue@korporal.at>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
  • Loading branch information
3 people authored Feb 8, 2022
1 parent 567c7c4 commit a702712
Show file tree
Hide file tree
Showing 2 changed files with 1,066 additions and 128 deletions.
22 changes: 22 additions & 0 deletions THIRD-PARTY-NOTICES.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -1026,3 +1026,25 @@ a. No trademark or patent rights held by Affirmer are waived, abandoned, surrend
b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.


License notice for FastFloat algorithm
-------------------------------------
MIT License
Copyright (c) 2021 csFastFloat authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Loading

0 comments on commit a702712

Please sign in to comment.