Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Re-implemented the ecvt function. #12894

Merged
merged 21 commits into from
Sep 13, 2017
Merged

Re-implemented the ecvt function. #12894

merged 21 commits into from
Sep 13, 2017

Commits on Jul 19, 2017

  1. Re-implemented the ecvt function.

    Instead of leveraging snprintf, re-implement the ecvt function according to the paper: https://www.cs.indiana.edu/~dyb/pubs/FP-Printing-PLDI96.pdf
    
    Note:
    1. This commit won't fix any existing bug.
    2. This is a raw implementation of the paper. The performance on Linux only gain 10%. We could tune the performance further.
    
    Fix #10651
    mazong1123 committed Jul 19, 2017
    Configuration menu
    Copy the full SHA
    d6cfd6f View commit details
    Browse the repository at this point in the history
  2. Resolve a cross platform header file issue.

    Fix #10651
    mazong1123 committed Jul 19, 2017
    Configuration menu
    Copy the full SHA
    448aca3 View commit details
    Browse the repository at this point in the history
  3. Fixed a minor bug. Improved the performance.

    Fix #10651
    mazong1123 committed Jul 19, 2017
    Configuration menu
    Copy the full SHA
    b617b79 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2017

  1. Modified code according to code review feedback.

    This commit fixed most of the issue found in code review. However, some of the feedback may not be involved due to either little performance improvement or need a POC.
    
    Fix #10651
    mazong1123 committed Jul 23, 2017
    Configuration menu
    Copy the full SHA
    0bd2f05 View commit details
    Browse the repository at this point in the history
  2. Try to fix constexpr compile error on Windows.

    Fix #10651
    mazong1123 committed Jul 23, 2017
    Configuration menu
    Copy the full SHA
    fc5e9fb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0d86409 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2017

  1. Improved multiply 10 operation.

    Use shift and add operation to replace actual multiply operation.
    
    Fix #10651
    mazong1123 committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    d16c57b View commit details
    Browse the repository at this point in the history
  2. Remove old _ecvt function.

    Fix #10651
    mazong1123 committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    86cbb40 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c540400 View commit details
    Browse the repository at this point in the history
  4. Changed exp > 0 to exp != 0 to remove any confusion.

    exp should fall in 1 ~ 2046 for normalized value. Denormalized value has exp = 0.
    
    Fix #10651
    mazong1123 committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    8f6e64c View commit details
    Browse the repository at this point in the history
  5. Disable the _ecvt tests.

    Fix #10651
    mazong1123 committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    57ae950 View commit details
    Browse the repository at this point in the history
  6. Removed _ecvt tests.

    Fix #10651
    mazong1123 committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    7951213 View commit details
    Browse the repository at this point in the history
  7. Re-implemented LogBase2.

    Fix #10651
    mazong1123 committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    549f78d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    19a8d7e View commit details
    Browse the repository at this point in the history
  9. Fixed x86 compile issue for _BitScanReverse64

    x86 does not support _BitScanReverse64 so we have to add additional shift operations to handle it.
    
    Fix #10651
    mazong1123 committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    d994cbf View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    674e519 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2017

  1. Configuration menu
    Copy the full SHA
    9ae8076 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2017

  1. Introduced wmemset to enhance the perf for 0.0

    Fix #10651
    mazong1123 committed Jul 26, 2017
    Configuration menu
    Copy the full SHA
    5d423d6 View commit details
    Browse the repository at this point in the history
  2. Improved the performance of converting 0.0.

    Fix #10651
    mazong1123 committed Jul 26, 2017
    7 Configuration menu
    Copy the full SHA
    c3620ef View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2017

  1. Renamed ecvt to DoubleToNumberWorker.

    Fix #10651
    mazong1123 committed Jul 27, 2017
    Configuration menu
    Copy the full SHA
    9b39ea6 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2017

  1. Configuration menu
    Copy the full SHA
    61d940f View commit details
    Browse the repository at this point in the history