raft-0.3.2.2: src/Data/Default/Util.hs
-----------------------------------------------------------------------------
--
-- Module : Data.Default.Util
-- Copyright : (c) 2014-16 Brian W Bush
-- License : MIT
--
-- Maintainer : Brian W Bush <consult@brianwbush.info>
-- Stability : Stable
-- Portability : Portable
--
-- | Default numeric values.
--
-----------------------------------------------------------------------------
{-# LANGUAGE Safe #-}
module Data.Default.Util (
-- * Classes
Zero(..)
-- * Values
, nan
, inf
, infNegative
) where
-- | Class for zero values.
class Zero a where
-- | The zero value.
zero :: a
-- | Not a number.
nan :: RealFloat a => a
nan = realToFrac (read "NaN" :: Double)
-- | Positive infinity.
inf :: RealFloat a => a
inf = realToFrac (read "Infinity" :: Double)
-- | Negative infinity.
infNegative :: RealFloat a => a
infNegative = realToFrac (read "-Infinity" :: Double)