diff options
author | Alberto Ruiz <aruiz@um.es> | 2015-06-06 13:10:09 +0200 |
---|---|---|
committer | Alberto Ruiz <aruiz@um.es> | 2015-06-06 13:10:09 +0200 |
commit | de69c1cd115cf2702f4ef6c6932d25ae52375e83 (patch) | |
tree | 03b0b87816a380bf5628ad791b2f034529eaf4e4 /packages/base/src/Internal/Vector.hs | |
parent | 3e4cdbadb0277010b0e089615e3053f6705332cb (diff) |
remove Tools
Diffstat (limited to 'packages/base/src/Internal/Vector.hs')
-rw-r--r-- | packages/base/src/Internal/Vector.hs | 58 |
1 files changed, 38 insertions, 20 deletions
diff --git a/packages/base/src/Internal/Vector.hs b/packages/base/src/Internal/Vector.hs index 27ee13c..0e9161d 100644 --- a/packages/base/src/Internal/Vector.hs +++ b/packages/base/src/Internal/Vector.hs | |||
@@ -10,38 +10,56 @@ | |||
10 | -- Stability : provisional | 10 | -- Stability : provisional |
11 | -- | 11 | -- |
12 | 12 | ||
13 | module Internal.Vector where | 13 | module Internal.Vector( |
14 | 14 | I,Z,R,C, | |
15 | import Internal.Tools | 15 | fi,ti, |
16 | import Foreign.Marshal.Array ( peekArray, copyArray, advancePtr ) | 16 | Vector, fromList, unsafeToForeignPtr, unsafeFromForeignPtr, unsafeWith, |
17 | import Foreign.ForeignPtr ( ForeignPtr, castForeignPtr ) | 17 | createVector, vec, |
18 | import Foreign.Ptr ( Ptr ) | 18 | toList, dim, (@>), at', (|>), |
19 | vjoin, subVector, takesV, idxs, | ||
20 | buildVector, | ||
21 | asReal, asComplex, | ||
22 | toByteString,fromByteString, | ||
23 | zipVector, unzipVector, zipVectorWith, unzipVectorWith, | ||
24 | foldVector, foldVectorG, foldVectorWithIndex, foldLoop, | ||
25 | mapVector, mapVectorM, mapVectorM_, | ||
26 | mapVectorWithIndex, mapVectorWithIndexM, mapVectorWithIndexM_ | ||
27 | ) where | ||
28 | |||
29 | import Foreign.Marshal.Array | ||
30 | import Foreign.ForeignPtr | ||
31 | import Foreign.Ptr | ||
19 | import Foreign.Storable | 32 | import Foreign.Storable |
20 | ( Storable, peekElemOff, pokeElemOff, sizeOf ) | 33 | import Foreign.C.Types(CInt) |
21 | import Foreign.C.Types ( CInt ) | 34 | import Data.Int(Int64) |
22 | import Data.Complex ( Complex ) | 35 | import Data.Complex |
23 | import System.IO.Unsafe ( unsafePerformIO ) | 36 | import System.IO.Unsafe(unsafePerformIO) |
24 | import GHC.ForeignPtr ( mallocPlainForeignPtrBytes ) | 37 | import GHC.ForeignPtr(mallocPlainForeignPtrBytes) |
25 | import GHC.Base ( realWorld#, IO(IO), when ) | 38 | import GHC.Base(realWorld#, IO(IO), when) |
26 | import qualified Data.Vector.Storable as Vector | 39 | import qualified Data.Vector.Storable as Vector |
27 | ( Vector, slice, length ) | 40 | import Data.Vector.Storable(Vector, fromList, unsafeToForeignPtr, unsafeFromForeignPtr, unsafeWith) |
28 | import Data.Vector.Storable | ||
29 | ( fromList, unsafeToForeignPtr, unsafeFromForeignPtr, unsafeWith ) | ||
30 | |||
31 | 41 | ||
32 | #ifdef BINARY | 42 | #ifdef BINARY |
33 | |||
34 | import Data.Binary | 43 | import Data.Binary |
35 | import Control.Monad(replicateM) | 44 | import Control.Monad(replicateM) |
36 | import qualified Data.ByteString.Internal as BS | 45 | import qualified Data.ByteString.Internal as BS |
37 | import Data.Vector.Storable.Internal(updPtr) | 46 | import Data.Vector.Storable.Internal(updPtr) |
38 | import Foreign.Ptr(plusPtr) | ||
39 | |||
40 | #endif | 47 | #endif |
41 | 48 | ||
49 | type I = CInt | ||
50 | type Z = Int64 | ||
51 | type R = Double | ||
52 | type C = Complex Double | ||
53 | |||
54 | |||
55 | -- | specialized fromIntegral | ||
56 | fi :: Int -> CInt | ||
57 | fi = fromIntegral | ||
42 | 58 | ||
59 | -- | specialized fromIntegral | ||
60 | ti :: CInt -> Int | ||
61 | ti = fromIntegral | ||
43 | 62 | ||
44 | type Vector = Vector.Vector | ||
45 | 63 | ||
46 | -- | Number of elements | 64 | -- | Number of elements |
47 | dim :: (Storable t) => Vector t -> Int | 65 | dim :: (Storable t) => Vector t -> Int |