module Biobase.Types.Energy where
import Control.DeepSeq
import Data.Aeson (FromJSON, ToJSON)
import Data.Binary (Binary)
import Data.Default
import Data.Hashable
import Data.Serialize (Serialize)
import Data.Vector.Unboxed.Deriving
import GHC.Generics
import Biobase.Types.NumericalExtremes
newtype DeltaGibbs = DG { getDG :: Double }
deriving (Eq,Ord,Num,Fractional,Read,Show,Generic)
derivingUnbox "DeltaGibbs"
[t| DeltaGibbs -> Double |] [| getDG |] [| DG |]
instance Hashable DeltaGibbs
instance Binary DeltaGibbs
instance Serialize DeltaGibbs
instance FromJSON DeltaGibbs
instance ToJSON DeltaGibbs
instance NFData DeltaGibbs
deriving instance NumericalExtremes DeltaGibbs
deriving instance NumericalEpsilon DeltaGibbs
instance Default DeltaGibbs where
def = maxLarge
newtype DeltaDekaGibbs = DekaG { getDekaG :: Int }
deriving (Eq,Ord,Num,Read,Show,Generic)
derivingUnbox "DeltaDekaGibbs"
[t| DeltaDekaGibbs -> Int |] [| getDekaG |] [| DekaG |]
instance Hashable DeltaDekaGibbs
instance Binary DeltaDekaGibbs
instance Serialize DeltaDekaGibbs
instance FromJSON DeltaDekaGibbs
instance ToJSON DeltaDekaGibbs
instance NFData DeltaDekaGibbs
deriving instance NumericalExtremes DeltaDekaGibbs
instance Default DeltaDekaGibbs where
def = maxLarge