class (Real a, Fractional a) => RealFrac a where
properFraction :: (Integral b) => a -> (b,a)
truncate, round :: (Integral b) => a -> b
ceiling, floor :: (Integral b) => a -> b
-- Minimal complete definition:
-- properFraction
truncate x = m where (m,_) = properFraction x
round x = let (n,r) = properFraction x
m = if r < 0 then n - 1 else n + 1
in case signum (abs r - 0.5) of
-1 -> n
0 -> if even n then n else m
1 -> m
ceiling x = if r > 0 then n + 1 else n
where (n,r) = properFraction x
floor x = if r < 0 then n - 1 else n
where (n,r) = properFraction x
instance RealFrac Float where
...
instance RealFrac Double where
...
_____________________________________________
Related sites:
-
dotNet Slackers - Your latest resource for ASP.NET
-
Dotnet Spider - Outsourcing and Offshore software development in India
-
XML - Xselerator, XSL Editor, BizTalk Utilities, XML Tutorials, Learn XML
-
Planet Source Code - The largest public source code database on the Internet
|
|
|