{-# LANGUAGE ForeignFunctionInterface #-} module Numeric.Jalla.Foreign.BLAS --(CblasOrder (..), -- CblasTranspose (..), -- CblasUplo (..), -- CblasDiag (..), -- CblasSide (..), -- CblasIndex) where import C2HS import Foreign.C.Types import Foreign.Ptr import Numeric.Jalla.Types import Data.Complex #include type CblasIndex = Integer {# enum CBLAS_ORDER as CblasOrder {upcaseFirstLetter} deriving (Eq,Show) #} {# enum CBLAS_TRANSPOSE as CblasTranspose {upcaseFirstLetter} #} {# enum CBLAS_UPLO as CblasUplo {upcaseFirstLetter} #} {# enum CBLAS_DIAG as CblasDiag {upcaseFirstLetter} #} {# enum CBLAS_SIDE as CblasSide {upcaseFirstLetter} #} c2i :: (Integral i1, Integral i2) => i1 -> i2 c2i = fromIntegral c2f :: (RealFloat a1, RealFloat a2) => a1 -> a2 c2f = realToFrac -- These were all generated with parseblas.hs. Do not change them here, rather change parseblas.hs. {# fun unsafe cblas_sdsdot as sdsdot {fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `CFloat' id #} {# fun unsafe cblas_dsdot as dsdot {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `CDouble' id #} {# fun unsafe cblas_sdot as sdot {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `CFloat' id #} {# fun unsafe cblas_ddot as ddot {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `CDouble' id #} {# fun unsafe cblas_cdotu_sub as cdotu_sub {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)'} -> `()' id #} {# fun unsafe cblas_cdotc_sub as cdotc_sub {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)'} -> `()' id #} {# fun unsafe cblas_zdotu_sub as zdotu_sub {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)'} -> `()' id #} {# fun unsafe cblas_zdotc_sub as zdotc_sub {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)'} -> `()' id #} {# fun unsafe cblas_snrm2 as snrm2 {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `CFloat' id #} {# fun unsafe cblas_sasum as sasum {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `CFloat' id #} {# fun unsafe cblas_dnrm2 as dnrm2 {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `CDouble' id #} {# fun unsafe cblas_dasum as dasum {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `CDouble' id #} {# fun unsafe cblas_scnrm2 as scnrm2 {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `CFloat' id #} {# fun unsafe cblas_scasum as scasum {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `CFloat' id #} {# fun unsafe cblas_dznrm2 as dznrm2 {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `CDouble' id #} {# fun unsafe cblas_dzasum as dzasum {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `CDouble' id #} {# fun unsafe cblas_isamax as isamax {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `CblasIndex' fromIntegral #} {# fun unsafe cblas_idamax as idamax {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `CblasIndex' fromIntegral #} {# fun unsafe cblas_icamax as icamax {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `CblasIndex' fromIntegral #} {# fun unsafe cblas_izamax as izamax {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `CblasIndex' fromIntegral #} {# fun unsafe cblas_sswap as sswap {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_scopy as scopy {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_saxpy as saxpy {fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dswap as dswap {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dcopy as dcopy {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_daxpy as daxpy {fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cswap as cswap {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ccopy as ccopy {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_caxpy as caxpy {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zswap as zswap {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zcopy as zcopy {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zaxpy as zaxpy {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_srotg as srotg {id `Ptr CFloat', id `Ptr CFloat', id `Ptr CFloat', id `Ptr CFloat'} -> `()' id #} {# fun unsafe cblas_srotmg as srotmg {id `Ptr CFloat', id `Ptr CFloat', id `Ptr CFloat', id `CFloat', id `Ptr CFloat'} -> `()' id #} {# fun unsafe cblas_srot as srot {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `CFloat'} -> `()' id #} {# fun unsafe cblas_srotm as srotm {fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat'} -> `()' id #} {# fun unsafe cblas_drotg as drotg {id `Ptr CDouble', id `Ptr CDouble', id `Ptr CDouble', id `Ptr CDouble'} -> `()' id #} {# fun unsafe cblas_drotmg as drotmg {id `Ptr CDouble', id `Ptr CDouble', id `Ptr CDouble', id `CDouble', id `Ptr CDouble'} -> `()' id #} {# fun unsafe cblas_drot as drot {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `CDouble'} -> `()' id #} {# fun unsafe cblas_drotm as drotm {fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble'} -> `()' id #} {# fun unsafe cblas_sscal as sscal {fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dscal as dscal {fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cscal as cscal {fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zscal as zscal {fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_csscal as csscal {fromIntegral `Int', id `CFloat', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zdscal as zdscal {fromIntegral `Int', id `CDouble', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_sgemv as sgemv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_sgbmv as sgbmv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_strmv as strmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_stbmv as stbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_stpmv as stpmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_strsv as strsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_stbsv as stbsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_stpsv as stpsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dgemv as dgemv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dgbmv as dgbmv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtrmv as dtrmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtbmv as dtbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtpmv as dtpmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtrsv as dtrsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtbsv as dtbsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtpsv as dtpsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', id `Ptr CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cgemv as cgemv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cgbmv as cgbmv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctrmv as ctrmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctbmv as ctbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctpmv as ctpmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctrsv as ctrsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctbsv as ctbsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctpsv as ctpsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zgemv as zgemv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zgbmv as zgbmv {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztrmv as ztrmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztbmv as ztbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztpmv as ztpmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztrsv as ztrsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztbsv as ztbsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztpsv as ztpsv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ssymv as ssymv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ssbmv as ssbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_sspmv as sspmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', id `Ptr CFloat', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_sger as sger {cFromEnum `CblasOrder', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ssyr as ssyr {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_sspr as sspr {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat'} -> `()' id #} {# fun unsafe cblas_ssyr2 as ssyr2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_sspr2 as sspr2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat'} -> `()' id #} {# fun unsafe cblas_dsymv as dsymv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dsbmv as dsbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dspmv as dspmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', id `Ptr CDouble', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dger as dger {cFromEnum `CblasOrder', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dsyr as dsyr {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dspr as dspr {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble'} -> `()' id #} {# fun unsafe cblas_dsyr2 as dsyr2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dspr2 as dspr2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble'} -> `()' id #} {# fun unsafe cblas_chemv as chemv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_chbmv as chbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_chpmv as chpmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cgeru as cgeru {cFromEnum `CblasOrder', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cgerc as cgerc {cFromEnum `CblasOrder', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cher as cher {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_chpr as chpr {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CFloat', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)'} -> `()' id #} {# fun unsafe cblas_cher2 as cher2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_chpr2 as chpr2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)'} -> `()' id #} {# fun unsafe cblas_zhemv as zhemv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zhbmv as zhbmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zhpmv as zhpmv {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zgeru as zgeru {cFromEnum `CblasOrder', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zgerc as zgerc {cFromEnum `CblasOrder', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zher as zher {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zhpr as zhpr {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', id `CDouble', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)'} -> `()' id #} {# fun unsafe cblas_zher2 as zher2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zhpr2 as zhpr2 {cFromEnum `CblasOrder', cFromEnum `CblasUplo', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)'} -> `()' id #} {# fun unsafe cblas_sgemm as sgemm {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ssymm as ssymm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ssyrk as ssyrk {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ssyr2k as ssyr2k {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_strmm as strmm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_strsm as strsm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `CFloat', id `Ptr CFloat', fromIntegral `Int', id `Ptr CFloat', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dgemm as dgemm {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dsymm as dsymm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dsyrk as dsyrk {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dsyr2k as dsyr2k {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtrmm as dtrmm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_dtrsm as dtrsm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', id `CDouble', id `Ptr CDouble', fromIntegral `Int', id `Ptr CDouble', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cgemm as cgemm {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_csymm as csymm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_csyrk as csyrk {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_csyr2k as csyr2k {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctrmm as ctrmm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ctrsm as ctrsm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zgemm as zgemm {cFromEnum `CblasOrder', cFromEnum `CblasTranspose', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zsymm as zsymm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zsyrk as zsyrk {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zsyr2k as zsyr2k {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztrmm as ztrmm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_ztrsm as ztrsm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', cFromEnum `CblasDiag', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_chemm as chemm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cherk as cherk {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CFloat', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', id `CFloat', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_cher2k as cher2k {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', castPtr `Ptr (Complex CFloat)', fromIntegral `Int', id `CFloat', castPtr `Ptr (Complex CFloat)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zhemm as zhemm {cFromEnum `CblasOrder', cFromEnum `CblasSide', cFromEnum `CblasUplo', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zherk as zherk {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', id `CDouble', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', id `CDouble', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #} {# fun unsafe cblas_zher2k as zher2k {cFromEnum `CblasOrder', cFromEnum `CblasUplo', cFromEnum `CblasTranspose', fromIntegral `Int', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', castPtr `Ptr (Complex CDouble)', fromIntegral `Int', id `CDouble', castPtr `Ptr (Complex CDouble)', fromIntegral `Int'} -> `()' id #}