zm-0.2: src/ZM/Type/Float32.hs
{-# 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