package core:sort

Types

Interface ¶

Interface :: struct {
	len:        proc "odin" (it: Interface) -> int,
	less:       proc "odin" (it: Interface, i, j: int) -> bool,
	swap:       proc "odin" (it: Interface, i, j: int),
	collection: rawptr,
}

Constants

This section is empty.

Variables

This section is empty.

Procedures

ORD ¶

ORD :: intrinsics.type_is_ordered

bubble_sort ¶

bubble_sort :: proc "odin" (array: $T/[]$) {…}

bubble_sort_proc ¶

bubble_sort_proc :: proc "odin" (array: $T/[]$, f: proc "odin" (_: $, _: $) -> int) {…}

compare_bools ¶

compare_bools :: proc "odin" (a, b: bool) -> int {…}

compare_f32s ¶

compare_f32s :: proc "odin" (a, b: f32) -> int {…}

compare_f64s ¶

compare_f64s :: proc "odin" (a, b: f64) -> int {…}

compare_i16s ¶

compare_i16s :: proc "odin" (a, b: i16) -> int {…}

compare_i32s ¶

compare_i32s :: proc "odin" (a, b: i32) -> int {…}

compare_i64s ¶

compare_i64s :: proc "odin" (a, b: i64) -> int {…}

compare_i8s ¶

compare_i8s :: proc "odin" (a, b: i8) -> int {…}

compare_ints ¶

compare_ints :: proc "odin" (ptr, align: int) -> int {…}

compare_strings ¶

compare_strings :: proc "odin" (a, b: string) -> int {…}

compare_u16s ¶

compare_u16s :: proc "odin" (a, b: u16) -> int {…}

compare_u32s ¶

compare_u32s :: proc "odin" (a, b: u32) -> int {…}

compare_u64s ¶

compare_u64s :: proc "odin" (a, b: u64) -> int {…}

compare_u8s ¶

compare_u8s :: proc "odin" (a, b: u8) -> int {…}

compare_uints ¶

compare_uints :: proc "odin" (a, b: uint) -> int {…}

heap_sort ¶

heap_sort :: proc "odin" (array: $T/[]$) {…}

heap_sort_proc ¶

heap_sort_proc :: proc "odin" (array: $T/[]$, f: proc "odin" (_: $, _: $) -> int) {…}

is_sorted ¶

is_sorted :: proc "odin" (it: Interface) -> bool {…}

map_entries_by_key ¶

map_entries_by_key :: proc "odin" (m: ^$T/map[$]$, loc := #caller_location) {…}

map_entries_by_value ¶

map_entries_by_value :: proc "odin" (m: ^$T/map[$]$, loc := #caller_location) {…}

merge_sort ¶

merge_sort :: proc "odin" (array: $T/[]$) {…}

merge_sort_proc ¶

merge_sort_proc :: proc "odin" (array: $T/[]$, f: proc "odin" (_: $, _: $) -> int) {…}

quick_sort ¶

quick_sort :: proc "odin" (array: $T/[]$) {…}

quick_sort_proc ¶

quick_sort_proc :: proc "odin" (array: $T/[]$, f: proc "odin" (_: $, _: $) -> int) {…}

reverse_interface ¶

reverse_interface :: proc "odin" (it: ^Interface) -> Interface {…}

reverse_slice ¶

reverse_slice :: proc "odin" (array: $T/[]$) {…}

reverse_sort ¶

reverse_sort :: proc "odin" (it: Interface) {…}

rotate ¶

rotate :: proc "odin" (it: Interface, a, b, n: int) {…}

slice ¶

slice :: proc "odin" (array: $T/[]$) {…}

slice_interface ¶

slice_interface :: proc "odin" (s: ^$T/[]$) -> Interface {…}

sort ¶

sort :: proc "odin" (it: Interface) {…}
 

sort sorts an Interface This sort is not guaranteed to be stable

swap_range ¶

swap_range :: proc "odin" (it: Interface, a, b, n: int) {…}

Procedure Groups

This section is empty.

Source Files

Generation Information

Generated with odin version dev-2022-10 (vendor "odin") Windows_amd64 @ 2022-10-05 21:11:47.508100000 +0000 UTC