From 1925c123d7d8184a1d2ddc0a413e0fd2776e1083 Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Thu, 8 May 2014 08:48:12 +0200 Subject: empty hmatrix-base --- examples/bool.hs | 54 ------------------------------------------------------ 1 file changed, 54 deletions(-) delete mode 100644 examples/bool.hs (limited to 'examples/bool.hs') diff --git a/examples/bool.hs b/examples/bool.hs deleted file mode 100644 index 679b8bf..0000000 --- a/examples/bool.hs +++ /dev/null @@ -1,54 +0,0 @@ --- vectorized boolean operations defined in terms of step or cond - -import Numeric.LinearAlgebra - -infix 4 .==., ./=., .<., .<=., .>=., .>. -infixr 3 .&&. -infixr 2 .||. - -a .<. b = step (b-a) -a .<=. b = cond a b 1 1 0 -a .==. b = cond a b 0 1 0 -a ./=. b = cond a b 1 0 1 -a .>=. b = cond a b 0 1 1 -a .>. b = step (a-b) - -a .&&. b = step (a*b) -a .||. b = step (a+b) -no a = 1-a -xor a b = a ./=. b -equiv a b = a .==. b -imp a b = no a .||. b - -taut x = minElement x == 1 - -minEvery a b = cond a b a a b -maxEvery a b = cond a b b b a - --- examples - -clip a b x = cond y b y y b where y = cond x a a x x - -disp = putStr . dispf 3 - -eye n = ident n :: Matrix Double -row = asRow . fromList :: [Double] -> Matrix Double -col = asColumn . fromList :: [Double] -> Matrix Double - -m = (3><4) [1..] :: Matrix Double - -p = row [0,0,1,1] -q = row [0,1,0,1] - -main = do - print $ find (>6) m - disp $ assoc (6,8) 7 $ zip (find (/=0) (eye 5)) [10..] - disp $ accum (eye 5) (+) [((0,2),3), ((3,1),7), ((1,1),1)] - disp $ m .>=. 10 .||. m .<. 4 - (disp . fromColumns . map flatten) [p, q, p.&&.q, p .||.q, p `xor` q, p `equiv` q, p `imp` q] - print $ taut $ (p `imp` q ) `equiv` (no q `imp` no p) - print $ taut $ (xor p q) `equiv` (p .&&. no q .||. no p .&&. q) - disp $ clip 3 8 m - disp $ col [1..7] .<=. row [1..5] - disp $ cond (col [1..3]) (row [1..4]) m 50 (3*m) - -- cgit v1.2.3