module Test.Overlap where
import qualified Numeric.Interpolation.Type as Type
import Test.QuickCheck (quickCheck, )
test :: Type.T Double y ny -> IO ()
test typ =
quickCheck $ \xs xi ->
let samples = map fst $ Type.sampleBasisFunctions typ xs xi
{- not total:
maximum samples - minimum samples < Type.basisOverlap typ
-}
in all (< minimum samples + Type.basisOverlap typ) samples
tests :: [(String, IO ())]
tests =
("linear", test Type.linear) :
("hermite1", test Type.hermite1) :
("cubicLinear", test Type.cubicLinear) :
("cubicParabola", test Type.cubicParabola) :
[]