module Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Tests.Reduce
where
import Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Reduce
import Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Basic
import Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Tests.Generate
import Test.QuickCheck
prop_chplReduceTermCount_consistent (PSize30 (_,p), Deg20Size20 _ maxSize) =
maxSize < chplCountTerms p ==>
chplAtKeyPointsCanBeLeq p pUp
&&
chplAtKeyPointsCanBeLeq pDown p
where
(pDown, pUp) = chplReduceTermCount maxSize p
prop_chplReduceDegree_consistent (PSize30 (_,p), Deg20Size20 maxDegree _) =
maxDegree < chplGetDegree p ==>
chplAtKeyPointsCanBeLeq p pUp
&&
chplAtKeyPointsCanBeLeq pDown p
where
(pDown, pUp) = chplReduceDegree maxDegree p