{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} module ZM.Type.Float32(IEEE_754_binary32(..)) where import Data.Model import ZM.Type.Bits8 import ZM.Type.Bits23 import ZM.Type.Words -- |An IEEE-754 Big Endian 32 bits Float data IEEE_754_binary32 = IEEE_754_binary32 { sign :: Sign , exponent :: MostSignificantFirst Bits8 , fraction :: MostSignificantFirst Bits23 } deriving (Eq, Ord, Show, Generic, Model) -- Low Endian -- data IEEE_754_binary32_LE = -- IEEE_754_binary32_LE -- { fractionLE :: LeastSignificantFirst Bits23 -- , exponentLE :: LeastSignificantFirst Bits8 -- , signLE :: Sign -- } -- or data IEEE_754_binary32_LE = IEEE_754_binary32 Word64