pf_nth_element Interface

public interface pf_nth_element

The element a full sort would place at 1-based rank nth, without sorting -- O(n) rather than O(n log n). index optionally reports which element of values that was.

The reported index is the one a full STABLE sort would give. std::nth_element normally leaves an arbitrary member of an equal-comparing run at that position; here the comparator ends with a tiebreaker on the original index, making it a total order under which no two elements compare equal, so the answer is deterministic and agrees with pf_sort element for element.

nth counts NULLS too, placed by the same tier rules as the sort (last by default). Takes descending/nulls_first/is_valid exactly as pf_argsort does.


Module Procedures

private interface nth_i32_i32()

Arguments

None

private interface nth_i32_i32_i32()

Arguments

None

private interface nth_i32_i32_i64()

Arguments

None

private interface nth_i32_i64()

Arguments

None

private interface nth_i32_i64_i32()

Arguments

None

private interface nth_i32_i64_i64()

Arguments

None

private interface nth_i64_i32()

Arguments

None

private interface nth_i64_i32_i32()

Arguments

None

private interface nth_i64_i32_i64()

Arguments

None

private interface nth_i64_i64()

Arguments

None

private interface nth_i64_i64_i32()

Arguments

None

private interface nth_i64_i64_i64()

Arguments

None

private interface nth_f32_i32()

Arguments

None

private interface nth_f32_i32_i32()

Arguments

None

private interface nth_f32_i32_i64()

Arguments

None

private interface nth_f32_i64()

Arguments

None

private interface nth_f32_i64_i32()

Arguments

None

private interface nth_f32_i64_i64()

Arguments

None

private interface nth_f64_i32()

Arguments

None

private interface nth_f64_i32_i32()

Arguments

None

private interface nth_f64_i32_i64()

Arguments

None

private interface nth_f64_i64()

Arguments

None

private interface nth_f64_i64_i32()

Arguments

None

private interface nth_f64_i64_i64()

Arguments

None

private interface nth_bool_i32()

Arguments

None

private interface nth_bool_i32_i32()

Arguments

None

private interface nth_bool_i32_i64()

Arguments

None

private interface nth_bool_i64()

Arguments

None

private interface nth_bool_i64_i32()

Arguments

None

private interface nth_bool_i64_i64()

Arguments

None

private interface nth_chr_i32()

Arguments

None

private interface nth_chr_i32_i32()

Arguments

None

private interface nth_chr_i32_i64()

Arguments

None

private interface nth_chr_i64()

Arguments

None

private interface nth_chr_i64_i32()

Arguments

None

private interface nth_chr_i64_i64()

Arguments

None

private interface nth_date_i32()

Arguments

None

private interface nth_date_i32_i32()

Arguments

None

private interface nth_date_i32_i64()

Arguments

None

private interface nth_date_i64()

Arguments

None

private interface nth_date_i64_i32()

Arguments

None

private interface nth_date_i64_i64()

Arguments

None

private interface nth_time_i32()

Arguments

None

private interface nth_time_i32_i32()

Arguments

None

private interface nth_time_i32_i64()

Arguments

None

private interface nth_time_i64()

Arguments

None

private interface nth_time_i64_i32()

Arguments

None

private interface nth_time_i64_i64()

Arguments

None

private interface nth_ts_i32()

Arguments

None

private interface nth_ts_i32_i32()

Arguments

None

private interface nth_ts_i32_i64()

Arguments

None

private interface nth_ts_i64()

Arguments

None

private interface nth_ts_i64_i32()

Arguments

None

private interface nth_ts_i64_i64()

Arguments

None

private interface nth_strcol_i32()

Arguments

None

private interface nth_strcol_i32_i32()

Arguments

None

private interface nth_strcol_i32_i64()

Arguments

None

private interface nth_strcol_i64()

Arguments

None

private interface nth_strcol_i64_i32()

Arguments

None

private interface nth_strcol_i64_i64()

Arguments

None