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.hs80
1 files changed, 46 insertions, 34 deletions
diff --git a/lib/Data/Packed/Internal/Common.hs b/lib/Data/Packed/Internal/Common.hs
index 8930cbb..5ac4f5a 100644
--- a/lib/Data/Packed/Internal/Common.hs
+++ b/lib/Data/Packed/Internal/Common.hs
@@ -59,6 +59,10 @@ common f = commonval . map f where
59infixl 0 // 59infixl 0 //
60(//) = flip ($) 60(//) = flip ($)
61 61
62-- | specialized fromIntegral
63fi :: Int -> CInt
64fi = fromIntegral
65
62-- hmm.. 66-- hmm..
63ww2 w1 o1 w2 o2 f = w1 o1 $ \a1 -> w2 o2 $ \a2 -> f a1 a2 67ww2 w1 o1 w2 o2 f = w1 o1 $ \a1 -> w2 o2 $ \a2 -> f a1 a2
64ww3 w1 o1 w2 o2 w3 o3 f = w1 o1 $ \a1 -> ww2 w2 o2 w3 o3 (f a1) 68ww3 w1 o1 w2 o2 w3 o3 f = w1 o1 $ \a1 -> ww2 w2 o2 w3 o3 (f a1)
@@ -103,37 +107,45 @@ foreign import ccall "auxi.h gsl_strerror" gsl_strerror :: CInt -> IO (Ptr CChar
103-- ugly, but my haddock version doesn't understand 107-- ugly, but my haddock version doesn't understand
104-- yet infix type constructors 108-- yet infix type constructors
105--------------------------------------------------- 109---------------------------------------------------
106---------- signatures of the C functions ------- 110---------- signatures of the C functions ---------
107------------------------------------------------ 111--------------------------------------------------
108type PD = Ptr Double -- 112type PD = Ptr Double --
109type PC = Ptr (Complex Double) -- 113type PC = Ptr (Complex Double) --
110type TV = Int -> PD -> IO CInt -- 114type TV = CInt -> PD -> IO CInt --
111type TVV = Int -> PD -> TV -- 115type TVV = CInt -> PD -> TV --
112type TVVV = Int -> PD -> TVV -- 116type TVVV = CInt -> PD -> TVV --
113type TM = Int -> Int -> PD -> IO CInt -- 117type TM = CInt -> CInt -> PD -> IO CInt --
114type TMM = Int -> Int -> PD -> TM -- 118type TMM = CInt -> CInt -> PD -> TM --
115type TMMM = Int -> Int -> PD -> TMM -- 119type TVMM = CInt -> PD -> TMM --
116type TVM = Int -> PD -> TM -- 120type TMVMM = CInt -> CInt -> PD -> TVMM --
117type TVVM = Int -> PD -> TVM -- 121type TMMM = CInt -> CInt -> PD -> TMM --
118type TMV = Int -> Int -> PD -> TV -- 122type TVM = CInt -> PD -> TM --
119type TMVM = Int -> Int -> PD -> TVM -- 123type TVVM = CInt -> PD -> TVM --
120type TMMVM = Int -> Int -> PD -> TMVM -- 124type TMV = CInt -> CInt -> PD -> TV --
121type TCM = Int -> Int -> PC -> IO CInt -- 125type TMMV = CInt -> CInt -> PD -> TMV --
122type TCVCM = Int -> PC -> TCM -- 126type TMVM = CInt -> CInt -> PD -> TVM --
123type TCMCVCM = Int -> Int -> PC -> TCVCM -- 127type TMMVM = CInt -> CInt -> PD -> TMVM --
124type TMCMCVCM = Int -> Int -> PD -> TCMCVCM -- 128type TCM = CInt -> CInt -> PC -> IO CInt --
125type TCMCMCVCM = Int -> Int -> PC -> TCMCVCM -- 129type TCVCM = CInt -> PC -> TCM --
126type TCMCM = Int -> Int -> PC -> TCM -- 130type TCMCVCM = CInt -> CInt -> PC -> TCVCM --
127type TVCM = Int -> PD -> TCM -- 131type TMCMCVCM = CInt -> CInt -> PD -> TCMCVCM --
128type TCMVCM = Int -> Int -> PC -> TVCM -- 132type TCMCMCVCM = CInt -> CInt -> PC -> TCMCVCM --
129type TCMCMVCM = Int -> Int -> PC -> TCMVCM -- 133type TCMCM = CInt -> CInt -> PC -> TCM --
130type TCMCMCM = Int -> Int -> PC -> TCMCM -- 134type TVCM = CInt -> PD -> TCM --
131type TCV = Int -> PC -> IO CInt -- 135type TCMVCM = CInt -> CInt -> PC -> TVCM --
132type TCVCV = Int -> PC -> TCV -- 136type TCMCMVCM = CInt -> CInt -> PC -> TCMVCM --
133type TCVCVCV = Int -> PC -> TCVCV -- 137type TCMCMCM = CInt -> CInt -> PC -> TCMCM --
134type TCMCV = Int -> Int -> PC -> TCV -- 138type TCV = CInt -> PC -> IO CInt --
135type TVCV = Int -> PD -> TCV -- 139type TCVCV = CInt -> PC -> TCV --
136type TCVM = Int -> PC -> TM -- 140type TCVCVCV = CInt -> PC -> TCVCV --
137type TMCVM = Int -> Int -> PD -> TCVM -- 141type TCMCV = CInt -> CInt -> PC -> TCV --
138type TMMCVM = Int -> Int -> PD -> TMCVM -- 142type TVCV = CInt -> PD -> TCV --
139------------------------------------------------ 143type TCVM = CInt -> PC -> TM --
144type TMCVM = CInt -> CInt -> PD -> TCVM --
145type TMMCVM = CInt -> CInt -> PD -> TMCVM --
146--------------------------------------------------
147
148type TauxMul a = CInt -> CInt -> CInt -> Ptr a
149 -> CInt -> CInt -> CInt -> Ptr a
150 -> CInt -> CInt -> Ptr a
151 -> IO CInt