@@ -26,7 +26,7 @@ runEngineTests host = do
2626 runLocalMatFun eng
2727 cosOfPi eng
2828 testIsMNull eng
29- testGetFirst eng
29+ testGetFirstLast eng
3030 testAbstractValueUse eng
3131 testTypedAbstractValueUse eng
3232 testGetByteStreamFromArray eng
@@ -60,23 +60,32 @@ testIsMNull eng = do
6060 xa <- createMXScalar (1.0 :: MDouble )
6161 let xaRes = assert (isMNull xa == False ) xa
6262 xaResEi <- mxArrayGetFirst xaRes
63- putStrLn $ " xaResEi is Right: " <> (show $ isRight xaResEi)
63+ putStrLn $ " xaResEi is Right: " <> (show xaResEi)
6464 xae :: MXArray MChar <- createMXArray []
6565 freeMXArray xae
6666 mxLen <- mxArrayLength xae
67- putStrLn $ " length is " <> ( show mxLen)
68- -- This is a bit surprising, but ok
67+ mxDims <- mxArraySize xae
68+ putStrLn $ " length is " <> ( show mxLen) <> " dims are " <> ( show $ mxDims)
6969 let xaeRes = assert (isMNull xae == False ) xae
7070 xaeResEi <- mxArrayGetFirst xaeRes
71- putStrLn $ " xaeResEi is Right: " <> (show $ isRight xaeResEi)
72-
73- testGetFirst :: Engine -> IO ()
74- testGetFirst eng = do
75- putStrLn $ " \n -- testGetFirst --"
76- xa <- createMXScalar (1.0 :: MDouble )
77- xEi <- mxArrayGetFirst xa
78- let xRes = assert (xEi == Right 1.0 ) xEi
71+ putStrLn $ " xaeResEi is Left: " <> (show xaeResEi)
72+
73+ testGetFirstLast :: Engine -> IO ()
74+ testGetFirstLast eng = do
75+ putStrLn $ " \n -- testGetFirstLast --"
76+ let testVal :: MDouble = 1.0
77+ xa <- createMXScalar testVal
78+ xfEi <- mxArrayGetFirst xa
79+ xlEi <- mxArrayGetLast xa
80+ let xRes = assert (xlEi == Right 1.0 && xfEi == xlEi) xfEi
7981 putStrLn $ " xRes is : " <> (show xRes)
82+ threeArray :: MXArray MDouble <- fromListIO [5.0 , 6.0 , 7.0 ]
83+ txfEi <- mxArrayGetFirst threeArray
84+ txlEi <- mxArrayGetLast threeArray
85+ let txfRes = assert (txfEi == Right 5.0 ) txfEi
86+ putStrLn $ " txfRes is : " <> (show txfRes)
87+ let txlRes = assert (txlEi == Right 7.0 ) txlEi
88+ putStrLn $ " txlRes is : " <> (show txlRes)
8089
8190testAbstractValueUse :: Engine -> IO ()
8291testAbstractValueUse eng = do
0 commit comments