module Data.RangeMin.Common ( module Data.RangeMin.Common.Combinators, module Data.RangeMin.Common.Math, module Data.RangeMin.Common.Types, module Data.RangeMin.Common.Vector, module Data.RangeMin.Common.ST, -- module Data.RangeMin.Common.Unf, -- module Data.RangeMin.Common.Unf.Slice, 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 import Data.RangeMin.Common.ST -- import Data.RangeMin.Common.Unf -- import Data.RangeMin.Common.Unf.Slice n2Cross, nlognCross, nearNCross :: Int n2Cross = 10 nlognCross = 400 nearNCross = 5000 -- Whether or not the internal block range-mins must be done with the O(n^2) algorithm. forceBlockN2 :: Bool forceBlockN2 = True -- 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