Changeset 12522 for src/Pugs/Prim/Numeric.hs
- Timestamp:
- 08/20/06 17:05:14 (2 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Prim/Numeric.hs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Prim/Numeric.hs
r10616 r12522 14 14 op2Numeric :: (forall a. (Num a) => a -> a -> a) -> Val -> Val -> Eval Val 15 15 op2Numeric f x y 16 | VInt x' <- x, VInt y' <- y = return $ VInt $ f x' y' 17 | VRat x' <- x, VRat y' <- y = return $ VRat $ f x' y' 18 | VRat x' <- x, VInt y' <- y = return $ VRat $ f x' (y' % 1) 19 | VInt x' <- x, VRat y' <- y = return $ VRat $ f (x' % 1) y' 16 20 | VUndef <- x = op2Numeric f (VInt 0) y 17 21 | VUndef <- y = op2Numeric f x (VInt 0) 18 22 | VType{} <- x = op2Numeric f (VInt 0) y 19 23 | VType{} <- y = op2Numeric f x (VInt 0) 20 | (VInt x', VInt y') <- (x, y) = return $ VInt $ f x' y'21 | (VRat x', VInt y') <- (x, y) = return $ VRat $ f x' (y' % 1)22 | (VInt x', VRat y') <- (x, y) = return $ VRat $ f (x' % 1) y'23 | (VRat x', VRat y') <- (x, y) = return $ VRat $ f x' y'24 24 | VRef r <- x = do 25 25 x' <- readRef r
