summaryrefslogtreecommitdiff
path: root/lib/Data/Packed/Internal/Common.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Data/Packed/Internal/Common.hs')
-rw-r--r--lib/Data/Packed/Internal/Common.hs39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/Data/Packed/Internal/Common.hs b/lib/Data/Packed/Internal/Common.hs
index 91985f7..bdd7f34 100644
--- a/lib/Data/Packed/Internal/Common.hs
+++ b/lib/Data/Packed/Internal/Common.hs
@@ -86,3 +86,42 @@ scast = fromJust . cast
86{- | conversion of Haskell functions into function pointers that can be used in the C side 86{- | conversion of Haskell functions into function pointers that can be used in the C side
87-} 87-}
88foreign import ccall "wrapper" mkfun:: (Double -> Ptr() -> Double) -> IO( FunPtr (Double -> Ptr() -> Double)) 88foreign import ccall "wrapper" mkfun:: (Double -> Ptr() -> Double) -> IO( FunPtr (Double -> Ptr() -> Double))
89
90---------------------------------------------------
91-- ugly, but my haddock version doesn't understand
92-- yet infix type constructors
93---------------------------------------------------
94---------- signatures of the C functions -------
95------------------------------------------------
96type PD = Ptr Double --
97type PC = Ptr (Complex Double) --
98type TV = Int -> PD -> IO Int --
99type TVV = Int -> PD -> TV --
100type TVVV = Int -> PD -> TVV --
101type TM = Int -> Int -> PD -> IO Int --
102type TMM = Int -> Int -> PD -> TM --
103type TMMM = Int -> Int -> PD -> TMM --
104type TVM = Int -> PD -> TM --
105type TVVM = Int -> PD -> TVM --
106type TMV = Int -> Int -> PD -> TV --
107type TMVM = Int -> Int -> PD -> TVM --
108type TMMVM = Int -> Int -> PD -> TMVM --
109type TCM = Int -> Int -> PC -> IO Int --
110type TCVCM = Int -> PC -> TCM --
111type TCMCVCM = Int -> Int -> PC -> TCVCM --
112type TMCMCVCM = Int -> Int -> PD -> TCMCVCM --
113type TCMCMCVCM = Int -> Int -> PC -> TCMCVCM --
114type TCMCM = Int -> Int -> PC -> TCM --
115type TVCM = Int -> PD -> TCM --
116type TCMVCM = Int -> Int -> PC -> TVCM --
117type TCMCMVCM = Int -> Int -> PC -> TCMVCM --
118type TCMCMCM = Int -> Int -> PC -> TCMCM --
119type TCV = Int -> PC -> IO Int --
120type TCVCV = Int -> PC -> TCV --
121type TCVCVCV = Int -> PC -> TCVCV --
122type TCMCV = Int -> Int -> PC -> TCV --
123type TVCV = Int -> PD -> TCV --
124type TCVM = Int -> PC -> TM --
125type TMCVM = Int -> Int -> PD -> TCVM --
126type TMMCVM = Int -> Int -> PD -> TMCVM --
127------------------------------------------------