Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype CBLAS_INDEX = CBIndex CSize
- newtype CBLAS_ORDERT = CBOInt CInt
- data BLASOrder
- encodeOrder :: BLASOrder -> CBLAS_ORDERT
- newtype CBLAS_TRANSPOSET = CBLAS_TransposeT {}
- data BLAS_Transpose
- encodeTranpose :: BLAS_Transpose -> CBLAS_TRANSPOSET
- newtype CBLAS_UPLOT = CBlasUPLO CInt
- data BLASUplo
- encodeUPLO :: BLASUplo -> CBLAS_UPLOT
- newtype CBLAS_DIAGT = CBLAS_DiagT CUChar
- data BlasDiag
- encodeDiag :: BlasDiag -> CBLAS_DIAGT
- newtype CBLAS_SIDET = CBLAS_SideT {}
- data BlasSide
- encodeSide :: BlasSide -> CBLAS_SIDET
- cblas_sdsdot_unsafe :: CInt -> Float -> Ptr Float -> CInt -> Ptr Float -> CInt -> IO Float
- cblas_dsdot_unsafe :: CInt -> Ptr Float -> CInt -> Ptr Float -> CInt -> IO Double
- cblas_sdot_unsafe :: CInt -> Ptr Float -> CInt -> Ptr Float -> CInt -> IO Float
- cblas_ddot_unsafe :: CInt -> Ptr Double -> CInt -> Ptr Double -> CInt -> IO Double
- cblas_sasum_unsafe :: CInt -> Ptr Float -> CInt -> IO Float
- cblas_dasum_unsafe :: CInt -> Ptr Double -> CInt -> IO Double
- cblas_casum_unsafe :: CInt -> Ptr (Complex Float) -> CInt -> IO Float
- cblas_zasum_unsafe :: CInt -> Ptr (Complex Double) -> CInt -> IO Double
- cblas_snrm2_unsafe :: CInt -> Ptr Float -> CInt -> IO Float
- cblas_dnrm2_unsafe :: CInt -> Ptr Double -> CInt -> IO Double
- cblas_scnrm2_unsafe :: CInt -> Ptr (Complex Float) -> CInt -> IO Float
- cblas_dznrm2_unsafe :: CInt -> Ptr (Complex Double) -> CInt -> IO Double
- cblas_isamax_unsafe :: CInt -> Ptr Float -> CInt -> IO CInt
- cblas_idamax_unsafe :: CInt -> Ptr Float -> CInt -> IO CInt
- cblas_icamax_unsafe :: CInt -> Ptr (Complex Float) -> CInt -> IO CInt
- cblas_izamax_unsafe :: CInt -> Ptr (Complex Double) -> CInt -> IO CInt
- cblas_scopy_unsafe :: CInt -> Ptr Float -> CInt -> Ptr Float -> CInt -> IO ()
- cblas_dcopy_unsafe :: CInt -> Ptr Double -> CInt -> Ptr Double -> CInt -> IO ()
- cblas_ccopy_unsafe :: CInt -> Ptr (Complex Float) -> CInt -> Ptr (Complex Float) -> CInt -> IO ()
- cblas_zcopy_unsafe :: CInt -> Ptr (Complex Double) -> CInt -> Ptr (Complex Double) -> CInt -> IO ()
- cblas_sswap_unsafe :: CInt -> Ptr Float -> CInt -> Ptr Float -> CInt -> IO ()
- cblas_dswap_unsafe :: CInt -> Ptr Double -> CInt -> Ptr Double -> CInt -> IO ()
- cblas_cswap_unsafe :: CInt -> Ptr (Complex Float) -> CInt -> Ptr (Complex Float) -> CInt -> IO ()
- cblas_zswap_unsafe :: CInt -> Ptr (Complex Double) -> CInt -> Ptr (Complex Double) -> CInt -> IO ()
- type SymvFunFFI el = CBLAS_ORDERT -> CBLAS_UPLOT -> CInt -> el -> Ptr el -> CInt -> Ptr el -> CInt -> el -> Ptr el -> CInt -> IO ()
- type GemmFunFFI scale el = CBLAS_ORDERT -> CBLAS_TRANSPOSET -> CBLAS_TRANSPOSET -> CInt -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO ()
- cblas_sgemm_unsafe :: GemmFunFFI Float Float
- cblas_dgemm_unsafe :: GemmFunFFI Double Double
- cblas_cgemm_unsafe :: GemmFunFFI (Ptr (Complex Float)) (Complex Float)
- cblas_zgemm_unsafe :: GemmFunFFI (Ptr (Complex Double)) (Complex Double)
- cblas_sgemm_safe :: GemmFunFFI Float Float
- cblas_dgemm_safe :: GemmFunFFI Double Double
- cblas_cgemm_safe :: GemmFunFFI (Ptr (Complex Float)) (Complex Float)
- cblas_zgemm_safe :: GemmFunFFI (Ptr (Complex Double)) (Complex Double)
- type SymmFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO ()
- cblas_ssymm_unsafe :: SymmFunFFI Float Float
- cblas_dsymm_unsafe :: SymmFunFFI Double Double
- cblas_csymm_unsafe :: SymmFunFFI (Ptr (Complex Float)) (Complex Float)
- cblas_zsymm_unsafe :: SymmFunFFI (Ptr (Complex Double)) (Complex Double)
- cblas_ssymm_safe :: SymmFunFFI Float Float
- cblas_dsymm_safe :: SymmFunFFI Double Double
- cblas_csymm_safe :: SymmFunFFI (Ptr (Complex Float)) (Complex Float)
- cblas_zsymm_safe :: SymmFunFFI (Ptr (Complex Double)) (Complex Double)
- type SyrkFunFFI scale el = CBLAS_ORDERT -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO ()
- cblas_ssyrk_unsafe :: SyrkFunFFI Float Float
- cblas_dsyrk_unsafe :: SyrkFunFFI Double Double
- cblas_csyrk_unsafe :: SyrkFunFFI (Ptr (Complex Float)) (Complex Float)
- cblas_zsyrk_unsafe :: SyrkFunFFI (Ptr (Complex Double)) (Complex Double)
- type Syr2kFunFFI scale el = CBLAS_ORDERT -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO ()
- cblas_ssyr2k_unsafe :: Syr2kFunFFI Float Float
- cblas_dsyr2k_unsafe :: Syr2kFunFFI Double Double
- cblas_csyr2k_unsafe :: Syr2kFunFFI (Ptr (Complex Float)) Float
- cblas_zsyr2k_unsafe :: Syr2kFunFFI (Ptr (Complex Double)) Double
- type TrmmFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CBLAS_DIAGT -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> Ptr el -> CInt -> IO ()
- cblas_strmm_unsafe :: TrmmFunFFI Float Float
- cblas_dtrmm_unsafe :: TrmmFunFFI Double Double
- cblas_ctrmm_unsafe :: TrmmFunFFI (Ptr (Complex Float)) (Complex Float)
- cblas_ztrmm_unsafe :: TrmmFunFFI (Ptr (Complex Double)) (Complex Double)
- type TrsmFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CBLAS_DIAGT -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> Ptr el -> CInt -> IO ()
- cblas_strsm_unsafe :: TrmmFunFFI Float Float
- cblas_dtrsm_unsafe :: TrmmFunFFI Double Double
- cblas_ctrsm_unsafe :: TrmmFunFFI (Ptr (Complex Float)) (Complex Float)
- cblas_ztrsm_unsafe :: TrmmFunFFI (Ptr (Complex Double)) (Complex Double)
- type HemmFunFFI el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CInt -> CInt -> Ptr el -> Ptr el -> CInt -> Ptr el -> CInt -> Ptr el -> CInt -> IO ()
- cblas_chemm_unsafe :: HemmFunFFI (Complex Float)
- cblas_zhemm_unsafe :: HemmFunFFI (Complex Double)
- type HerkFun scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_TRANSPOSET -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO ()
- cblas_cherk_unsafe :: HerkFun Float (Complex Float)
- cblas_zherk_unsafe :: HerkFun Double (Complex Double)
- type Her2kFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_TRANSPOSET -> CInt -> CInt -> Ptr el -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO ()
- cblas_cher2k_unsafe :: Her2kFunFFI Float (Complex Float)
- cblas_zher2k_unsafe :: Her2kFunFFI Double (Complex Double)
Documentation
newtype CBLAS_INDEX Source
For All of the BlAS FFI operations,
newtype CBLAS_TRANSPOSET Source
encodeUPLO :: BLASUplo -> CBLAS_UPLOT Source
encodeDiag :: BlasDiag -> CBLAS_DIAGT Source
encodeSide :: BlasSide -> CBLAS_SIDET Source
cblas_ccopy_unsafe :: CInt -> Ptr (Complex Float) -> CInt -> Ptr (Complex Float) -> CInt -> IO () Source
cblas_zcopy_unsafe :: CInt -> Ptr (Complex Double) -> CInt -> Ptr (Complex Double) -> CInt -> IO () Source
cblas_cswap_unsafe :: CInt -> Ptr (Complex Float) -> CInt -> Ptr (Complex Float) -> CInt -> IO () Source
cblas_zswap_unsafe :: CInt -> Ptr (Complex Double) -> CInt -> Ptr (Complex Double) -> CInt -> IO () Source
type SymvFunFFI el = CBLAS_ORDERT -> CBLAS_UPLOT -> CInt -> el -> Ptr el -> CInt -> Ptr el -> CInt -> el -> Ptr el -> CInt -> IO () Source
matrix vector product Av, writes result into v, where A is a packed triangular nxn matrix
type GemmFunFFI scale el = CBLAS_ORDERT -> CBLAS_TRANSPOSET -> CBLAS_TRANSPOSET -> CInt -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO () Source
Matrix mult for general dense matrices
cblas_cgemm_unsafe :: GemmFunFFI (Ptr (Complex Float)) (Complex Float) Source
cblas_zgemm_unsafe :: GemmFunFFI (Ptr (Complex Double)) (Complex Double) Source
cblas_cgemm_safe :: GemmFunFFI (Ptr (Complex Float)) (Complex Float) Source
cblas_zgemm_safe :: GemmFunFFI (Ptr (Complex Double)) (Complex Double) Source
type SymmFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO () Source
cblas_csymm_unsafe :: SymmFunFFI (Ptr (Complex Float)) (Complex Float) Source
cblas_zsymm_unsafe :: SymmFunFFI (Ptr (Complex Double)) (Complex Double) Source
cblas_csymm_safe :: SymmFunFFI (Ptr (Complex Float)) (Complex Float) Source
cblas_zsymm_safe :: SymmFunFFI (Ptr (Complex Double)) (Complex Double) Source
type SyrkFunFFI scale el = CBLAS_ORDERT -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO () Source
cblas_csyrk_unsafe :: SyrkFunFFI (Ptr (Complex Float)) (Complex Float) Source
cblas_zsyrk_unsafe :: SyrkFunFFI (Ptr (Complex Double)) (Complex Double) Source
type Syr2kFunFFI scale el = CBLAS_ORDERT -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO () Source
type TrmmFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CBLAS_DIAGT -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> Ptr el -> CInt -> IO () Source
cblas_ctrmm_unsafe :: TrmmFunFFI (Ptr (Complex Float)) (Complex Float) Source
cblas_ztrmm_unsafe :: TrmmFunFFI (Ptr (Complex Double)) (Complex Double) Source
type TrsmFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CBLAS_TRANSPOSET -> CBLAS_DIAGT -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> Ptr el -> CInt -> IO () Source
cblas_ctrsm_unsafe :: TrmmFunFFI (Ptr (Complex Float)) (Complex Float) Source
cblas_ztrsm_unsafe :: TrmmFunFFI (Ptr (Complex Double)) (Complex Double) Source
type HemmFunFFI el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_UPLOT -> CInt -> CInt -> Ptr el -> Ptr el -> CInt -> Ptr el -> CInt -> Ptr el -> CInt -> IO () Source
hermitian matrix mult
type HerkFun scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_TRANSPOSET -> CInt -> CInt -> scale -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO () Source
type Her2kFunFFI scale el = CBLAS_ORDERT -> CBLAS_SIDET -> CBLAS_TRANSPOSET -> CInt -> CInt -> Ptr el -> Ptr el -> CInt -> Ptr el -> CInt -> scale -> Ptr el -> CInt -> IO () Source