pf_permute Interface

public interface pf_permute

Applies perm to values IN PLACE: afterwards element k is what was at perm(k). perm itself is not modified.

perm is validated as a true permutation of 1..n before anything is written, since an invalid one would silently duplicate some elements and drop others. Pass assume_valid=.true. to skip that check when the permutation came from pf_argsort and is known good -- it means the same thing for all eleven types, the two column ones included.

assume_valid skips the O(n) contents check only. perm's LENGTH is checked either way, because a short permutation would make the gather read past the end of values and no promise from the caller can make that defined.


Module Procedures

private interface permute_i32_i32()

Arguments

None

private interface permute_i32_i64()

Arguments

None

private interface permute_i64_i32()

Arguments

None

private interface permute_i64_i64()

Arguments

None

private interface permute_f32_i32()

Arguments

None

private interface permute_f32_i64()

Arguments

None

private interface permute_f64_i32()

Arguments

None

private interface permute_f64_i64()

Arguments

None

private interface permute_bool_i32()

Arguments

None

private interface permute_bool_i64()

Arguments

None

private interface permute_chr_i32()

Arguments

None

private interface permute_chr_i64()

Arguments

None

private interface permute_date_i32()

Arguments

None

private interface permute_date_i64()

Arguments

None

private interface permute_time_i32()

Arguments

None

private interface permute_time_i64()

Arguments

None

private interface permute_ts_i32()

Arguments

None

private interface permute_ts_i64()

Arguments

None

private interface permute_strcol_i32()

Arguments

None

private interface permute_strcol_i64()

Arguments

None

private interface permute_col_i32()

Arguments

None

private interface permute_col_i64()

Arguments

None