module FPPrac.Graphics.NormalizeNumber where


import GHC.Float
import FPPrac.Prelude.Number

class (Num a) => NormalizeNumber a where
    normalize :: a -> Float
    
instance NormalizeNumber Float where
    normalize f = f
    
instance NormalizeNumber Int where
    normalize = fromIntegral
    
instance NormalizeNumber Integer where
    normalize = fromIntegral


instance NormalizeNumber Double where    
    normalize = double2Float

instance NormalizeNumber Number where
    normalize (I i) = fromIntegral i
    normalize (F d) = double2Float d