module Language.SpirV.FPRoundingMode where
import Data.Word (Word32)
import Language.SpirV.SpirEnum
import qualified Language.SpirV.Capability as Capability
data FPRoundingMode =
RTE
| RTZ
| RTP
| RTN
deriving(Read, Show, Eq, Ord)
instance SpirEnum FPRoundingMode Word32 where
toWord RTE = 0
toWord RTZ = 1
toWord RTP = 2
toWord RTN = 3
fromWord 0 = Just RTE
fromWord 1 = Just RTZ
fromWord 2 = Just RTP
fromWord 3 = Just RTN
fromWord _ = Nothing
requiredCapabilities RTE = [Capability.Kernel]
requiredCapabilities RTZ = [Capability.Kernel]
requiredCapabilities RTP = [Capability.Kernel]
requiredCapabilities RTN = [Capability.Kernel]