parquet_sorting_search Submodule

pf_lower_bound, pf_upper_bound and pf_equal_range -- locating a value in an array that is ALREADY sorted.

The target is appended to the array's own key and compared as row n+1. That is the whole design: there is no compare-a-row-against-a-value arm anywhere, so a search cannot drift from the order pf_sort produces (feature_risks.md Risk-34). It costs one element of copy.

Searching unsorted input is the worst failure this module can have -- a plausible index, no abort, no symptom. So sortedness is checked by default, at O(n) in front of an O(log n) search, and assume_sorted=.true. is the caller's explicit statement that they have established the order themselves. Do not flip that default.


Uses