{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.FloatAttribute
  ( FloatAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Float32le

newtype FloatAttribute = FloatAttribute
  { FloatAttribute -> Float32le
floatAttributeValue :: Float32le
  } deriving (FloatAttribute -> FloatAttribute -> Bool
(FloatAttribute -> FloatAttribute -> Bool)
-> (FloatAttribute -> FloatAttribute -> Bool) -> Eq FloatAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FloatAttribute -> FloatAttribute -> Bool
$c/= :: FloatAttribute -> FloatAttribute -> Bool
== :: FloatAttribute -> FloatAttribute -> Bool
$c== :: FloatAttribute -> FloatAttribute -> Bool
Eq, Eq FloatAttribute
Eq FloatAttribute
-> (FloatAttribute -> FloatAttribute -> Ordering)
-> (FloatAttribute -> FloatAttribute -> Bool)
-> (FloatAttribute -> FloatAttribute -> Bool)
-> (FloatAttribute -> FloatAttribute -> Bool)
-> (FloatAttribute -> FloatAttribute -> Bool)
-> (FloatAttribute -> FloatAttribute -> FloatAttribute)
-> (FloatAttribute -> FloatAttribute -> FloatAttribute)
-> Ord FloatAttribute
FloatAttribute -> FloatAttribute -> Bool
FloatAttribute -> FloatAttribute -> Ordering
FloatAttribute -> FloatAttribute -> FloatAttribute
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: FloatAttribute -> FloatAttribute -> FloatAttribute
$cmin :: FloatAttribute -> FloatAttribute -> FloatAttribute
max :: FloatAttribute -> FloatAttribute -> FloatAttribute
$cmax :: FloatAttribute -> FloatAttribute -> FloatAttribute
>= :: FloatAttribute -> FloatAttribute -> Bool
$c>= :: FloatAttribute -> FloatAttribute -> Bool
> :: FloatAttribute -> FloatAttribute -> Bool
$c> :: FloatAttribute -> FloatAttribute -> Bool
<= :: FloatAttribute -> FloatAttribute -> Bool
$c<= :: FloatAttribute -> FloatAttribute -> Bool
< :: FloatAttribute -> FloatAttribute -> Bool
$c< :: FloatAttribute -> FloatAttribute -> Bool
compare :: FloatAttribute -> FloatAttribute -> Ordering
$ccompare :: FloatAttribute -> FloatAttribute -> Ordering
$cp1Ord :: Eq FloatAttribute
Ord, Int -> FloatAttribute -> ShowS
[FloatAttribute] -> ShowS
FloatAttribute -> String
(Int -> FloatAttribute -> ShowS)
-> (FloatAttribute -> String)
-> ([FloatAttribute] -> ShowS)
-> Show FloatAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FloatAttribute] -> ShowS
$cshowList :: [FloatAttribute] -> ShowS
show :: FloatAttribute -> String
$cshow :: FloatAttribute -> String
showsPrec :: Int -> FloatAttribute -> ShowS
$cshowsPrec :: Int -> FloatAttribute -> ShowS
Show)

$(deriveJson ''FloatAttribute)