----------------------------------------------------------------------------- -- | -- Copyright : (C) 2015 Dimitri Sabadie -- License : BSD3 -- -- Maintainer : Dimitri Sabadie -- Stability : experimental -- Portability : portable -- ---------------------------------------------------------------------------- module Data.Spline.CP ( -- * Control points CP(..) ) where -- | A 'CP' is a *control point*. A curve passes through control points and -- the shape of the curve is determined by the polynomials used to interpolate -- values in between. -- -- @CP s a@ is a control point of sampling type 's' and carried type 'a'. In -- most cases, 's' must be 'Ord' and 'a' must be 'Additive' and 'Fractional'. data CP s a = CP !s !a deriving (Functor,Eq,Ord,Show)