algorithms/core

sourcealgorithms/core.sx

isdigit

private
extern (C) fn isdigit(c: i32) i32 = trust { ... } = "isdigit"

sort

pub fn sort[T](input: list[T]) list[T]

Generic sort (radix for numeric integers, insertion sort otherwise).

sort_numeric_radix

pub fn sort_numeric_radix[T](input: list[T]) list[T]

sort_radix_i64

pub fn sort_radix_i64(input: list[i64]) list[i64]

Fast radix sort for signed i64 values (ascending).

sort_radix_u64

pub fn sort_radix_u64(input: list[u64]) list[u64]

Fast radix sort for unsigned u64 values (ascending).

parse_leading_num

private
fn parse_leading_num(name: ref u8) i64

Extract leading integer from a ref u8. Returns -1 if none.

sort_by_num

pub fn sort_by_num(files: list[ref u8]) list[ref u8]

Insertion-sort a list of ref u8 by their leading number (ascending).

sort_i64

pub fn sort_i64(input: list[i64]) list[i64]

Fast radix sort for signed i64 values (ascending).

sort_f64

pub fn sort_f64(input: list[f64]) list[f64]

Insertion-sort a list of f64 (ascending).

intern_strcmp

private
fn intern_strcmp(a: ref u8, b: ref u8) i32

Internal string comparison function for algo purposes.

sort_alpha

pub fn sort_alpha(files: list[ref u8]) list[ref u8]

Sort some list of raw strings alphabetically.