-- Do not edit! Automatically generated by create-lapack-ffi.
module Numeric.LAPACK.ComfortArray.Generic (
   gbsv,
   gbtf2,
   gbtrf,
   gbtrs,
   gehd2,
   gehrd,
   gelq2,
   gelqf,
   gels,
   geql2,
   geqlf,
   geqp3,
   geqr2,
   geqr2p,
   geqrf,
   geqrfp,
   gerq2,
   gerqf,
   gesv,
   getc2,
   getf2,
   getrf,
   getri,
   getrs,
   ggglm,
   gghrd,
   gglse,
   ggqrf,
   ggrqf,
   gtsv,
   gttrf,
   gttrs,
   gtts2,
   hbgst,
   hpgst,
   hpsv,
   hptrf,
   hptri,
   hptrs,
   ilalc,
   ilalr,
   lacpy,
   lahr2,
   lapmr,
   lapmt,
   larf,
   larfb,
   larfg,
   larfgp,
   larft,
   larfx,
   larnv,
   larz,
   larzb,
   larzt,
   laset,
   laswp,
   lasyf,
   latrz,
   lauu2,
   lauum,
   pbstf,
   pbsv,
   pbtf2,
   pbtrf,
   pbtrs,
   pftrf,
   pftri,
   pftrs,
   posv,
   potf2,
   potrf,
   potri,
   potrs,
   ppsv,
   pptrf,
   pptri,
   pptrs,
   spsv,
   sptrf,
   sptri,
   sptrs,
   syconv,
   sysv,
   syswapr,
   sytf2,
   sytrf,
   sytri,
   sytri2,
   sytri2x,
   sytrs,
   sytrs2,
   tbtrs,
   tfsm,
   tftri,
   tfttp,
   tfttr,
   tgevc,
   tptri,
   tptrs,
   tpttf,
   tpttr,
   trti2,
   trtri,
   trtrs,
   trttp,
   tzrzf,
   ung2l,
   ung2r,
   ungbr,
   unghr,
   ungl2,
   unglq,
   ungql,
   ungqr,
   ungr2,
   ungrq,
   ungtr,
   unm2l,
   unm2r,
   unmbr,
   unmhr,
   unml2,
   unmlq,
   unmql,
   unmqr,
   unmr2,
   unmr3,
   unmrq,
   unmrz,
   unmtr,
   upgtr,
   upmtr,
   ) where

import qualified Numeric.LAPACK.ComfortArray.ComplexDouble as Z
import qualified Numeric.LAPACK.ComfortArray.ComplexFloat as C
import qualified Numeric.LAPACK.ComfortArray.Double as D
import qualified Numeric.LAPACK.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 GBSV a = GBSV {GBSV a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGBSV :: Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

gbsv :: Class.Floating a => Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
gbsv :: Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
gbsv = GBSV a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
GBSV a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGBSV (GBSV a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBSV a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GBSV Float
-> GBSV Double
-> GBSV (Complex Float)
-> GBSV (Complex Double)
-> GBSV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> GBSV Float
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBSV a
GBSV Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt CInt, Int)
S.gbsv) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> GBSV Double
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBSV a
GBSV Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.gbsv) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> GBSV (Complex Float)
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBSV a
GBSV Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.gbsv) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> GBSV (Complex Double)
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBSV a
GBSV Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.gbsv)


newtype GBTF2 a = GBTF2 {GBTF2 a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGBTF2 :: Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

gbtf2 :: Class.Floating a => Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
gbtf2 :: Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
gbtf2 = GBTF2 a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
GBTF2 a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGBTF2 (GBTF2 a
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GBTF2 Float
-> GBTF2 Double
-> GBTF2 (Complex Float)
-> GBTF2 (Complex Double)
-> GBTF2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 Float
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 a
GBTF2 Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt CInt, Int)
S.gbtf2) ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 Double
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 a
GBTF2 Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.gbtf2) ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 (Complex Float)
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 a
GBTF2 Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.gbtf2) ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 (Complex Double)
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTF2 a
GBTF2 Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.gbtf2)


newtype GBTRF a = GBTRF {GBTRF a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGBTRF :: Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

gbtrf :: Class.Floating a => Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
gbtrf :: Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
gbtrf = GBTRF a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
GBTRF a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGBTRF (GBTRF a
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF a
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GBTRF Float
-> GBTRF Double
-> GBTRF (Complex Float)
-> GBTRF (Complex Double)
-> GBTRF a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF Float
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF a
GBTRF Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt CInt, Int)
S.gbtrf) ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF Double
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF a
GBTRF Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.gbtrf) ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF (Complex Float)
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF a
GBTRF Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.gbtrf) ((Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF (Complex Double)
forall a.
(Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GBTRF a
GBTRF Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.gbtrf)


newtype GBTRS a = GBTRS {GBTRS a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGBTRS :: Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


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

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


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

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


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

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


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

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


newtype GELS a = GELS {GELS a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getGELS :: Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)}

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


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

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


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

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


newtype GEQP3 a = GEQP3 {GEQP3 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt a, Int)
getGEQP3 :: Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a, Int)}

geqp3 :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a, Int)
geqp3 :: Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt a, Int)
geqp3 = GEQP3 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt a, Int)
forall a.
GEQP3 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt a, Int)
getGEQP3 (GEQP3 a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt a, Int))
-> GEQP3 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GEQP3 Float
-> GEQP3 Double
-> GEQP3 (Complex Float)
-> GEQP3 (Complex Double)
-> GEQP3 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt Float, Int))
-> GEQP3 Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt a, Int))
-> GEQP3 a
GEQP3 Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt Float, Int)
S.geqp3) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt Double, Int))
-> GEQP3 Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt a, Int))
-> GEQP3 a
GEQP3 Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt Double, Int)
D.geqp3) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt (Complex Float), Int))
-> GEQP3 (Complex Float)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt a, Int))
-> GEQP3 a
GEQP3 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt (Complex Float), Int)
C.geqp3) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt (Complex Double), Int))
-> GEQP3 (Complex Double)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IO (Array ZeroInt a, Int))
-> GEQP3 a
GEQP3 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt CInt
-> Int
-> IO (Array ZeroInt (Complex Double), Int)
Z.geqp3)


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

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


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

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


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

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


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

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


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

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


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

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


newtype GESV a = GESV {GESV a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGESV :: IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

gesv :: Class.Floating a => IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
gesv :: IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int)
gesv = GESV a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
GESV a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGESV (GESV a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GESV a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GESV Float
-> GESV Double
-> GESV (Complex Float)
-> GESV (Complex Double)
-> GESV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> GESV Float
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GESV a
GESV IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float -> IO (Array ZeroInt CInt, Int)
S.gesv) ((IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> GESV Double
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GESV a
GESV IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.gesv) ((IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> GESV (Complex Float)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GESV a
GESV IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.gesv) ((IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> GESV (Complex Double)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GESV a
GESV IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.gesv)


newtype GETC2 a = GETC2 {GETC2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
getGETC2 :: IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)}

getc2 :: Class.Floating a => IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
getc2 :: IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
getc2 = GETC2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a.
GETC2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
getGETC2 (GETC2 a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GETC2 Float
-> GETC2 Double
-> GETC2 (Complex Float)
-> GETC2 (Complex Double)
-> GETC2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 Float
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 a
GETC2 IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
S.getc2) ((IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 Double
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 a
GETC2 IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
D.getc2) ((IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 (Complex Float)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 a
GETC2 IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
C.getc2) ((IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 (Complex Double)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> GETC2 a
GETC2 IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Array ZeroInt CInt, Int)
Z.getc2)


newtype GETF2 a = GETF2 {GETF2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGETF2 :: Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

getf2 :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
getf2 :: Int -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int)
getf2 = GETF2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
GETF2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGETF2 (GETF2 a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GETF2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GETF2 Float
-> GETF2 Double
-> GETF2 (Complex Float)
-> GETF2 (Complex Double)
-> GETF2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> GETF2 Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETF2 a
GETF2 Int
-> IOArray (ZeroInt, ZeroInt) Float -> IO (Array ZeroInt CInt, Int)
S.getf2) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> GETF2 Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETF2 a
GETF2 Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.getf2) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> GETF2 (Complex Float)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETF2 a
GETF2 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.getf2) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> GETF2 (Complex Double)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETF2 a
GETF2 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.getf2)


newtype GETRF a = GETRF {GETRF a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGETRF :: Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

getrf :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
getrf :: Int -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int)
getrf = GETRF a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
GETRF a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getGETRF (GETRF a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> GETRF a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GETRF Float
-> GETRF Double
-> GETRF (Complex Float)
-> GETRF (Complex Double)
-> GETRF a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> GETRF Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETRF a
GETRF Int
-> IOArray (ZeroInt, ZeroInt) Float -> IO (Array ZeroInt CInt, Int)
S.getrf) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> GETRF Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETRF a
GETRF Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.getrf) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> GETRF (Complex Float)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETRF a
GETRF Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.getrf) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> GETRF (Complex Double)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a -> IO (Array ZeroInt CInt, Int))
-> GETRF a
GETRF Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.getrf)


newtype GETRI a = GETRI {GETRI a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Int
-> IO Int
getGETRI :: IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Int -> IO (Int)}

getri :: Class.Floating a => IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Int -> IO (Int)
getri :: IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt CInt -> Int -> IO Int
getri = GETRI a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Int
-> IO Int
forall a.
GETRI a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Int
-> IO Int
getGETRI (GETRI a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Int
 -> IO Int)
-> GETRI a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ GETRI Float
-> GETRI Double
-> GETRI (Complex Float)
-> GETRI (Complex Double)
-> GETRI a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI Float
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI a
GETRI IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt -> Int -> IO Int
S.getri) ((IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI Double
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI a
GETRI IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt -> Int -> IO Int
D.getri) ((IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI (Complex Float)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI a
GETRI IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt CInt -> Int -> IO Int
C.getri) ((IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI (Complex Double)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt -> Int -> IO Int)
-> GETRI a
GETRI IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt CInt -> Int -> IO Int
Z.getri)


newtype GETRS a = GETRS {GETRS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGETRS :: Char -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


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

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


newtype GGHRD a = GGHRD {GGHRD a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGGHRD :: Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


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

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


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

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


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

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


newtype GTSV a = GTSV {GTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGTSV :: IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

gtsv :: Class.Floating a => IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
gtsv :: IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
gtsv = GTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
GTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGTSV (GTSV a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ GTSV Float
-> GTSV Double
-> GTSV (Complex Float)
-> GTSV (Complex Double)
-> GTSV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> GTSV Float
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GTSV a
GTSV IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.gtsv) ((IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> GTSV Double
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GTSV a
GTSV IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.gtsv) ((IOArray ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO Int)
-> GTSV (Complex Float)
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GTSV a
GTSV IOArray ZeroInt (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO Int
C.gtsv) ((IOArray ZeroInt (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO Int)
-> GTSV (Complex Double)
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GTSV a
GTSV IOArray ZeroInt (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO Int
Z.gtsv)


newtype GTTRF a = GTTRF {GTTRF a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
getGTTRF :: IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Array ZeroInt a, Array ZeroInt CInt, Int)}

gttrf :: Class.Floating a => IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
gttrf :: IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
gttrf = GTTRF a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
forall a.
GTTRF a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
getGTTRF (GTTRF a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> GTTRF a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ GTTRF Float
-> GTTRF Double
-> GTTRF (Complex Float)
-> GTTRF (Complex Double)
-> GTTRF a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IO (Array ZeroInt Float, Array ZeroInt CInt, Int))
-> GTTRF Float
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> GTTRF a
GTTRF IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IO (Array ZeroInt Float, Array ZeroInt CInt, Int)
S.gttrf) ((IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IO (Array ZeroInt Double, Array ZeroInt CInt, Int))
-> GTTRF Double
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> GTTRF a
GTTRF IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IO (Array ZeroInt Double, Array ZeroInt CInt, Int)
D.gttrf) ((IOArray ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> IOArray ZeroInt (Complex Float)
 -> IO (Array ZeroInt (Complex Float), Array ZeroInt CInt, Int))
-> GTTRF (Complex Float)
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> GTTRF a
GTTRF IOArray ZeroInt (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> IOArray ZeroInt (Complex Float)
-> IO (Array ZeroInt (Complex Float), Array ZeroInt CInt, Int)
C.gttrf) ((IOArray ZeroInt (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> IOArray ZeroInt (Complex Double)
 -> IO (Array ZeroInt (Complex Double), Array ZeroInt CInt, Int))
-> GTTRF (Complex Double)
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> GTTRF a
GTTRF IOArray ZeroInt (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> IOArray ZeroInt (Complex Double)
-> IO (Array ZeroInt (Complex Double), Array ZeroInt CInt, Int)
Z.gttrf)


newtype GTTRS a = GTTRS {GTTRS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGTTRS :: Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype GTTS2 a = GTTS2 {GTTS2 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGTTS2 :: Int -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

gtts2 :: Class.Floating a => Int -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO ()
gtts2 :: Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
gtts2 = GTTS2 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
GTTS2 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getGTTS2 (GTTS2 a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GTTS2 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ GTTS2 Float
-> GTTS2 Double
-> GTTS2 (Complex Float)
-> GTTS2 (Complex Double)
-> GTTS2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> GTTS2 Float
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GTTS2 a
GTTS2 Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.gtts2) ((Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> GTTS2 Double
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GTTS2 a
GTTS2 Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.gtts2) ((Int
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO ())
-> GTTS2 (Complex Float)
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GTTS2 a
GTTS2 Int
-> Array ZeroInt (Complex Float)
-> Array ZeroInt (Complex Float)
-> Array ZeroInt (Complex Float)
-> Array ZeroInt (Complex Float)
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO ()
C.gtts2) ((Int
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO ())
-> GTTS2 (Complex Double)
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> GTTS2 a
GTTS2 Int
-> Array ZeroInt (Complex Double)
-> Array ZeroInt (Complex Double)
-> Array ZeroInt (Complex Double)
-> Array ZeroInt (Complex Double)
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO ()
Z.gtts2)


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

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


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

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


newtype HPSV a = HPSV {HPSV a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getHPSV :: Char -> Int -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

hpsv :: Class.Floating a => Char -> Int -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
hpsv :: Char
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
hpsv = HPSV a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
HPSV a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getHPSV (HPSV a
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> HPSV a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ HPSV Float
-> HPSV Double
-> HPSV (Complex Float)
-> HPSV (Complex Double)
-> HPSV a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> HPSV Float
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> HPSV a
HPSV Char
-> Int
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt CInt, Int)
S.spsv) ((Char
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> HPSV Double
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> HPSV a
HPSV Char
-> Int
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.spsv) ((Char
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> HPSV (Complex Float)
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> HPSV a
HPSV Char
-> Int
-> IOArray ZeroInt (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.hpsv) ((Char
 -> Int
 -> IOArray ZeroInt (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> HPSV (Complex Double)
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> HPSV a
HPSV Char
-> Int
-> IOArray ZeroInt (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.hpsv)


newtype HPTRF a = HPTRF {HPTRF a
-> Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)
getHPTRF :: Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)}

hptrf :: Class.Floating a => Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)
hptrf :: Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)
hptrf = HPTRF a
-> Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)
forall a.
HPTRF a
-> Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)
getHPTRF (HPTRF a
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt CInt, Int))
-> HPTRF a
-> Char
-> Int
-> IOArray ZeroInt a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ HPTRF Float
-> HPTRF Double
-> HPTRF (Complex Float)
-> HPTRF (Complex Double)
-> HPTRF a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int -> IOArray ZeroInt Float -> IO (Array ZeroInt CInt, Int))
-> HPTRF Float
forall a.
(Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int))
-> HPTRF a
HPTRF Char
-> Int -> IOArray ZeroInt Float -> IO (Array ZeroInt CInt, Int)
S.sptrf) ((Char
 -> Int -> IOArray ZeroInt Double -> IO (Array ZeroInt CInt, Int))
-> HPTRF Double
forall a.
(Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int))
-> HPTRF a
HPTRF Char
-> Int -> IOArray ZeroInt Double -> IO (Array ZeroInt CInt, Int)
D.sptrf) ((Char
 -> Int
 -> IOArray ZeroInt (Complex Float)
 -> IO (Array ZeroInt CInt, Int))
-> HPTRF (Complex Float)
forall a.
(Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int))
-> HPTRF a
HPTRF Char
-> Int
-> IOArray ZeroInt (Complex Float)
-> IO (Array ZeroInt CInt, Int)
C.hptrf) ((Char
 -> Int
 -> IOArray ZeroInt (Complex Double)
 -> IO (Array ZeroInt CInt, Int))
-> HPTRF (Complex Double)
forall a.
(Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int))
-> HPTRF a
HPTRF Char
-> Int
-> IOArray ZeroInt (Complex Double)
-> IO (Array ZeroInt CInt, Int)
Z.hptrf)


newtype HPTRI a = HPTRI {HPTRI a
-> Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int
getHPTRI :: Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO (Int)}

hptri :: Class.Floating a => Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO (Int)
hptri :: Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int
hptri = HPTRI a
-> Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int
forall a.
HPTRI a
-> Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int
getHPTRI (HPTRI a
 -> Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int)
-> HPTRI a
-> Char
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> IO Int
forall a b. (a -> b) -> a -> b
$ HPTRI Float
-> HPTRI Double
-> HPTRI (Complex Float)
-> HPTRI (Complex Double)
-> HPTRI a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char -> IOArray ZeroInt Float -> Array ZeroInt CInt -> IO Int)
-> HPTRI Float
forall a.
(Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int)
-> HPTRI a
HPTRI Char -> IOArray ZeroInt Float -> Array ZeroInt CInt -> IO Int
S.sptri) ((Char -> IOArray ZeroInt Double -> Array ZeroInt CInt -> IO Int)
-> HPTRI Double
forall a.
(Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int)
-> HPTRI a
HPTRI Char -> IOArray ZeroInt Double -> Array ZeroInt CInt -> IO Int
D.sptri) ((Char
 -> IOArray ZeroInt (Complex Float) -> Array ZeroInt CInt -> IO Int)
-> HPTRI (Complex Float)
forall a.
(Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int)
-> HPTRI a
HPTRI Char
-> IOArray ZeroInt (Complex Float) -> Array ZeroInt CInt -> IO Int
C.hptri) ((Char
 -> IOArray ZeroInt (Complex Double)
 -> Array ZeroInt CInt
 -> IO Int)
-> HPTRI (Complex Double)
forall a.
(Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int)
-> HPTRI a
HPTRI Char
-> IOArray ZeroInt (Complex Double) -> Array ZeroInt CInt -> IO Int
Z.hptri)


newtype HPTRS a = HPTRS {HPTRS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getHPTRS :: Char -> Array ZeroInt a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

hptrs :: Class.Floating a => Char -> Array ZeroInt a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
hptrs :: Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
hptrs = HPTRS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
HPTRS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getHPTRS (HPTRS a
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> HPTRS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ HPTRS Float
-> HPTRS Double
-> HPTRS (Complex Float)
-> HPTRS (Complex Double)
-> HPTRS a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> HPTRS Float
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> HPTRS a
HPTRS Char
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.sptrs) ((Char
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> HPTRS Double
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> HPTRS a
HPTRS Char
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.sptrs) ((Char
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO Int)
-> HPTRS (Complex Float)
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> HPTRS a
HPTRS Char
-> Array ZeroInt (Complex Float)
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO Int
C.hptrs) ((Char
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO Int)
-> HPTRS (Complex Double)
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> HPTRS a
HPTRS Char
-> Array ZeroInt (Complex Double)
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO Int
Z.hptrs)


newtype ILALC a = ILALC {ILALC a -> Int -> Array (ZeroInt, ZeroInt) a -> IO CInt
getILALC :: Int -> Array (ZeroInt,ZeroInt) a -> IO CInt}

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


newtype ILALR a = ILALR {ILALR a -> Int -> Array (ZeroInt, ZeroInt) a -> IO CInt
getILALR :: Int -> Array (ZeroInt,ZeroInt) a -> IO CInt}

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


newtype LACPY a = LACPY {LACPY a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a)
getLACPY :: Char -> Int -> Array (ZeroInt,ZeroInt) a -> Int -> IO (Array (ZeroInt,ZeroInt) a)}

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


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

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


newtype LAPMR a = LAPMR {LAPMR a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
getLAPMR :: Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> IO ()}

lapmr :: Class.Floating a => Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> IO ()
lapmr :: Bool
-> IOArray (ZeroInt, ZeroInt) a -> IOArray ZeroInt CInt -> IO ()
lapmr = LAPMR a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
forall a.
LAPMR a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
getLAPMR (LAPMR a
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMR a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
forall a b. (a -> b) -> a -> b
$ LAPMR Float
-> LAPMR Double
-> LAPMR (Complex Float)
-> LAPMR (Complex Double)
-> LAPMR a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Bool
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMR Float
forall a.
(Bool
 -> IOArray (ZeroInt, ZeroInt) a -> IOArray ZeroInt CInt -> IO ())
-> LAPMR a
LAPMR Bool
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> IO ()
S.lapmr) ((Bool
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMR Double
forall a.
(Bool
 -> IOArray (ZeroInt, ZeroInt) a -> IOArray ZeroInt CInt -> IO ())
-> LAPMR a
LAPMR Bool
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> IO ()
D.lapmr) ((Bool
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMR (Complex Float)
forall a.
(Bool
 -> IOArray (ZeroInt, ZeroInt) a -> IOArray ZeroInt CInt -> IO ())
-> LAPMR a
LAPMR Bool
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IOArray ZeroInt CInt
-> IO ()
C.lapmr) ((Bool
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMR (Complex Double)
forall a.
(Bool
 -> IOArray (ZeroInt, ZeroInt) a -> IOArray ZeroInt CInt -> IO ())
-> LAPMR a
LAPMR Bool
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt CInt
-> IO ()
Z.lapmr)


newtype LAPMT a = LAPMT {LAPMT a
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
getLAPMT :: Bool -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> IO ()}

lapmt :: Class.Floating a => Bool -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> IO ()
lapmt :: Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
lapmt = LAPMT a
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
forall a.
LAPMT a
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
getLAPMT (LAPMT a
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT a
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO ()
forall a b. (a -> b) -> a -> b
$ LAPMT Float
-> LAPMT Double
-> LAPMT (Complex Float)
-> LAPMT (Complex Double)
-> LAPMT a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT Float
forall a.
(Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT a
LAPMT Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> IO ()
S.lapmt) ((Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT Double
forall a.
(Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT a
LAPMT Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> IO ()
D.lapmt) ((Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT (Complex Float)
forall a.
(Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT a
LAPMT Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IOArray ZeroInt CInt
-> IO ()
C.lapmt) ((Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT (Complex Double)
forall a.
(Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO ())
-> LAPMT a
LAPMT Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IOArray ZeroInt CInt
-> IO ()
Z.lapmt)


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

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


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

larfb :: Class.Floating a => Char -> Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO ()
larfb :: Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
larfb = LARFB a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
forall a.
LARFB a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
getLARFB (LARFB a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARFB a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ LARFB Float
-> LARFB Double
-> LARFB (Complex Float)
-> LARFB (Complex Double)
-> LARFB 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
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO ())
-> LARFB Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARFB a
LARFB Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO ()
S.larfb) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO ())
-> LARFB Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARFB a
LARFB Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO ()
D.larfb) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Int
 -> IO ())
-> LARFB (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARFB a
LARFB Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Int
-> IO ()
C.larfb) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Int
 -> IO ())
-> LARFB (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARFB a
LARFB Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Int
-> IO ()
Z.larfb)


newtype LARFG a = LARFG {LARFG a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
getLARFG :: Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)}

larfg :: Class.Floating a => Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
larfg :: Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
larfg = LARFG a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
forall a.
LARFG a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
getLARFG (LARFG a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a))
-> LARFG a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LARFG Float
-> LARFG Double
-> LARFG (Complex Float)
-> LARFG (Complex Double)
-> LARFG 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 (Float, Float))
-> LARFG Float
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFG a
LARFG Int -> Float -> IOArray ZeroInt Float -> Int -> IO (Float, Float)
S.larfg) ((Int
 -> Double -> IOArray ZeroInt Double -> Int -> IO (Double, Double))
-> LARFG Double
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFG a
LARFG Int
-> Double -> IOArray ZeroInt Double -> Int -> IO (Double, Double)
D.larfg) ((Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO (Complex Float, Complex Float))
-> LARFG (Complex Float)
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFG a
LARFG Int
-> Complex Float
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO (Complex Float, Complex Float)
C.larfg) ((Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO (Complex Double, Complex Double))
-> LARFG (Complex Double)
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFG a
LARFG Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO (Complex Double, Complex Double)
Z.larfg)


newtype LARFGP a = LARFGP {LARFGP a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
getLARFGP :: Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)}

larfgp :: Class.Floating a => Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
larfgp :: Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
larfgp = LARFGP a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
forall a.
LARFGP a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
getLARFGP (LARFGP a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a))
-> LARFGP a -> Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LARFGP Float
-> LARFGP Double
-> LARFGP (Complex Float)
-> LARFGP (Complex Double)
-> LARFGP 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 (Float, Float))
-> LARFGP Float
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFGP a
LARFGP Int -> Float -> IOArray ZeroInt Float -> Int -> IO (Float, Float)
S.larfgp) ((Int
 -> Double -> IOArray ZeroInt Double -> Int -> IO (Double, Double))
-> LARFGP Double
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFGP a
LARFGP Int
-> Double -> IOArray ZeroInt Double -> Int -> IO (Double, Double)
D.larfgp) ((Int
 -> Complex Float
 -> IOArray ZeroInt (Complex Float)
 -> Int
 -> IO (Complex Float, Complex Float))
-> LARFGP (Complex Float)
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFGP a
LARFGP Int
-> Complex Float
-> IOArray ZeroInt (Complex Float)
-> Int
-> IO (Complex Float, Complex Float)
C.larfgp) ((Int
 -> Complex Double
 -> IOArray ZeroInt (Complex Double)
 -> Int
 -> IO (Complex Double, Complex Double))
-> LARFGP (Complex Double)
forall a.
(Int -> a -> IOArray ZeroInt a -> Int -> IO (a, a)) -> LARFGP a
LARFGP Int
-> Complex Double
-> IOArray ZeroInt (Complex Double)
-> Int
-> IO (Complex Double, Complex Double)
Z.larfgp)


newtype LARFT a = LARFT {LARFT a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a)
getLARFT :: Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a)}

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


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

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


newtype LARNV a = LARNV {LARNV a
-> Int -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)
getLARNV :: Int -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)}

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


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

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


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

larzb :: Class.Floating a => Char -> Char -> Char -> Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO ()
larzb :: Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
larzb = LARZB a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
forall a.
LARZB a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
getLARZB (LARZB a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARZB a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ LARZB Float
-> LARZB Double
-> LARZB (Complex Float)
-> LARZB (Complex Double)
-> LARZB 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
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO ())
-> LARZB Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARZB a
LARZB Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO ()
S.larzb) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO ())
-> LARZB Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARZB a
LARZB Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO ()
D.larzb) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Int
 -> IO ())
-> LARZB (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARZB a
LARZB Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Int
-> IO ()
C.larzb) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Int
 -> IO ())
-> LARZB (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO ())
-> LARZB a
LARZB Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Int
-> IO ()
Z.larzb)


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

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


newtype LASET a = LASET {LASET a
-> Char
-> Int
-> Int
-> a
-> a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a)
getLASET :: Char -> Int -> Int -> a -> a -> Int -> IO (Array (ZeroInt,ZeroInt) a)}

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


newtype LASWP a = LASWP {LASWP a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Array ZeroInt CInt
-> Int
-> IO ()
getLASWP :: IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ()}

laswp :: Class.Floating a => IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ()
laswp :: IOArray (ZeroInt, ZeroInt) a
-> Int -> Int -> Array ZeroInt CInt -> Int -> IO ()
laswp = LASWP a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Array ZeroInt CInt
-> Int
-> IO ()
forall a.
LASWP a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Array ZeroInt CInt
-> Int
-> IO ()
getLASWP (LASWP a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Array ZeroInt CInt
 -> Int
 -> IO ())
-> LASWP a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Array ZeroInt CInt
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ LASWP Float
-> LASWP Double
-> LASWP (Complex Float)
-> LASWP (Complex Double)
-> LASWP a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((IOArray (ZeroInt, ZeroInt) Float
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP Float
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP a
LASWP IOArray (ZeroInt, ZeroInt) Float
-> Int -> Int -> Array ZeroInt CInt -> Int -> IO ()
S.laswp) ((IOArray (ZeroInt, ZeroInt) Double
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP Double
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP a
LASWP IOArray (ZeroInt, ZeroInt) Double
-> Int -> Int -> Array ZeroInt CInt -> Int -> IO ()
D.laswp) ((IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP (Complex Float)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP a
LASWP IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Int -> Int -> Array ZeroInt CInt -> Int -> IO ()
C.laswp) ((IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP (Complex Double)
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Int -> Int -> Array ZeroInt CInt -> Int -> IO ())
-> LASWP a
LASWP IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Int -> Int -> Array ZeroInt CInt -> Int -> IO ()
Z.laswp)


newtype LASYF a = LASYF {LASYF a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Int, Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a, Int)
getLASYF :: Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int, Array ZeroInt CInt, Array (ZeroInt,ZeroInt) a, Int)}

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


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

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


newtype LAUU2 a = LAUU2 {LAUU2 a -> Char -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getLAUU2 :: Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype LAUUM a = LAUUM {LAUUM a -> Char -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getLAUUM :: Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype PBSTF a = PBSTF {PBSTF a -> Char -> Int -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getPBSTF :: Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype PBSV a = PBSV {PBSV a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getPBSV :: Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype PBTF2 a = PBTF2 {PBTF2 a -> Char -> Int -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getPBTF2 :: Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype PBTRF a = PBTRF {PBTRF a -> Char -> Int -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getPBTRF :: Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


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

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


newtype PFTRF a = PFTRF {PFTRF a -> Char -> Char -> Int -> IOArray ZeroInt a -> IO Int
getPFTRF :: Char -> Char -> Int -> IOArray ZeroInt a -> IO (Int)}

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


newtype PFTRI a = PFTRI {PFTRI a -> Char -> Char -> Int -> IOArray ZeroInt a -> IO Int
getPFTRI :: Char -> Char -> Int -> IOArray ZeroInt a -> IO (Int)}

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


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

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


newtype POSV a = POSV {POSV a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getPOSV :: Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype POTF2 a = POTF2 {POTF2 a -> Char -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getPOTF2 :: Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype POTRF a = POTRF {POTRF a -> Char -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getPOTRF :: Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype POTRI a = POTRI {POTRI a -> Char -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getPOTRI :: Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


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

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


newtype PPSV a = PPSV {PPSV a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getPPSV :: Char -> Int -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype PPTRF a = PPTRF {PPTRF a -> Char -> Int -> IOArray ZeroInt a -> IO Int
getPPTRF :: Char -> Int -> IOArray ZeroInt a -> IO (Int)}

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


newtype PPTRI a = PPTRI {PPTRI a -> Char -> Int -> IOArray ZeroInt a -> IO Int
getPPTRI :: Char -> Int -> IOArray ZeroInt a -> IO (Int)}

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


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

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


newtype SPSV a = SPSV {SPSV a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getSPSV :: Char -> Int -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

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


newtype SPTRF a = SPTRF {SPTRF a
-> Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)
getSPTRF :: Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt CInt, Int)}

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


newtype SPTRI a = SPTRI {SPTRI a
-> Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO Int
getSPTRI :: Char -> IOArray ZeroInt a -> Array ZeroInt CInt -> IO (Int)}

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


newtype SPTRS a = SPTRS {SPTRS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getSPTRS :: Char -> Array ZeroInt a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype SYCONV a = SYCONV {SYCONV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> IO (Array ZeroInt a, Int)
getSYCONV :: Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IO (Array ZeroInt a, Int)}

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


newtype SYSV a = SYSV {SYSV a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt CInt, Int)
getSYSV :: Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt CInt, Int)}

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


newtype SYSWAPR a = SYSWAPR {SYSWAPR a
-> Char -> IOArray (ZeroInt, ZeroInt) a -> Int -> Int -> IO ()
getSYSWAPR :: Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO ()}

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


newtype SYTF2 a = SYTF2 {SYTF2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getSYTF2 :: Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)}

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


newtype SYTRF a = SYTRF {SYTRF a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt CInt, Int)
getSYTRF :: Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt CInt, Int)}

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


newtype SYTRI a = SYTRI {SYTRI a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> IO Int
getSYTRI :: Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IO (Int)}

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


newtype SYTRI2 a = SYTRI2 {SYTRI2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Int
-> Int
-> IO Int
getSYTRI2 :: Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Int -> Int -> IO (Int)}

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


newtype SYTRI2X a = SYTRI2X {SYTRI2X a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Int
-> IO Int
getSYTRI2X :: Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Int -> IO (Int)}

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


newtype SYTRS a = SYTRS {SYTRS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getSYTRS :: Char -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype SYTRS2 a = SYTRS2 {SYTRS2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getSYTRS2 :: Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


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

tbtrs :: Class.Floating a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
tbtrs :: Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
tbtrs = TBTRS a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
TBTRS a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getTBTRS (TBTRS a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TBTRS a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ TBTRS Float
-> TBTRS Double
-> TBTRS (Complex Float)
-> TBTRS (Complex Double)
-> TBTRS 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, ZeroInt) Float
 -> IO Int)
-> TBTRS Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TBTRS a
TBTRS Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.tbtrs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> TBTRS Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TBTRS a
TBTRS Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.tbtrs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO Int)
-> TBTRS (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TBTRS a
TBTRS Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO Int
C.tbtrs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO Int)
-> TBTRS (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TBTRS a
TBTRS Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO Int
Z.tbtrs)


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

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


newtype TFTRI a = TFTRI {TFTRI a
-> Char -> Char -> Char -> Int -> IOArray ZeroInt a -> IO Int
getTFTRI :: Char -> Char -> Char -> Int -> IOArray ZeroInt a -> IO (Int)}

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


newtype TFTTP a = TFTTP {TFTTP a
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IO (Array ZeroInt a, Int)
getTFTTP :: Char -> Char -> Int -> Array ZeroInt a -> IO (Array ZeroInt a, Int)}

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


newtype TFTTR a = TFTTR {TFTTR a
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getTFTTR :: Char -> Char -> Int -> Array ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)}

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


newtype TGEVC a = TGEVC {TGEVC a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int)
getTGEVC :: Char -> Char -> Array ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int, Int)}

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


newtype TPTRI a = TPTRI {TPTRI a -> Char -> Char -> Int -> IOArray ZeroInt a -> IO Int
getTPTRI :: Char -> Char -> Int -> IOArray ZeroInt a -> IO (Int)}

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


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

tptrs :: Class.Floating a => Char -> Char -> Char -> Int -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
tptrs :: Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
tptrs = TPTRS a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
TPTRS a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getTPTRS (TPTRS a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TPTRS a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ TPTRS Float
-> TPTRS Double
-> TPTRS (Complex Float)
-> TPTRS (Complex Double)
-> TPTRS 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, ZeroInt) Float
 -> IO Int)
-> TPTRS Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TPTRS a
TPTRS Char
-> Char
-> Char
-> Int
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.tptrs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> TPTRS Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TPTRS a
TPTRS Char
-> Char
-> Char
-> Int
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.tptrs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO Int)
-> TPTRS (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TPTRS a
TPTRS Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO Int
C.tptrs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO Int)
-> TPTRS (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TPTRS a
TPTRS Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO Int
Z.tptrs)


newtype TPTTF a = TPTTF {TPTTF a
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IO (Array ZeroInt a, Int)
getTPTTF :: Char -> Char -> Int -> Array ZeroInt a -> IO (Array ZeroInt a, Int)}

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


newtype TPTTR a = TPTTR {TPTTR a
-> Char
-> Int
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getTPTTR :: Char -> Int -> Array ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)}

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


newtype TRTI2 a = TRTI2 {TRTI2 a -> Char -> Char -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getTRTI2 :: Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


newtype TRTRI a = TRTRI {TRTRI a -> Char -> Char -> IOArray (ZeroInt, ZeroInt) a -> IO Int
getTRTRI :: Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

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


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

trtrs :: Class.Floating a => Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
trtrs :: Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
trtrs = TRTRS a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
TRTRS a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getTRTRS (TRTRS a
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TRTRS a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ TRTRS Float
-> TRTRS Double
-> TRTRS (Complex Float)
-> TRTRS (Complex Double)
-> TRTRS 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, ZeroInt) Float
 -> IO Int)
-> TRTRS Float
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TRTRS a
TRTRS Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.trtrs) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> TRTRS Double
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TRTRS a
TRTRS Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.trtrs) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> IO Int)
-> TRTRS (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TRTRS a
TRTRS Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> IO Int
C.trtrs) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> IO Int)
-> TRTRS (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> TRTRS a
TRTRS Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> IO Int
Z.trtrs)


newtype TRTTP a = TRTTP {TRTTP a
-> Char -> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, Int)
getTRTTP :: Char -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Int)}

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


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

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


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

ung2l :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
ung2l :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
ung2l = UNG2L a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
UNG2L a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getUNG2L (UNG2L a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> UNG2L a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNG2L Float
-> UNG2L Double
-> UNG2L (Complex Float)
-> UNG2L (Complex Double)
-> UNG2L a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> UNG2L Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2L a
UNG2L Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.org2l) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> UNG2L Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2L a
UNG2L Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.org2l) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> IO Int)
-> UNG2L (Complex Float)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2L a
UNG2L Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> IO Int
C.ung2l) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> IO Int)
-> UNG2L (Complex Double)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2L a
UNG2L Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> IO Int
Z.ung2l)


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

ung2r :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
ung2r :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
ung2r = UNG2R a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
UNG2R a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getUNG2R (UNG2R a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> UNG2R a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNG2R Float
-> UNG2R Double
-> UNG2R (Complex Float)
-> UNG2R (Complex Double)
-> UNG2R a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> UNG2R Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2R a
UNG2R Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.org2r) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> UNG2R Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2R a
UNG2R Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.org2r) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> IO Int)
-> UNG2R (Complex Float)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2R a
UNG2R Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> IO Int
C.ung2r) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> IO Int)
-> UNG2R (Complex Double)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNG2R a
UNG2R Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> IO Int
Z.ung2r)


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

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


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

unghr :: Class.Floating a => Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
unghr :: Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
unghr = UNGHR a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
UNGHR a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getUNGHR (UNGHR a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGHR a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNGHR Float
-> UNGHR Double
-> UNGHR (Complex Float)
-> UNGHR (Complex Double)
-> UNGHR a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> UNGHR Float
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGHR a
UNGHR Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orghr) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> UNGHR Double
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGHR a
UNGHR Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orghr) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IO Int)
-> UNGHR (Complex Float)
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGHR a
UNGHR Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> IO Int
C.unghr) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IO Int)
-> UNGHR (Complex Double)
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGHR a
UNGHR Int
-> Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> IO Int
Z.unghr)


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

ungl2 :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
ungl2 :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
ungl2 = UNGL2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
UNGL2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getUNGL2 (UNGL2 a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> UNGL2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNGL2 Float
-> UNGL2 Double
-> UNGL2 (Complex Float)
-> UNGL2 (Complex Double)
-> UNGL2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> UNGL2 Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGL2 a
UNGL2 Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.orgl2) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> UNGL2 Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGL2 a
UNGL2 Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.orgl2) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> IO Int)
-> UNGL2 (Complex Float)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGL2 a
UNGL2 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> IO Int
C.ungl2) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> IO Int)
-> UNGL2 (Complex Double)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGL2 a
UNGL2 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> IO Int
Z.ungl2)


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

unglq :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
unglq :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
unglq = UNGLQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
UNGLQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getUNGLQ (UNGLQ a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGLQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNGLQ Float
-> UNGLQ Double
-> UNGLQ (Complex Float)
-> UNGLQ (Complex Double)
-> UNGLQ a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> UNGLQ Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGLQ a
UNGLQ Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orglq) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> UNGLQ Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGLQ a
UNGLQ Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orglq) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IO Int)
-> UNGLQ (Complex Float)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGLQ a
UNGLQ Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> IO Int
C.unglq) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IO Int)
-> UNGLQ (Complex Double)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGLQ a
UNGLQ Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> IO Int
Z.unglq)


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

ungql :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
ungql :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
ungql = UNGQL a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
UNGQL a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getUNGQL (UNGQL a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQL a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNGQL Float
-> UNGQL Double
-> UNGQL (Complex Float)
-> UNGQL (Complex Double)
-> UNGQL a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> UNGQL Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQL a
UNGQL Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orgql) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> UNGQL Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQL a
UNGQL Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgql) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IO Int)
-> UNGQL (Complex Float)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQL a
UNGQL Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> IO Int
C.ungql) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IO Int)
-> UNGQL (Complex Double)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQL a
UNGQL Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> IO Int
Z.ungql)


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

ungqr :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
ungqr :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
ungqr = UNGQR a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
UNGQR a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getUNGQR (UNGQR a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQR a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNGQR Float
-> UNGQR Double
-> UNGQR (Complex Float)
-> UNGQR (Complex Double)
-> UNGQR a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> UNGQR Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQR a
UNGQR Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orgqr) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> UNGQR Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQR a
UNGQR Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgqr) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IO Int)
-> UNGQR (Complex Float)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQR a
UNGQR Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> IO Int
C.ungqr) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IO Int)
-> UNGQR (Complex Double)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGQR a
UNGQR Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> IO Int
Z.ungqr)


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

ungr2 :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
ungr2 :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
ungr2 = UNGR2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
UNGR2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getUNGR2 (UNGR2 a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> UNGR2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNGR2 Float
-> UNGR2 Double
-> UNGR2 (Complex Float)
-> UNGR2 (Complex Double)
-> UNGR2 a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> UNGR2 Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGR2 a
UNGR2 Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.orgr2) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> UNGR2 Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGR2 a
UNGR2 Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.orgr2) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> IO Int)
-> UNGR2 (Complex Float)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGR2 a
UNGR2 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> IO Int
C.ungr2) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> IO Int)
-> UNGR2 (Complex Double)
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> UNGR2 a
UNGR2 Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> IO Int
Z.ungr2)


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

ungrq :: Class.Floating a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
ungrq :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
ungrq = UNGRQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
UNGRQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getUNGRQ (UNGRQ a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGRQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNGRQ Float
-> UNGRQ Double
-> UNGRQ (Complex Float)
-> UNGRQ (Complex Double)
-> UNGRQ a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> UNGRQ Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGRQ a
UNGRQ Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orgrq) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> UNGRQ Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGRQ a
UNGRQ Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgrq) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IO Int)
-> UNGRQ (Complex Float)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGRQ a
UNGRQ Int
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> IO Int
C.ungrq) ((Int
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IO Int)
-> UNGRQ (Complex Double)
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> UNGRQ a
UNGRQ Int
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> IO Int
Z.ungrq)


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

unmtr :: Class.Floating a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
unmtr :: Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
unmtr = UNMTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
UNMTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getUNMTR (UNMTR a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UNMTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ UNMTR Float
-> UNMTR Double
-> UNMTR (Complex Float)
-> UNMTR (Complex Double)
-> UNMTR 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
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> UNMTR Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UNMTR a
UNMTR Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO Int
S.ormtr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO Int)
-> UNMTR Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UNMTR a
UNMTR Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormtr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Int
 -> IO Int)
-> UNMTR (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UNMTR a
UNMTR Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Float)
-> Array ZeroInt (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Int
-> IO Int
C.unmtr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Int
 -> IO Int)
-> UNMTR (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UNMTR a
UNMTR Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) (Complex Double)
-> Array ZeroInt (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Int
-> IO Int
Z.unmtr)


newtype UPGTR a = UPGTR {UPGTR a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getUPGTR :: Char -> Int -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)}

upgtr :: Class.Floating a => Char -> Int -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)
upgtr :: Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
upgtr = UPGTR a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
UPGTR a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getUPGTR (UPGTR a
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> UPGTR a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ UPGTR Float
-> UPGTR Double
-> UPGTR (Complex Float)
-> UPGTR (Complex Double)
-> UPGTR a
forall a (f :: * -> *).
Floating a =>
f Float
-> f Double -> f (Complex Float) -> f (Complex Double) -> f a
Class.switchFloating ((Char
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> UPGTR Float
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> UPGTR a
UPGTR Char
-> Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> IO (Array (ZeroInt, ZeroInt) Float, Int)
S.opgtr) ((Char
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Double, Int))
-> UPGTR Double
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> UPGTR a
UPGTR Char
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.opgtr) ((Char
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) (Complex Float), Int))
-> UPGTR (Complex Float)
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> UPGTR a
UPGTR Char
-> Int
-> Array ZeroInt (Complex Float)
-> Array ZeroInt (Complex Float)
-> Int
-> IO (Array (ZeroInt, ZeroInt) (Complex Float), Int)
C.upgtr) ((Char
 -> Int
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) (Complex Double), Int))
-> UPGTR (Complex Double)
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> UPGTR a
UPGTR Char
-> Int
-> Array ZeroInt (Complex Double)
-> Array ZeroInt (Complex Double)
-> Int
-> IO (Array (ZeroInt, ZeroInt) (Complex Double), Int)
Z.upgtr)


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

upmtr :: Class.Floating a => Char -> Char -> Char -> Int -> Array ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
upmtr :: Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
upmtr = UPMTR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
UPMTR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getUPMTR (UPMTR a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UPMTR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ UPMTR Float
-> UPMTR Double
-> UPMTR (Complex Float)
-> UPMTR (Complex Double)
-> UPMTR 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
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> UPMTR Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UPMTR a
UPMTR Char
-> Char
-> Char
-> Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO Int
S.opmtr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO Int)
-> UPMTR Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UPMTR a
UPMTR Char
-> Char
-> Char
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.opmtr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Float)
 -> Array ZeroInt (Complex Float)
 -> IOArray (ZeroInt, ZeroInt) (Complex Float)
 -> Int
 -> IO Int)
-> UPMTR (Complex Float)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UPMTR a
UPMTR Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Float)
-> Array ZeroInt (Complex Float)
-> IOArray (ZeroInt, ZeroInt) (Complex Float)
-> Int
-> IO Int
C.upmtr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt (Complex Double)
 -> Array ZeroInt (Complex Double)
 -> IOArray (ZeroInt, ZeroInt) (Complex Double)
 -> Int
 -> IO Int)
-> UPMTR (Complex Double)
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> UPMTR a
UPMTR Char
-> Char
-> Char
-> Int
-> Array ZeroInt (Complex Double)
-> Array ZeroInt (Complex Double)
-> IOArray (ZeroInt, ZeroInt) (Complex Double)
-> Int
-> IO Int
Z.upmtr)