- marr <- primNewByteArray (sizeof_int * 4)
- rc <- getCPUTime marr
- if rc /= 0 then do
- x0 <- primReadIntArray marr 0
- x1 <- primReadIntArray marr 1
- x2 <- primReadIntArray marr 2
- x3 <- primReadIntArray marr 3
- return ((fromIntegral x0 * 1000000000 + fromIntegral x1 +
- fromIntegral x2 * 1000000000 + fromIntegral x3)
- * 1000)
- else
- ioError (IOError Nothing UnsupportedOperation
- "getCPUTime"
- "can't get CPU time")
-
-#else
-
-getCPUTime :: IO Integer
-getCPUTime =
- stToIO (newIntArray ((0::Int),3)) >>= \ marr ->
- stToIO (unsafeFreezeByteArray marr) >>= \ barr@(ByteArray _ frozen#) ->
- primGetCPUTime barr >>= \ rc ->
+ marr <- stToIO (newIntArray ((0::Int),3))
+ barr <- stToIO (unsafeFreezeByteArray marr)
+ rc <- primGetCPUTime barr