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

Refactor and document sorting dispatch #47383

Merged
merged 36 commits into from
Dec 3, 2022
Merged

Refactor and document sorting dispatch #47383

merged 36 commits into from
Dec 3, 2022

Commits on Nov 8, 2022

  1. initial functionality

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    42c70a1 View commit details
    Browse the repository at this point in the history
  2. support 5- and 3-argument sort! for backwards compatability

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    61e4006 View commit details
    Browse the repository at this point in the history
  3. test for bug that slipped through test suite

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    901182c View commit details
    Browse the repository at this point in the history
  4. fix bug

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    e032ba6 View commit details
    Browse the repository at this point in the history
  5. make send_to_end more human friendly (and less compiler friendly! int…

    …roduces regressions.)
    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    e6cfee0 View commit details
    Browse the repository at this point in the history
  6. Give each sorting pass and DEFAULT_STABLE a docstring

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    f160582 View commit details
    Browse the repository at this point in the history
  7. add tests and fix typos they unveiled

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    15a4484 View commit details
    Browse the repository at this point in the history
  8. avoid potential name conflict

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    d82b090 View commit details
    Browse the repository at this point in the history
  9. switch to custom keyword handling

    FIXES UNEXPECTED ALLOCATIONS
    removes code that previously harbored bugs that slipped through the test suite
    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    029cbae View commit details
    Browse the repository at this point in the history
  10. remove InsertionSortAlg and MergeSortAlg

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    d3bdca3 View commit details
    Browse the repository at this point in the history
  11. better algorithm display

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    2232cac View commit details
    Browse the repository at this point in the history
  12. stop passing U around

    Fixes a few remaining unexpected allocations
    U can be statically computed from the type of v and order so there is no need.
    Further, U is infered as ::DataType rather than Type{U} which causes type instabilities.
    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    a574c7f View commit details
    Browse the repository at this point in the history
  13. remove lenm1

    it is invalid to cache lenm1 because lo and hi may be redefined
    and we have no cache invalidation system
    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    05de36e View commit details
    Browse the repository at this point in the history
  14. fix unexpected allocations in Radix Sort

    fixes #47474
    in this PR rather than separate to avoid dealing with the merge
    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    70290d6 View commit details
    Browse the repository at this point in the history
  15. fix doctests? I have no idea how

    Lilith Hafner authored and Lilith Hafner committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    f06de10 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2022

  1. support and test backwards compatability with packages that depend in…

    … sorting internals
    Lilith Hafner authored and Lilith Hafner committed Nov 9, 2022
    Configuration menu
    Copy the full SHA
    38f4512 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'master' into sort-dispatch

    Lilith Hafner authored and Lilith Hafner committed Nov 9, 2022
    Configuration menu
    Copy the full SHA
    383b9d2 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2022

  1. improve extensibility tests

    Lilith Hafner authored and Lilith Hafner committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    d8ae968 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2022

  1. overhall scratch space handling

    make _sort! return scratch space rather than sorted vector
    so that things like IEEEFloatOptimization can re-use the
    scratch space allocated on their first recursive call
    Lilith Hafner authored and Lilith Hafner committed Nov 11, 2022
    Configuration menu
    Copy the full SHA
    c633419 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

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

Commits on Nov 15, 2022

  1. Consistency with other constructors

    Lilith Hafner authored and Lilith Hafner committed Nov 15, 2022
    Configuration menu
    Copy the full SHA
    a2c2646 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2022

  1. pass around even fewer easily computed things in kw to reduce load on…

    … the compiler
    Lilith Hafner authored and Lilith Hafner committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    e752ea7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    15666f2 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2022

  1. revert "remove InsertionSortAlg and MergeSortAlg" for backwards compa…

    …tability with folks who use internals (DataFrames.jl)
    Lilith Hafner authored and Lilith Hafner committed Nov 19, 2022
    Configuration menu
    Copy the full SHA
    69677ba View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2022

  1. remove type constraint that is trickkky for the compiler to handle

    Lilith Hafner authored and Lilith Hafner committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    bc27dca View commit details
    Browse the repository at this point in the history
  2. improve legacy dispatch system

    Lilith Hafner authored and Lilith Hafner committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    ab549f5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    61e8fc9 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2022

  1. fix 5-arg MergeSort and add tests for 5-arg sort

    Lilith Hafner authored and Lilith Hafner committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    9400b93 View commit details
    Browse the repository at this point in the history
  2. cleanup interpolation to make JET.jl happy

    Lilith Hafner authored and Lilith Hafner committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    a73825a View commit details
    Browse the repository at this point in the history
  3. fix and test handling -0.0 in IEEEFloatOptimization

    Lilith Hafner authored and Lilith Hafner committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    fef85c0 View commit details
    Browse the repository at this point in the history
  4. fix and test bug where countsort's correct overflow behavior triggers…

    … error due to unexpected promotion to UInt
    Lilith Hafner authored and Lilith Hafner committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    9df25d4 View commit details
    Browse the repository at this point in the history
  5. add type signature to reduce possible method ambiguities (e.g. with A…

    …bstractTrees v0.3.4's ImplicitRootState)
    Lilith Hafner authored and Lilith Hafner committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    964e58f View commit details
    Browse the repository at this point in the history
  6. support 6-argument sort! because people do actually use it.

    Lilith Hafner authored and Lilith Hafner committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    037ae71 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ea9a599 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. Configuration menu
    Copy the full SHA
    1ea32fc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3d0a502 View commit details
    Browse the repository at this point in the history