-- Do not edit! Automatically generated by create-lapack-ffi.
module Numeric.BLAS.ComfortArray.Complex (
   axpy,
   casum,
   cnrm2,
   copy,
   gbmv,
   gemm,
   gemv,
   gerc,
   geru,
   hbmv,
   hemm,
   hemv,
   her,
   her2,
   her2k,
   herk,
   hpmv,
   hpr,
   hpr2,
   iamax,
   rotg,
   rrot,
   rscal,
   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.Netlib.Class as Class
import Numeric.Netlib.ComfortArray.Utility (ZeroInt)

import Data.Complex (Complex)

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

import Foreign.C.Types (CInt)



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

axpy :: Class.Real a => Int -> (Complex a) -> Array ZeroInt (Complex a) -> Int -> IOArray ZeroInt (Complex a) -> Int -> IO ()
axpy :: forall a.
Real a =>
Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
axpy = AXPY a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
AXPY a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getAXPY (AXPY a
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> AXPY a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ AXPY Float -> AXPY Double -> AXPY a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> AXPY Float
forall a.
(Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> AXPY a
AXPY Int
-> Complex Double
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.axpy)


newtype CASUM a = CASUM {forall a.
CASUM a -> Int -> IOArray ZeroInt (Complex a) -> Int -> IO a
getCASUM :: Int -> IOArray ZeroInt (Complex a) -> Int -> IO a}

casum :: Class.Real a => Int -> IOArray ZeroInt (Complex a) -> Int -> IO a
casum :: forall a.
Real a =>
Int -> IOArray ZeroInt (Complex a) -> Int -> IO a
casum = CASUM a -> Int -> IOArray ZeroInt (Complex a) -> Int -> IO a
forall a.
CASUM a -> Int -> IOArray ZeroInt (Complex a) -> Int -> IO a
getCASUM (CASUM a -> Int -> IOArray ZeroInt (Complex a) -> Int -> IO a)
-> CASUM a -> Int -> IOArray ZeroInt (Complex a) -> Int -> IO a
forall a b. (a -> b) -> a -> b
$ CASUM Float -> CASUM Double -> CASUM a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int -> IOArray ZeroInt (Complex Float) -> Int -> IO Float)
-> CASUM Float
forall a.
(Int -> IOArray ZeroInt (Complex a) -> Int -> IO a) -> CASUM a
CASUM Int -> IOArray ZeroInt (Complex Float) -> Int -> IO Float
C.casum) ((Int -> IOArray ZeroInt (Complex Double) -> Int -> IO Double)
-> CASUM Double
forall a.
(Int -> IOArray ZeroInt (Complex a) -> Int -> IO a) -> CASUM a
CASUM Int -> IOArray ZeroInt (Complex Double) -> Int -> IO Double
Z.casum)


newtype CNRM2 a = CNRM2 {forall a. CNRM2 a -> Array ZeroInt (Complex a) -> Int -> IO a
getCNRM2 :: Array ZeroInt (Complex a) -> Int -> IO a}

cnrm2 :: Class.Real a => Array ZeroInt (Complex a) -> Int -> IO a
cnrm2 :: forall a. Real a => Array ZeroInt (Complex a) -> Int -> IO a
cnrm2 = CNRM2 a -> Array ZeroInt (Complex a) -> Int -> IO a
forall a. CNRM2 a -> Array ZeroInt (Complex a) -> Int -> IO a
getCNRM2 (CNRM2 a -> Array ZeroInt (Complex a) -> Int -> IO a)
-> CNRM2 a -> Array ZeroInt (Complex a) -> Int -> IO a
forall a b. (a -> b) -> a -> b
$ CNRM2 Float -> CNRM2 Double -> CNRM2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt (Complex Float) -> Int -> IO Float) -> CNRM2 Float
forall a. (Array ZeroInt (Complex a) -> Int -> IO a) -> CNRM2 a
CNRM2 Array ZeroInt (Complex Float) -> Int -> IO Float
C.cnrm2) ((Array ZeroInt (Complex Double) -> Int -> IO Double)
-> CNRM2 Double
forall a. (Array ZeroInt (Complex a) -> Int -> IO a) -> CNRM2 a
CNRM2 Array ZeroInt (Complex Double) -> Int -> IO Double
Z.cnrm2)


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

copy :: Class.Real a => Int -> Array ZeroInt (Complex a) -> Int -> Int -> IO (Array ZeroInt (Complex a))
copy :: forall a.
Real a =>
Int
-> Array ZeroInt (Complex a)
-> Int
-> Int
-> IO (Array ZeroInt (Complex a))
copy = COPY a
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> Int
-> IO (Array ZeroInt (Complex a))
forall a.
COPY a
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> Int
-> IO (Array ZeroInt (Complex a))
getCOPY (COPY a
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> Int
 -> IO (Array ZeroInt (Complex a)))
-> COPY a
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> Int
-> IO (Array ZeroInt (Complex a))
forall a b. (a -> b) -> a -> b
$ COPY Float -> COPY Double -> COPY a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Int
 -> IO (Array ZeroInt (Complex Float)))
-> COPY Float
forall a.
(Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> Int
 -> IO (Array ZeroInt (Complex 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 Double
forall a.
(Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> Int
 -> IO (Array ZeroInt (Complex a)))
-> COPY a
COPY Int
-> Array ZeroInt (Complex Double)
-> Int
-> Int
-> IO (Array ZeroInt (Complex Double))
Z.copy)


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

gbmv :: Class.Real a => Char -> Int -> Int -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
gbmv :: forall a.
Real a =>
Char
-> Int
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
gbmv = GBMV a
-> Char
-> Int
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
GBMV a
-> Char
-> Int
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getGBMV (GBMV a
 -> Char
 -> Int
 -> Int
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> GBMV a
-> Char
-> Int
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ GBMV Float -> GBMV Double -> GBMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((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 Float
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 {forall a.
GEMM a
-> Char
-> Char
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getGEMM :: Char -> Char -> Int -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

gemm :: Class.Real a => Char -> Char -> Int -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
gemm :: forall a.
Real a =>
Char
-> Char
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
gemm = GEMM a
-> Char
-> Char
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
GEMM a
-> Char
-> Char
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getGEMM (GEMM a
 -> Char
 -> Char
 -> Int
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> GEMM a
-> Char
-> Char
-> Int
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ GEMM Float -> GEMM Double -> GEMM a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((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 Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
GEMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getGEMV :: Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

gemv :: Class.Real a => Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
gemv :: forall a.
Real a =>
Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
gemv = GEMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
GEMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getGEMV (GEMV a
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> GEMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ GEMV Float -> GEMV Double -> GEMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> GEMV Float
forall a.
(Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 {forall a.
GERC a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getGERC :: Int -> (Complex a) -> Array ZeroInt (Complex a) -> Int -> Array ZeroInt (Complex a) -> Int -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

gerc :: Class.Real a => Int -> (Complex a) -> Array ZeroInt (Complex a) -> Int -> Array ZeroInt (Complex a) -> Int -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
gerc :: forall a.
Real a =>
Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
gerc = GERC a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
GERC a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getGERC (GERC a
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> GERC a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ GERC Float -> GERC Double -> GERC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> GERC Float
forall a.
(Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
GERU a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getGERU :: Int -> (Complex a) -> Array ZeroInt (Complex a) -> Int -> Array ZeroInt (Complex a) -> Int -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

geru :: Class.Real a => Int -> (Complex a) -> Array ZeroInt (Complex a) -> Int -> Array ZeroInt (Complex a) -> Int -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
geru :: forall a.
Real a =>
Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
geru = GERU a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
GERU a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getGERU (GERU a
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> GERU a
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ GERU Float -> GERU Double -> GERU a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> GERU Float
forall a.
(Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
HBMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getHBMV :: Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

hbmv :: Class.Real a => Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
hbmv :: forall a.
Real a =>
Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
hbmv = HBMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
HBMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getHBMV (HBMV a
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> HBMV a
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ HBMV Float -> HBMV Double -> HBMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> HBMV Float
forall a.
(Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 {forall a.
HEMM a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHEMM :: Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

hemm :: Class.Real a => Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
hemm :: forall a.
Real a =>
Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
hemm = HEMM a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
HEMM a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHEMM (HEMM a
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HEMM a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ HEMM Float -> HEMM Double -> HEMM a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> HEMM Float
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
HEMV a
-> Char
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getHEMV :: Char -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

hemv :: Class.Real a => Char -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
hemv :: forall a.
Real a =>
Char
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
hemv = HEMV a
-> Char
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
HEMV a
-> Char
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getHEMV (HEMV a
 -> Char
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> HEMV a
-> Char
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ HEMV Float -> HEMV Double -> HEMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> HEMV Float
forall a.
(Char
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 HER a = HER {forall a.
HER a
-> Char
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHER :: Char -> a -> Array ZeroInt (Complex a) -> Int -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

her :: Class.Real a => Char -> a -> Array ZeroInt (Complex a) -> Int -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
her :: forall a.
Real a =>
Char
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
her = HER a
-> Char
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
HER a
-> Char
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHER (HER a
 -> Char
 -> a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HER a
-> Char
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ HER Float -> HER Double -> HER a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> HER Float
forall a.
(Char
 -> a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HER a
HER Char
-> Float
-> Array ZeroInt (Complex Float)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.her) ((Char
 -> Double
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> HER Double
forall a.
(Char
 -> a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HER a
HER Char
-> Double
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.her)


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

her2 :: Class.Real a => Char -> (Complex a) -> Array ZeroInt (Complex a) -> Int -> Array ZeroInt (Complex a) -> Int -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
her2 :: forall a.
Real a =>
Char
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
her2 = HER2 a
-> Char
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
HER2 a
-> Char
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHER2 (HER2 a
 -> Char
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HER2 a
-> Char
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ HER2 Float -> HER2 Double -> HER2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> HER2 Float
forall a.
(Char
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 HER2K a = HER2K {forall a.
HER2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHER2K :: Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> a -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

her2k :: Class.Real a => Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> a -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
her2k :: forall a.
Real a =>
Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
her2k = HER2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
HER2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHER2K (HER2K a
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HER2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ HER2K Float -> HER2K Double -> HER2K a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> HER2K Float
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HER2K a
HER2K Char
-> Char
-> Int
-> Complex Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Float
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.her2k) ((Char
 -> Char
 -> Int
 -> Complex Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Double
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> HER2K Double
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HER2K a
HER2K Char
-> Char
-> Int
-> Complex Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Double
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.her2k)


newtype HERK a = HERK {forall a.
HERK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHERK :: Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) (Complex a) -> a -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

herk :: Class.Real a => Char -> Char -> Int -> a -> Array (ZeroInt,ZeroInt) (Complex a) -> a -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
herk :: forall a.
Real a =>
Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
herk = HERK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
HERK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getHERK (HERK a
 -> Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HERK a
-> Char
-> Char
-> Int
-> a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ HERK Float -> HERK Double -> HERK a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> HERK Float
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HERK a
HERK Char
-> Char
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Float
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.herk) ((Char
 -> Char
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Double
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> HERK Double
forall a.
(Char
 -> Char
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> HERK a
HERK Char
-> Char
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Double
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.herk)


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

hpmv :: Class.Real a => Char -> Int -> (Complex a) -> Array ZeroInt (Complex a) -> Array ZeroInt (Complex a) -> Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
hpmv :: forall a.
Real a =>
Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
hpmv = HPMV a
-> Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
HPMV a
-> Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getHPMV (HPMV a
 -> Char
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> HPMV a
-> Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Array ZeroInt (Complex a)
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ HPMV Float -> HPMV Double -> HPMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> HPMV Float
forall a.
(Char
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Array ZeroInt (Complex a)
 -> Int
 -> Complex a
 -> IOArray ZeroInt (Complex 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 HPR a = HPR {forall a.
HPR a
-> Char
-> Int
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
getHPR :: Char -> Int -> a -> Array ZeroInt (Complex a) -> Int -> IOArray ZeroInt (Complex a) -> IO ()}

hpr :: Class.Real a => Char -> Int -> a -> Array ZeroInt (Complex a) -> Int -> IOArray ZeroInt (Complex a) -> IO ()
hpr :: forall a.
Real a =>
Char
-> Int
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
hpr = HPR a
-> Char
-> Int
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
forall a.
HPR a
-> Char
-> Int
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
getHPR (HPR a
 -> Char
 -> Int
 -> a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> IO ())
-> HPR a
-> Char
-> Int
-> a
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ HPR Float -> HPR Double -> HPR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> IO ())
-> HPR Float
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> IO ())
-> HPR a
HPR Char
-> Int
-> Float
-> Array ZeroInt (Complex Float)
-> Int
-> IOArray ZeroInt (Complex Float)
-> IO ()
C.hpr) ((Char
 -> Int
 -> Double
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IOArray ZeroInt (Complex Double)
 -> IO ())
-> HPR Double
forall a.
(Char
 -> Int
 -> a
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> IO ())
-> HPR a
HPR Char
-> Int
-> Double
-> Array ZeroInt (Complex Double)
-> Int
-> IOArray ZeroInt (Complex Double)
-> IO ()
Z.hpr)


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

hpr2 :: Class.Real a => Char -> Int -> (Complex a) -> Array ZeroInt (Complex a) -> Int -> Array ZeroInt (Complex a) -> Int -> IOArray ZeroInt (Complex a) -> IO ()
hpr2 :: forall a.
Real a =>
Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
hpr2 = HPR2 a
-> Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
forall a.
HPR2 a
-> Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
getHPR2 (HPR2 a
 -> Char
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> IO ())
-> HPR2 a
-> Char
-> Int
-> Complex a
-> Array ZeroInt (Complex a)
-> Int
-> Array ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ HPR2 Float -> HPR2 Double -> HPR2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Complex Float
 -> Array ZeroInt (Complex Float)
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> IO ())
-> HPR2 Float
forall a.
(Char
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Int
 -> Complex a
 -> Array ZeroInt (Complex a)
 -> Int
 -> Array ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex 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 {forall a.
IAMAX a -> Int -> Array ZeroInt (Complex a) -> Int -> IO CInt
getIAMAX :: Int -> Array ZeroInt (Complex a) -> Int -> IO CInt}

iamax :: Class.Real a => Int -> Array ZeroInt (Complex a) -> Int -> IO CInt
iamax :: forall a.
Real a =>
Int -> Array ZeroInt (Complex a) -> Int -> IO CInt
iamax = IAMAX a -> Int -> Array ZeroInt (Complex a) -> Int -> IO CInt
forall a.
IAMAX a -> Int -> Array ZeroInt (Complex a) -> Int -> IO CInt
getIAMAX (IAMAX a -> Int -> Array ZeroInt (Complex a) -> Int -> IO CInt)
-> IAMAX a -> Int -> Array ZeroInt (Complex a) -> Int -> IO CInt
forall a b. (a -> b) -> a -> b
$ IAMAX Float -> IAMAX Double -> IAMAX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int -> Array ZeroInt (Complex Float) -> Int -> IO CInt)
-> IAMAX Float
forall a.
(Int -> Array ZeroInt (Complex 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 Double
forall a.
(Int -> Array ZeroInt (Complex a) -> Int -> IO CInt) -> IAMAX a
IAMAX Int -> Array ZeroInt (Complex Double) -> Int -> IO CInt
Z.iamax)


newtype ROTG a = ROTG {forall a. ROTG a -> Complex a -> Complex a -> IO (a, Complex a)
getROTG :: (Complex a) -> (Complex a) -> IO (a, (Complex a))}

rotg :: Class.Real a => (Complex a) -> (Complex a) -> IO (a, (Complex a))
rotg :: forall a. Real a => Complex a -> Complex a -> IO (a, Complex a)
rotg = ROTG a -> Complex a -> Complex a -> IO (a, Complex a)
forall a. ROTG a -> Complex a -> Complex a -> IO (a, Complex a)
getROTG (ROTG a -> Complex a -> Complex a -> IO (a, Complex a))
-> ROTG a -> Complex a -> Complex a -> IO (a, Complex a)
forall a b. (a -> b) -> a -> b
$ ROTG Float -> ROTG Double -> ROTG a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Complex Float -> Complex Float -> IO (Float, Complex Float))
-> ROTG Float
forall a. (Complex a -> Complex a -> IO (a, Complex a)) -> ROTG a
ROTG Complex Float -> Complex Float -> IO (Float, Complex Float)
C.rotg) ((Complex Double -> Complex Double -> IO (Double, Complex Double))
-> ROTG Double
forall a. (Complex a -> Complex a -> IO (a, Complex a)) -> ROTG a
ROTG Complex Double -> Complex Double -> IO (Double, Complex Double)
Z.rotg)


newtype RROT a = RROT {forall a.
RROT a
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> a
-> a
-> IO ()
getRROT :: Int -> IOArray ZeroInt (Complex a) -> Int -> IOArray ZeroInt (Complex a) -> Int -> a -> a -> IO ()}

rrot :: Class.Real a => Int -> IOArray ZeroInt (Complex a) -> Int -> IOArray ZeroInt (Complex a) -> Int -> a -> a -> IO ()
rrot :: forall a.
Real a =>
Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> a
-> a
-> IO ()
rrot = RROT a
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> a
-> a
-> IO ()
forall a.
RROT a
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> a
-> a
-> IO ()
getRROT (RROT a
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> a
 -> a
 -> IO ())
-> RROT a
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> a
-> a
-> IO ()
forall a b. (a -> b) -> a -> b
$ RROT Float -> RROT Double -> RROT a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> Float
 -> Float
 -> IO ())
-> RROT Float
forall a.
(Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> a
 -> a
 -> IO ())
-> RROT a
RROT Int
-> IOArray ZeroInt (Complex Float)
-> Int
-> IOArray ZeroInt (Complex Float)
-> Int
-> Float
-> Float
-> IO ()
C.rrot) ((Int
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> Double
 -> Double
 -> IO ())
-> RROT Double
forall a.
(Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> a
 -> a
 -> IO ())
-> RROT a
RROT Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> Double
-> Double
-> IO ()
Z.rrot)


newtype RSCAL a = RSCAL {forall a.
RSCAL a -> Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
getRSCAL :: Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

rscal :: Class.Real a => Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
rscal :: forall a.
Real a =>
Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
rscal = RSCAL a -> Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
forall a.
RSCAL a -> Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
getRSCAL (RSCAL a
 -> Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ())
-> RSCAL a
-> Int
-> a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ RSCAL Float -> RSCAL Double -> RSCAL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int -> Float -> IOArray ZeroInt (Complex Float) -> Int -> IO ())
-> RSCAL Float
forall a.
(Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ())
-> RSCAL a
RSCAL Int -> Float -> IOArray ZeroInt (Complex Float) -> Int -> IO ()
C.rscal) ((Int -> Double -> IOArray ZeroInt (Complex Double) -> Int -> IO ())
-> RSCAL Double
forall a.
(Int -> a -> IOArray ZeroInt (Complex a) -> Int -> IO ())
-> RSCAL a
RSCAL Int -> Double -> IOArray ZeroInt (Complex Double) -> Int -> IO ()
Z.rscal)


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

scal :: Class.Real a => Int -> (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
scal :: forall a.
Real a =>
Int -> Complex a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
scal = SCAL a
-> Int -> Complex a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
forall a.
SCAL a
-> Int -> Complex a -> IOArray ZeroInt (Complex a) -> Int -> IO ()
getSCAL (SCAL a
 -> Int -> Complex a -> IOArray ZeroInt (Complex a) -> Int -> IO ())
-> SCAL a
-> Int
-> Complex a
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ SCAL Float -> SCAL Double -> SCAL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> SCAL Float
forall a.
(Int -> Complex a -> IOArray ZeroInt (Complex 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 Double
forall a.
(Int -> Complex a -> IOArray ZeroInt (Complex a) -> Int -> IO ())
-> SCAL a
SCAL Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.scal)


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

swap :: Class.Real a => Int -> IOArray ZeroInt (Complex a) -> Int -> IOArray ZeroInt (Complex a) -> Int -> IO ()
swap :: forall a.
Real a =>
Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
swap = SWAP a
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
SWAP a
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getSWAP (SWAP a
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> SWAP a
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ SWAP Float -> SWAP Double -> SWAP a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> SWAP Float
forall a.
(Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> SWAP a
SWAP Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.swap)


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

symm :: Class.Real a => Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
symm :: forall a.
Real a =>
Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
symm = SYMM a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
SYMM a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getSYMM (SYMM a
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> SYMM a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ SYMM Float -> SYMM Double -> SYMM a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> SYMM Float
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
SYR2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getSYR2K :: Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

syr2k :: Class.Real a => Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
syr2k :: forall a.
Real a =>
Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
syr2k = SYR2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
SYR2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getSYR2K (SYR2K a
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> SYR2K a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ SYR2K Float -> SYR2K Double -> SYR2K a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> SYR2K Float
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
SYRK a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getSYRK :: Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

syrk :: Class.Real a => Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
syrk :: forall a.
Real a =>
Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
syrk = SYRK a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
SYRK a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getSYRK (SYRK a
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> SYRK a
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> Complex a
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ SYRK Float -> SYRK Double -> SYRK a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Complex Float
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> SYRK Float
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> Complex a
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTBMV :: Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

tbmv :: Class.Real a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
tbmv :: forall a.
Real a =>
Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
tbmv = TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTBMV (TBMV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> TBMV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TBMV Float -> TBMV Double -> TBMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TBMV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex 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 {forall a.
TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTBSV :: Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

tbsv :: Class.Real a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
tbsv :: forall a.
Real a =>
Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
tbsv = TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTBSV (TBSV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> TBSV a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TBSV Float -> TBSV Double -> TBSV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TBSV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex 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 {forall a.
TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTPMV :: Char -> Char -> Char -> Int -> Array ZeroInt (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

tpmv :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
tpmv :: forall a.
Real a =>
Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
tpmv = TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTPMV (TPMV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex a)
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> TPMV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TPMV Float -> TPMV Double -> TPMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TPMV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex a)
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex a)
 -> IOArray ZeroInt (Complex 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 {forall a.
TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTPSV :: Char -> Char -> Char -> Int -> Array ZeroInt (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

tpsv :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
tpsv :: forall a.
Real a =>
Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
tpsv = TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTPSV (TPSV a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex a)
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> TPSV a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TPSV Float -> TPSV Double -> TPSV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TPSV Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex a)
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex a)
 -> IOArray ZeroInt (Complex 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 {forall a.
TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getTRMM :: Char -> Char -> Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

trmm :: Class.Real a => Char -> Char -> Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
trmm :: forall a.
Real a =>
Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
trmm = TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getTRMM (TRMM a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> TRMM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRMM Float -> TRMM Double -> TRMM a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> TRMM Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTRMV :: Char -> Char -> Char -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

trmv :: Class.Real a => Char -> Char -> Char -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
trmv :: forall a.
Real a =>
Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
trmv = TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTRMV (TRMV a
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> TRMV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRMV Float -> TRMV Double -> TRMV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TRMV Float
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex 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 {forall a.
TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getTRSM :: Char -> Char -> Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()}

trsm :: Class.Real a => Char -> Char -> Char -> Char -> Int -> (Complex a) -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray (ZeroInt,ZeroInt) (Complex a) -> IO ()
trsm :: forall a.
Real a =>
Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
trsm = TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a.
TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
getTRSM (TRSM a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray (ZeroInt, ZeroInt) (Complex a)
 -> IO ())
-> TRSM a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Complex a
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray (ZeroInt, ZeroInt) (Complex a)
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRSM Float -> TRSM Double -> TRSM a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex Float
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> TRSM Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Complex a
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray (ZeroInt, ZeroInt) (Complex 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 {forall a.
TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTRSV :: Char -> Char -> Char -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()}

trsv :: Class.Real a => Char -> Char -> Char -> Array (ZeroInt,ZeroInt) (Complex a) -> IOArray ZeroInt (Complex a) -> Int -> IO ()
trsv :: forall a.
Real a =>
Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
trsv = TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a.
TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
getTRSV (TRSV a
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> TRSV a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex a)
-> IOArray ZeroInt (Complex a)
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ TRSV Float -> TRSV Double -> TRSV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
forall (f :: * -> *). f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO ())
-> TRSV Float
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex 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 Double
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex a)
 -> IOArray ZeroInt (Complex a)
 -> Int
 -> IO ())
-> TRSV a
TRSV Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO ()
Z.trsv)