Skip to content

Modern Math Percentile

Paul Squires edited this page Oct 19, 2026 · 5 revisions

Home › Math Library › Math Library › Percentile

Percentile

Returns the value below which p percent of an array falls, with p from 0 to 100.

Syntax

Percentile( byref a as Array( of T ), byval p as float64 ) as float64

Notes

  • p is a PERCENTAGE from 0 to 100, not a fraction -- Percentile( a, 50 ) is the median, and Percentile( a, 0.5 ) is the half-of-one-percent point, which is almost the minimum.
  • Out-of-range values are clamped to 0 and 100 rather than rejected.
  • Linear interpolation between order statistics: the R type-7 / NumPy default. Nine definitions exist and disagree, and this one is named so a caller comparing tools knows which.
  • It sorts a copy -- asking a question about an array does not reorder the caller's data.

Examples

#import "std/numeric"
#import "std/containers"
using numeric
using containers

dim as Array( of float64 ) a = { 2.0, 4.0, 4.0, 4.0, 6.0 }

print Percentile( a, 50.0 )   '' 4 -- the median
print Percentile( a, 0.0 )    '' 2 -- the minimum
print Percentile( a, 100.0 )  '' 6 -- the maximum
print Percentile( a, 95.0 )   '' 5.6 -- interpolated, not an element

'' A PERCENTAGE, not a fraction. This asks for the half-of-one-percent
'' point, which is nearly the minimum -- not the median.
print Percentile( a, 0.5 )    '' 2.04

Library: Math Library
Category: Math Library
Documented under: Members

Clone this wiki locally