module Data.Pass.Accelerant ( Accelerant(..) ) where import Data.Pass.Type import Data.Pass.L import Data.Pass.Robust -- provide hooks to allow the user to accelerate non-robust L-estimators class Accelerant k where meanPass :: Pass k Double Double meanPass = robust LMean totalPass :: Pass k Double Double totalPass = robust LTotal largestPass :: Pass k Double Double largestPass = robust $ NthLargest 0 smallestPass :: Pass k Double Double smallestPass = robust $ NthSmallest 0 midrangePass :: Pass k Double Double midrangePass = largestPass - smallestPass