module Biobase.Primary.Bounds where
class Bounded a => Bounds a where
minNormal :: a
maxNormal :: a
minExtended :: a
maxExtended :: a
instance (Bounds a, Bounds b) => Bounds (a,b) where
minNormal = (minNormal, minNormal)
maxNormal = (maxNormal, maxNormal)
minExtended = (minExtended, minExtended)
maxExtended = (maxExtended, maxExtended)
instance (Bounds a, Bounds b, Bounds c) => Bounds (a,b,c) where
minNormal = (minNormal, minNormal, minNormal)
maxNormal = (maxNormal, maxNormal, maxNormal)
minExtended = (minExtended, minExtended, minExtended)
maxExtended = (maxExtended, maxExtended, maxExtended)
instance (Bounds a, Bounds b, Bounds c, Bounds d) => Bounds (a,b,c,d) where
minNormal = (minNormal, minNormal, minNormal, minNormal)
maxNormal = (maxNormal, maxNormal, maxNormal, maxNormal)
minExtended = (minExtended, minExtended, minExtended, minExtended)
maxExtended = (maxExtended, maxExtended, maxExtended, maxExtended)
instance (Bounds a, Bounds b, Bounds c, Bounds d, Bounds e) => Bounds (a,b,c,d,e) where
minNormal = (minNormal, minNormal, minNormal, minNormal, minNormal)
maxNormal = (maxNormal, maxNormal, maxNormal, maxNormal, maxNormal)
minExtended = (minExtended, minExtended, minExtended, minExtended, minExtended)
maxExtended = (maxExtended, maxExtended, maxExtended, maxExtended, maxExtended)
instance (Bounds a, Bounds b, Bounds c, Bounds d, Bounds e, Bounds f) => Bounds (a,b,c,d,e,f) where
minNormal = (minNormal, minNormal, minNormal, minNormal, minNormal, minNormal)
maxNormal = (maxNormal, maxNormal, maxNormal, maxNormal, maxNormal, maxNormal)
minExtended = (minExtended, minExtended, minExtended, minExtended, minExtended, minExtended)
maxExtended = (maxExtended, maxExtended, maxExtended, maxExtended, maxExtended, maxExtended)