Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Littany of Safety Enhancements #122

Merged
merged 11 commits into from
Sep 11, 2024
Merged

Initial Littany of Safety Enhancements #122

merged 11 commits into from
Sep 11, 2024

Commits on Sep 10, 2024

  1. Configuration menu
    Copy the full SHA
    369a2cd View commit details
    Browse the repository at this point in the history
  2. Remove table unsafe.

    Alexhuszagh committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    6dbe8e3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6546060 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a4e7480 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6496028 View commit details
    Browse the repository at this point in the history
  6. Remove unused unsafe.

    Alexhuszagh committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    b8fcf51 View commit details
    Browse the repository at this point in the history
  7. Remove most unsafety in big int.

    The safety guarantees that aren't validated immediately have been
    removed (so only keeping the unsafe code in the hi bit extraction, which
    is checked right in the call), and this leads to ~3% degradation in
    performance in the worst cases, which is still 90% faster than core so
    it's well worth it. The unsafe code in the multiplication algorithms is
    the cause of the slowdown, but well worth it.
    Alexhuszagh committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    7f634f9 View commit details
    Browse the repository at this point in the history
  8. Remove length then unsafe index with get(0).

    Seems to improve performance on some edge case floats invoking this path
    by up to 30%.
    Alexhuszagh committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    862d5df View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    62d3c21 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Remove unnecessary unsafe checks and fix a few minor format bugs.

    Introduce a self-contained `Buffer` trait that allows simpler comparison
    of values, and then remove more unsafety, especially in cases where the
    compiler can trivially provide the unsafety is sound. Then, also fix a
    minor bug with formatting where the mantissa radix negative sign check
    was used and not the exponent one.
    Alexhuszagh committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    8a7639c View commit details
    Browse the repository at this point in the history
  2. Minor performance tweaks.

    Alexhuszagh committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    13194a5 View commit details
    Browse the repository at this point in the history