diff options
Diffstat (limited to 'src/Data/Array/Mixed/Internal/Arith')
| -rw-r--r-- | src/Data/Array/Mixed/Internal/Arith/Foreign.hs | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/src/Data/Array/Mixed/Internal/Arith/Foreign.hs b/src/Data/Array/Mixed/Internal/Arith/Foreign.hs index a406dab..ca96093 100644 --- a/src/Data/Array/Mixed/Internal/Arith/Foreign.hs +++ b/src/Data/Array/Mixed/Internal/Arith/Foreign.hs @@ -49,9 +49,13 @@ $(fmap concat . forM floatTypesList $ \arithtype -> do  $(fmap concat . forM typesList $ \arithtype -> do      let ttyp = conT (atType arithtype) -    let base = "reduce_" ++ atCName arithtype -    pure . ForeignD . ImportF CCall Unsafe ("oxarop_" ++ base) (mkName ("c_" ++ base)) <$> -      [t| CInt -> Int64 -> Ptr Int64 -> Ptr Int64 -> Ptr $ttyp -> Ptr $ttyp -> IO () |]) +    let base1 = "reduce1_" ++ atCName arithtype +        basefull = "reducefull_" ++ atCName arithtype +    sequence +      [ForeignD . ImportF CCall Unsafe ("oxarop_" ++ base1) (mkName ("c_" ++ base1)) <$> +         [t| CInt -> Int64 -> Ptr Int64 -> Ptr Int64 -> Ptr $ttyp -> Ptr $ttyp -> IO () |] +      ,ForeignD . ImportF CCall Unsafe ("oxarop_" ++ basefull) (mkName ("c_" ++ basefull)) <$> +         [t| CInt -> Int64 -> Ptr Int64 -> Ptr Int64 -> Ptr $ttyp -> IO $ttyp |]])  $(fmap concat . forM typesList $ \arithtype ->      fmap concat . forM ["min", "max"] $ \fname -> do | 
