pf_argminmax Interface

public interface pf_argminmax

WHERE the smallest and largest value of values are: imin/imax are 1-based indices into values, skipping nulls and NaNs.

The index-returning twin of pf_minmax, split off because Fortran cannot offer both answers from one generic -- optional imin/imax varying only by integer kind would make a positional call ambiguous. A caller wanting both pays one extra call.

Ties report the FIRST occurrence, which is the element a full stable sort would place at either end. Aborts on an all-null-or-NaN input, exactly as pf_minmax does. Defined for parquet_column as well, since an index needs no compile-time element type.


Module Procedures

private interface argminmax_i32_i32()

Arguments

None

private interface argminmax_i32_i64()

Arguments

None

private interface argminmax_i64_i32()

Arguments

None

private interface argminmax_i64_i64()

Arguments

None

private interface argminmax_f32_i32()

Arguments

None

private interface argminmax_f32_i64()

Arguments

None

private interface argminmax_f64_i32()

Arguments

None

private interface argminmax_f64_i64()

Arguments

None

private interface argminmax_chr_i32()

Arguments

None

private interface argminmax_chr_i64()

Arguments

None

private interface argminmax_date_i32()

Arguments

None

private interface argminmax_date_i64()

Arguments

None

private interface argminmax_time_i32()

Arguments

None

private interface argminmax_time_i64()

Arguments

None

private interface argminmax_ts_i32()

Arguments

None

private interface argminmax_ts_i64()

Arguments

None

private interface argminmax_strcol_i32()

Arguments

None

private interface argminmax_strcol_i64()

Arguments

None

private interface argminmax_col_i32()

Arguments

None

private interface argminmax_col_i64()

Arguments

None