blob: e1b3d5ee50f2fd50b9675b3b422e0892d836cc0b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
{-# LANGUAGE TypeOperators #-}
-- |
-- Module : Data.Packed.Internal.Signatures
-- Copyright : (c) Alberto Ruiz 2009-15
-- License : BSD3
-- Maintainer : Alberto Ruiz
-- Stability : provisional
--
-- Signatures of the C functions.
--
module Data.Packed.Internal.Signatures where
import Foreign.Ptr(Ptr)
import Data.Complex(Complex)
import Foreign.C.Types(CInt)
type PF = Ptr Float --
type PD = Ptr Double --
type PQ = Ptr (Complex Float) --
type PC = Ptr (Complex Double) --
type TF = CInt -> PF -> IO CInt --
type TFF = CInt -> PF -> TF --
type TFV = CInt -> PF -> TV --
type TVF = CInt -> PD -> TF --
type TFFF = CInt -> PF -> TFF --
type TV = CInt -> PD -> IO CInt --
type TVV = CInt -> PD -> TV --
type TVVV = CInt -> PD -> TVV --
type TFM = CInt -> CInt -> PF -> IO CInt --
type TFMFM = CInt -> CInt -> PF -> TFM --
type TFMFMFM = CInt -> CInt -> PF -> TFMFM --
type TM = CInt -> CInt -> PD -> IO CInt --
type TMM = CInt -> CInt -> PD -> TM --
type TVMM = CInt -> PD -> TMM --
type TMVMM = CInt -> CInt -> PD -> TVMM --
type TMMM = CInt -> CInt -> PD -> TMM --
type TVM = CInt -> PD -> TM --
type TVVM = CInt -> PD -> TVM --
type TMV = CInt -> CInt -> PD -> TV --
type TMMV = CInt -> CInt -> PD -> TMV --
type TMVM = CInt -> CInt -> PD -> TVM --
type TMMVM = CInt -> CInt -> PD -> TMVM --
type TCM = CInt -> CInt -> PC -> IO CInt --
type TCVCM = CInt -> PC -> TCM --
type TCMCVCM = CInt -> CInt -> PC -> TCVCM --
type TMCMCVCM = CInt -> CInt -> PD -> TCMCVCM --
type TCMCMCVCM = CInt -> CInt -> PC -> TCMCVCM --
type TCMCM = CInt -> CInt -> PC -> TCM --
type TVCM = CInt -> PD -> TCM --
type TCMVCM = CInt -> CInt -> PC -> TVCM --
type TCMCMVCM = CInt -> CInt -> PC -> TCMVCM --
type TCMCMCM = CInt -> CInt -> PC -> TCMCM --
type TCV = CInt -> PC -> IO CInt --
type TCVCV = CInt -> PC -> TCV --
type TCVCVCV = CInt -> PC -> TCVCV --
type TCVV = CInt -> PC -> TV --
type TQV = CInt -> PQ -> IO CInt --
type TQVQV = CInt -> PQ -> TQV --
type TQVQVQV = CInt -> PQ -> TQVQV --
type TQVF = CInt -> PQ -> TF --
type TQM = CInt -> CInt -> PQ -> IO CInt --
type TQMQM = CInt -> CInt -> PQ -> TQM --
type TQMQMQM = CInt -> CInt -> PQ -> TQMQM --
type TCMCV = CInt -> CInt -> PC -> TCV --
type TVCV = CInt -> PD -> TCV --
type TCVM = CInt -> PC -> TM --
type TMCVM = CInt -> CInt -> PD -> TCVM --
type TMMCVM = CInt -> CInt -> PD -> TMCVM --
type CM b r = CInt -> CInt -> Ptr b -> r
type CV b r = CInt -> Ptr b -> r
type OM b r = CInt -> CInt -> CInt -> CInt -> Ptr b -> r
type CIdxs r = CV CInt r
type Ok = IO CInt
infixr 5 :>, ::>, ..>
type (:>) t r = CV t r
type (::>) t r = OM t r
type (..>) t r = CM t r
|