Ticket #2416: Main.hs

File Main.hs, 589 bytes (added by sedillard, 6 years ago)
Line 
1
2
3import Foreign
4import Control.Monad
5import System
6
7import TheModule
8
9main =
10  do
11  n <- return . read . head =<< getArgs
12  a <- mallocArray n
13  b <- mallocArray n
14  c <- mallocArray n
15  forM_ [0..n-1] $ \i -> pokeElemOff a i m4
16  forM_ [0..n-1] $ \i -> pokeElemOff b i v4
17  forM_ [0..n-1] $ \i ->
18    peekElemOff a i >>= \ai ->
19      peekElemOff b i >>= \bi ->
20        pokeElemOff c i (multmv ai bi)
21  peekElemOff c 0 >>= print
22
23m4 = (1:.2:.3:.4:.()):.
24     (5:.6:.7:.7:.()):.
25     (9:.10:.11:.12:.()):.
26     (13:.13:.15:.16:.()):.() :: Mat44 Double
27
28v4 = 4:.3:.2:.1:.() :: Vec4 Double
29