-- Do not edit! Automatically generated by create-lapack-ffi.
module Numeric.BLAS.ComfortArray.Generic (
   axpy,
   copy,
   gbmv,
   gemm,
   gemv,
   gerc,
   geru,
   hbmv,
   hemm,
   hemv,
   her2,
   hpmv,
   hpr2,
   iamax,
   scal,
   swap,
   symm,
   syr2k,
   syrk,
   tbmv,
   tbsv,
   tpmv,
   tpsv,
   trmm,
   trmv,
   trsm,
   trsv,
   ) where

import qualified Numeric.BLAS.ComfortArray.ComplexDouble as Z
import qualified Numeric.BLAS.ComfortArray.ComplexFloat as C
import qualified Numeric.BLAS.ComfortArray.Double as D
import qualified Numeric.BLAS.ComfortArray.Float as S
import qualified Numeric.Netlib.Class as Class
import Numeric.Netlib.ComfortArray.Utility (ZeroInt)

import Data.Array.Comfort.Storable.Mutable (IOArray)
import Data.Array.Comfort.Storable (Array)

import Foreign.C.Types (CInt)



newtype AXPY a = AXPY {AXPY a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
getAXPY :: Int -> a -> Array ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ()}

axpy :: Class.Floating a => Int -> a -> Array ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ()
axpy :: Int
-> a -> Array ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ()
axpy = AXPY a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
AXPY a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
getAXPY (AXPY a
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> AXPY a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ AXPY Float
-> AXPY Double
-> AXPY (Complex Float)
-> AXPY (Complex Double)
-> AXPY a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Float
 -> Array ZeroInt Float
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> AXPY Float
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> AXPY a
AXPY Int
-> Float
-> Array ZeroInt Float
-> Int
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.axpy) ((Int
 -> Double
 -> Array ZeroInt Double
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> AXPY Double
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> AXPY a
AXPY Int
-> Double
-> Array ZeroInt Double
-> Int
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.axpy) ((Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> AXPY (Complex Float)
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> AXPY a
AXPY Int
-> Complex Float
-> Array ZeroInt (Complex Float)
-> Int
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.axpy) ((Int
 -> Complex Double
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> AXPY (Complex Double)
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> AXPY a
AXPY Int
-> Complex Double
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.axpy)


newtype COPY a = COPY {COPY a
-> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)
getCOPY :: Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)}

copy :: Class.Floating a => Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)
copy :: Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)
copy = COPY a
-> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)
forall a.
COPY a
-> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)
getCOPY (COPY a
 -> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a))
-> COPY a
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt a)
forall a b. (a -> b) -> a -> b
$ COPY Float
-> COPY Double
-> COPY (Complex Float)
-> COPY (Complex Double)
-> COPY a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Array ZeroInt Float -> Int -> Int -> IO (Array ZeroInt Float))
-> COPY Float
forall a.
(Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a))
-> COPY a
COPY Int
-> Array ZeroInt Float -> Int -> Int -> IO (Array ZeroInt Float)
S.copy) ((Int
 -> Array ZeroInt Double -> Int -> Int -> IO (Array ZeroInt Double))
-> COPY Double
forall a.
(Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a))
-> COPY a
COPY Int
-> Array ZeroInt Double -> Int -> Int -> IO (Array ZeroInt Double)
D.copy) ((Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Int
 -> IO (Array ZeroInt (Complex Float)))
-> COPY (Complex Float)
forall a.
(Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a))
-> COPY a
COPY Int
-> Array ZeroInt (Complex Float)
-> Int
-> Int
-> IO (Array ZeroInt (Complex Float))
C.copy) ((Int
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Int
 -> IO (Array ZeroInt (Complex Double)))
-> COPY (Complex Double)
forall a.
(Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt a))
-> COPY a
COPY Int
-> Array ZeroInt (Complex Double)
-> Int
-> Int
-> IO (Array ZeroInt (Complex Double))
Z.copy)


newtype GBMV a = GBMV {GBMV a
-> Char
-> Int
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getGBMV :: Char -> Int -> Int -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()}

gbmv :: Class.Floating a => Char -> Int -> Int -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
gbmv :: Char
-> Int
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
gbmv = GBMV a
-> Char
-> Int
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
GBMV a
-> Char
-> Int
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getGBMV (GBMV a
 -> Char
 -> Int
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GBMV a
-> Char
-> Int
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ GBMV Float
-> GBMV Double
-> GBMV (Complex Float)
-> GBMV (Complex Double)
-> GBMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int
 -> Int
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> GBMV Float
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GBMV a
GBMV Char
-> Int
-> Int
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.gbmv) ((Char
 -> Int
 -> Int
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> GBMV Double
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GBMV a
GBMV Char
-> Int
-> Int
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.gbmv) ((Char
 -> Int
 -> Int
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> GBMV (Complex Float)
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GBMV a
GBMV Char
-> Int
-> Int
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> Complex Float
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.gbmv) ((Char
 -> Int
 -> Int
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> GBMV (Complex Double)
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GBMV a
GBMV Char
-> Int
-> Int
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.gbmv)


newtype GEMM a = GEMM {GEMM a
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGEMM :: Char -> Char -> Int -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

gemm :: Class.Floating a => Char -> Char -> Int -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
gemm :: Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
gemm = GEMM a
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
GEMM a
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGEMM (GEMM a
 -> Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GEMM a
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ GEMM Float
-> GEMM Double
-> GEMM (Complex Float)
-> GEMM (Complex Double)
-> GEMM a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Int
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> GEMM Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GEMM a
GEMM Char
-> Char
-> Int
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.gemm) ((Char
 -> Char
 -> Int
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> GEMM Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GEMM a
GEMM Char
-> Char
-> Int
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.gemm) ((Char
 -> Char
 -> Int
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> GEMM (Complex Float)
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GEMM a
GEMM Char
-> Char
-> Int
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Complex Float
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.gemm) ((Char
 -> Char
 -> Int
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Complex Double
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> GEMM (Complex Double)
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GEMM a
GEMM Char
-> Char
-> Int
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Complex Double
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.gemm)


newtype GEMV a = GEMV {GEMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getGEMV :: Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()}

gemv :: Class.Floating a => Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
gemv :: Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
gemv = GEMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
GEMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getGEMV (GEMV a
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GEMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ GEMV Float
-> GEMV Double
-> GEMV (Complex Float)
-> GEMV (Complex Double)
-> GEMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> GEMV Float
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GEMV a
GEMV Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.gemv) ((Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> GEMV Double
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GEMV a
GEMV Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.gemv) ((Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> GEMV (Complex Float)
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GEMV a
GEMV Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> Complex Float
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.gemv) ((Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> GEMV (Complex Double)
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> GEMV a
GEMV Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.gemv)


newtype GERC a = GERC {GERC a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGERC :: Int -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

gerc :: Class.Floating a => Int -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO ()
gerc :: Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
gerc = GERC a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
GERC a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGERC (GERC a
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERC a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ GERC Float
-> GERC Double
-> GERC (Complex Float)
-> GERC (Complex Double)
-> GERC a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Float
 -> Array ZeroInt Float
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> GERC Float
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERC a
GERC Int
-> Float
-> Array ZeroInt Float
-> Int
-> Array ZeroInt Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.ger) ((Int
 -> Double
 -> Array ZeroInt Double
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> GERC Double
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERC a
GERC Int
-> Double
-> Array ZeroInt Double
-> Int
-> Array ZeroInt Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.ger) ((Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> GERC (Complex Float)
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERC a
GERC Int
-> Complex Float
-> Array ZeroInt (Complex Float)
-> Int
-> Array ZeroInt (Complex Float)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.gerc) ((Int
 -> Complex Double
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> GERC (Complex Double)
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERC a
GERC Int
-> Complex Double
-> Array ZeroInt (Complex Double)
-> Int
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.gerc)


newtype GERU a = GERU {GERU a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGERU :: Int -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

geru :: Class.Floating a => Int -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO ()
geru :: Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
geru = GERU a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
GERU a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGERU (GERU a
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERU a
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ GERU Float
-> GERU Double
-> GERU (Complex Float)
-> GERU (Complex Double)
-> GERU a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Float
 -> Array ZeroInt Float
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> GERU Float
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERU a
GERU Int
-> Float
-> Array ZeroInt Float
-> Int
-> Array ZeroInt Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.ger) ((Int
 -> Double
 -> Array ZeroInt Double
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> GERU Double
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERU a
GERU Int
-> Double
-> Array ZeroInt Double
-> Int
-> Array ZeroInt Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.ger) ((Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> GERU (Complex Float)
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERU a
GERU Int
-> Complex Float
-> Array ZeroInt (Complex Float)
-> Int
-> Array ZeroInt (Complex Float)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.geru) ((Int
 -> Complex Double
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> GERU (Complex Double)
forall a.
(Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GERU a
GERU Int
-> Complex Double
-> Array ZeroInt (Complex Double)
-> Int
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.geru)


newtype HBMV a = HBMV {HBMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getHBMV :: Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()}

hbmv :: Class.Floating a => Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
hbmv :: Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
hbmv = HBMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
HBMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getHBMV (HBMV a
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HBMV a
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ HBMV Float
-> HBMV Double
-> HBMV (Complex Float)
-> HBMV (Complex Double)
-> HBMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> HBMV Float
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HBMV a
HBMV Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.sbmv) ((Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> HBMV Double
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HBMV a
HBMV Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.sbmv) ((Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> HBMV (Complex Float)
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HBMV a
HBMV Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> Complex Float
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.hbmv) ((Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> HBMV (Complex Double)
forall a.
(Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HBMV a
HBMV Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.hbmv)


newtype HEMM a = HEMM {HEMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getHEMM :: Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

hemm :: Class.Floating a => Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
hemm :: Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
hemm = HEMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
HEMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getHEMM (HEMM a
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HEMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ HEMM Float
-> HEMM Double
-> HEMM (Complex Float)
-> HEMM (Complex Double)
-> HEMM a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> HEMM Float
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HEMM a
HEMM Char
-> Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.symm) ((Char
 -> Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> HEMM Double
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HEMM a
HEMM Char
-> Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.symm) ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> HEMM (Complex Float)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HEMM a
HEMM Char
-> Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Complex Float
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.hemm) ((Char
 -> Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Complex Double
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> HEMM (Complex Double)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HEMM a
HEMM Char
-> Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Complex Double
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.hemm)


newtype HEMV a = HEMV {HEMV a
-> Char
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getHEMV :: Char -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()}

hemv :: Class.Floating a => Char -> a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
hemv :: Char
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
hemv = HEMV a
-> Char
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
HEMV a
-> Char
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getHEMV (HEMV a
 -> Char
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HEMV a
-> Char
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ HEMV Float
-> HEMV Double
-> HEMV (Complex Float)
-> HEMV (Complex Double)
-> HEMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> HEMV Float
forall a.
(Char
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HEMV a
HEMV Char
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.symv) ((Char
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> HEMV Double
forall a.
(Char
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HEMV a
HEMV Char
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.symv) ((Char
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> HEMV (Complex Float)
forall a.
(Char
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HEMV a
HEMV Char
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> Complex Float
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.hemv) ((Char
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> HEMV (Complex Double)
forall a.
(Char
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HEMV a
HEMV Char
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.hemv)


newtype HER2 a = HER2 {HER2 a
-> Char
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getHER2 :: Char -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

her2 :: Class.Floating a => Char -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO ()
her2 :: Char
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
her2 = HER2 a
-> Char
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
HER2 a
-> Char
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getHER2 (HER2 a
 -> Char
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HER2 a
-> Char
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ HER2 Float
-> HER2 Double
-> HER2 (Complex Float)
-> HER2 (Complex Double)
-> HER2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Float
 -> Array ZeroInt Float
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> HER2 Float
forall a.
(Char
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HER2 a
HER2 Char
-> Float
-> Array ZeroInt Float
-> Int
-> Array ZeroInt Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.syr2) ((Char
 -> Double
 -> Array ZeroInt Double
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> HER2 Double
forall a.
(Char
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HER2 a
HER2 Char
-> Double
-> Array ZeroInt Double
-> Int
-> Array ZeroInt Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.syr2) ((Char
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> HER2 (Complex Float)
forall a.
(Char
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HER2 a
HER2 Char
-> Complex Float
-> Array ZeroInt (Complex Float)
-> Int
-> Array ZeroInt (Complex Float)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.her2) ((Char
 -> Complex Double
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> HER2 (Complex Double)
forall a.
(Char
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> HER2 a
HER2 Char
-> Complex Double
-> Array ZeroInt (Complex Double)
-> Int
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.her2)


newtype HPMV a = HPMV {HPMV a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getHPMV :: Char -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()}

hpmv :: Class.Floating a => Char -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
hpmv :: Char
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
hpmv = HPMV a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
HPMV a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
getHPMV (HPMV a
 -> Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HPMV a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ HPMV Float
-> HPMV Double
-> HPMV (Complex Float)
-> HPMV (Complex Double)
-> HPMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> HPMV Float
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HPMV a
HPMV Char
-> Int
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.spmv) ((Char
 -> Int
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> HPMV Double
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HPMV a
HPMV Char
-> Int
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.spmv) ((Char
 -> Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> HPMV (Complex Float)
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HPMV a
HPMV Char
-> Int
-> Complex Float
-> Array ZeroInt (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> Complex Float
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.hpmv) ((Char
 -> Int
 -> Complex Double
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> HPMV (Complex Double)
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> HPMV a
HPMV Char
-> Int
-> Complex Double
-> Array ZeroInt (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.hpmv)


newtype HPR2 a = HPR2 {HPR2 a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> IO ()
getHPR2 :: Char -> Int -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray ZeroInt a -> IO ()}

hpr2 :: Class.Floating a => Char -> Int -> a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Int -> IOArray ZeroInt a -> IO ()
hpr2 :: Char
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> IO ()
hpr2 = HPR2 a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> IO ()
forall a.
HPR2 a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> IO ()
getHPR2 (HPR2 a
 -> Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> IO ())
-> HPR2 a
-> Char
-> Int
-> a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Int
-> IOArray ZeroInt a
-> IO ()
forall a b. (a -> b) -> a -> b
$ HPR2 Float
-> HPR2 Double
-> HPR2 (Complex Float)
-> HPR2 (Complex Double)
-> HPR2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int
 -> Float
 -> Array ZeroInt Float
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> IOArray ZeroInt Float
 -> IO ())
-> HPR2 Float
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> IO ())
-> HPR2 a
HPR2 Char
-> Int
-> Float
-> Array ZeroInt Float
-> Int
-> Array ZeroInt Float
-> Int
-> IOArray ZeroInt Float
-> IO ()
S.spr2) ((Char
 -> Int
 -> Double
 -> Array ZeroInt Double
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> IOArray ZeroInt Double
 -> IO ())
-> HPR2 Double
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> IO ())
-> HPR2 a
HPR2 Char
-> Int
-> Double
-> Array ZeroInt Double
-> Int
-> Array ZeroInt Double
-> Int
-> IOArray ZeroInt Double
-> IO ()
D.spr2) ((Char
 -> Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> IO ())
-> HPR2 (Complex Float)
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> IO ())
-> HPR2 a
HPR2 Char
-> Int
-> Complex Float
-> Array ZeroInt (Complex Float)
-> Int
-> Array ZeroInt (Complex Float)
-> Int
-> IOArray ZeroInt (Complex Float)
-> IO ()
C.hpr2) ((Char
 -> Int
 -> Complex Double
 -> Array ZeroInt (Complex Double)
 -> Int
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IOArray ZeroInt (Complex Double)
 -> IO ())
-> HPR2 (Complex Double)
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> IO ())
-> HPR2 a
HPR2 Char
-> Int
-> Complex Double
-> Array ZeroInt (Complex Double)
-> Int
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray ZeroInt (Complex Double)
-> IO ()
Z.hpr2)


newtype IAMAX a = IAMAX {IAMAX a -> Int -> Array ZeroInt a -> Int -> IO CInt
getIAMAX :: Int -> Array ZeroInt a -> Int -> IO CInt}

iamax :: Class.Floating a => Int -> Array ZeroInt a -> Int -> IO CInt
iamax :: Int -> Array ZeroInt a -> Int -> IO CInt
iamax = IAMAX a -> Int -> Array ZeroInt a -> Int -> IO CInt
forall a. IAMAX a -> Int -> Array ZeroInt a -> Int -> IO CInt
getIAMAX (IAMAX a -> Int -> Array ZeroInt a -> Int -> IO CInt)
-> IAMAX a -> Int -> Array ZeroInt a -> Int -> IO CInt
forall a b. (a -> b) -> a -> b
$ IAMAX Float
-> IAMAX Double
-> IAMAX (Complex Float)
-> IAMAX (Complex Double)
-> IAMAX a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int -> Array ZeroInt Float -> Int -> IO CInt) -> IAMAX Float
forall a. (Int -> Array ZeroInt a -> Int -> IO CInt) -> IAMAX a
IAMAX Int -> Array ZeroInt Float -> Int -> IO CInt
S.iamax) ((Int -> Array ZeroInt Double -> Int -> IO CInt) -> IAMAX Double
forall a. (Int -> Array ZeroInt a -> Int -> IO CInt) -> IAMAX a
IAMAX Int -> Array ZeroInt Double -> Int -> IO CInt
D.iamax) ((Int -> Array ZeroInt (Complex Float) -> Int -> IO CInt)
-> IAMAX (Complex Float)
forall a. (Int -> Array ZeroInt a -> Int -> IO CInt) -> IAMAX a
IAMAX Int -> Array ZeroInt (Complex Float) -> Int -> IO CInt
C.iamax) ((Int -> Array ZeroInt (Complex Double) -> Int -> IO CInt)
-> IAMAX (Complex Double)
forall a. (Int -> Array ZeroInt a -> Int -> IO CInt) -> IAMAX a
IAMAX Int -> Array ZeroInt (Complex Double) -> Int -> IO CInt
Z.iamax)


newtype SCAL a = SCAL {SCAL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
getSCAL :: Int -> a -> IOArray ZeroInt a -> Int -> IO ()}

scal :: Class.Floating a => Int -> a -> IOArray ZeroInt a -> Int -> IO ()
scal :: Int -> a -> IOArray ZeroInt a -> Int -> IO ()
scal = SCAL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
forall a. SCAL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
getSCAL (SCAL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ())
-> SCAL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
forall a b. (a -> b) -> a -> b
$ SCAL Float
-> SCAL Double
-> SCAL (Complex Float)
-> SCAL (Complex Double)
-> SCAL a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int -> Float -> IOArray ZeroInt Float -> Int -> IO ())
-> SCAL Float
forall a. (Int -> a -> IOArray ZeroInt a -> Int -> IO ()) -> SCAL a
SCAL Int -> Float -> IOArray ZeroInt Float -> Int -> IO ()
S.scal) ((Int -> Double -> IOArray ZeroInt Double -> Int -> IO ())
-> SCAL Double
forall a. (Int -> a -> IOArray ZeroInt a -> Int -> IO ()) -> SCAL a
SCAL Int -> Double -> IOArray ZeroInt Double -> Int -> IO ()
D.scal) ((Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> SCAL (Complex Float)
forall a. (Int -> a -> IOArray ZeroInt a -> Int -> IO ()) -> SCAL a
SCAL Int
-> Complex Float -> IOArray ZeroInt (Complex Float) -> Int -> IO ()
C.scal) ((Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> SCAL (Complex Double)
forall a. (Int -> a -> IOArray ZeroInt a -> Int -> IO ()) -> SCAL a
SCAL Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.scal)


newtype SWAP a = SWAP {SWAP a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
getSWAP :: Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ()}

swap :: Class.Floating a => Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ()
swap :: Int
-> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ()
swap = SWAP a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
SWAP a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
getSWAP (SWAP a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> SWAP a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ SWAP Float
-> SWAP Double
-> SWAP (Complex Float)
-> SWAP (Complex Double)
-> SWAP a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray ZeroInt Float
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> SWAP Float
forall a.
(Int
 -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ())
-> SWAP a
SWAP Int
-> IOArray ZeroInt Float
-> Int
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.swap) ((Int
 -> IOArray ZeroInt Double
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> SWAP Double
forall a.
(Int
 -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ())
-> SWAP a
SWAP Int
-> IOArray ZeroInt Double
-> Int
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.swap) ((Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> SWAP (Complex Float)
forall a.
(Int
 -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ())
-> SWAP a
SWAP Int
-> IOArray ZeroInt (Complex Float)
-> Int
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.swap) ((Int
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> SWAP (Complex Double)
forall a.
(Int
 -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO ())
-> SWAP a
SWAP Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.swap)


newtype SYMM a = SYMM {SYMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getSYMM :: Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

symm :: Class.Floating a => Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
symm :: Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
symm = SYMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
SYMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getSYMM (SYMM a
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYMM a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ SYMM Float
-> SYMM Double
-> SYMM (Complex Float)
-> SYMM (Complex Double)
-> SYMM a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> SYMM Float
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYMM a
SYMM Char
-> Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.symm) ((Char
 -> Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> SYMM Double
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYMM a
SYMM Char
-> Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.symm) ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> SYMM (Complex Float)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYMM a
SYMM Char
-> Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Complex Float
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.symm) ((Char
 -> Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Complex Double
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> SYMM (Complex Double)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYMM a
SYMM Char
-> Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Complex Double
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.symm)


newtype SYR2K a = SYR2K {SYR2K a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getSYR2K :: Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

syr2k :: Class.Floating a => Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
syr2k :: Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
syr2k = SYR2K a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
SYR2K a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getSYR2K (SYR2K a
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYR2K a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ SYR2K Float
-> SYR2K Double
-> SYR2K (Complex Float)
-> SYR2K (Complex Double)
-> SYR2K a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> SYR2K Float
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYR2K a
SYR2K Char
-> Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.syr2k) ((Char
 -> Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> SYR2K Double
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYR2K a
SYR2K Char
-> Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.syr2k) ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> SYR2K (Complex Float)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYR2K a
SYR2K Char
-> Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Complex Float
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.syr2k) ((Char
 -> Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Complex Double
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> SYR2K (Complex Double)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYR2K a
SYR2K Char
-> Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Complex Double
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.syr2k)


newtype SYRK a = SYRK {SYRK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getSYRK :: Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

syrk :: Class.Floating a => Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
syrk :: Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
syrk = SYRK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
SYRK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getSYRK (SYRK a
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYRK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ SYRK Float
-> SYRK Double
-> SYRK (Complex Float)
-> SYRK (Complex Double)
-> SYRK a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> SYRK Float
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYRK a
SYRK Char
-> Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.syrk) ((Char
 -> Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> SYRK Double
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYRK a
SYRK Char
-> Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.syrk) ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> SYRK (Complex Float)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYRK a
SYRK Char
-> Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Complex Float
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.syrk) ((Char
 -> Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Complex Double
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> SYRK (Complex Double)
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> SYRK a
SYRK Char
-> Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Complex Double
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.syrk)


newtype TBMV a = TBMV {TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTBMV :: Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()}

tbmv :: Class.Floating a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()
tbmv :: Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
tbmv = TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTBMV (TBMV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TBMV Float
-> TBMV Double
-> TBMV (Complex Float)
-> TBMV (Complex Double)
-> TBMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> TBMV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBMV a
TBMV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.tbmv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> TBMV Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBMV a
TBMV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.tbmv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TBMV (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBMV a
TBMV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.tbmv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> TBMV (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBMV a
TBMV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.tbmv)


newtype TBSV a = TBSV {TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTBSV :: Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()}

tbsv :: Class.Floating a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()
tbsv :: Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
tbsv = TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTBSV (TBSV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TBSV Float
-> TBSV Double
-> TBSV (Complex Float)
-> TBSV (Complex Double)
-> TBSV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> TBSV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBSV a
TBSV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.tbsv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> TBSV Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBSV a
TBSV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.tbsv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TBSV (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBSV a
TBSV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.tbsv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> TBSV (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TBSV a
TBSV Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.tbsv)


newtype TPMV a = TPMV {TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTPMV :: Char -> Char -> Char -> Int -> Array ZeroInt a -> IOArray ZeroInt a -> Int -> IO ()}

tpmv :: Class.Floating a => Char -> Char -> Char -> Int -> Array ZeroInt a -> IOArray ZeroInt a -> Int -> IO ()
tpmv :: Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
tpmv = TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTPMV (TPMV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TPMV Float
-> TPMV Double
-> TPMV (Complex Float)
-> TPMV (Complex Double)
-> TPMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> TPMV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPMV a
TPMV Char
-> Char
-> Char
-> Int
-> Array ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.tpmv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> TPMV Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPMV a
TPMV Char
-> Char
-> Char
-> Int
-> Array ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.tpmv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TPMV (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPMV a
TPMV Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.tpmv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> TPMV (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPMV a
TPMV Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.tpmv)


newtype TPSV a = TPSV {TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTPSV :: Char -> Char -> Char -> Int -> Array ZeroInt a -> IOArray ZeroInt a -> Int -> IO ()}

tpsv :: Class.Floating a => Char -> Char -> Char -> Int -> Array ZeroInt a -> IOArray ZeroInt a -> Int -> IO ()
tpsv :: Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
tpsv = TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTPSV (TPSV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TPSV Float
-> TPSV Double
-> TPSV (Complex Float)
-> TPSV (Complex Double)
-> TPSV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> TPSV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPSV a
TPSV Char
-> Char
-> Char
-> Int
-> Array ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.tpsv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> TPSV Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPSV a
TPSV Char
-> Char
-> Char
-> Int
-> Array ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.tpsv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TPSV (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPSV a
TPSV Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.tpsv) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> TPSV (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TPSV a
TPSV Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.tpsv)


newtype TRMM a = TRMM {TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getTRMM :: Char -> Char -> Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

trmm :: Class.Floating a => Char -> Char -> Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
trmm :: Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
trmm = TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getTRMM (TRMM a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRMM Float
-> TRMM Double
-> TRMM (Complex Float)
-> TRMM (Complex Double)
-> TRMM a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> TRMM Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRMM a
TRMM Char
-> Char
-> Char
-> Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.trmm) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> TRMM Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRMM a
TRMM Char
-> Char
-> Char
-> Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.trmm) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> TRMM (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRMM a
TRMM Char
-> Char
-> Char
-> Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.trmm) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> TRMM (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRMM a
TRMM Char
-> Char
-> Char
-> Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.trmm)


newtype TRMV a = TRMV {TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTRMV :: Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()}

trmv :: Class.Floating a => Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()
trmv :: Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
trmv = TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTRMV (TRMV a
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRMV Float
-> TRMV Double
-> TRMV (Complex Float)
-> TRMV (Complex Double)
-> TRMV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> TRMV Float
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRMV a
TRMV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.trmv) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> TRMV Double
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRMV a
TRMV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.trmv) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TRMV (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRMV a
TRMV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.trmv) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> TRMV (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRMV a
TRMV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.trmv)


newtype TRSM a = TRSM {TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getTRSM :: Char -> Char -> Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

trsm :: Class.Floating a => Char -> Char -> Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
trsm :: Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
trsm = TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getTRSM (TRSM a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRSM Float
-> TRSM Double
-> TRSM (Complex Float)
-> TRSM (Complex Double)
-> TRSM a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> TRSM Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRSM a
TRSM Char
-> Char
-> Char
-> Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.trsm) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> TRSM Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRSM a
TRSM Char
-> Char
-> Char
-> Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.trsm) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> TRSM (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRSM a
TRSM Char
-> Char
-> Char
-> Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.trsm) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> TRSM (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> TRSM a
TRSM Char
-> Char
-> Char
-> Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.trsm)


newtype TRSV a = TRSV {TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTRSV :: Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()}

trsv :: Class.Floating a => Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Int -> IO ()
trsv :: Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
trsv = TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a.
TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
getTRSV (TRSV a
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRSV Float
-> TRSV Double
-> TRSV (Complex Float)
-> TRSV (Complex Double)
-> TRSV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO ())
-> TRSV Float
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRSV a
TRSV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> Int
-> IO ()
S.trsv) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO ())
-> TRSV Double
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRSV a
TRSV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> Int
-> IO ()
D.trsv) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TRSV (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRSV a
TRSV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO ()
C.trsv) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO ())
-> TRSV (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Int
 -> IO ())
-> TRSV a
TRSV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.trsv)