1
-----------------------------------------------------------------------------
3
-- Module : Data.Packed.Internal.Signatures
4
-- Copyright : (c) Alberto Ruiz 2009
7
-- Maintainer : Alberto Ruiz <aruiz@um.es>
8
-- Stability : provisional
9
-- Portability : portable (uses FFI)
11
-- Signatures of the C functions.
13
-----------------------------------------------------------------------------
15
module Data.Packed.Internal.Signatures where
17
import Foreign.Ptr(Ptr)
18
import Data.Complex(Complex)
19
import Foreign.C.Types(CInt)
21
type PF = Ptr Float --
22
type PD = Ptr Double --
23
type PQ = Ptr (Complex Float) --
24
type PC = Ptr (Complex Double) --
25
type TF = CInt -> PF -> IO CInt --
26
type TFF = CInt -> PF -> TF --
27
type TFV = CInt -> PF -> TV --
28
type TVF = CInt -> PD -> TF --
29
type TFFF = CInt -> PF -> TFF --
30
type TV = CInt -> PD -> IO CInt --
31
type TVV = CInt -> PD -> TV --
32
type TVVV = CInt -> PD -> TVV --
33
type TFM = CInt -> CInt -> PF -> IO CInt --
34
type TFMFM = CInt -> CInt -> PF -> TFM --
35
type TFMFMFM = CInt -> CInt -> PF -> TFMFM --
36
type TM = CInt -> CInt -> PD -> IO CInt --
37
type TMM = CInt -> CInt -> PD -> TM --
38
type TVMM = CInt -> PD -> TMM --
39
type TMVMM = CInt -> CInt -> PD -> TVMM --
40
type TMMM = CInt -> CInt -> PD -> TMM --
41
type TVM = CInt -> PD -> TM --
42
type TVVM = CInt -> PD -> TVM --
43
type TMV = CInt -> CInt -> PD -> TV --
44
type TMMV = CInt -> CInt -> PD -> TMV --
45
type TMVM = CInt -> CInt -> PD -> TVM --
46
type TMMVM = CInt -> CInt -> PD -> TMVM --
47
type TCM = CInt -> CInt -> PC -> IO CInt --
48
type TCVCM = CInt -> PC -> TCM --
49
type TCMCVCM = CInt -> CInt -> PC -> TCVCM --
50
type TMCMCVCM = CInt -> CInt -> PD -> TCMCVCM --
51
type TCMCMCVCM = CInt -> CInt -> PC -> TCMCVCM --
52
type TCMCM = CInt -> CInt -> PC -> TCM --
53
type TVCM = CInt -> PD -> TCM --
54
type TCMVCM = CInt -> CInt -> PC -> TVCM --
55
type TCMCMVCM = CInt -> CInt -> PC -> TCMVCM --
56
type TCMCMCM = CInt -> CInt -> PC -> TCMCM --
57
type TCV = CInt -> PC -> IO CInt --
58
type TCVCV = CInt -> PC -> TCV --
59
type TCVCVCV = CInt -> PC -> TCVCV --
60
type TCVV = CInt -> PC -> TV --
61
type TQV = CInt -> PQ -> IO CInt --
62
type TQVQV = CInt -> PQ -> TQV --
63
type TQVQVQV = CInt -> PQ -> TQVQV --
64
type TQVF = CInt -> PQ -> TF --
65
type TQM = CInt -> CInt -> PQ -> IO CInt --
66
type TQMQM = CInt -> CInt -> PQ -> TQM --
67
type TQMQMQM = CInt -> CInt -> PQ -> TQMQM --
68
type TCMCV = CInt -> CInt -> PC -> TCV --
69
type TVCV = CInt -> PD -> TCV --
70
type TCVM = CInt -> PC -> TM --
71
type TMCVM = CInt -> CInt -> PD -> TCVM --
72
type TMMCVM = CInt -> CInt -> PD -> TMCVM --