module Data.RangeMin.Common ( module Data.RangeMin.Common.Combinators, module Data.RangeMin.Common.Math, module Data.RangeMin.Common.Types, module Data.RangeMin.Common.Vector, n2Cross, nlognCross, nearNCross, forceBlockN2, forceNLogN, forceBlockMins) where import Data.RangeMin.Common.Combinators import Data.RangeMin.Common.Math import Data.RangeMin.Common.Types import Data.RangeMin.Common.Vector n2Cross, nlognCross, nearNCross :: Int n2Cross = 5 nlognCross = 30 nearNCross = 50000 -- Whether or not the internal block range-mins must be done with the O(n^2) algorithm. forceBlockN2 :: Bool forceBlockN2 = False -- Whether or not the O(n) algorithms should force recursion to the O(n log n) algorithm or may allow -- the O(n), O(log n) algorithm. forceNLogN :: Bool forceNLogN = True -- Whether or not the O(n) algorithms must force the block-internal range min thunks. forceBlockMins :: Bool forceBlockMins = True