Module indexing::algorithms [] [src]

Respository of some indexing-implemented algorithms so we can dissect them and their codegen.

Structs

AlgorithmError

Functions

binary_search
binary_search_by

f is a closure that is passed x from the slice and should return the result of x compared with something.

binary_search_by_prange
binary_search_by_prange_

Binary search using comparison compare.

binary_search_by_pslice
binary_search_by_pslice_

Binary search using comparison compare.

copy
copy_prange
heapify
insertion_sort_indexes
insertion_sort_pointerindex
insertion_sort_prange_lower

Insertion sort using lower_bound to find the place to insert; which makes it scale better (still restricted to just a smallish number of elements).

insertion_sort_ranges
insertion_sort_rust

Copied from rust / libcollections/slice.rs, using raw pointers

lower_bound
lower_bound_prange

Using PRange (pointer-based safe API)

lower_bound_prange_
lower_bound_pslice

Using PSlice (pointer-based safe API)

lower_bound_pslice_
lower_bound_raw_ptr

Raw pointer version, for comparison From cppreference

merge_internal_indices

Merge internal: Merge inside data while using buffer as a swap space

merge_internal_ranges

Merge internal: Merge inside data while using buffer as a swap space

quicksort_bounds

quicksort implemented using regular bounds checked indexing

quicksort_prange

Simple quicksort implemented using indexing’s PRange.

quicksort_range

Simple quicksort implemented using Range,

zip_dot_i32
zip_dot_i32_prange