-- Do not edit! Automatically generated by create-lapack-ffi.
module Numeric.LAPACK.ComfortArray.Real (
   bbcsd,
   bdsdc,
   bdsqr,
   disna,
   gbbrd,
   gbcon,
   gbequ,
   gbequb,
   gbrfs,
   gbsv,
   gbsvx,
   gbtf2,
   gbtrf,
   gbtrs,
   gebak,
   gebal,
   gebd2,
   gebrd,
   gecon,
   geequ,
   geequb,
   gees,
   geesx,
   geev,
   geevx,
   gehd2,
   gehrd,
   gejsv,
   gelq2,
   gelqf,
   gels,
   gelsd,
   gelss,
   gelsy,
   geql2,
   geqlf,
   geqp3,
   geqr2,
   geqr2p,
   geqrf,
   geqrfp,
   gerfs,
   gerq2,
   gerqf,
   gesc2,
   gesdd,
   gesv,
   gesvd,
   gesvj,
   gesvx,
   getc2,
   getf2,
   getrf,
   getri,
   getrs,
   ggbak,
   ggbal,
   gges,
   ggesx,
   ggev,
   ggevx,
   ggglm,
   gghrd,
   gglse,
   ggqrf,
   ggrqf,
   gsvj0,
   gsvj1,
   gtcon,
   gtrfs,
   gtsv,
   gtsvx,
   gttrf,
   gttrs,
   gtts2,
   sbev,
   sbevd,
   sbevx,
   sbgst,
   sbgv,
   sbgvd,
   sbgvx,
   sbtrd,
   syev,
   syevd,
   syevr,
   syevx,
   sygs2,
   sygst,
   sygv,
   sygvd,
   sygvx,
   sfrk,
   hgeqz,
   spev,
   spevd,
   spevx,
   spgst,
   spgv,
   spgvd,
   spgvx,
   sptrd,
   hsein,
   hseqr,
   ilalc,
   ilalr,
   isnan,
   labad,
   labrd,
   lacn2,
   lacon,
   lacpy,
   ladiv,
   lae2,
   laebz,
   laed0,
   laed1,
   laed2,
   laed3,
   laed4,
   laed5,
   laed6,
   laed7,
   laed8,
   laed9,
   laeda,
   laein,
   laev2,
   laexc,
   lag2,
   lags2,
   lagtf,
   lagtm,
   lagts,
   lagv2,
   lahqr,
   lahr2,
   laic1,
   laisnan,
   laln2,
   lals0,
   lalsa,
   lalsd,
   lamrg,
   laneg,
   langb,
   lange,
   langt,
   lanhs,
   lansb,
   lansf,
   lansp,
   lanst,
   lansy,
   lantb,
   lantp,
   lantr,
   lanv2,
   lapll,
   lapmr,
   lapmt,
   lapy2,
   lapy3,
   laqgb,
   laqge,
   laqp2,
   laqps,
   laqr0,
   laqr1,
   laqr2,
   laqr3,
   laqr4,
   laqr5,
   laqsb,
   laqsp,
   laqsy,
   laqtr,
   lar1v,
   lar2v,
   larf,
   larfb,
   larfg,
   larfgp,
   larft,
   larfx,
   largv,
   larnv,
   larra,
   larrb,
   larrc,
   larrd,
   larre,
   larrf,
   larrj,
   larrk,
   larrr,
   larrv,
   lartg,
   lartgp,
   lartgs,
   lartv,
   laruv,
   larz,
   larzb,
   larzt,
   las2,
   lascl,
   lasd0,
   lasd1,
   lasd2,
   lasd3,
   lasd4,
   lasd5,
   lasd6,
   lasd7,
   lasd8,
   lasda,
   lasdq,
   laset,
   lasq1,
   lasq2,
   lasq4,
   lasq5,
   lasq6,
   lasr,
   lasrt,
   lassq,
   lasv2,
   laswp,
   lasy2,
   lasyf,
   latbs,
   latdf,
   latps,
   latrd,
   latrs,
   latrz,
   lauu2,
   lauum,
   orbdb,
   orcsd,
   pbcon,
   pbequ,
   pbrfs,
   pbstf,
   pbsv,
   pbsvx,
   pbtf2,
   pbtrf,
   pbtrs,
   pftrf,
   pftri,
   pftrs,
   pocon,
   poequ,
   poequb,
   porfs,
   posv,
   posvx,
   potf2,
   potrf,
   potri,
   potrs,
   ppcon,
   ppequ,
   pprfs,
   ppsv,
   ppsvx,
   pptrf,
   pptri,
   pptrs,
   pstf2,
   pstrf,
   ptcon,
   pteqr,
   ptrfs,
   ptsv,
   ptsvx,
   pttrf,
   pttrs,
   ptts2,
   rscl,
   spcon,
   sprfs,
   spsv,
   spsvx,
   sptrf,
   sptri,
   sptrs,
   stebz,
   stedc,
   stegr,
   stein,
   stemr,
   steqr,
   sterf,
   stev,
   stevd,
   stevr,
   stevx,
   sycon,
   syconv,
   syequb,
   syrfs,
   sysv,
   sysvx,
   syswapr,
   sytd2,
   sytf2,
   sytrd,
   sytrf,
   sytri,
   sytri2,
   sytri2x,
   sytrs,
   sytrs2,
   tbcon,
   tbrfs,
   tbtrs,
   tfsm,
   tftri,
   tfttp,
   tfttr,
   tgevc,
   tgex2,
   tgexc,
   tgsen,
   tgsja,
   tgsna,
   tgsy2,
   tgsyl,
   tpcon,
   tprfs,
   tptri,
   tptrs,
   tpttf,
   tpttr,
   trcon,
   trevc,
   trexc,
   trrfs,
   trsen,
   trsna,
   trsyl,
   trti2,
   trtri,
   trtrs,
   trttf,
   trttp,
   tzrzf,
   org2l,
   org2r,
   orgbr,
   orghr,
   orgl2,
   orglq,
   orgql,
   orgqr,
   orgr2,
   orgrq,
   orgtr,
   orm2l,
   orm2r,
   ormbr,
   ormhr,
   orml2,
   ormlq,
   ormql,
   ormqr,
   ormr2,
   ormr3,
   ormrq,
   ormrz,
   ormtr,
   opgtr,
   opmtr,
   ) where

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.Ptr (Ptr, FunPtr)
import Foreign.C.Types (CInt)



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

bbcsd :: Class.Real a => Char -> Char -> Char -> Char -> Char -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
bbcsd :: Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
bbcsd = BBCSD a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
BBCSD a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
getBBCSD (BBCSD a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> BBCSD a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ BBCSD Float -> BBCSD Double -> BBCSD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array ZeroInt Float, Int))
-> BBCSD Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> BBCSD a
BBCSD Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array ZeroInt Float, Int)
S.bbcsd) ((Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array ZeroInt Double, Int))
-> BBCSD Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> BBCSD a
BBCSD Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array ZeroInt Double, Int)
D.bbcsd)


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

bdsdc :: Class.Real a => Char -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> Int -> Int -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array ZeroInt a, Array ZeroInt CInt, Int)
bdsdc :: Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int)
bdsdc = BDSDC a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int)
forall a.
BDSDC a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int)
getBDSDC (BDSDC a
 -> Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt CInt, Int))
-> BDSDC a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ BDSDC Float -> BDSDC Double -> BDSDC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt Float, Array ZeroInt CInt, Int))
-> BDSDC Float
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt CInt, Int))
-> BDSDC a
BDSDC Char
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt Float, Array ZeroInt CInt, Int)
S.bdsdc) ((Char
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt Double, Array ZeroInt CInt, Int))
-> BDSDC Double
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt CInt, Int))
-> BDSDC a
BDSDC Char
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt Double, Array ZeroInt CInt, Int)
D.bdsdc)


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

bdsqr :: Class.Real a => Char -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
bdsqr :: Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
bdsqr = BDSQR a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
BDSQR a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getBDSQR (BDSQR a
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> BDSQR a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ BDSQR Float -> BDSQR Double -> BDSQR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> BDSQR Float
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> BDSQR a
BDSQR Char
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.bdsqr) ((Char
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> BDSQR Double
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> BDSQR a
BDSQR Char
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.bdsqr)


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

disna :: Class.Real a => Char -> Int -> Int -> Array ZeroInt a -> Int -> IO (Array ZeroInt a, Int)
disna :: Char
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> IO (Array ZeroInt a, Int)
disna = DISNA a
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> IO (Array ZeroInt a, Int)
forall a.
DISNA a
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> IO (Array ZeroInt a, Int)
getDISNA (DISNA a
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> DISNA a
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ DISNA Float -> DISNA Double -> DISNA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> IO (Array ZeroInt Float, Int))
-> DISNA Float
forall a.
(Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> DISNA a
DISNA Char
-> Int
-> Int
-> Array ZeroInt Float
-> Int
-> IO (Array ZeroInt Float, Int)
S.disna) ((Char
 -> Int
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> IO (Array ZeroInt Double, Int))
-> DISNA Double
forall a.
(Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> DISNA a
DISNA Char
-> Int
-> Int
-> Array ZeroInt Double
-> Int
-> IO (Array ZeroInt Double, Int)
D.disna)


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

gbbrd :: Class.Real a => Char -> Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
gbbrd :: Char
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
gbbrd = GBBRD a
-> Char
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a.
GBBRD a
-> Char
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getGBBRD (GBBRD a
 -> Char
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GBBRD a
-> Char
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ GBBRD Float -> GBBRD Double -> GBBRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Int))
-> GBBRD Float
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GBBRD a
GBBRD Char
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Int)
S.gbbrd) ((Char
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Int))
-> GBBRD Double
forall a.
(Char
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GBBRD a
GBBRD Char
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Int)
D.gbbrd)


newtype GBCON a = GBCON {GBCON a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getGBCON :: Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> a -> IO (a, Int)}

gbcon :: Class.Real a => Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> a -> IO (a, Int)
gbcon :: Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
gbcon = GBCON a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a.
GBCON a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getGBCON (GBCON a
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> GBCON a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ GBCON Float -> GBCON Double -> GBCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Float
 -> IO (Float, Int))
-> GBCON Float
forall a.
(Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> GBCON a
GBCON Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Float
-> IO (Float, Int)
S.gbcon) ((Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Double
 -> IO (Double, Int))
-> GBCON Double
forall a.
(Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> GBCON a
GBCON Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Double
-> IO (Double, Int)
D.gbcon)


newtype GBEQU a = GBEQU {GBEQU a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGBEQU :: Int -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)}

gbequ :: Class.Real a => Int -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
gbequ :: Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
gbequ = GBEQU a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a.
GBEQU a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGBEQU (GBEQU a
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GBEQU a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ GBEQU Float -> GBEQU Double -> GBEQU a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
       Int))
-> GBEQU Float
forall a.
(Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GBEQU a
GBEQU Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
      Int)
S.gbequ) ((Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
       Double, Int))
-> GBEQU Double
forall a.
(Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GBEQU a
GBEQU Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
      Double, Int)
D.gbequ)


newtype GBEQUB a = GBEQUB {GBEQUB a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGBEQUB :: Int -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)}

gbequb :: Class.Real a => Int -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
gbequb :: Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
gbequb = GBEQUB a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a.
GBEQUB a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGBEQUB (GBEQUB a
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GBEQUB a
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ GBEQUB Float -> GBEQUB Double -> GBEQUB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
       Int))
-> GBEQUB Float
forall a.
(Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GBEQUB a
GBEQUB Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
      Int)
S.gbequb) ((Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
       Double, Int))
-> GBEQUB Double
forall a.
(Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GBEQUB a
GBEQUB Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
      Double, Int)
D.gbequb)


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

gbrfs :: Class.Real a => Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
gbrfs :: Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
gbrfs = GBRFS a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
GBRFS a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getGBRFS (GBRFS a
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GBRFS a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GBRFS Float -> GBRFS Double -> GBRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> GBRFS Float
forall a.
(Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GBRFS a
GBRFS Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.gbrfs) ((Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> GBRFS Double
forall a.
(Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GBRFS a
GBRFS Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.gbrfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gbsvx :: Class.Real a => Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Char, Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
gbsvx :: Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
gbsvx = GBSVX a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
GBSVX a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
getGBSVX (GBSVX a
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GBSVX a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GBSVX Float -> GBSVX Double -> GBSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> GBSVX Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GBSVX a
GBSVX Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.gbsvx) ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Double, Double,
       Array ZeroInt Double, Array ZeroInt Double, Int))
-> GBSVX Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GBSVX a
GBSVX Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Double, Double,
      Array ZeroInt Double, Array ZeroInt Double, Int)
D.gbsvx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gebak :: Class.Real a => Char -> Char -> Int -> Int -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
gebak :: Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
gebak = GEBAK a
-> Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
GEBAK a
-> Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGEBAK (GEBAK a
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GEBAK a
-> Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ GEBAK Float -> GEBAK Double -> GEBAK a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> GEBAK Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GEBAK a
GEBAK Char
-> Char
-> Int
-> Int
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.gebak) ((Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> GEBAK Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GEBAK a
GEBAK Char
-> Char
-> Int
-> Int
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.gebak)


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

gebal :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Int, Int, Array ZeroInt a, Int)
gebal :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int, Array ZeroInt a, Int)
gebal = GEBAL a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int, Array ZeroInt a, Int)
forall a.
GEBAL a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int, Array ZeroInt a, Int)
getGEBAL (GEBAL a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Int, Array ZeroInt a, Int))
-> GEBAL a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GEBAL Float -> GEBAL Double -> GEBAL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Int, Int, Array ZeroInt Float, Int))
-> GEBAL Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Int, Array ZeroInt a, Int))
-> GEBAL a
GEBAL Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Int, Int, Array ZeroInt Float, Int)
S.gebal) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Int, Int, Array ZeroInt Double, Int))
-> GEBAL Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Int, Array ZeroInt a, Int))
-> GEBAL a
GEBAL Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Int, Int, Array ZeroInt Double, Int)
D.gebal)


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

gebd2 :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
gebd2 :: Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
gebd2 = GEBD2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
GEBD2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
getGEBD2 (GEBD2 a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GEBD2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GEBD2 Float -> GEBD2 Double -> GEBD2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> GEBD2 Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GEBD2 a
GEBD2 Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.gebd2) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> GEBD2 Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GEBD2 a
GEBD2 Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.gebd2)


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

gebrd :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
gebrd :: Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
gebrd = GEBRD a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
GEBRD a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
getGEBRD (GEBRD a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GEBRD a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GEBRD Float -> GEBRD Double -> GEBRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> GEBRD Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GEBRD a
GEBRD Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.gebrd) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> GEBRD Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GEBRD a
GEBRD Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.gebrd)


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

gecon :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> a -> IO (a, Int)
gecon :: Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
gecon = GECON a -> Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
forall a.
GECON a -> Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
getGECON (GECON a -> Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int))
-> GECON a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ GECON Float -> GECON Double -> GECON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array (ZeroInt, ZeroInt) Float -> Float -> IO (Float, Int))
-> GECON Float
forall a.
(Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)) -> GECON a
GECON Char -> Array (ZeroInt, ZeroInt) Float -> Float -> IO (Float, Int)
S.gecon) ((Char
 -> Array (ZeroInt, ZeroInt) Double -> Double -> IO (Double, Int))
-> GECON Double
forall a.
(Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)) -> GECON a
GECON Char
-> Array (ZeroInt, ZeroInt) Double -> Double -> IO (Double, Int)
D.gecon)


newtype GEEQU a = GEEQU {GEEQU a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGEEQU :: Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)}

geequ :: Class.Real a => Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
geequ :: Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
geequ = GEEQU a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a.
GEEQU a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGEEQU (GEEQU a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GEEQU a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ GEEQU Float -> GEEQU Double -> GEEQU a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
       Int))
-> GEEQU Float
forall a.
(Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GEEQU a
GEEQU Int
-> Array (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
      Int)
S.geequ) ((Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
       Double, Int))
-> GEEQU Double
forall a.
(Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GEEQU a
GEEQU Int
-> Array (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
      Double, Int)
D.geequ)


newtype GEEQUB a = GEEQUB {GEEQUB a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGEEQUB :: Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)}

geequb :: Class.Real a => Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
geequb :: Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
geequb = GEEQUB a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a.
GEEQUB a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
getGEEQUB (GEEQUB a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GEEQUB a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ GEEQUB Float -> GEEQUB Double -> GEEQUB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
       Int))
-> GEEQUB Float
forall a.
(Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GEEQUB a
GEEQUB Int
-> Array (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Float, Float, Float,
      Int)
S.geequb) ((Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
       Double, Int))
-> GEEQUB Double
forall a.
(Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, a, a, a, Int))
-> GEEQUB a
GEEQUB Int
-> Array (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Double, Double,
      Double, Int)
D.geequb)


newtype GEES a = GEES {GEES a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Int)
getGEES :: Char -> Char -> FunPtr (Ptr a -> Ptr a -> IO Bool) -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)}

gees :: Class.Real a => Char -> Char -> FunPtr (Ptr a -> Ptr a -> IO Bool) -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
gees :: Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Int)
gees = GEES a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Int)
forall a.
GEES a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Int)
getGEES (GEES a
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Int))
-> GEES a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Int)
forall a b. (a -> b) -> a -> b
$ GEES Float -> GEES Double -> GEES a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> FunPtr (Ptr Float -> Ptr Float -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> GEES Float
forall a.
(Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Int))
-> GEES a
GEES Char
-> Char
-> FunPtr (Ptr Float -> Ptr Float -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.gees) ((Char
 -> Char
 -> FunPtr (Ptr Double -> Ptr Double -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> GEES Double
forall a.
(Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Int))
-> GEES a
GEES Char
-> Char
-> FunPtr (Ptr Double -> Ptr Double -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.gees)


newtype GEESX a = GEESX {GEESX a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      a, a, Int)
getGEESX :: Char -> Char -> FunPtr (Ptr a -> Ptr a -> IO Bool) -> Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, a, a, Int)}

geesx :: Class.Real a => Char -> Char -> FunPtr (Ptr a -> Ptr a -> IO Bool) -> Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, a, a, Int)
geesx :: Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      a, a, Int)
geesx = GEESX a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      a, a, Int)
forall a.
GEESX a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      a, a, Int)
getGEESX (GEESX a
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       a, a, Int))
-> GEESX a
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      a, a, Int)
forall a b. (a -> b) -> a -> b
$ GEESX Float -> GEESX Double -> GEESX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> FunPtr (Ptr Float -> Ptr Float -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Float, Float, Int))
-> GEESX Float
forall a.
(Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       a, a, Int))
-> GEESX a
GEESX Char
-> Char
-> FunPtr (Ptr Float -> Ptr Float -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Float, Float, Int)
S.geesx) ((Char
 -> Char
 -> FunPtr (Ptr Double -> Ptr Double -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Double, Double, Int))
-> GEESX Double
forall a.
(Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       a, a, Int))
-> GEESX a
GEESX Char
-> Char
-> FunPtr (Ptr Double -> Ptr Double -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Double, Double, Int)
D.geesx)


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

geev :: Class.Real a => Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
geev :: Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
geev = GEEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a.
GEEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getGEEV (GEEV a
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GEEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ GEEV Float -> GEEV Double -> GEEV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Int))
-> GEEV Float
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GEEV a
GEEV Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Int)
S.geev) ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Int))
-> GEEV Double
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GEEV a
GEEV Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Int)
D.geev)


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

geevx :: Class.Real a => Char -> Char -> Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int, Int, Array ZeroInt a, a, Array ZeroInt a, Array ZeroInt a, Int)
geevx :: Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int, Int, Array ZeroInt a, a,
      Array ZeroInt a, Array ZeroInt a, Int)
geevx = GEEVX a
-> Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int, Int, Array ZeroInt a, a,
      Array ZeroInt a, Array ZeroInt a, Int)
forall a.
GEEVX a
-> Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int, Int, Array ZeroInt a, a,
      Array ZeroInt a, Array ZeroInt a, Int)
getGEEVX (GEEVX a
 -> Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int, Int, Array ZeroInt a, a,
       Array ZeroInt a, Array ZeroInt a, Int))
-> GEEVX a
-> Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int, Int, Array ZeroInt a, a,
      Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GEEVX Float -> GEEVX Double -> GEEVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Int, Int, Array ZeroInt Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> GEEVX Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int, Int, Array ZeroInt a, a,
       Array ZeroInt a, Array ZeroInt a, Int))
-> GEEVX a
GEEVX Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Int, Int, Array ZeroInt Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.geevx) ((Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Int, Int, Array ZeroInt Double, Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> GEEVX Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int, Int, Array ZeroInt a, a,
       Array ZeroInt a, Array ZeroInt a, Int))
-> GEEVX a
GEEVX Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Int, Int, Array ZeroInt Double, Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.geevx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gejsv :: Class.Real a => Char -> Char -> Char -> Char -> Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
gejsv :: Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
gejsv = GEJSV a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a.
GEJSV a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getGEJSV (GEJSV a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GEJSV a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ GEJSV Float -> GEJSV Double -> GEJSV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> GEJSV Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GEJSV a
GEJSV Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.gejsv) ((Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> GEJSV Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GEJSV a
GEJSV Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.gejsv)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gelsd :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> a -> Int -> Int -> IO (Array ZeroInt a, Int, Int)
gelsd :: Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Array ZeroInt a, Int, Int)
gelsd = GELSD a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Array ZeroInt a, Int, Int)
forall a.
GELSD a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Array ZeroInt a, Int, Int)
getGELSD (GELSD a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int, Int))
-> GELSD a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Array ZeroInt a, Int, Int)
forall a b. (a -> b) -> a -> b
$ GELSD Float -> GELSD Double -> GELSD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Int, Int))
-> GELSD Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int, Int))
-> GELSD a
GELSD Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Int
-> Int
-> IO (Array ZeroInt Float, Int, Int)
S.gelsd) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Int, Int))
-> GELSD Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int, Int))
-> GELSD a
GELSD Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Int
-> Int
-> IO (Array ZeroInt Double, Int, Int)
D.gelsd)


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

gelss :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> a -> Int -> IO (Array ZeroInt a, Int, Int)
gelss :: Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IO (Array ZeroInt a, Int, Int)
gelss = GELSS a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IO (Array ZeroInt a, Int, Int)
forall a.
GELSS a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IO (Array ZeroInt a, Int, Int)
getGELSS (GELSS a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> IO (Array ZeroInt a, Int, Int))
-> GELSS a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IO (Array ZeroInt a, Int, Int)
forall a b. (a -> b) -> a -> b
$ GELSS Float -> GELSS Double -> GELSS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Int
 -> IO (Array ZeroInt Float, Int, Int))
-> GELSS Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> IO (Array ZeroInt a, Int, Int))
-> GELSS a
GELSS Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Int
-> IO (Array ZeroInt Float, Int, Int)
S.gelss) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Int
 -> IO (Array ZeroInt Double, Int, Int))
-> GELSS Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> IO (Array ZeroInt a, Int, Int))
-> GELSS a
GELSS Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Int
-> IO (Array ZeroInt Double, Int, Int)
D.gelss)


newtype GELSY a = GELSY {GELSY a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO (Int, Int)
getGELSY :: Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> a -> Int -> IO (Int, Int)}

gelsy :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> a -> Int -> IO (Int, Int)
gelsy :: Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO (Int, Int)
gelsy = GELSY a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO (Int, Int)
forall a.
GELSY a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO (Int, Int)
getGELSY (GELSY a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Int
 -> IO (Int, Int))
-> GELSY a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ GELSY Float -> GELSY Double -> GELSY a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Float
 -> Int
 -> IO (Int, Int))
-> GELSY Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Int
 -> IO (Int, Int))
-> GELSY a
GELSY Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Float
-> Int
-> IO (Int, Int)
S.gelsy) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Double
 -> Int
 -> IO (Int, Int))
-> GELSY Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Int
 -> IO (Int, Int))
-> GELSY a
GELSY Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Double
-> Int
-> IO (Int, Int)
D.gelsy)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gerfs :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
gerfs :: Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
gerfs = GERFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
GERFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getGERFS (GERFS a
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GERFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GERFS Float -> GERFS Double -> GERFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> GERFS Float
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GERFS a
GERFS Char
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.gerfs) ((Char
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> GERFS Double
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GERFS a
GERFS Char
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.gerfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype GESC2 a = GESC2 {GESC2 a
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO a
getGESC2 :: Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Array ZeroInt CInt -> Array ZeroInt CInt -> IO (a)}

gesc2 :: Class.Real a => Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Array ZeroInt CInt -> Array ZeroInt CInt -> IO (a)
gesc2 :: Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO a
gesc2 = GESC2 a
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO a
forall a.
GESC2 a
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO a
getGESC2 (GESC2 a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO a)
-> GESC2 a
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO a
forall a b. (a -> b) -> a -> b
$ GESC2 Float -> GESC2 Double -> GESC2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO Float)
-> GESC2 Float
forall a.
(Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO a)
-> GESC2 a
GESC2 Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO Float
S.gesc2) ((Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO Double)
-> GESC2 Double
forall a.
(Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO a)
-> GESC2 a
GESC2 Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO Double
D.gesc2)


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

gesdd :: Class.Real a => Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
gesdd :: Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
gesdd = GESDD a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a.
GESDD a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getGESDD (GESDD a
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GESDD a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ GESDD Float -> GESDD Double -> GESDD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> GESDD Float
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GESDD a
GESDD Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.gesdd) ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> GESDD Double
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GESDD a
GESDD Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.gesdd)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gesvd :: Class.Real a => Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
gesvd :: Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
gesvd = GESVD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a.
GESVD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getGESVD (GESVD a
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GESVD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ GESVD Float -> GESVD Double -> GESVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> GESVD Float
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GESVD a
GESVD Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.gesvd) ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> GESVD Double
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> GESVD a
GESVD Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.gesvd)


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

gesvj :: Class.Real a => Char -> Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> IO (Array ZeroInt a, Int)
gesvj :: Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Int)
gesvj = GESVJ a
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Int)
forall a.
GESVJ a
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Int)
getGESVJ (GESVJ a
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Int))
-> GESVJ a
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GESVJ Float -> GESVJ Double -> GESVJ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> IO (Array ZeroInt Float, Int))
-> GESVJ Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Int))
-> GESVJ a
GESVJ Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> IO (Array ZeroInt Float, Int)
S.gesvj) ((Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> IO (Array ZeroInt Double, Int))
-> GESVJ Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Int))
-> GESVJ a
GESVJ Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> IO (Array ZeroInt Double, Int)
D.gesvj)


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

gesvx :: Class.Real a => Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Char, Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
gesvx :: Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
gesvx = GESVX a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
GESVX a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
getGESVX (GESVX a
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GESVX a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GESVX Float -> GESVX Double -> GESVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> GESVX Float
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GESVX a
GESVX Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.gesvx) ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Double, Double,
       Array ZeroInt Double, Array ZeroInt Double, Int))
-> GESVX Double
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GESVX a
GESVX Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Double, Double,
      Array ZeroInt Double, Array ZeroInt Double, Int)
D.gesvx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

ggbak :: Class.Real a => Char -> Char -> Int -> Int -> Array ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
ggbak :: Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
ggbak = GGBAK a
-> Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
GGBAK a
-> Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getGGBAK (GGBAK a
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GGBAK a
-> Char
-> Char
-> Int
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ GGBAK Float -> GGBAK Double -> GGBAK a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> GGBAK Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GGBAK a
GGBAK Char
-> Char
-> Int
-> Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.ggbak) ((Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> GGBAK Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> GGBAK a
GGBAK Char
-> Char
-> Int
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.ggbak)


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

ggbal :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int)
ggbal :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int)
ggbal = GGBAL a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
GGBAL a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int)
getGGBAL (GGBAL a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int))
-> GGBAL a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GGBAL Float -> GGBAL Double -> GGBAL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Int, Int, Array ZeroInt Float, Array ZeroInt Float, Int))
-> GGBAL Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int))
-> GGBAL a
GGBAL Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO (Int, Int, Array ZeroInt Float, Array ZeroInt Float, Int)
S.ggbal) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Int, Int, Array ZeroInt Double, Array ZeroInt Double, Int))
-> GGBAL Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Int))
-> GGBAL a
GGBAL Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO (Int, Int, Array ZeroInt Double, Array ZeroInt Double, Int)
D.ggbal)


newtype GGES a = GGES {GGES a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
getGGES :: Char -> Char -> Char -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool) -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)}

gges :: Class.Real a => Char -> Char -> Char -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool) -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
gges :: Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
gges = GGES a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
GGES a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
getGGES (GGES a
 -> Char
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> GGES a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ GGES Float -> GGES Double -> GGES a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> FunPtr (Ptr Float -> Ptr Float -> Ptr Float -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> GGES Float
forall a.
(Char
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> GGES a
GGES Char
-> Char
-> Char
-> FunPtr (Ptr Float -> Ptr Float -> Ptr Float -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.gges) ((Char
 -> Char
 -> Char
 -> FunPtr (Ptr Double -> Ptr Double -> Ptr Double -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> GGES Double
forall a.
(Char
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> GGES a
GGES Char
-> Char
-> Char
-> FunPtr (Ptr Double -> Ptr Double -> Ptr Double -> IO Bool)
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.gges)


newtype GGESX a = GGESX {GGESX a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Int)
getGGESX :: Char -> Char -> Char -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool) -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int)}

ggesx :: Class.Real a => Char -> Char -> Char -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool) -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int)
ggesx :: Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Int)
ggesx = GGESX a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Int)
forall a.
GGESX a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Int)
getGGESX (GGESX a
 -> Char
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt a, Int))
-> GGESX a
-> Char
-> Char
-> Char
-> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GGESX Float -> GGESX Double -> GGESX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> FunPtr (Ptr Float -> Ptr Float -> Ptr Float -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> GGESX Float
forall a.
(Char
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt a, Int))
-> GGESX a
GGESX Char
-> Char
-> Char
-> FunPtr (Ptr Float -> Ptr Float -> Ptr Float -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.ggesx) ((Char
 -> Char
 -> Char
 -> FunPtr (Ptr Double -> Ptr Double -> Ptr Double -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> GGESX Double
forall a.
(Char
 -> Char
 -> Char
 -> FunPtr (Ptr a -> Ptr a -> Ptr a -> IO Bool)
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt a, Int))
-> GGESX a
GGESX Char
-> Char
-> Char
-> FunPtr (Ptr Double -> Ptr Double -> Ptr Double -> IO Bool)
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.ggesx)


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

ggev :: Class.Real a => Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
ggev :: Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
ggev = GGEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
GGEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
getGGEV (GGEV a
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> GGEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ GGEV Float -> GGEV Double -> GGEV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Int))
-> GGEV Float
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> GGEV a
GGEV Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Int)
S.ggev) ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Int))
-> GGEV Double
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> GGEV a
GGEV Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Int)
D.ggev)


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

ggevx :: Class.Real a => Char -> Char -> Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int, Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a, Array ZeroInt a, Int)
ggevx :: Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int, Int,
      Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
ggevx = GGEVX a
-> Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int, Int,
      Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
GGEVX a
-> Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int, Int,
      Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
getGGEVX (GGEVX a
 -> Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int, Int,
       Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GGEVX a
-> Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int, Int,
      Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GGEVX Float -> GGEVX Double -> GGEVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Int, Int, Array ZeroInt Float, Array ZeroInt Float, Float, Float,
       Array ZeroInt Float, Array ZeroInt Float, Int))
-> GGEVX Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int, Int,
       Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GGEVX a
GGEVX Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Int, Int, Array ZeroInt Float, Array ZeroInt Float, Float, Float,
      Array ZeroInt Float, Array ZeroInt Float, Int)
S.ggevx) ((Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Int, Int, Array ZeroInt Double, Array ZeroInt Double, Double,
       Double, Array ZeroInt Double, Array ZeroInt Double, Int))
-> GGEVX Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int, Int,
       Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> GGEVX a
GGEVX Char
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Int, Int, Array ZeroInt Double, Array ZeroInt Double, Double,
      Double, Array ZeroInt Double, Array ZeroInt Double, Int)
D.ggevx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gsvj0 :: Class.Real a => Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> a -> a -> a -> Int -> Int -> IO (Int)
gsvj0 :: Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
gsvj0 = GSVJ0 a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
forall a.
GSVJ0 a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
getGSVJ0 (GSVJ0 a
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> a
 -> Int
 -> Int
 -> IO Int)
-> GSVJ0 a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ GSVJ0 Float -> GSVJ0 Double -> GSVJ0 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> IO Int)
-> GSVJ0 Float
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> a
 -> Int
 -> Int
 -> IO Int)
-> GSVJ0 a
GSVJ0 Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> Float
-> Int
-> Int
-> IO Int
S.gsvj0) ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> IO Int)
-> GSVJ0 Double
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> a
 -> Int
 -> Int
 -> IO Int)
-> GSVJ0 a
GSVJ0 Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Double
-> Int
-> Int
-> IO Int
D.gsvj0)


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

gsvj1 :: Class.Real a => Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> IOArray (ZeroInt,ZeroInt) a -> a -> a -> a -> Int -> Int -> IO (Int)
gsvj1 :: Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
gsvj1 = GSVJ1 a
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
forall a.
GSVJ1 a
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
getGSVJ1 (GSVJ1 a
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> a
 -> Int
 -> Int
 -> IO Int)
-> GSVJ1 a
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> Int
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ GSVJ1 Float -> GSVJ1 Double -> GSVJ1 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> IO Int)
-> GSVJ1 Float
forall a.
(Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> a
 -> Int
 -> Int
 -> IO Int)
-> GSVJ1 a
GSVJ1 Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> Float
-> Int
-> Int
-> IO Int
S.gsvj1) ((Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> IO Int)
-> GSVJ1 Double
forall a.
(Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> a
 -> Int
 -> Int
 -> IO Int)
-> GSVJ1 a
GSVJ1 Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Double
-> Int
-> Int
-> IO Int
D.gsvj1)


newtype GTCON a = GTCON {GTCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getGTCON :: Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> a -> IO (a, Int)}

gtcon :: Class.Real a => Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> a -> IO (a, Int)
gtcon :: Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
gtcon = GTCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a.
GTCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getGTCON (GTCON a
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> GTCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ GTCON Float -> GTCON Double -> GTCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> Float
 -> IO (Float, Int))
-> GTCON Float
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> GTCON a
GTCON Char
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> Float
-> IO (Float, Int)
S.gtcon) ((Char
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> Double
 -> IO (Double, Int))
-> GTCON Double
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> GTCON a
GTCON Char
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> Double
-> IO (Double, Int)
D.gtcon)


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

gtrfs :: Class.Real a => Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
gtrfs :: Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
gtrfs = GTRFS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
GTRFS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getGTRFS (GTRFS a
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GTRFS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ GTRFS Float -> GTRFS Double -> GTRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> GTRFS Float
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GTRFS a
GTRFS Char
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.gtrfs) ((Char
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> GTRFS Double
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> GTRFS a
GTRFS Char
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.gtrfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

gtsvx :: Class.Real a => Char -> Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> Int -> IO (Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
gtsvx :: Char
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
gtsvx = GTSVX a
-> Char
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a.
GTSVX a
-> Char
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
getGTSVX (GTSVX a
 -> Char
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> GTSVX a
-> Char
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a b. (a -> b) -> a -> b
$ GTSVX Float -> GTSVX Double -> GTSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> GTSVX Float
forall a.
(Char
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> GTSVX a
GTSVX Char
-> Char
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.gtsvx) ((Char
 -> Char
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> GTSVX Double
forall a.
(Char
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> GTSVX a
GTSVX Char
-> Char
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.gtsvx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

sbev :: Class.Real a => Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
sbev :: Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
sbev = SBEV a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SBEV a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSBEV (SBEV a
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBEV a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SBEV Float -> SBEV Double -> SBEV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SBEV Float
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBEV a
SBEV Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.sbev) ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SBEV Double
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBEV a
SBEV Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.sbev)


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

sbevd :: Class.Real a => Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
sbevd :: Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
sbevd = SBEVD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SBEVD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSBEVD (SBEVD a
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBEVD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SBEVD Float -> SBEVD Double -> SBEVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SBEVD Float
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBEVD a
SBEVD Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.sbevd) ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SBEVD Double
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBEVD a
SBEVD Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.sbevd)


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

sbevx :: Class.Real a => Char -> Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> a -> a -> Int -> Int -> a -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
sbevx :: Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
sbevx = SBEVX a
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a.
SBEVX a
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
getSBEVX (SBEVX a
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> SBEVX a
-> Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ SBEVX Float -> SBEVX Double -> SBEVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Int, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int))
-> SBEVX Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> SBEVX a
SBEVX Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Int, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int)
S.sbevx) ((Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Int, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int))
-> SBEVX Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> SBEVX a
SBEVX Char
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Int, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int)
D.sbevx)


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

sbgst :: Class.Real a => Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)
sbgst :: Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
sbgst = SBGST a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
SBGST a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getSBGST (SBGST a
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> SBGST 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
$ SBGST Float -> SBGST Double -> SBGST a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> SBGST Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> SBGST a
SBGST 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))
-> SBGST Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> SBGST a
SBGST Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.sbgst)


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

sbgv :: Class.Real a => Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
sbgv :: Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
sbgv = SBGV a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SBGV a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSBGV (SBGV a
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBGV a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SBGV Float -> SBGV Double -> SBGV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SBGV Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBGV a
SBGV Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.sbgv) ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SBGV Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBGV a
SBGV Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.sbgv)


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

sbgvd :: Class.Real a => Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
sbgvd :: Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
sbgvd = SBGVD a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SBGVD a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSBGVD (SBGVD a
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBGVD a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SBGVD Float -> SBGVD Double -> SBGVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SBGVD Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBGVD a
SBGVD Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.sbgvd) ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SBGVD Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SBGVD a
SBGVD Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.sbgvd)


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

sbgvx :: Class.Real a => Char -> Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> a -> a -> Int -> Int -> a -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
sbgvx :: Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
sbgvx = SBGVX a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a.
SBGVX a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
getSBGVX (SBGVX a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> SBGVX a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ SBGVX Float -> SBGVX Double -> SBGVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Int, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int))
-> SBGVX Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> SBGVX a
SBGVX Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Int, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int)
S.sbgvx) ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Int, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int))
-> SBGVX Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Int, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> SBGVX a
SBGVX Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Int, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int)
D.sbgvx)


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

sbtrd :: Class.Real a => Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
sbtrd :: Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
sbtrd = SBTRD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
SBTRD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getSBTRD (SBTRD a
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SBTRD a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SBTRD Float -> SBTRD Double -> SBTRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> SBTRD Float
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SBTRD a
SBTRD Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.sbtrd) ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> SBTRD Double
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SBTRD a
SBTRD Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.sbtrd)


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

syev :: Class.Real a => Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Int)
syev :: Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
syev = SYEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
forall a.
SYEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
getSYEV (SYEV a
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYEV a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SYEV Float -> SYEV Double -> SYEV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Array ZeroInt Float, Int))
-> SYEV Float
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYEV a
SYEV Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO (Array ZeroInt Float, Int)
S.syev) ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Array ZeroInt Double, Int))
-> SYEV Double
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYEV a
SYEV Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO (Array ZeroInt Double, Int)
D.syev)


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

syevd :: Class.Real a => Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array ZeroInt a, Int)
syevd :: Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
syevd = SYEVD a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
forall a.
SYEVD a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
getSYEVD (SYEVD a
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYEVD a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SYEVD Float -> SYEVD Double -> SYEVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Int))
-> SYEVD Float
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYEVD a
SYEVD Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Float, Int)
S.syevd) ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Int))
-> SYEVD Double
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYEVD a
SYEVD Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Double, Int)
D.syevd)


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

syevr :: Class.Real a => Char -> Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> a -> a -> Int -> Int -> a -> Int -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
syevr :: Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
syevr = SYEVR a
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
SYEVR a
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSYEVR (SYEVR a
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYEVR a
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ SYEVR Float -> SYEVR Double -> SYEVR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> SYEVR Float
forall a.
(Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYEVR a
SYEVR Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.syevr) ((Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> SYEVR Double
forall a.
(Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYEVR a
SYEVR Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.syevr)


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

syevx :: Class.Real a => Char -> Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> a -> a -> Int -> Int -> a -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
syevx :: Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
syevx = SYEVX a
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
SYEVX a
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSYEVX (SYEVX a
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYEVX a
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ SYEVX Float -> SYEVX Double -> SYEVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> SYEVX Float
forall a.
(Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYEVX a
SYEVX Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.syevx) ((Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> SYEVX Double
forall a.
(Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYEVX a
SYEVX Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.syevx)


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

sygs2 :: Class.Real a => Int -> Char -> IOArray (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IO (Int)
sygs2 :: Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
sygs2 = SYGS2 a
-> Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
forall a.
SYGS2 a
-> Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
getSYGS2 (SYGS2 a
 -> Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO Int)
-> SYGS2 a
-> Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ SYGS2 Float -> SYGS2 Double -> SYGS2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IO Int)
-> SYGS2 Float
forall a.
(Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO Int)
-> SYGS2 a
SYGS2 Int
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IO Int
S.sygs2) ((Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IO Int)
-> SYGS2 Double
forall a.
(Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO Int)
-> SYGS2 a
SYGS2 Int
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IO Int
D.sygs2)


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

sygst :: Class.Real a => Int -> Char -> IOArray (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IO (Int)
sygst :: Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
sygst = SYGST a
-> Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
forall a.
SYGST a
-> Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
getSYGST (SYGST a
 -> Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO Int)
-> SYGST a
-> Int
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ SYGST Float -> SYGST Double -> SYGST a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IO Int)
-> SYGST Float
forall a.
(Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO Int)
-> SYGST a
SYGST Int
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IO Int
S.sygst) ((Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IO Int)
-> SYGST Double
forall a.
(Int
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO Int)
-> SYGST a
SYGST Int
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IO Int
D.sygst)


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

sygv :: Class.Real a => Int -> Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Int)
sygv :: Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
sygv = SYGV a
-> Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
forall a.
SYGV a
-> Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
getSYGV (SYGV a
 -> Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYGV a
-> Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SYGV Float -> SYGV Double -> SYGV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Array ZeroInt Float, Int))
-> SYGV Float
forall a.
(Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYGV a
SYGV Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO (Array ZeroInt Float, Int)
S.sygv) ((Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Array ZeroInt Double, Int))
-> SYGV Double
forall a.
(Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYGV a
SYGV Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO (Array ZeroInt Double, Int)
D.sygv)


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

sygvd :: Class.Real a => Int -> Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Int)
sygvd :: Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
sygvd = SYGVD a
-> Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
forall a.
SYGVD a
-> Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
getSYGVD (SYGVD a
 -> Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYGVD a
-> Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SYGVD Float -> SYGVD Double -> SYGVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Int))
-> SYGVD Float
forall a.
(Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYGVD a
SYGVD Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO (Array ZeroInt Float, Int)
S.sygvd) ((Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Int))
-> SYGVD Double
forall a.
(Int
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Int))
-> SYGVD a
SYGVD Int
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO (Array ZeroInt Double, Int)
D.sygvd)


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

sygvx :: Class.Real a => Int -> Char -> Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> a -> a -> Int -> Int -> a -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
sygvx :: Int
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
sygvx = SYGVX a
-> Int
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
SYGVX a
-> Int
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSYGVX (SYGVX a
 -> Int
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYGVX a
-> Int
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ SYGVX Float -> SYGVX Double -> SYGVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> SYGVX Float
forall a.
(Int
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYGVX a
SYGVX Int
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.sygvx) ((Int
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> SYGVX Double
forall a.
(Int
 -> Char
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SYGVX a
SYGVX Int
-> Char
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.sygvx)


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

sfrk :: Class.Real a => Char -> Char -> Char -> Int -> Int -> a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray ZeroInt a -> IO ()
sfrk :: Char
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray ZeroInt a
-> IO ()
sfrk = SFRK a
-> Char
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray ZeroInt a
-> IO ()
forall a.
SFRK a
-> Char
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray ZeroInt a
-> IO ()
getSFRK (SFRK a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray ZeroInt a
 -> IO ())
-> SFRK a
-> Char
-> Char
-> Char
-> Int
-> Int
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray ZeroInt a
-> IO ()
forall a b. (a -> b) -> a -> b
$ SFRK Float -> SFRK Double -> SFRK a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IOArray ZeroInt Float
 -> IO ())
-> SFRK Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray ZeroInt a
 -> IO ())
-> SFRK a
SFRK Char
-> Char
-> Char
-> Int
-> Int
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IOArray ZeroInt Float
-> IO ()
S.sfrk) ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IOArray ZeroInt Double
 -> IO ())
-> SFRK Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray ZeroInt a
 -> IO ())
-> SFRK a
SFRK Char
-> Char
-> Char
-> Int
-> Int
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IOArray ZeroInt Double
-> IO ()
D.sfrk)


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

hgeqz :: Class.Real a => Char -> Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
hgeqz :: Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
hgeqz = HGEQZ a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
HGEQZ a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
getHGEQZ (HGEQZ a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> HGEQZ a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ HGEQZ Float -> HGEQZ Double -> HGEQZ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Int))
-> HGEQZ Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> HGEQZ a
HGEQZ Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Int)
S.hgeqz) ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Int))
-> HGEQZ Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> HGEQZ a
HGEQZ Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Int)
D.hgeqz)


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

spev :: Class.Real a => Char -> Char -> Int -> IOArray ZeroInt a -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
spev :: Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
spev = SPEV a
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SPEV a
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSPEV (SPEV a
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPEV a
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SPEV Float -> SPEV Double -> SPEV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SPEV Float
forall a.
(Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPEV a
SPEV Char
-> Char
-> Int
-> IOArray ZeroInt Float
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.spev) ((Char
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SPEV Double
forall a.
(Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPEV a
SPEV Char
-> Char
-> Int
-> IOArray ZeroInt Double
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.spev)


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

spevd :: Class.Real a => Char -> Char -> Int -> IOArray ZeroInt a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
spevd :: Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
spevd = SPEVD a
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SPEVD a
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSPEVD (SPEVD a
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPEVD a
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SPEVD Float -> SPEVD Double -> SPEVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SPEVD Float
forall a.
(Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPEVD a
SPEVD Char
-> Char
-> Int
-> IOArray ZeroInt Float
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.spevd) ((Char
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SPEVD Double
forall a.
(Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPEVD a
SPEVD Char
-> Char
-> Int
-> IOArray ZeroInt Double
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.spevd)


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

spevx :: Class.Real a => Char -> Char -> Char -> Int -> IOArray ZeroInt a -> a -> a -> Int -> Int -> a -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
spevx :: Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
spevx = SPEVX a
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
SPEVX a
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSPEVX (SPEVX a
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SPEVX a
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ SPEVX Float -> SPEVX Double -> SPEVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> SPEVX Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SPEVX a
SPEVX Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.spevx) ((Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> SPEVX Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SPEVX a
SPEVX Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.spevx)


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

spgst :: Class.Real a => Int -> Char -> Int -> IOArray ZeroInt a -> Array ZeroInt a -> IO (Int)
spgst :: Int
-> Char -> Int -> IOArray ZeroInt a -> Array ZeroInt a -> IO Int
spgst = SPGST a
-> Int
-> Char
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IO Int
forall a.
SPGST a
-> Int
-> Char
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IO Int
getSPGST (SPGST a
 -> Int
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> IO Int)
-> SPGST a
-> Int
-> Char
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ SPGST Float -> SPGST Double -> SPGST a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> Array ZeroInt Float
 -> IO Int)
-> SPGST Float
forall a.
(Int
 -> Char -> Int -> IOArray ZeroInt a -> Array ZeroInt a -> IO Int)
-> SPGST a
SPGST Int
-> Char
-> Int
-> IOArray ZeroInt Float
-> Array ZeroInt Float
-> IO Int
S.spgst) ((Int
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> Array ZeroInt Double
 -> IO Int)
-> SPGST Double
forall a.
(Int
 -> Char -> Int -> IOArray ZeroInt a -> Array ZeroInt a -> IO Int)
-> SPGST a
SPGST Int
-> Char
-> Int
-> IOArray ZeroInt Double
-> Array ZeroInt Double
-> IO Int
D.spgst)


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

spgv :: Class.Real a => Int -> Char -> Char -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
spgv :: Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
spgv = SPGV a
-> Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SPGV a
-> Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSPGV (SPGV a
 -> Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPGV a
-> Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SPGV Float -> SPGV Double -> SPGV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SPGV Float
forall a.
(Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPGV a
SPGV Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.spgv) ((Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SPGV Double
forall a.
(Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPGV a
SPGV Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.spgv)


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

spgvd :: Class.Real a => Int -> Char -> Char -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
spgvd :: Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
spgvd = SPGVD a
-> Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
SPGVD a
-> Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getSPGVD (SPGVD a
 -> Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPGVD a
-> Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ SPGVD Float -> SPGVD Double -> SPGVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int))
-> SPGVD Float
forall a.
(Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPGVD a
SPGVD Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float, Int)
S.spgvd) ((Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int))
-> SPGVD Double
forall a.
(Int
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int))
-> SPGVD a
SPGVD Int
-> Char
-> Char
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> Int
-> Int
-> IO (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double, Int)
D.spgvd)


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

spgvx :: Class.Real a => Int -> Char -> Char -> Char -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> Int -> a -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
spgvx :: Int
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
spgvx = SPGVX a
-> Int
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
SPGVX a
-> Int
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSPGVX (SPGVX a
 -> Int
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SPGVX a
-> Int
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ SPGVX Float -> SPGVX Double -> SPGVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> SPGVX Float
forall a.
(Int
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SPGVX a
SPGVX Int
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.spgvx) ((Int
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> SPGVX Double
forall a.
(Int
 -> Char
 -> Char
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> SPGVX a
SPGVX Int
-> Char
-> Char
-> Char
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.spgvx)


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

sptrd :: Class.Real a => Char -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
sptrd :: Char
-> Int
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
sptrd = SPTRD a
-> Char
-> Int
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
SPTRD a
-> Char
-> Int
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
getSPTRD (SPTRD a
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SPTRD a
-> Char
-> Int
-> IOArray ZeroInt a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SPTRD Float -> SPTRD Double -> SPTRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> IOArray ZeroInt Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Int))
-> SPTRD Float
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SPTRD a
SPTRD Char
-> Int
-> IOArray ZeroInt Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Int)
S.sptrd) ((Char
 -> Int
 -> IOArray ZeroInt Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Int))
-> SPTRD Double
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SPTRD a
SPTRD Char
-> Int
-> IOArray ZeroInt Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Int)
D.sptrd)


newtype HSEIN a = HSEIN {HSEIN a
-> Char
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
getHSEIN :: Char -> Char -> Char -> IOArray ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)}

hsein :: Class.Real a => Char -> Char -> Char -> IOArray ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
hsein :: Char
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
hsein = HSEIN a
-> Char
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a.
HSEIN a
-> Char
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
getHSEIN (HSEIN a
 -> Char
 -> Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> HSEIN a
-> Char
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ HSEIN Float -> HSEIN Double -> HSEIN a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> HSEIN Float
forall a.
(Char
 -> Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> HSEIN a
HSEIN Char
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
S.hsein) ((Char
 -> Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> HSEIN Double
forall a.
(Char
 -> Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> HSEIN a
HSEIN Char
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Int, Array ZeroInt CInt, Array ZeroInt CInt, Int)
D.hsein)


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

hseqr :: Class.Real a => Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int)
hseqr :: Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
hseqr = HSEQR a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
HSEQR a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getHSEQR (HSEQR a
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> HSEQR a
-> Char
-> Char
-> 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
$ HSEQR Float -> HSEQR Double -> HSEQR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> HSEQR Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> HSEQR a
HSEQR Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.hseqr) ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> HSEQR Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> HSEQR a
HSEQR Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.hseqr)


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

ilalc :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

ilalr :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype ISNAN a = ISNAN {ISNAN a -> a -> IO Bool
getISNAN :: a -> IO Bool}

isnan :: Class.Real a => a -> IO Bool
isnan :: a -> IO Bool
isnan = ISNAN a -> a -> IO Bool
forall a. ISNAN a -> a -> IO Bool
getISNAN (ISNAN a -> a -> IO Bool) -> ISNAN a -> a -> IO Bool
forall a b. (a -> b) -> a -> b
$ ISNAN Float -> ISNAN Double -> ISNAN a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> IO Bool) -> ISNAN Float
forall a. (a -> IO Bool) -> ISNAN a
ISNAN Float -> IO Bool
S.isnan) ((Double -> IO Bool) -> ISNAN Double
forall a. (a -> IO Bool) -> ISNAN a
ISNAN Double -> IO Bool
D.isnan)


newtype LABAD a = LABAD {LABAD a -> a -> a -> IO (a, a)
getLABAD :: a -> a -> IO (a, a)}

labad :: Class.Real a => a -> a -> IO (a, a)
labad :: a -> a -> IO (a, a)
labad = LABAD a -> a -> a -> IO (a, a)
forall a. LABAD a -> a -> a -> IO (a, a)
getLABAD (LABAD a -> a -> a -> IO (a, a)) -> LABAD a -> a -> a -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LABAD Float -> LABAD Double -> LABAD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> IO (Float, Float)) -> LABAD Float
forall a. (a -> a -> IO (a, a)) -> LABAD a
LABAD Float -> Float -> IO (Float, Float)
S.labad) ((Double -> Double -> IO (Double, Double)) -> LABAD Double
forall a. (a -> a -> IO (a, a)) -> LABAD a
LABAD Double -> Double -> IO (Double, Double)
D.labad)


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

labrd :: Class.Real a => Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a)
labrd :: Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
labrd = LABRD a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
forall a.
LABRD a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
getLABRD (LABRD a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LABRD a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
forall a b. (a -> b) -> a -> b
$ LABRD Float -> LABRD Double -> LABRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float))
-> LABRD Float
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LABRD a
LABRD Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float)
S.labrd) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double))
-> LABRD Double
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LABRD a
LABRD Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double)
D.labrd)


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

lacn2 :: Class.Real a => IOArray ZeroInt a -> a -> Int -> IOArray ZeroInt CInt -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
lacn2 :: IOArray ZeroInt a
-> a
-> Int
-> IOArray ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
lacn2 = LACN2 a
-> IOArray ZeroInt a
-> a
-> Int
-> IOArray ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
forall a.
LACN2 a
-> IOArray ZeroInt a
-> a
-> Int
-> IOArray ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
getLACN2 (LACN2 a
 -> IOArray ZeroInt a
 -> a
 -> Int
 -> IOArray ZeroInt CInt
 -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int))
-> LACN2 a
-> IOArray ZeroInt a
-> a
-> Int
-> IOArray ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
forall a b. (a -> b) -> a -> b
$ LACN2 Float -> LACN2 Double -> LACN2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float
 -> Float
 -> Int
 -> IOArray ZeroInt CInt
 -> IO (Array ZeroInt Float, Array ZeroInt CInt, Float, Int))
-> LACN2 Float
forall a.
(IOArray ZeroInt a
 -> a
 -> Int
 -> IOArray ZeroInt CInt
 -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int))
-> LACN2 a
LACN2 IOArray ZeroInt Float
-> Float
-> Int
-> IOArray ZeroInt CInt
-> IO (Array ZeroInt Float, Array ZeroInt CInt, Float, Int)
S.lacn2) ((IOArray ZeroInt Double
 -> Double
 -> Int
 -> IOArray ZeroInt CInt
 -> IO (Array ZeroInt Double, Array ZeroInt CInt, Double, Int))
-> LACN2 Double
forall a.
(IOArray ZeroInt a
 -> a
 -> Int
 -> IOArray ZeroInt CInt
 -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int))
-> LACN2 a
LACN2 IOArray ZeroInt Double
-> Double
-> Int
-> IOArray ZeroInt CInt
-> IO (Array ZeroInt Double, Array ZeroInt CInt, Double, Int)
D.lacn2)


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

lacon :: Class.Real a => IOArray ZeroInt a -> a -> Int -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
lacon :: IOArray ZeroInt a
-> a -> Int -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
lacon = LACON a
-> IOArray ZeroInt a
-> a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
forall a.
LACON a
-> IOArray ZeroInt a
-> a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
getLACON (LACON a
 -> IOArray ZeroInt a
 -> a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int))
-> LACON a
-> IOArray ZeroInt a
-> a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int)
forall a b. (a -> b) -> a -> b
$ LACON Float -> LACON Double -> LACON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float
 -> Float
 -> Int
 -> IO (Array ZeroInt Float, Array ZeroInt CInt, Float, Int))
-> LACON Float
forall a.
(IOArray ZeroInt a
 -> a -> Int -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int))
-> LACON a
LACON IOArray ZeroInt Float
-> Float
-> Int
-> IO (Array ZeroInt Float, Array ZeroInt CInt, Float, Int)
S.lacon) ((IOArray ZeroInt Double
 -> Double
 -> Int
 -> IO (Array ZeroInt Double, Array ZeroInt CInt, Double, Int))
-> LACON Double
forall a.
(IOArray ZeroInt a
 -> a -> Int -> IO (Array ZeroInt a, Array ZeroInt CInt, a, Int))
-> LACON a
LACON IOArray ZeroInt Double
-> Double
-> Int
-> IO (Array ZeroInt Double, Array ZeroInt CInt, Double, Int)
D.lacon)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype LADIV a = LADIV {LADIV a -> a -> a -> a -> a -> IO (a, a)
getLADIV :: a -> a -> a -> a -> IO (a, a)}

ladiv :: Class.Real a => a -> a -> a -> a -> IO (a, a)
ladiv :: a -> a -> a -> a -> IO (a, a)
ladiv = LADIV a -> a -> a -> a -> a -> IO (a, a)
forall a. LADIV a -> a -> a -> a -> a -> IO (a, a)
getLADIV (LADIV a -> a -> a -> a -> a -> IO (a, a))
-> LADIV a -> a -> a -> a -> a -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LADIV Float -> LADIV Double -> LADIV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> Float -> Float -> IO (Float, Float))
-> LADIV Float
forall a. (a -> a -> a -> a -> IO (a, a)) -> LADIV a
LADIV Float -> Float -> Float -> Float -> IO (Float, Float)
S.ladiv) ((Double -> Double -> Double -> Double -> IO (Double, Double))
-> LADIV Double
forall a. (a -> a -> a -> a -> IO (a, a)) -> LADIV a
LADIV Double -> Double -> Double -> Double -> IO (Double, Double)
D.ladiv)


newtype LAE2 a = LAE2 {LAE2 a -> a -> a -> a -> IO (a, a)
getLAE2 :: a -> a -> a -> IO (a, a)}

lae2 :: Class.Real a => a -> a -> a -> IO (a, a)
lae2 :: a -> a -> a -> IO (a, a)
lae2 = LAE2 a -> a -> a -> a -> IO (a, a)
forall a. LAE2 a -> a -> a -> a -> IO (a, a)
getLAE2 (LAE2 a -> a -> a -> a -> IO (a, a))
-> LAE2 a -> a -> a -> a -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LAE2 Float -> LAE2 Double -> LAE2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> Float -> IO (Float, Float)) -> LAE2 Float
forall a. (a -> a -> a -> IO (a, a)) -> LAE2 a
LAE2 Float -> Float -> Float -> IO (Float, Float)
S.lae2) ((Double -> Double -> Double -> IO (Double, Double)) -> LAE2 Double
forall a. (a -> a -> a -> IO (a, a)) -> LAE2 a
LAE2 Double -> Double -> Double -> IO (Double, Double)
D.lae2)


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

laebz :: Class.Real a => Int -> Int -> Int -> a -> a -> a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> IOArray ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) CInt -> IO (Int, Int)
laebz :: Int
-> Int
-> Int
-> a
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) CInt
-> IO (Int, Int)
laebz = LAEBZ a
-> Int
-> Int
-> Int
-> a
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) CInt
-> IO (Int, Int)
forall a.
LAEBZ a
-> Int
-> Int
-> Int
-> a
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) CInt
-> IO (Int, Int)
getLAEBZ (LAEBZ a
 -> Int
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) CInt
 -> IO (Int, Int))
-> LAEBZ a
-> Int
-> Int
-> Int
-> a
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) CInt
-> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ LAEBZ Float -> LAEBZ Double -> LAEBZ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Float
 -> Float
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) CInt
 -> IO (Int, Int))
-> LAEBZ Float
forall a.
(Int
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) CInt
 -> IO (Int, Int))
-> LAEBZ a
LAEBZ Int
-> Int
-> Int
-> Float
-> Float
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IOArray ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) CInt
-> IO (Int, Int)
S.laebz) ((Int
 -> Int
 -> Int
 -> Double
 -> Double
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) CInt
 -> IO (Int, Int))
-> LAEBZ Double
forall a.
(Int
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt CInt
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) CInt
 -> IO (Int, Int))
-> LAEBZ a
LAEBZ Int
-> Int
-> Int
-> Double
-> Double
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray ZeroInt CInt
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) CInt
-> IO (Int, Int)
D.laebz)


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

laed0 :: Class.Real a => Int -> Int -> IOArray ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)
laed0 :: Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
laed0 = LAED0 a
-> Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
LAED0 a
-> Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getLAED0 (LAED0 a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LAED0 a
-> Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LAED0 Float -> LAED0 Double -> LAED0 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> IOArray ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> LAED0 Float
forall a.
(Int
 -> Int
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LAED0 a
LAED0 Int
-> Int
-> IOArray ZeroInt Float
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) Float, Int)
S.laed0) ((Int
 -> Int
 -> IOArray ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Double, Int))
-> LAED0 Double
forall a.
(Int
 -> Int
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LAED0 a
LAED0 Int
-> Int
-> IOArray ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.laed0)


newtype LAED1 a = LAED1 {LAED1 a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO Int
getLAED1 :: IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> a -> Int -> IO (Int)}

laed1 :: Class.Real a => IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> a -> Int -> IO (Int)
laed1 :: IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO Int
laed1 = LAED1 a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO Int
forall a.
LAED1 a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO Int
getLAED1 (LAED1 a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Int
 -> IO Int)
-> LAED1 a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ LAED1 Float -> LAED1 Double -> LAED1 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Float
 -> Int
 -> IO Int)
-> LAED1 Float
forall a.
(IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Int
 -> IO Int)
-> LAED1 a
LAED1 IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Float
-> Int
-> IO Int
S.laed1) ((IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Double
 -> Int
 -> IO Int)
-> LAED1 Double
forall a.
(IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Int
 -> IO Int)
-> LAED1 a
LAED1 IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Double
-> Int
-> IO Int
D.laed1)


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

laed2 :: Class.Real a => Int -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> a -> Array ZeroInt a -> IO (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Int)
laed2 :: Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Array ZeroInt a
-> IO
     (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
laed2 = LAED2 a
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Array ZeroInt a
-> IO
     (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
forall a.
LAED2 a
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Array ZeroInt a
-> IO
     (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
getLAED2 (LAED2 a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Array ZeroInt a
 -> IO
      (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LAED2 a
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> a
-> Array ZeroInt a
-> IO
     (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LAED2 Float -> LAED2 Double -> LAED2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Float
 -> Array ZeroInt Float
 -> IO
      (Int, Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LAED2 Float
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Array ZeroInt a
 -> IO
      (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LAED2 a
LAED2 Int
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Float
-> Array ZeroInt Float
-> IO
     (Int, Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
S.laed2) ((Int
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Double
 -> Array ZeroInt Double
 -> IO
      (Int, Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LAED2 Double
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> a
 -> Array ZeroInt a
 -> IO
      (Int, a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LAED2 a
LAED2 Int
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Double
-> Array ZeroInt Double
-> IO
     (Int, Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
D.laed2)


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

laed3 :: Class.Real a => Int -> Int -> a -> IOArray ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> Array ZeroInt CInt -> IOArray ZeroInt a -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt a, Int)
laed3 :: Int
-> Int
-> a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Int)
laed3 = LAED3 a
-> Int
-> Int
-> a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Int)
forall a.
LAED3 a
-> Int
-> Int
-> a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Int)
getLAED3 (LAED3 a
 -> Int
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Array ZeroInt a,
       Int))
-> LAED3 a
-> Int
-> Int
-> a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ LAED3 Float -> LAED3 Double -> LAED3 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Float
 -> IOArray ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt Float
 -> IO
      (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt Float, Int))
-> LAED3 Float
forall a.
(Int
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Array ZeroInt a,
       Int))
-> LAED3 a
LAED3 Int
-> Int
-> Float
-> IOArray ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt Float
-> IO
     (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt Float, Int)
S.laed3) ((Int
 -> Int
 -> Double
 -> IOArray ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt Double
 -> IO
      (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt Double, Int))
-> LAED3 Double
forall a.
(Int
 -> Int
 -> a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Array ZeroInt a,
       Int))
-> LAED3 a
LAED3 Int
-> Int
-> Double
-> IOArray ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt Double
-> IO
     (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt Double, Int)
D.laed3)


newtype LAED4 a = LAED4 {LAED4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
getLAED4 :: Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a, Int)}

laed4 :: Class.Real a => Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a, Int)
laed4 :: Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
laed4 = LAED4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
forall a.
LAED4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
getLAED4 (LAED4 a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a, Int))
-> LAED4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
forall a b. (a -> b) -> a -> b
$ LAED4 Float -> LAED4 Double -> LAED4 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> IO (Array ZeroInt Float, Float, Int))
-> LAED4 Float
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a, Int))
-> LAED4 a
LAED4 Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> IO (Array ZeroInt Float, Float, Int)
S.laed4) ((Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> IO (Array ZeroInt Double, Double, Int))
-> LAED4 Double
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a, Int))
-> LAED4 a
LAED4 Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> IO (Array ZeroInt Double, Double, Int)
D.laed4)


newtype LAED5 a = LAED5 {LAED5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
getLAED5 :: Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a)}

laed5 :: Class.Real a => Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a)
laed5 :: Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
laed5 = LAED5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
forall a.
LAED5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
getLAED5 (LAED5 a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a))
-> LAED5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
forall a b. (a -> b) -> a -> b
$ LAED5 Float -> LAED5 Double -> LAED5 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> IO (Array ZeroInt Float, Float))
-> LAED5 Float
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a))
-> LAED5 a
LAED5 Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> IO (Array ZeroInt Float, Float)
S.laed5) ((Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> IO (Array ZeroInt Double, Double))
-> LAED5 Double
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a))
-> LAED5 a
LAED5 Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> IO (Array ZeroInt Double, Double)
D.laed5)


newtype LAED6 a = LAED6 {LAED6 a
-> Int
-> Bool
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (a, Int)
getLAED6 :: Int -> Bool -> a -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)}

laed6 :: Class.Real a => Int -> Bool -> a -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)
laed6 :: Int
-> Bool
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (a, Int)
laed6 = LAED6 a
-> Int
-> Bool
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (a, Int)
forall a.
LAED6 a
-> Int
-> Bool
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (a, Int)
getLAED6 (LAED6 a
 -> Int
 -> Bool
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (a, Int))
-> LAED6 a
-> Int
-> Bool
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ LAED6 Float -> LAED6 Double -> LAED6 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Bool
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> IO (Float, Int))
-> LAED6 Float
forall a.
(Int
 -> Bool
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (a, Int))
-> LAED6 a
LAED6 Int
-> Bool
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> IO (Float, Int)
S.laed6) ((Int
 -> Bool
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> IO (Double, Int))
-> LAED6 Double
forall a.
(Int
 -> Bool
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (a, Int))
-> LAED6 a
LAED6 Int
-> Bool
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> IO (Double, Int)
D.laed6)


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

laed7 :: Class.Real a => Int -> Int -> Int -> Int -> Int -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> a -> Int -> IOArray ZeroInt a -> IOArray ZeroInt CInt -> Array ZeroInt CInt -> Array ZeroInt CInt -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) CInt -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt CInt, Int)
laed7 :: Int
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
laed7 = LAED7 a
-> Int
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a.
LAED7 a
-> Int
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
getLAED7 (LAED7 a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> LAED7 a
-> Int
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LAED7 Float -> LAED7 Double -> LAED7 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt CInt, Int))
-> LAED7 Float
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> LAED7 a
LAED7 Int
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt CInt, Int)
S.laed7) ((Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt CInt, Int))
-> LAED7 Double
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt CInt, Int))
-> LAED7 a
LAED7 Int
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt CInt, Int)
D.laed7)


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

laed8 :: Class.Real a => Int -> Int -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> a -> Int -> Array ZeroInt a -> Int -> IO (Int, a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt a, Array ZeroInt CInt, Int, Array (ZeroInt,ZeroInt) CInt, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt, Int)
laed8 :: Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> Int
-> Array ZeroInt a
-> Int
-> IO
     (Int, a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
laed8 = LAED8 a
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> Int
-> Array ZeroInt a
-> Int
-> IO
     (Int, a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a.
LAED8 a
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> Int
-> Array ZeroInt a
-> Int
-> IO
     (Int, a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
getLAED8 (LAED8 a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IO
      (Int, a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LAED8 a
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> Int
-> Array ZeroInt a
-> Int
-> IO
     (Int, a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LAED8 Float -> LAED8 Double -> LAED8 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Float
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> IO
      (Int, Float, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt Float, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LAED8 Float
forall a.
(Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IO
      (Int, a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LAED8 a
LAED8 Int
-> Int
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Float
-> Int
-> Array ZeroInt Float
-> Int
-> IO
     (Int, Float, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt Float, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
S.laed8) ((Int
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Double
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> IO
      (Int, Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
       Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LAED8 Double
forall a.
(Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> Int
 -> Array ZeroInt a
 -> Int
 -> IO
      (Int, a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LAED8 a
LAED8 Int
-> Int
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Double
-> Int
-> Array ZeroInt Double
-> Int
-> IO
     (Int, Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
      Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
D.laed8)


newtype LAED9 a = LAED9 {LAED9 a
-> Int
-> Int
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getLAED9 :: Int -> Int -> Int -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)}

laed9 :: Class.Real a => Int -> Int -> Int -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
laed9 :: Int
-> Int
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
laed9 = LAED9 a
-> Int
-> Int
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a.
LAED9 a
-> Int
-> Int
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getLAED9 (LAED9 a
 -> Int
 -> Int
 -> Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> LAED9 a
-> Int
-> Int
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LAED9 Float -> LAED9 Double -> LAED9 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Int
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> IO
      (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> LAED9 Float
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> LAED9 a
LAED9 Int
-> Int
-> Int
-> Int
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> IO
     (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.laed9) ((Int
 -> Int
 -> Int
 -> Int
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> IO
      (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> LAED9 Double
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> LAED9 a
LAED9 Int
-> Int
-> Int
-> Int
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> IO
     (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.laed9)


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

laeda :: Class.Real a => Int -> Int -> Int -> Int -> Array ZeroInt CInt -> Array ZeroInt CInt -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) CInt -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Array ZeroInt CInt -> IO (Array ZeroInt a, Array ZeroInt a, Int)
laeda :: Int
-> Int
-> Int
-> Int
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
laeda = LAEDA a
-> Int
-> Int
-> Int
-> Int
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
LAEDA a
-> Int
-> Int
-> Int
-> Int
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getLAEDA (LAEDA a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAEDA a
-> Int
-> Int
-> Int
-> Int
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ LAEDA Float -> LAEDA Double -> LAEDA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Int
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> LAEDA Float
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAEDA a
LAEDA Int
-> Int
-> Int
-> Int
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.laeda) ((Int
 -> Int
 -> Int
 -> Int
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> LAEDA Double
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAEDA a
LAEDA Int
-> Int
-> Int
-> Int
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.laeda)


newtype LAEIN a = LAEIN {LAEIN a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getLAEIN :: Bool -> Bool -> Array (ZeroInt,ZeroInt) a -> a -> a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> a -> a -> a -> IO (Array (ZeroInt,ZeroInt) a, Int)}

laein :: Class.Real a => Bool -> Bool -> Array (ZeroInt,ZeroInt) a -> a -> a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> a -> a -> a -> IO (Array (ZeroInt,ZeroInt) a, Int)
laein :: Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
laein = LAEIN a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
LAEIN a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getLAEIN (LAEIN a
 -> Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> a
 -> a
 -> a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LAEIN a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LAEIN Float -> LAEIN Double -> LAEIN a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> Float
 -> Float
 -> Float
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> LAEIN Float
forall a.
(Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> a
 -> a
 -> a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LAEIN a
LAEIN Bool
-> Bool
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> Float
-> Float
-> Float
-> IO (Array (ZeroInt, ZeroInt) Float, Int)
S.laein) ((Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> Double
 -> Double
 -> Double
 -> IO (Array (ZeroInt, ZeroInt) Double, Int))
-> LAEIN Double
forall a.
(Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> a
 -> a
 -> a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LAEIN a
LAEIN Bool
-> Bool
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> Double
-> Double
-> Double
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.laein)


newtype LAEV2 a = LAEV2 {LAEV2 a -> a -> a -> a -> IO (a, a, a, a)
getLAEV2 :: a -> a -> a -> IO (a, a, a, a)}

laev2 :: Class.Real a => a -> a -> a -> IO (a, a, a, a)
laev2 :: a -> a -> a -> IO (a, a, a, a)
laev2 = LAEV2 a -> a -> a -> a -> IO (a, a, a, a)
forall a. LAEV2 a -> a -> a -> a -> IO (a, a, a, a)
getLAEV2 (LAEV2 a -> a -> a -> a -> IO (a, a, a, a))
-> LAEV2 a -> a -> a -> a -> IO (a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LAEV2 Float -> LAEV2 Double -> LAEV2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> Float -> IO (Float, Float, Float, Float))
-> LAEV2 Float
forall a. (a -> a -> a -> IO (a, a, a, a)) -> LAEV2 a
LAEV2 Float -> Float -> Float -> IO (Float, Float, Float, Float)
S.laev2) ((Double -> Double -> Double -> IO (Double, Double, Double, Double))
-> LAEV2 Double
forall a. (a -> a -> a -> IO (a, a, a, a)) -> LAEV2 a
LAEV2 Double -> Double -> Double -> IO (Double, Double, Double, Double)
D.laev2)


newtype LAEXC a = LAEXC {LAEXC a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO Int
getLAEXC :: Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int)}

laexc :: Class.Real a => Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int)
laexc :: Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO Int
laexc = LAEXC a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO Int
forall a.
LAEXC a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO Int
getLAEXC (LAEXC a
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> LAEXC a
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ LAEXC Float -> LAEXC Double -> LAEXC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> LAEXC Float
forall a.
(Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> LAEXC a
LAEXC Bool
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO Int
S.laexc) ((Bool
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> LAEXC Double
forall a.
(Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> LAEXC a
LAEXC Bool
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO Int
D.laexc)


newtype LAG2 a = LAG2 {LAG2 a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IO (a, a, a, a, a)
getLAG2 :: Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IO (a, a, a, a, a)}

lag2 :: Class.Real a => Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> a -> IO (a, a, a, a, a)
lag2 :: Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a -> a -> IO (a, a, a, a, a)
lag2 = LAG2 a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IO (a, a, a, a, a)
forall a.
LAG2 a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IO (a, a, a, a, a)
getLAG2 (LAG2 a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IO (a, a, a, a, a))
-> LAG2 a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IO (a, a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LAG2 Float -> LAG2 Double -> LAG2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IO (Float, Float, Float, Float, Float))
-> LAG2 Float
forall a.
(Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, a, a, a, a))
-> LAG2 a
LAG2 Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IO (Float, Float, Float, Float, Float)
S.lag2) ((Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IO (Double, Double, Double, Double, Double))
-> LAG2 Double
forall a.
(Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, a, a, a, a))
-> LAG2 a
LAG2 Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IO (Double, Double, Double, Double, Double)
D.lag2)


newtype LAGS2 a = LAGS2 {LAGS2 a
-> Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a)
getLAGS2 :: Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a)}

lags2 :: Class.Real a => Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a)
lags2 :: Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a)
lags2 = LAGS2 a
-> Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a)
forall a.
LAGS2 a
-> Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a)
getLAGS2 (LAGS2 a
 -> Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a))
-> LAGS2 a
-> Bool
-> a
-> a
-> a
-> a
-> a
-> a
-> IO (a, a, a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LAGS2 Float -> LAGS2 Double -> LAGS2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Float
 -> Float
 -> Float
 -> Float
 -> Float
 -> Float
 -> IO (Float, Float, Float, Float, Float, Float))
-> LAGS2 Float
forall a.
(Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a))
-> LAGS2 a
LAGS2 Bool
-> Float
-> Float
-> Float
-> Float
-> Float
-> Float
-> IO (Float, Float, Float, Float, Float, Float)
S.lags2) ((Bool
 -> Double
 -> Double
 -> Double
 -> Double
 -> Double
 -> Double
 -> IO (Double, Double, Double, Double, Double, Double))
-> LAGS2 Double
forall a.
(Bool -> a -> a -> a -> a -> a -> a -> IO (a, a, a, a, a, a))
-> LAGS2 a
LAGS2 Bool
-> Double
-> Double
-> Double
-> Double
-> Double
-> Double
-> IO (Double, Double, Double, Double, Double, Double)
D.lags2)


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

lagtf :: Class.Real a => IOArray ZeroInt a -> a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
lagtf :: IOArray ZeroInt a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
lagtf = LAGTF a
-> IOArray ZeroInt a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
forall a.
LAGTF a
-> IOArray ZeroInt a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
getLAGTF (LAGTF a
 -> IOArray ZeroInt a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> LAGTF a
-> IOArray ZeroInt a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> IO (Array ZeroInt a, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LAGTF Float -> LAGTF Double -> LAGTF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float
 -> Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> IO (Array ZeroInt Float, Array ZeroInt CInt, Int))
-> LAGTF Float
forall a.
(IOArray ZeroInt a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> LAGTF a
LAGTF IOArray ZeroInt Float
-> Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> IO (Array ZeroInt Float, Array ZeroInt CInt, Int)
S.lagtf) ((IOArray ZeroInt Double
 -> Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> IO (Array ZeroInt Double, Array ZeroInt CInt, Int))
-> LAGTF Double
forall a.
(IOArray ZeroInt a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> IO (Array ZeroInt a, Array ZeroInt CInt, Int))
-> LAGTF a
LAGTF IOArray ZeroInt Double
-> Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> IO (Array ZeroInt Double, Array ZeroInt CInt, Int)
D.lagtf)


newtype LAGTM a = LAGTM {LAGTM a
-> Char
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getLAGTM :: Char -> a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

lagtm :: Class.Real a => Char -> a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array (ZeroInt,ZeroInt) a -> a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
lagtm :: Char
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
lagtm = LAGTM a
-> Char
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
LAGTM a
-> Char
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getLAGTM (LAGTM a
 -> Char
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> LAGTM a
-> Char
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ LAGTM Float -> LAGTM Double -> LAGTM a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> LAGTM Float
forall a.
(Char
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> LAGTM a
LAGTM Char
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.lagtm) ((Char
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> LAGTM Double
forall a.
(Char
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> LAGTM a
LAGTM Char
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.lagtm)


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

lagts :: Class.Real a => Int -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> IOArray ZeroInt a -> a -> IO (a, Int)
lagts :: Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> a
-> IO (a, Int)
lagts = LAGTS a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> a
-> IO (a, Int)
forall a.
LAGTS a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> a
-> IO (a, Int)
getLAGTS (LAGTS a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> a
 -> IO (a, Int))
-> LAGTS a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ LAGTS Float -> LAGTS Double -> LAGTS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> IOArray ZeroInt Float
 -> Float
 -> IO (Float, Int))
-> LAGTS Float
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> a
 -> IO (a, Int))
-> LAGTS a
LAGTS Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> IOArray ZeroInt Float
-> Float
-> IO (Float, Int)
S.lagts) ((Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> IOArray ZeroInt Double
 -> Double
 -> IO (Double, Int))
-> LAGTS Double
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> a
 -> IO (a, Int))
-> LAGTS a
LAGTS Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> IOArray ZeroInt Double
-> Double
-> IO (Double, Int)
D.lagts)


newtype LAGV2 a = LAGV2 {LAGV2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a)
getLAGV2 :: IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a)}

lagv2 :: Class.Real a => IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a)
lagv2 :: IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a)
lagv2 = LAGV2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a)
forall a.
LAGV2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a)
getLAGV2 (LAGV2 a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a))
-> LAGV2 a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LAGV2 Float -> LAGV2 Double -> LAGV2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Float, Float, Float, Float))
-> LAGV2 Float
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a))
-> LAGV2 a
LAGV2 IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Float, Float, Float, Float)
S.lagv2) ((IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Double, Double, Double, Double))
-> LAGV2 Double
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, a, a, a, a))
-> LAGV2 a
LAGV2 IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Double, Double, Double, Double)
D.lagv2)


newtype LAHQR a = LAHQR {LAHQR a
-> Bool
-> Bool
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getLAHQR :: Bool -> Bool -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)}

lahqr :: Class.Real a => Bool -> Bool -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
lahqr :: Bool
-> Bool
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
lahqr = LAHQR a
-> Bool
-> Bool
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
LAHQR a
-> Bool
-> Bool
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getLAHQR (LAHQR a
 -> Bool
 -> Bool
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAHQR a
-> Bool
-> Bool
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ LAHQR Float -> LAHQR Double -> LAHQR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> LAHQR Float
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAHQR a
LAHQR Bool
-> Bool
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.lahqr) ((Bool
 -> Bool
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> LAHQR Double
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAHQR a
LAHQR Bool
-> Bool
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.lahqr)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype LAIC1 a = LAIC1 {LAIC1 a
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> a
-> IO (a, a, a)
getLAIC1 :: Int -> Array ZeroInt a -> a -> Array ZeroInt a -> a -> IO (a, a, a)}

laic1 :: Class.Real a => Int -> Array ZeroInt a -> a -> Array ZeroInt a -> a -> IO (a, a, a)
laic1 :: Int -> Array ZeroInt a -> a -> Array ZeroInt a -> a -> IO (a, a, a)
laic1 = LAIC1 a
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> a
-> IO (a, a, a)
forall a.
LAIC1 a
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> a
-> IO (a, a, a)
getLAIC1 (LAIC1 a
 -> Int
 -> Array ZeroInt a
 -> a
 -> Array ZeroInt a
 -> a
 -> IO (a, a, a))
-> LAIC1 a
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> a
-> IO (a, a, a)
forall a b. (a -> b) -> a -> b
$ LAIC1 Float -> LAIC1 Double -> LAIC1 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array ZeroInt Float
 -> Float
 -> Array ZeroInt Float
 -> Float
 -> IO (Float, Float, Float))
-> LAIC1 Float
forall a.
(Int
 -> Array ZeroInt a -> a -> Array ZeroInt a -> a -> IO (a, a, a))
-> LAIC1 a
LAIC1 Int
-> Array ZeroInt Float
-> Float
-> Array ZeroInt Float
-> Float
-> IO (Float, Float, Float)
S.laic1) ((Int
 -> Array ZeroInt Double
 -> Double
 -> Array ZeroInt Double
 -> Double
 -> IO (Double, Double, Double))
-> LAIC1 Double
forall a.
(Int
 -> Array ZeroInt a -> a -> Array ZeroInt a -> a -> IO (a, a, a))
-> LAIC1 a
LAIC1 Int
-> Array ZeroInt Double
-> Double
-> Array ZeroInt Double
-> Double
-> IO (Double, Double, Double)
D.laic1)


newtype LAISNAN a = LAISNAN {LAISNAN a -> a -> a -> IO Bool
getLAISNAN :: a -> a -> IO Bool}

laisnan :: Class.Real a => a -> a -> IO Bool
laisnan :: a -> a -> IO Bool
laisnan = LAISNAN a -> a -> a -> IO Bool
forall a. LAISNAN a -> a -> a -> IO Bool
getLAISNAN (LAISNAN a -> a -> a -> IO Bool) -> LAISNAN a -> a -> a -> IO Bool
forall a b. (a -> b) -> a -> b
$ LAISNAN Float -> LAISNAN Double -> LAISNAN a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> IO Bool) -> LAISNAN Float
forall a. (a -> a -> IO Bool) -> LAISNAN a
LAISNAN Float -> Float -> IO Bool
S.laisnan) ((Double -> Double -> IO Bool) -> LAISNAN Double
forall a. (a -> a -> IO Bool) -> LAISNAN a
LAISNAN Double -> Double -> IO Bool
D.laisnan)


newtype LALN2 a = LALN2 {LALN2 a
-> Bool
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, a, a, Int)
getLALN2 :: Bool -> a -> a -> Array (ZeroInt,ZeroInt) a -> a -> a -> Array (ZeroInt,ZeroInt) a -> a -> a -> Int -> IO (Array (ZeroInt,ZeroInt) a, a, a, Int)}

laln2 :: Class.Real a => Bool -> a -> a -> Array (ZeroInt,ZeroInt) a -> a -> a -> Array (ZeroInt,ZeroInt) a -> a -> a -> Int -> IO (Array (ZeroInt,ZeroInt) a, a, a, Int)
laln2 :: Bool
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, a, a, Int)
laln2 = LALN2 a
-> Bool
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, a, a, Int)
forall a.
LALN2 a
-> Bool
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, a, a, Int)
getLALN2 (LALN2 a
 -> Bool
 -> a
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, a, a, Int))
-> LALN2 a
-> Bool
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ LALN2 Float -> LALN2 Double -> LALN2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Float
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Float, Float, Int))
-> LALN2 Float
forall a.
(Bool
 -> a
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, a, a, Int))
-> LALN2 a
LALN2 Bool
-> Float
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> Int
-> IO (Array (ZeroInt, ZeroInt) Float, Float, Float, Int)
S.laln2) ((Bool
 -> Double
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Double, Double, Double, Int))
-> LALN2 Double
forall a.
(Bool
 -> a
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, a, a, Int))
-> LALN2 a
LALN2 Bool
-> Double
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Double, Double, Int)
D.laln2)


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

lals0 :: Class.Real a => Int -> Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Array ZeroInt CInt -> Int -> Array (ZeroInt,ZeroInt) CInt -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> a -> a -> IO (Array (ZeroInt,ZeroInt) a, Int)
lals0 :: Int
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array ZeroInt CInt
-> Int
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
lals0 = LALS0 a
-> Int
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array ZeroInt CInt
-> Int
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
LALS0 a
-> Int
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array ZeroInt CInt
-> Int
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getLALS0 (LALS0 a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Array ZeroInt CInt
 -> Int
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LALS0 a
-> Int
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array ZeroInt CInt
-> Int
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LALS0 Float -> LALS0 Double -> LALS0 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Array ZeroInt CInt
 -> Int
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> LALS0 Float
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Array ZeroInt CInt
 -> Int
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LALS0 a
LALS0 Int
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Array ZeroInt CInt
-> Int
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Float
-> Float
-> IO (Array (ZeroInt, ZeroInt) Float, Int)
S.lals0) ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Array ZeroInt CInt
 -> Int
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> IO (Array (ZeroInt, ZeroInt) Double, Int))
-> LALS0 Double
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Array ZeroInt CInt
 -> Int
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LALS0 a
LALS0 Int
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Array ZeroInt CInt
-> Int
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Double
-> Double
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.lals0)


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

lalsa :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) CInt -> Array (ZeroInt,ZeroInt) CInt -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Array ZeroInt a -> IO (Array (ZeroInt,ZeroInt) a, Int)
lalsa :: Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
lalsa = LALSA a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
LALSA a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getLALSA (LALSA a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LALSA a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LALSA Float -> LALSA Double -> LALSA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> LALSA Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LALSA a
LALSA Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IO (Array (ZeroInt, ZeroInt) Float, Int)
S.lalsa) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IO (Array (ZeroInt, ZeroInt) Double, Int))
-> LALSA Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> LALSA a
LALSA Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) CInt
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.lalsa)


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

lalsd :: Class.Real a => Char -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> a -> Int -> Int -> IO (Int, Int)
lalsd :: Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Int, Int)
lalsd = LALSD a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Int, Int)
forall a.
LALSD a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Int, Int)
getLALSD (LALSD a
 -> Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> Int
 -> IO (Int, Int))
-> LALSD a
-> Char
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> Int
-> Int
-> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ LALSD Float -> LALSD Double -> LALSD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Int
 -> Int
 -> IO (Int, Int))
-> LALSD Float
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> Int
 -> IO (Int, Int))
-> LALSD a
LALSD Char
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Int
-> Int
-> IO (Int, Int)
S.lalsd) ((Char
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Int
 -> Int
 -> IO (Int, Int))
-> LALSD Double
forall a.
(Char
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> Int
 -> Int
 -> IO (Int, Int))
-> LALSD a
LALSD Char
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Int
-> Int
-> IO (Int, Int)
D.lalsd)


newtype LAMRG a = LAMRG {LAMRG a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt CInt)
getLAMRG :: Int -> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt CInt)}

lamrg :: Class.Real a => Int -> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt CInt)
lamrg :: Int
-> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt CInt)
lamrg = LAMRG a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt CInt)
forall a.
LAMRG a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt CInt)
getLAMRG (LAMRG a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> Int
 -> IO (Array ZeroInt CInt))
-> LAMRG a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt CInt)
forall a b. (a -> b) -> a -> b
$ LAMRG Float -> LAMRG Double -> LAMRG a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> Int
 -> IO (Array ZeroInt CInt))
-> LAMRG Float
forall a.
(Int
 -> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt CInt))
-> LAMRG a
LAMRG Int
-> Int
-> Array ZeroInt Float
-> Int
-> Int
-> IO (Array ZeroInt CInt)
S.lamrg) ((Int
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> Int
 -> IO (Array ZeroInt CInt))
-> LAMRG Double
forall a.
(Int
 -> Int -> Array ZeroInt a -> Int -> Int -> IO (Array ZeroInt CInt))
-> LAMRG a
LAMRG Int
-> Int
-> Array ZeroInt Double
-> Int
-> Int
-> IO (Array ZeroInt CInt)
D.lamrg)


newtype LANEG a = LANEG {LANEG a
-> Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt
getLANEG :: Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt}

laneg :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt
laneg :: Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt
laneg = LANEG a
-> Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt
forall a.
LANEG a
-> Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt
getLANEG (LANEG a
 -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt)
-> LANEG a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> Int
-> IO CInt
forall a b. (a -> b) -> a -> b
$ LANEG Float -> LANEG Double -> LANEG a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float -> Float -> Float -> Int -> IO CInt)
-> LANEG Float
forall a.
(Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt)
-> LANEG a
LANEG Array ZeroInt Float
-> Array ZeroInt Float -> Float -> Float -> Int -> IO CInt
S.laneg) ((Array ZeroInt Double
 -> Array ZeroInt Double -> Double -> Double -> Int -> IO CInt)
-> LANEG Double
forall a.
(Array ZeroInt a -> Array ZeroInt a -> a -> a -> Int -> IO CInt)
-> LANEG a
LANEG Array ZeroInt Double
-> Array ZeroInt Double -> Double -> Double -> Int -> IO CInt
D.laneg)


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

langb :: Class.Real a => Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Int -> IO a
langb :: Char -> Int -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
langb = LANGB a
-> Char -> Int -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
forall a.
LANGB a
-> Char -> Int -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
getLANGB (LANGB a
 -> Char -> Int -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANGB a
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANGB Float -> LANGB Double -> LANGB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int -> Int -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float)
-> LANGB Float
forall a.
(Char -> Int -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANGB a
LANGB Char
-> Int -> Int -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float
S.langb) ((Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO Double)
-> LANGB Double
forall a.
(Char -> Int -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANGB a
LANGB Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO Double
D.langb)


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

lange :: Class.Real a => Char -> Int -> Array (ZeroInt,ZeroInt) a -> Int -> IO a
lange :: Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
lange = LANGE a -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
forall a.
LANGE a -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
getLANGE (LANGE a
 -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANGE a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANGE Float -> LANGE Double -> LANGE a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char -> Int -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float)
-> LANGE Float
forall a.
(Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANGE a
LANGE Char -> Int -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float
S.lange) ((Char
 -> Int -> Array (ZeroInt, ZeroInt) Double -> Int -> IO Double)
-> LANGE Double
forall a.
(Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANGE a
LANGE Char -> Int -> Array (ZeroInt, ZeroInt) Double -> Int -> IO Double
D.lange)


newtype LANGT a = LANGT {LANGT a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO a
getLANGT :: Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> IO a}

langt :: Class.Real a => Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> IO a
langt :: Char
-> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> IO a
langt = LANGT a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO a
forall a.
LANGT a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO a
getLANGT (LANGT a
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IO a)
-> LANGT a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO a
forall a b. (a -> b) -> a -> b
$ LANGT Float -> LANGT Double -> LANGT a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IO Float)
-> LANGT Float
forall a.
(Char
 -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> IO a)
-> LANGT a
LANGT Char
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IO Float
S.langt) ((Char
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IO Double)
-> LANGT Double
forall a.
(Char
 -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> IO a)
-> LANGT a
LANGT Char
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IO Double
D.langt)


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

lanhs :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> Int -> IO a
lanhs :: Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
lanhs = LANHS a -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
forall a.
LANHS a -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
getLANHS (LANHS a -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANHS a -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
forall a b. (a -> b) -> a -> b
$ LANHS Float -> LANHS Double -> LANHS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float)
-> LANHS Float
forall a.
(Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a) -> LANHS a
LANHS Char -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float
S.lanhs) ((Char -> Array (ZeroInt, ZeroInt) Double -> Int -> IO Double)
-> LANHS Double
forall a.
(Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a) -> LANHS a
LANHS Char -> Array (ZeroInt, ZeroInt) Double -> Int -> IO Double
D.lanhs)


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

lansb :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Int -> IO a
lansb :: Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
lansb = LANSB a
-> Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
forall a.
LANSB a
-> Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
getLANSB (LANSB a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO a)
-> LANSB a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANSB Float -> LANSB Double -> LANSB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Float)
-> LANSB Float
forall a.
(Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANSB a
LANSB Char
-> Char -> Int -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float
S.lansb) ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO Double)
-> LANSB Double
forall a.
(Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANSB a
LANSB Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO Double
D.lansb)


newtype LANSF a = LANSF {LANSF a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
getLANSF :: Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a}

lansf :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
lansf :: Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
lansf = LANSF a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
forall a.
LANSF a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
getLANSF (LANSF a
 -> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a)
-> LANSF a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANSF Float -> LANSF Double -> LANSF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char -> Char -> Int -> Array ZeroInt Float -> Int -> IO Float)
-> LANSF Float
forall a.
(Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a)
-> LANSF a
LANSF Char
-> Char -> Char -> Int -> Array ZeroInt Float -> Int -> IO Float
S.lansf) ((Char
 -> Char -> Char -> Int -> Array ZeroInt Double -> Int -> IO Double)
-> LANSF Double
forall a.
(Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a)
-> LANSF a
LANSF Char
-> Char -> Char -> Int -> Array ZeroInt Double -> Int -> IO Double
D.lansf)


newtype LANSP a = LANSP {LANSP a -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
getLANSP :: Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a}

lansp :: Class.Real a => Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
lansp :: Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
lansp = LANSP a -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
forall a.
LANSP a -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
getLANSP (LANSP a -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a)
-> LANSP a -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
forall a b. (a -> b) -> a -> b
$ LANSP Float -> LANSP Double -> LANSP a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char -> Char -> Int -> Array ZeroInt Float -> Int -> IO Float)
-> LANSP Float
forall a.
(Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a) -> LANSP a
LANSP Char -> Char -> Int -> Array ZeroInt Float -> Int -> IO Float
S.lansp) ((Char -> Char -> Int -> Array ZeroInt Double -> Int -> IO Double)
-> LANSP Double
forall a.
(Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a) -> LANSP a
LANSP Char -> Char -> Int -> Array ZeroInt Double -> Int -> IO Double
D.lansp)


newtype LANST a = LANST {LANST a -> Char -> Array ZeroInt a -> Array ZeroInt a -> IO a
getLANST :: Char -> Array ZeroInt a -> Array ZeroInt a -> IO a}

lanst :: Class.Real a => Char -> Array ZeroInt a -> Array ZeroInt a -> IO a
lanst :: Char -> Array ZeroInt a -> Array ZeroInt a -> IO a
lanst = LANST a -> Char -> Array ZeroInt a -> Array ZeroInt a -> IO a
forall a.
LANST a -> Char -> Array ZeroInt a -> Array ZeroInt a -> IO a
getLANST (LANST a -> Char -> Array ZeroInt a -> Array ZeroInt a -> IO a)
-> LANST a -> Char -> Array ZeroInt a -> Array ZeroInt a -> IO a
forall a b. (a -> b) -> a -> b
$ LANST Float -> LANST Double -> LANST a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char -> Array ZeroInt Float -> Array ZeroInt Float -> IO Float)
-> LANST Float
forall a.
(Char -> Array ZeroInt a -> Array ZeroInt a -> IO a) -> LANST a
LANST Char -> Array ZeroInt Float -> Array ZeroInt Float -> IO Float
S.lanst) ((Char -> Array ZeroInt Double -> Array ZeroInt Double -> IO Double)
-> LANST Double
forall a.
(Char -> Array ZeroInt a -> Array ZeroInt a -> IO a) -> LANST a
LANST Char -> Array ZeroInt Double -> Array ZeroInt Double -> IO Double
D.lanst)


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

lansy :: Class.Real a => Char -> Char -> Array (ZeroInt,ZeroInt) a -> Int -> IO a
lansy :: Char -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
lansy = LANSY a
-> Char -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
forall a.
LANSY a
-> Char -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
getLANSY (LANSY a
 -> Char -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANSY a
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANSY Float -> LANSY Double -> LANSY a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char -> Char -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float)
-> LANSY Float
forall a.
(Char -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANSY a
LANSY Char -> Char -> Array (ZeroInt, ZeroInt) Float -> Int -> IO Float
S.lansy) ((Char
 -> Char -> Array (ZeroInt, ZeroInt) Double -> Int -> IO Double)
-> LANSY Double
forall a.
(Char -> Char -> Array (ZeroInt, ZeroInt) a -> Int -> IO a)
-> LANSY a
LANSY Char -> Char -> Array (ZeroInt, ZeroInt) Double -> Int -> IO Double
D.lansy)


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

lantb :: Class.Real a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Int -> IO a
lantb :: Char
-> Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
lantb = LANTB a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a.
LANTB a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
getLANTB (LANTB a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO a)
-> LANTB a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANTB Float -> LANTB Double -> LANTB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Float)
-> LANTB Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO a)
-> LANTB a
LANTB Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> IO Float
S.lantb) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO Double)
-> LANTB Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO a)
-> LANTB a
LANTB Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO Double
D.lantb)


newtype LANTP a = LANTP {LANTP a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
getLANTP :: Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a}

lantp :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
lantp :: Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
lantp = LANTP a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
forall a.
LANTP a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a
getLANTP (LANTP a
 -> Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a)
-> LANTP a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANTP Float -> LANTP Double -> LANTP a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char -> Char -> Int -> Array ZeroInt Float -> Int -> IO Float)
-> LANTP Float
forall a.
(Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a)
-> LANTP a
LANTP Char
-> Char -> Char -> Int -> Array ZeroInt Float -> Int -> IO Float
S.lantp) ((Char
 -> Char -> Char -> Int -> Array ZeroInt Double -> Int -> IO Double)
-> LANTP Double
forall a.
(Char -> Char -> Char -> Int -> Array ZeroInt a -> Int -> IO a)
-> LANTP a
LANTP Char
-> Char -> Char -> Int -> Array ZeroInt Double -> Int -> IO Double
D.lantp)


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

lantr :: Class.Real a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Int -> IO a
lantr :: Char
-> Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> Int -> IO a
lantr = LANTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a.
LANTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
getLANTR (LANTR a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO a)
-> LANTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LANTR Float -> LANTR Double -> LANTR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Float)
-> LANTR Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO a)
-> LANTR a
LANTR Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> IO Float
S.lantr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO Double)
-> LANTR Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO a)
-> LANTR a
LANTR Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO Double
D.lantr)


newtype LANV2 a = LANV2 {LANV2 a -> a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)
getLANV2 :: a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)}

lanv2 :: Class.Real a => a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)
lanv2 :: a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)
lanv2 = LANV2 a -> a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)
forall a.
LANV2 a -> a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)
getLANV2 (LANV2 a -> a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a))
-> LANV2 a -> a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LANV2 Float -> LANV2 Double -> LANV2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float
 -> Float
 -> Float
 -> Float
 -> IO
      (Float, Float, Float, Float, Float, Float, Float, Float, Float,
       Float))
-> LANV2 Float
forall a.
(a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)) -> LANV2 a
LANV2 Float
-> Float
-> Float
-> Float
-> IO
     (Float, Float, Float, Float, Float, Float, Float, Float, Float,
      Float)
S.lanv2) ((Double
 -> Double
 -> Double
 -> Double
 -> IO
      (Double, Double, Double, Double, Double, Double, Double, Double,
       Double, Double))
-> LANV2 Double
forall a.
(a -> a -> a -> a -> IO (a, a, a, a, a, a, a, a, a, a)) -> LANV2 a
LANV2 Double
-> Double
-> Double
-> Double
-> IO
     (Double, Double, Double, Double, Double, Double, Double, Double,
      Double, Double)
D.lanv2)


newtype LAPLL a = LAPLL {LAPLL a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO a
getLAPLL :: Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO (a)}

lapll :: Class.Real a => Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO (a)
lapll :: Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO a
lapll = LAPLL a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO a
forall a.
LAPLL a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO a
getLAPLL (LAPLL a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IO a)
-> LAPLL a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> IO a
forall a b. (a -> b) -> a -> b
$ LAPLL Float -> LAPLL Double -> LAPLL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt Float
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> IO Float)
-> LAPLL Float
forall a.
(Int
 -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO a)
-> LAPLL a
LAPLL Int
-> IOArray ZeroInt Float
-> Int
-> IOArray ZeroInt Float
-> Int
-> IO Float
S.lapll) ((Int
 -> IOArray ZeroInt Double
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> IO Double)
-> LAPLL Double
forall a.
(Int
 -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> IO a)
-> LAPLL a
LAPLL Int
-> IOArray ZeroInt Double
-> Int
-> IOArray ZeroInt Double
-> Int
-> IO Double
D.lapll)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype LAPY2 a = LAPY2 {LAPY2 a -> a -> a -> IO a
getLAPY2 :: a -> a -> IO a}

lapy2 :: Class.Real a => a -> a -> IO a
lapy2 :: a -> a -> IO a
lapy2 = LAPY2 a -> a -> a -> IO a
forall a. LAPY2 a -> a -> a -> IO a
getLAPY2 (LAPY2 a -> a -> a -> IO a) -> LAPY2 a -> a -> a -> IO a
forall a b. (a -> b) -> a -> b
$ LAPY2 Float -> LAPY2 Double -> LAPY2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> IO Float) -> LAPY2 Float
forall a. (a -> a -> IO a) -> LAPY2 a
LAPY2 Float -> Float -> IO Float
S.lapy2) ((Double -> Double -> IO Double) -> LAPY2 Double
forall a. (a -> a -> IO a) -> LAPY2 a
LAPY2 Double -> Double -> IO Double
D.lapy2)


newtype LAPY3 a = LAPY3 {LAPY3 a -> a -> a -> a -> IO a
getLAPY3 :: a -> a -> a -> IO a}

lapy3 :: Class.Real a => a -> a -> a -> IO a
lapy3 :: a -> a -> a -> IO a
lapy3 = LAPY3 a -> a -> a -> a -> IO a
forall a. LAPY3 a -> a -> a -> a -> IO a
getLAPY3 (LAPY3 a -> a -> a -> a -> IO a) -> LAPY3 a -> a -> a -> a -> IO a
forall a b. (a -> b) -> a -> b
$ LAPY3 Float -> LAPY3 Double -> LAPY3 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> Float -> IO Float) -> LAPY3 Float
forall a. (a -> a -> a -> IO a) -> LAPY3 a
LAPY3 Float -> Float -> Float -> IO Float
S.lapy3) ((Double -> Double -> Double -> IO Double) -> LAPY3 Double
forall a. (a -> a -> a -> IO a) -> LAPY3 a
LAPY3 Double -> Double -> Double -> IO Double
D.lapy3)


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

laqgb :: Class.Real a => Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> a -> IO (Char)
laqgb :: Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
laqgb = LAQGB a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
forall a.
LAQGB a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
getLAQGB (LAQGB a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> a
 -> IO Char)
-> LAQGB a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
forall a b. (a -> b) -> a -> b
$ LAQGB Float -> LAQGB Double -> LAQGB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> Float
 -> IO Char)
-> LAQGB Float
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> a
 -> IO Char)
-> LAQGB a
LAQGB Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> Float
-> Float
-> IO Char
S.laqgb) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> Double
 -> IO Char)
-> LAQGB Double
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> a
 -> IO Char)
-> LAQGB a
LAQGB Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> Double
-> Double
-> IO Char
D.laqgb)


newtype LAQGE a = LAQGE {LAQGE a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
getLAQGE :: IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> a -> IO (Char)}

laqge :: Class.Real a => IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> a -> IO (Char)
laqge :: IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a -> Array ZeroInt a -> a -> a -> a -> IO Char
laqge = LAQGE a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
forall a.
LAQGE a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
getLAQGE (LAQGE a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> a
 -> IO Char)
-> LAQGE a
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> IO Char
forall a b. (a -> b) -> a -> b
$ LAQGE Float -> LAQGE Double -> LAQGE a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> Float
 -> IO Char)
-> LAQGE Float
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> a -> IO Char)
-> LAQGE a
LAQGE IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> Float
-> Float
-> IO Char
S.laqge) ((IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> Double
 -> IO Char)
-> LAQGE Double
forall a.
(IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> a -> IO Char)
-> LAQGE a
LAQGE IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> Double
-> Double
-> IO Char
D.laqge)


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

laqp2 :: Class.Real a => Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Array ZeroInt a)
laqp2 :: Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a)
laqp2 = LAQP2 a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a)
forall a.
LAQP2 a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a)
getLAQP2 (LAQP2 a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a))
-> LAQP2 a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (Array ZeroInt a)
forall a b. (a -> b) -> a -> b
$ LAQP2 Float -> LAQP2 Double -> LAQP2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IO (Array ZeroInt Float))
-> LAQP2 Float
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a))
-> LAQP2 a
LAQP2 Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IO (Array ZeroInt Float)
S.laqp2) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IO (Array ZeroInt Double))
-> LAQP2 Double
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (Array ZeroInt a))
-> LAQP2 a
LAQP2 Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IO (Array ZeroInt Double)
D.laqp2)


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

laqps :: Class.Real a => Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int, Array ZeroInt a)
laqps :: Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt a)
laqps = LAQPS a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt a)
forall a.
LAQPS a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt a)
getLAQPS (LAQPS a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Array ZeroInt a))
-> LAQPS a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Array ZeroInt a)
forall a b. (a -> b) -> a -> b
$ LAQPS Float -> LAQPS Double -> LAQPS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Int, Array ZeroInt Float))
-> LAQPS Float
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Array ZeroInt a))
-> LAQPS a
LAQPS Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Int, Array ZeroInt Float)
S.laqps) ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Int, Array ZeroInt Double))
-> LAQPS Double
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Array ZeroInt a))
-> LAQPS a
LAQPS Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Int, Array ZeroInt Double)
D.laqps)


newtype LAQR0 a = LAQR0 {LAQR0 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getLAQR0 :: Bool -> Bool -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int)}

laqr0 :: Class.Real a => Bool -> Bool -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int)
laqr0 :: Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
laqr0 = LAQR0 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
LAQR0 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getLAQR0 (LAQR0 a
 -> Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAQR0 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ LAQR0 Float -> LAQR0 Double -> LAQR0 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> LAQR0 Float
forall a.
(Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAQR0 a
LAQR0 Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.laqr0) ((Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> LAQR0 Double
forall a.
(Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAQR0 a
LAQR0 Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.laqr0)


newtype LAQR1 a = LAQR1 {LAQR1 a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> a
-> IO (Array ZeroInt a)
getLAQR1 :: Array (ZeroInt,ZeroInt) a -> a -> a -> a -> a -> IO (Array ZeroInt a)}

laqr1 :: Class.Real a => Array (ZeroInt,ZeroInt) a -> a -> a -> a -> a -> IO (Array ZeroInt a)
laqr1 :: Array (ZeroInt, ZeroInt) a
-> a -> a -> a -> a -> IO (Array ZeroInt a)
laqr1 = LAQR1 a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> a
-> IO (Array ZeroInt a)
forall a.
LAQR1 a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> a
-> IO (Array ZeroInt a)
getLAQR1 (LAQR1 a
 -> Array (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> a
 -> a
 -> IO (Array ZeroInt a))
-> LAQR1 a
-> Array (ZeroInt, ZeroInt) a
-> a
-> a
-> a
-> a
-> IO (Array ZeroInt a)
forall a b. (a -> b) -> a -> b
$ LAQR1 Float -> LAQR1 Double -> LAQR1 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array (ZeroInt, ZeroInt) Float
 -> Float -> Float -> Float -> Float -> IO (Array ZeroInt Float))
-> LAQR1 Float
forall a.
(Array (ZeroInt, ZeroInt) a
 -> a -> a -> a -> a -> IO (Array ZeroInt a))
-> LAQR1 a
LAQR1 Array (ZeroInt, ZeroInt) Float
-> Float -> Float -> Float -> Float -> IO (Array ZeroInt Float)
S.laqr1) ((Array (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> Double
 -> Double
 -> IO (Array ZeroInt Double))
-> LAQR1 Double
forall a.
(Array (ZeroInt, ZeroInt) a
 -> a -> a -> a -> a -> IO (Array ZeroInt a))
-> LAQR1 a
LAQR1 Array (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> Double
-> Double
-> IO (Array ZeroInt Double)
D.laqr1)


newtype LAQR2 a = LAQR2 {LAQR2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
getLAQR2 :: Bool -> Bool -> Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a)}

laqr2 :: Class.Real a => Bool -> Bool -> Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a)
laqr2 :: Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
laqr2 = LAQR2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
forall a.
LAQR2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
getLAQR2 (LAQR2 a
 -> Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LAQR2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
forall a b. (a -> b) -> a -> b
$ LAQR2 Float -> LAQR2 Double -> LAQR2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float))
-> LAQR2 Float
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LAQR2 a
LAQR2 Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float)
S.laqr2) ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double))
-> LAQR2 Double
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LAQR2 a
LAQR2 Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double)
D.laqr2)


newtype LAQR3 a = LAQR3 {LAQR3 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
getLAQR3 :: Bool -> Bool -> Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a)}

laqr3 :: Class.Real a => Bool -> Bool -> Int -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Int, Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a)
laqr3 :: Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
laqr3 = LAQR3 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
forall a.
LAQR3 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
getLAQR3 (LAQR3 a
 -> Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LAQR3 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a)
forall a b. (a -> b) -> a -> b
$ LAQR3 Float -> LAQR3 Double -> LAQR3 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float))
-> LAQR3 Float
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LAQR3 a
LAQR3 Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float)
S.laqr3) ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double))
-> LAQR3 Double
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a))
-> LAQR3 a
LAQR3 Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Int, Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double)
D.laqr3)


newtype LAQR4 a = LAQR4 {LAQR4 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getLAQR4 :: Bool -> Bool -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int)}

laqr4 :: Class.Real a => Bool -> Bool -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int)
laqr4 :: Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
laqr4 = LAQR4 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
LAQR4 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getLAQR4 (LAQR4 a
 -> Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAQR4 a
-> Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ LAQR4 Float -> LAQR4 Double -> LAQR4 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> LAQR4 Float
forall a.
(Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAQR4 a
LAQR4 Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.laqr4) ((Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> LAQR4 Double
forall a.
(Bool
 -> Bool
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> LAQR4 a
LAQR4 Bool
-> Bool
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.laqr4)


newtype LAQR5 a = LAQR5 {LAQR5 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a)
getLAQR5 :: Bool -> Bool -> Int -> Int -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a)}

laqr5 :: Class.Real a => Bool -> Bool -> Int -> Int -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a)
laqr5 :: Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a)
laqr5 = LAQR5 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a)
forall a.
LAQR5 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a)
getLAQR5 (LAQR5 a
 -> Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a))
-> LAQR5 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a)
forall a b. (a -> b) -> a -> b
$ LAQR5 Float -> LAQR5 Double -> LAQR5 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float))
-> LAQR5 Float
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a))
-> LAQR5 a
LAQR5 Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float)
S.laqr5) ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double))
-> LAQR5 Double
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a))
-> LAQR5 a
LAQR5 Bool
-> Bool
-> Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double)
D.laqr5)


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

laqsb :: Class.Real a => Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> a -> a -> IO (Char)
laqsb :: Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
laqsb = LAQSB a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
forall a.
LAQSB a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
getLAQSB (LAQSB a
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO Char)
-> LAQSB a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
forall a b. (a -> b) -> a -> b
$ LAQSB Float -> LAQSB Double -> LAQSB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> IO Char)
-> LAQSB Float
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO Char)
-> LAQSB a
LAQSB Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Float
-> Float
-> IO Char
S.laqsb) ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> IO Char)
-> LAQSB Double
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO Char)
-> LAQSB a
LAQSB Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Double
-> Double
-> IO Char
D.laqsb)


newtype LAQSP a = LAQSP {LAQSP a
-> Char
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO Char
getLAQSP :: Char -> IOArray ZeroInt a -> Array ZeroInt a -> a -> a -> IO (Char)}

laqsp :: Class.Real a => Char -> IOArray ZeroInt a -> Array ZeroInt a -> a -> a -> IO (Char)
laqsp :: Char -> IOArray ZeroInt a -> Array ZeroInt a -> a -> a -> IO Char
laqsp = LAQSP a
-> Char
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO Char
forall a.
LAQSP a
-> Char
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO Char
getLAQSP (LAQSP a
 -> Char
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO Char)
-> LAQSP a
-> Char
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO Char
forall a b. (a -> b) -> a -> b
$ LAQSP Float -> LAQSP Double -> LAQSP a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> IO Char)
-> LAQSP Float
forall a.
(Char -> IOArray ZeroInt a -> Array ZeroInt a -> a -> a -> IO Char)
-> LAQSP a
LAQSP Char
-> IOArray ZeroInt Float
-> Array ZeroInt Float
-> Float
-> Float
-> IO Char
S.laqsp) ((Char
 -> IOArray ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> IO Char)
-> LAQSP Double
forall a.
(Char -> IOArray ZeroInt a -> Array ZeroInt a -> a -> a -> IO Char)
-> LAQSP a
LAQSP Char
-> IOArray ZeroInt Double
-> Array ZeroInt Double
-> Double
-> Double
-> IO Char
D.laqsp)


newtype LAQSY a = LAQSY {LAQSY a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
getLAQSY :: Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> a -> a -> IO (Char)}

laqsy :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> a -> a -> IO (Char)
laqsy :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
laqsy = LAQSY a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
forall a.
LAQSY a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
getLAQSY (LAQSY a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO Char)
-> LAQSY a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> a
-> IO Char
forall a b. (a -> b) -> a -> b
$ LAQSY Float -> LAQSY Double -> LAQSY a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> IO Char)
-> LAQSY Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO Char)
-> LAQSY a
LAQSY Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Float
-> Float
-> IO Char
S.laqsy) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> IO Char)
-> LAQSY Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO Char)
-> LAQSY a
LAQSY Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Double
-> Double
-> IO Char
D.laqsy)


newtype LAQTR a = LAQTR {LAQTR a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> IOArray ZeroInt a
-> IO (a, Int)
getLAQTR :: Bool -> Bool -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> a -> IOArray ZeroInt a -> IO (a, Int)}

laqtr :: Class.Real a => Bool -> Bool -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> a -> IOArray ZeroInt a -> IO (a, Int)
laqtr :: Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> IOArray ZeroInt a
-> IO (a, Int)
laqtr = LAQTR a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a.
LAQTR a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> IOArray ZeroInt a
-> IO (a, Int)
getLAQTR (LAQTR a
 -> Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LAQTR a
-> Bool
-> Bool
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ LAQTR Float -> LAQTR Double -> LAQTR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Float
 -> IOArray ZeroInt Float
 -> IO (Float, Int))
-> LAQTR Float
forall a.
(Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LAQTR a
LAQTR Bool
-> Bool
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Float
-> IOArray ZeroInt Float
-> IO (Float, Int)
S.laqtr) ((Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Double
 -> IOArray ZeroInt Double
 -> IO (Double, Int))
-> LAQTR Double
forall a.
(Bool
 -> Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LAQTR a
LAQTR Bool
-> Bool
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Double
-> IOArray ZeroInt Double
-> IO (Double, Int)
D.laqtr)


newtype LAR1V a = LAR1V {LAR1V a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IOArray ZeroInt a
-> Bool
-> Int
-> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a)
getLAR1V :: Int -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> IOArray ZeroInt a -> Bool -> Int -> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a)}

lar1v :: Class.Real a => Int -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> IOArray ZeroInt a -> Bool -> Int -> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a)
lar1v :: Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IOArray ZeroInt a
-> Bool
-> Int
-> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a)
lar1v = LAR1V a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IOArray ZeroInt a
-> Bool
-> Int
-> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a)
forall a.
LAR1V a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IOArray ZeroInt a
-> Bool
-> Int
-> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a)
getLAR1V (LAR1V a
 -> Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> Bool
 -> Int
 -> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a))
-> LAR1V a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IOArray ZeroInt a
-> Bool
-> Int
-> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a)
forall a b. (a -> b) -> a -> b
$ LAR1V Float -> LAR1V Double -> LAR1V a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> IOArray ZeroInt Float
 -> Bool
 -> Int
 -> IO
      (Int, Float, Float, Int, Array ZeroInt CInt, Float, Float, Float))
-> LAR1V Float
forall a.
(Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> Bool
 -> Int
 -> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a))
-> LAR1V a
LAR1V Int
-> Int
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> Float
-> IOArray ZeroInt Float
-> Bool
-> Int
-> IO
     (Int, Float, Float, Int, Array ZeroInt CInt, Float, Float, Float)
S.lar1v) ((Int
 -> Int
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> IOArray ZeroInt Double
 -> Bool
 -> Int
 -> IO
      (Int, Double, Double, Int, Array ZeroInt CInt, Double, Double,
       Double))
-> LAR1V Double
forall a.
(Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> Bool
 -> Int
 -> IO (Int, a, a, Int, Array ZeroInt CInt, a, a, a))
-> LAR1V a
LAR1V Int
-> Int
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> Double
-> IOArray ZeroInt Double
-> Bool
-> Int
-> IO
     (Int, Double, Double, Int, Array ZeroInt CInt, Double, Double,
      Double)
D.lar1v)


newtype LAR2V a = LAR2V {LAR2V a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
getLAR2V :: Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO ()}

lar2v :: Class.Real a => Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO ()
lar2v :: Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
lar2v = LAR2V a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
forall a.
LAR2V a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
getLAR2V (LAR2V a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO ())
-> LAR2V a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ LAR2V Float -> LAR2V Double -> LAR2V a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> IO ())
-> LAR2V Float
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO ())
-> LAR2V a
LAR2V Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> IO ()
S.lar2v) ((Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> IO ())
-> LAR2V Double
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO ())
-> LAR2V a
LAR2V Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> IO ()
D.lar2v)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype LARGV a = LARGV {LARGV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt a)
getLARGV :: Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)}

largv :: Class.Real a => Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> Int -> IO (Array ZeroInt a)
largv :: Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt a)
largv = LARGV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt a)
forall a.
LARGV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt a)
getLARGV (LARGV a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> IO (Array ZeroInt a))
-> LARGV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Int
-> IO (Array ZeroInt a)
forall a b. (a -> b) -> a -> b
$ LARGV Float -> LARGV Double -> LARGV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt Float
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> Int
 -> IO (Array ZeroInt Float))
-> LARGV Float
forall a.
(Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> IO (Array ZeroInt a))
-> LARGV a
LARGV Int
-> IOArray ZeroInt Float
-> Int
-> IOArray ZeroInt Float
-> Int
-> Int
-> IO (Array ZeroInt Float)
S.largv) ((Int
 -> IOArray ZeroInt Double
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> Int
 -> IO (Array ZeroInt Double))
-> LARGV Double
forall a.
(Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> IO (Array ZeroInt a))
-> LARGV a
LARGV Int
-> IOArray ZeroInt Double
-> Int
-> IOArray ZeroInt Double
-> Int
-> Int
-> IO (Array ZeroInt Double)
D.largv)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

larra :: Class.Real a => Array ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> IO (Int, Array ZeroInt CInt, Int)
larra :: Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO (Int, Array ZeroInt CInt, Int)
larra = LARRA a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO (Int, Array ZeroInt CInt, Int)
forall a.
LARRA a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO (Int, Array ZeroInt CInt, Int)
getLARRA (LARRA a
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IO (Int, Array ZeroInt CInt, Int))
-> LARRA a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO (Int, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LARRA Float -> LARRA Double -> LARRA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> IO (Int, Array ZeroInt CInt, Int))
-> LARRA Float
forall a.
(Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IO (Int, Array ZeroInt CInt, Int))
-> LARRA a
LARRA Array ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> IO (Int, Array ZeroInt CInt, Int)
S.larra) ((Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> IO (Int, Array ZeroInt CInt, Int))
-> LARRA Double
forall a.
(Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IO (Int, Array ZeroInt CInt, Int))
-> LARRA a
LARRA Array ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> IO (Int, Array ZeroInt CInt, Int)
D.larra)


newtype LARRB a = LARRB {LARRB a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> IO Int
getLARRB :: Array ZeroInt a -> Array ZeroInt a -> Int -> Int -> a -> a -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> IO (Int)}

larrb :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> Int -> Int -> a -> a -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> IO (Int)
larrb :: Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> IO Int
larrb = LARRB a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> IO Int
forall a.
LARRB a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> IO Int
getLARRB (LARRB a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> IO Int)
-> LARRB a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ LARRB Float -> LARRB Double -> LARRB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> Int
 -> Float
 -> Float
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Int
 -> IO Int)
-> LARRB Float
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> IO Int)
-> LARRB a
LARRB Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> Int
-> Float
-> Float
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Int
-> IO Int
S.larrb) ((Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> Int
 -> Double
 -> Double
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Int
 -> IO Int)
-> LARRB Double
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> IO Int)
-> LARRB a
LARRB Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> Int
-> Double
-> Double
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Int
-> IO Int
D.larrb)


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

larrc :: Class.Real a => Char -> a -> a -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Int, Int, Int, Int)
larrc :: Char
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Int, Int, Int, Int)
larrc = LARRC a
-> Char
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Int, Int, Int, Int)
forall a.
LARRC a
-> Char
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Int, Int, Int, Int)
getLARRC (LARRC a
 -> Char
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Int, Int, Int, Int))
-> LARRC a
-> Char
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Int, Int, Int, Int)
forall a b. (a -> b) -> a -> b
$ LARRC Float -> LARRC Double -> LARRC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Float
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> IO (Int, Int, Int, Int))
-> LARRC Float
forall a.
(Char
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Int, Int, Int, Int))
-> LARRC a
LARRC Char
-> Float
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> IO (Int, Int, Int, Int)
S.larrc) ((Char
 -> Double
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> IO (Int, Int, Int, Int))
-> LARRC Double
forall a.
(Char
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Int, Int, Int, Int))
-> LARRC a
LARRC Char
-> Double
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> IO (Int, Int, Int, Int)
D.larrc)


newtype LARRD a = LARRD {LARRD a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> Int
-> Array ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
getLARRD :: Char -> Char -> a -> a -> Int -> Int -> Array ZeroInt a -> a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> a -> Int -> Array ZeroInt CInt -> IO (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt, Array ZeroInt CInt, Int)}

larrd :: Class.Real a => Char -> Char -> a -> a -> Int -> Int -> Array ZeroInt a -> a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> a -> Int -> Array ZeroInt CInt -> IO (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt, Array ZeroInt CInt, Int)
larrd :: Char
-> Char
-> a
-> a
-> Int
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> Int
-> Array ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
larrd = LARRD a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> Int
-> Array ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
forall a.
LARRD a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> Int
-> Array ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
getLARRD (LARRD a
 -> Char
 -> Char
 -> a
 -> a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> Int
 -> Array ZeroInt CInt
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LARRD a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> Array ZeroInt a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> Int
-> Array ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LARRD Float -> LARRD Double -> LARRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Float
 -> Float
 -> Int
 -> Int
 -> Array ZeroInt Float
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> Int
 -> Array ZeroInt CInt
 -> IO
      (Int, Array ZeroInt Float, Array ZeroInt Float, Float, Float,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LARRD Float
forall a.
(Char
 -> Char
 -> a
 -> a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> Int
 -> Array ZeroInt CInt
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LARRD a
LARRD Char
-> Char
-> Float
-> Float
-> Int
-> Int
-> Array ZeroInt Float
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> Int
-> Array ZeroInt CInt
-> IO
     (Int, Array ZeroInt Float, Array ZeroInt Float, Float, Float,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
S.larrd) ((Char
 -> Char
 -> Double
 -> Double
 -> Int
 -> Int
 -> Array ZeroInt Double
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> Int
 -> Array ZeroInt CInt
 -> IO
      (Int, Array ZeroInt Double, Array ZeroInt Double, Double, Double,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LARRD Double
forall a.
(Char
 -> Char
 -> a
 -> a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> Int
 -> Array ZeroInt CInt
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, a, a, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LARRD a
LARRD Char
-> Char
-> Double
-> Double
-> Int
-> Int
-> Array ZeroInt Double
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> Int
-> Array ZeroInt CInt
-> IO
     (Int, Array ZeroInt Double, Array ZeroInt Double, Double, Double,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
D.larrd)


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

larre :: Class.Real a => Char -> a -> a -> Int -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> a -> IO (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt a, a, Int)
larre :: Char
-> a
-> a
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> a
-> IO
     (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt a, a, Int)
larre = LARRE a
-> Char
-> a
-> a
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> a
-> IO
     (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt a, a, Int)
forall a.
LARRE a
-> Char
-> a
-> a
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> a
-> IO
     (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt a, a, Int)
getLARRE (LARRE a
 -> Char
 -> a
 -> a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> a
 -> IO
      (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt a, a, Int))
-> LARRE a
-> Char
-> a
-> a
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> a
-> IO
     (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt a, a, Int)
forall a b. (a -> b) -> a -> b
$ LARRE Float -> LARRE Double -> LARRE a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Float
 -> Float
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Float
 -> IO
      (Float, Float, Int, Array ZeroInt CInt, Int, Array ZeroInt Float,
       Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt Float, Float, Int))
-> LARRE Float
forall a.
(Char
 -> a
 -> a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> a
 -> IO
      (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt a, a, Int))
-> LARRE a
LARRE Char
-> Float
-> Float
-> Int
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Float
-> IO
     (Float, Float, Int, Array ZeroInt CInt, Int, Array ZeroInt Float,
      Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt Float, Float, Int)
S.larre) ((Char
 -> Double
 -> Double
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Double
 -> IO
      (Double, Double, Int, Array ZeroInt CInt, Int,
       Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt Double,
       Double, Int))
-> LARRE Double
forall a.
(Char
 -> a
 -> a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> a
 -> IO
      (a, a, Int, Array ZeroInt CInt, Int, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt a, a, Int))
-> LARRE a
LARRE Char
-> Double
-> Double
-> Int
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Double
-> IO
     (Double, Double, Int, Array ZeroInt CInt, Int,
      Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt Double,
      Double, Int)
D.larre)


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

larrf :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Int -> Int -> Array ZeroInt a -> IOArray ZeroInt a -> Array ZeroInt a -> a -> a -> a -> a -> IO (a, Array ZeroInt a, Array ZeroInt a, Int)
larrf :: Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> a
-> IO (a, Array ZeroInt a, Array ZeroInt a, Int)
larrf = LARRF a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> a
-> IO (a, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
LARRF a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> a
-> IO (a, Array ZeroInt a, Array ZeroInt a, Int)
getLARRF (LARRF a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> a
 -> a
 -> IO (a, Array ZeroInt a, Array ZeroInt a, Int))
-> LARRF a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Array ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> a
-> a
-> IO (a, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ LARRF Float -> LARRF Double -> LARRF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> Int
 -> Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> Float
 -> Float
 -> IO (Float, Array ZeroInt Float, Array ZeroInt Float, Int))
-> LARRF Float
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> a
 -> a
 -> IO (a, Array ZeroInt a, Array ZeroInt a, Int))
-> LARRF a
LARRF Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> Int
-> Array ZeroInt Float
-> IOArray ZeroInt Float
-> Array ZeroInt Float
-> Float
-> Float
-> Float
-> Float
-> IO (Float, Array ZeroInt Float, Array ZeroInt Float, Int)
S.larrf) ((Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> Int
 -> Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> Double
 -> Double
 -> IO (Double, Array ZeroInt Double, Array ZeroInt Double, Int))
-> LARRF Double
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> a
 -> a
 -> IO (a, Array ZeroInt a, Array ZeroInt a, Int))
-> LARRF a
LARRF Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> Int
-> Array ZeroInt Double
-> IOArray ZeroInt Double
-> Array ZeroInt Double
-> Double
-> Double
-> Double
-> Double
-> IO (Double, Array ZeroInt Double, Array ZeroInt Double, Int)
D.larrf)


newtype LARRJ a = LARRJ {LARRJ a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO Int
getLARRJ :: Array ZeroInt a -> Array ZeroInt a -> Int -> Int -> a -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> IO (Int)}

larrj :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> Int -> Int -> a -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> IO (Int)
larrj :: Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO Int
larrj = LARRJ a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO Int
forall a.
LARRJ a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO Int
getLARRJ (LARRJ a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IO Int)
-> LARRJ a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IO Int
forall a b. (a -> b) -> a -> b
$ LARRJ Float -> LARRJ Double -> LARRJ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> IO Int)
-> LARRJ Float
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IO Int)
-> LARRJ a
LARRJ Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> Int
-> Float
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> IO Int
S.larrj) ((Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> IO Int)
-> LARRJ Double
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IO Int)
-> LARRJ a
LARRJ Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> Int
-> Double
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> IO Int
D.larrj)


newtype LARRK a = LARRK {LARRK a
-> Int
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO (a, a, Int)
getLARRK :: Int -> a -> a -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> IO (a, a, Int)}

larrk :: Class.Real a => Int -> a -> a -> Array ZeroInt a -> Array ZeroInt a -> a -> a -> IO (a, a, Int)
larrk :: Int
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO (a, a, Int)
larrk = LARRK a
-> Int
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO (a, a, Int)
forall a.
LARRK a
-> Int
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO (a, a, Int)
getLARRK (LARRK a
 -> Int
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO (a, a, Int))
-> LARRK a
-> Int
-> a
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> a
-> IO (a, a, Int)
forall a b. (a -> b) -> a -> b
$ LARRK Float -> LARRK Double -> LARRK a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Float
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> Float
 -> IO (Float, Float, Int))
-> LARRK Float
forall a.
(Int
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO (a, a, Int))
-> LARRK a
LARRK Int
-> Float
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> Float
-> IO (Float, Float, Int)
S.larrk) ((Int
 -> Double
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> Double
 -> IO (Double, Double, Int))
-> LARRK Double
forall a.
(Int
 -> a
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> a
 -> IO (a, a, Int))
-> LARRK a
LARRK Int
-> Double
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> Double
-> IO (Double, Double, Int)
D.larrk)


newtype LARRR a = LARRR {LARRR a -> Array ZeroInt a -> IOArray ZeroInt a -> IO Int
getLARRR :: Array ZeroInt a -> IOArray ZeroInt a -> IO (Int)}

larrr :: Class.Real a => Array ZeroInt a -> IOArray ZeroInt a -> IO (Int)
larrr :: Array ZeroInt a -> IOArray ZeroInt a -> IO Int
larrr = LARRR a -> Array ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a. LARRR a -> Array ZeroInt a -> IOArray ZeroInt a -> IO Int
getLARRR (LARRR a -> Array ZeroInt a -> IOArray ZeroInt a -> IO Int)
-> LARRR a -> Array ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a b. (a -> b) -> a -> b
$ LARRR Float -> LARRR Double -> LARRR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float -> IOArray ZeroInt Float -> IO Int)
-> LARRR Float
forall a.
(Array ZeroInt a -> IOArray ZeroInt a -> IO Int) -> LARRR a
LARRR Array ZeroInt Float -> IOArray ZeroInt Float -> IO Int
S.larrr) ((Array ZeroInt Double -> IOArray ZeroInt Double -> IO Int)
-> LARRR Double
forall a.
(Array ZeroInt a -> IOArray ZeroInt a -> IO Int) -> LARRR a
LARRR Array ZeroInt Double -> IOArray ZeroInt Double -> IO Int
D.larrr)


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

larrv :: Class.Real a => a -> a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> Array ZeroInt CInt -> Int -> Int -> Int -> a -> a -> a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Array ZeroInt CInt -> Array ZeroInt CInt -> Array ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
larrv :: a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> Int
-> a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
larrv = LARRV a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> Int
-> a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a.
LARRV a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> Int
-> a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
getLARRV (LARRV a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> LARRV a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> Int
-> a
-> a
-> a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LARRV Float -> LARRV Double -> LARRV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float
 -> Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> Float
 -> Float
 -> Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt Float
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int))
-> LARRV Float
forall a.
(a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> LARRV a
LARRV Float
-> Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Array ZeroInt CInt
-> Int
-> Int
-> Int
-> Float
-> Float
-> Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt Float
-> Int
-> IO (Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int)
S.larrv) ((Double
 -> Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> Double
 -> Double
 -> Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt Double
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int))
-> LARRV Double
forall a.
(a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> LARRV a
LARRV Double
-> Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Array ZeroInt CInt
-> Int
-> Int
-> Int
-> Double
-> Double
-> Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Array ZeroInt Double
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int)
D.larrv)


newtype LARTG a = LARTG {LARTG a -> a -> a -> IO (a, a, a)
getLARTG :: a -> a -> IO (a, a, a)}

lartg :: Class.Real a => a -> a -> IO (a, a, a)
lartg :: a -> a -> IO (a, a, a)
lartg = LARTG a -> a -> a -> IO (a, a, a)
forall a. LARTG a -> a -> a -> IO (a, a, a)
getLARTG (LARTG a -> a -> a -> IO (a, a, a))
-> LARTG a -> a -> a -> IO (a, a, a)
forall a b. (a -> b) -> a -> b
$ LARTG Float -> LARTG Double -> LARTG a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> IO (Float, Float, Float)) -> LARTG Float
forall a. (a -> a -> IO (a, a, a)) -> LARTG a
LARTG Float -> Float -> IO (Float, Float, Float)
S.lartg) ((Double -> Double -> IO (Double, Double, Double)) -> LARTG Double
forall a. (a -> a -> IO (a, a, a)) -> LARTG a
LARTG Double -> Double -> IO (Double, Double, Double)
D.lartg)


newtype LARTGP a = LARTGP {LARTGP a -> a -> a -> IO (a, a, a)
getLARTGP :: a -> a -> IO (a, a, a)}

lartgp :: Class.Real a => a -> a -> IO (a, a, a)
lartgp :: a -> a -> IO (a, a, a)
lartgp = LARTGP a -> a -> a -> IO (a, a, a)
forall a. LARTGP a -> a -> a -> IO (a, a, a)
getLARTGP (LARTGP a -> a -> a -> IO (a, a, a))
-> LARTGP a -> a -> a -> IO (a, a, a)
forall a b. (a -> b) -> a -> b
$ LARTGP Float -> LARTGP Double -> LARTGP a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> IO (Float, Float, Float)) -> LARTGP Float
forall a. (a -> a -> IO (a, a, a)) -> LARTGP a
LARTGP Float -> Float -> IO (Float, Float, Float)
S.lartgp) ((Double -> Double -> IO (Double, Double, Double)) -> LARTGP Double
forall a. (a -> a -> IO (a, a, a)) -> LARTGP a
LARTGP Double -> Double -> IO (Double, Double, Double)
D.lartgp)


newtype LARTGS a = LARTGS {LARTGS a -> a -> a -> a -> IO (a, a)
getLARTGS :: a -> a -> a -> IO (a, a)}

lartgs :: Class.Real a => a -> a -> a -> IO (a, a)
lartgs :: a -> a -> a -> IO (a, a)
lartgs = LARTGS a -> a -> a -> a -> IO (a, a)
forall a. LARTGS a -> a -> a -> a -> IO (a, a)
getLARTGS (LARTGS a -> a -> a -> a -> IO (a, a))
-> LARTGS a -> a -> a -> a -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LARTGS Float -> LARTGS Double -> LARTGS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> Float -> IO (Float, Float)) -> LARTGS Float
forall a. (a -> a -> a -> IO (a, a)) -> LARTGS a
LARTGS Float -> Float -> Float -> IO (Float, Float)
S.lartgs) ((Double -> Double -> Double -> IO (Double, Double))
-> LARTGS Double
forall a. (a -> a -> a -> IO (a, a)) -> LARTGS a
LARTGS Double -> Double -> Double -> IO (Double, Double)
D.lartgs)


newtype LARTV a = LARTV {LARTV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
getLARTV :: Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO ()}

lartv :: Class.Real a => Int -> IOArray ZeroInt a -> Int -> IOArray ZeroInt a -> Int -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO ()
lartv :: Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
lartv = LARTV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
forall a.
LARTV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
getLARTV (LARTV a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO ())
-> LARTV a
-> Int
-> IOArray ZeroInt a
-> Int
-> IOArray ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO ()
forall a b. (a -> b) -> a -> b
$ LARTV Float -> LARTV Double -> LARTV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt Float
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> IO ())
-> LARTV Float
forall a.
(Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO ())
-> LARTV a
LARTV Int
-> IOArray ZeroInt Float
-> Int
-> IOArray ZeroInt Float
-> Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> IO ()
S.lartv) ((Int
 -> IOArray ZeroInt Double
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> IO ())
-> LARTV Double
forall a.
(Int
 -> IOArray ZeroInt a
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO ())
-> LARTV a
LARTV Int
-> IOArray ZeroInt Double
-> Int
-> IOArray ZeroInt Double
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> IO ()
D.lartv)


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

laruv :: Class.Real a => IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)
laruv :: IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)
laruv = LARUV a -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)
forall a.
LARUV a -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)
getLARUV (LARUV a -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a))
-> LARUV a -> IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)
forall a b. (a -> b) -> a -> b
$ LARUV Float -> LARUV Double -> LARUV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt Float))
-> LARUV Float
forall a.
(IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)) -> LARUV a
LARUV IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt Float)
S.laruv) ((IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt Double))
-> LARUV Double
forall a.
(IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt a)) -> LARUV a
LARUV IOArray ZeroInt CInt -> Int -> IO (Array ZeroInt Double)
D.laruv)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype LAS2 a = LAS2 {LAS2 a -> a -> a -> a -> IO (a, a)
getLAS2 :: a -> a -> a -> IO (a, a)}

las2 :: Class.Real a => a -> a -> a -> IO (a, a)
las2 :: a -> a -> a -> IO (a, a)
las2 = LAS2 a -> a -> a -> a -> IO (a, a)
forall a. LAS2 a -> a -> a -> a -> IO (a, a)
getLAS2 (LAS2 a -> a -> a -> a -> IO (a, a))
-> LAS2 a -> a -> a -> a -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LAS2 Float -> LAS2 Double -> LAS2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float -> Float -> Float -> IO (Float, Float)) -> LAS2 Float
forall a. (a -> a -> a -> IO (a, a)) -> LAS2 a
LAS2 Float -> Float -> Float -> IO (Float, Float)
S.las2) ((Double -> Double -> Double -> IO (Double, Double)) -> LAS2 Double
forall a. (a -> a -> a -> IO (a, a)) -> LAS2 a
LAS2 Double -> Double -> Double -> IO (Double, Double)
D.las2)


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

lascl :: Class.Real a => Char -> Int -> Int -> a -> a -> Int -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
lascl :: Char
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
lascl = LASCL a
-> Char
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
LASCL a
-> Char
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getLASCL (LASCL a
 -> Char
 -> Int
 -> Int
 -> a
 -> a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> LASCL a
-> Char
-> Int
-> Int
-> a
-> a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ LASCL Float -> LASCL Double -> LASCL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> Float
 -> Float
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> LASCL Float
forall a.
(Char
 -> Int
 -> Int
 -> a
 -> a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> LASCL a
LASCL Char
-> Int
-> Int
-> Float
-> Float
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.lascl) ((Char
 -> Int
 -> Int
 -> Double
 -> Double
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> LASCL Double
forall a.
(Char
 -> Int
 -> Int
 -> a
 -> a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> LASCL a
LASCL Char
-> Int
-> Int
-> Double
-> Double
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.lascl)


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

lasd0 :: Class.Real a => Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> Int -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
lasd0 :: Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
lasd0 = LASD0 a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
LASD0 a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
getLASD0 (LASD0 a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> LASD0 a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LASD0 Float -> LASD0 Double -> LASD0 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Int))
-> LASD0 Float
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> LASD0 a
LASD0 Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Int)
S.lasd0) ((Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Int))
-> LASD0 Double
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> LASD0 a
LASD0 Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Int)
D.lasd0)


newtype LASD1 a = LASD1 {LASD1 a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO (a, a, Int)
getLASD1 :: Int -> Int -> Int -> IOArray ZeroInt a -> a -> a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> IO (a, a, Int)}

lasd1 :: Class.Real a => Int -> Int -> Int -> IOArray ZeroInt a -> a -> a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> IO (a, a, Int)
lasd1 :: Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO (a, a, Int)
lasd1 = LASD1 a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO (a, a, Int)
forall a.
LASD1 a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO (a, a, Int)
getLASD1 (LASD1 a
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO (a, a, Int))
-> LASD1 a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> IO (a, a, Int)
forall a b. (a -> b) -> a -> b
$ LASD1 Float -> LASD1 Double -> LASD1 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> IO (Float, Float, Int))
-> LASD1 Float
forall a.
(Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO (a, a, Int))
-> LASD1 a
LASD1 Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> IO (Float, Float, Int)
S.lasd1) ((Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> IO (Double, Double, Int))
-> LASD1 Double
forall a.
(Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> IO (a, a, Int))
-> LASD1 a
LASD1 Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> IO (Double, Double, Int)
D.lasd1)


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

lasd2 :: Class.Real a => Int -> Int -> Int -> IOArray ZeroInt a -> a -> a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray ZeroInt CInt -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Int)
lasd2 :: Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
lasd2 = LASD2 a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a.
LASD2 a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
getLASD2 (LASD2 a
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray ZeroInt CInt
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LASD2 a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray ZeroInt CInt
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ LASD2 Float -> LASD2 Double -> LASD2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray ZeroInt CInt
 -> IO
      (Int, Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LASD2 Float
forall a.
(Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray ZeroInt CInt
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LASD2 a
LASD2 Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray ZeroInt CInt
-> IO
     (Int, Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
S.lasd2) ((Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray ZeroInt CInt
 -> IO
      (Int, Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> LASD2 Double
forall a.
(Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray ZeroInt CInt
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int))
-> LASD2 a
LASD2 Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray ZeroInt CInt
-> IO
     (Int, Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
D.lasd2)


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

lasd3 :: Class.Real a => Int -> Int -> Int -> Int -> IOArray ZeroInt a -> Int -> Array (ZeroInt,ZeroInt) a -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Array ZeroInt CInt -> IOArray ZeroInt a -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
lasd3 :: Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
lasd3 = LASD3 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
LASD3 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
getLASD3 (LASD3 a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> LASD3 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LASD3 Float -> LASD3 Double -> LASD3 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt Float
 -> IO
      (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Int))
-> LASD3 Float
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> LASD3 a
LASD3 Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt Float
-> IO
     (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Int)
S.lasd3) ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt Double
 -> IO
      (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Int))
-> LASD3 Double
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a, Int))
-> LASD3 a
LASD3 Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IOArray ZeroInt Double
-> IO
     (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Int)
D.lasd3)


newtype LASD4 a = LASD4 {LASD4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
getLASD4 :: Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a, Int)}

lasd4 :: Class.Real a => Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a, Int)
lasd4 :: Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
lasd4 = LASD4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
forall a.
LASD4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
getLASD4 (LASD4 a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a, Int))
-> LASD4 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a, Int)
forall a b. (a -> b) -> a -> b
$ LASD4 Float -> LASD4 Double -> LASD4 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> IO (Array ZeroInt Float, Float, Int))
-> LASD4 Float
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a, Int))
-> LASD4 a
LASD4 Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> IO (Array ZeroInt Float, Float, Int)
S.lasd4) ((Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> IO (Array ZeroInt Double, Double, Int))
-> LASD4 Double
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a, Int))
-> LASD4 a
LASD4 Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> IO (Array ZeroInt Double, Double, Int)
D.lasd4)


newtype LASD5 a = LASD5 {LASD5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
getLASD5 :: Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a)}

lasd5 :: Class.Real a => Int -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (Array ZeroInt a, a)
lasd5 :: Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
lasd5 = LASD5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
forall a.
LASD5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
getLASD5 (LASD5 a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a))
-> LASD5 a
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (Array ZeroInt a, a)
forall a b. (a -> b) -> a -> b
$ LASD5 Float -> LASD5 Double -> LASD5 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Float
 -> IO (Array ZeroInt Float, Float))
-> LASD5 Float
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a))
-> LASD5 a
LASD5 Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Float
-> IO (Array ZeroInt Float, Float)
S.lasd5) ((Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Double
 -> IO (Array ZeroInt Double, Double))
-> LASD5 Double
forall a.
(Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> a
 -> IO (Array ZeroInt a, a))
-> LASD5 a
LASD5 Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Double
-> IO (Array ZeroInt Double, Double)
D.lasd5)


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

lasd6 :: Class.Real a => Int -> Int -> Int -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> IOArray ZeroInt CInt -> Int -> Int -> Int -> IO (a, a, Array ZeroInt CInt, Int, Array (ZeroInt,ZeroInt) CInt, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
lasd6 :: Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IOArray ZeroInt CInt
-> Int
-> Int
-> Int
-> IO
     (a, a, Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
lasd6 = LASD6 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IOArray ZeroInt CInt
-> Int
-> Int
-> Int
-> IO
     (a, a, Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
forall a.
LASD6 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IOArray ZeroInt CInt
-> Int
-> Int
-> Int
-> IO
     (a, a, Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
getLASD6 (LASD6 a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> IO
      (a, a, Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int))
-> LASD6 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> IOArray ZeroInt CInt
-> Int
-> Int
-> Int
-> IO
     (a, a, Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
forall a b. (a -> b) -> a -> b
$ LASD6 Float -> LASD6 Double -> LASD6 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> IOArray ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> IO
      (Float, Float, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Array ZeroInt Float,
       Array ZeroInt Float, Array ZeroInt Float, Int, Float, Float, Int))
-> LASD6 Float
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> IO
      (a, a, Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int))
-> LASD6 a
LASD6 Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> IOArray ZeroInt CInt
-> Int
-> Int
-> Int
-> IO
     (Float, Float, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Array ZeroInt Float,
      Array ZeroInt Float, Array ZeroInt Float, Int, Float, Float, Int)
S.lasd6) ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> IOArray ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> IO
      (Double, Double, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
       Array ZeroInt Double, Array ZeroInt Double, Int, Double, Double,
       Int))
-> LASD6 Double
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> IOArray ZeroInt CInt
 -> Int
 -> Int
 -> Int
 -> IO
      (a, a, Array ZeroInt CInt, Int, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Int))
-> LASD6 a
LASD6 Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> IOArray ZeroInt CInt
-> Int
-> Int
-> Int
-> IO
     (Double, Double, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
      Array ZeroInt Double, Array ZeroInt Double, Int, Double, Double,
      Int)
D.lasd6)


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

lasd7 :: Class.Real a => Int -> Int -> Int -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Array ZeroInt CInt -> Int -> Int -> IO (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Int, Array (ZeroInt,ZeroInt) CInt, Array (ZeroInt,ZeroInt) a, a, a, Int)
lasd7 :: Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a, a, a,
      Int)
lasd7 = LASD7 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a, a, a,
      Int)
forall a.
LASD7 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a, a, a,
      Int)
getLASD7 (LASD7 a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a, a, a,
       Int))
-> LASD7 a
-> Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
      Array ZeroInt CInt, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a, a, a,
      Int)
forall a b. (a -> b) -> a -> b
$ LASD7 Float -> LASD7 Double -> LASD7 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Float,
       Float, Float, Int))
-> LASD7 Float
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a, a, a,
       Int))
-> LASD7 a
LASD7 Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Array ZeroInt CInt
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Float,
      Float, Float, Int)
S.lasd7) ((Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Double,
       Double, Double, Int))
-> LASD7 Double
forall a.
(Int
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Array ZeroInt CInt
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt CInt,
       Array ZeroInt CInt, Array ZeroInt CInt, Int,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) a, a, a,
       Int))
-> LASD7 a
LASD7 Int
-> Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Array ZeroInt CInt
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt CInt, Array ZeroInt CInt, Array ZeroInt CInt, Int,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) Double,
      Double, Double, Int)
D.lasd7)


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

lasd8 :: Class.Real a => Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> Int -> IOArray ZeroInt a -> IO (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Int)
lasd8 :: Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
lasd8 = LASD8 a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a.
LASD8 a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
getLASD8 (LASD8 a
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Int))
-> LASD8 a
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> IOArray ZeroInt a
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ LASD8 Float -> LASD8 Double -> LASD8 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> LASD8 Float
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Int))
-> LASD8 a
LASD8 Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> Int
-> IOArray ZeroInt Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.lasd8) ((Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> LASD8 Double
forall a.
(Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Int))
-> LASD8 a
LASD8 Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> Int
-> IOArray ZeroInt Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.lasd8)


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

lasda :: Class.Real a => Int -> Int -> Int -> IOArray ZeroInt a -> Array ZeroInt a -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Array (ZeroInt,ZeroInt) CInt, Array (ZeroInt,ZeroInt) CInt, Array (ZeroInt,ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int)
lasda :: Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int)
lasda = LASDA a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
LASDA a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int)
getLASDA (LASDA a
 -> Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int))
-> LASDA a
-> Int
-> Int
-> Int
-> IOArray ZeroInt a
-> Array ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ LASDA Float -> LASDA Double -> LASDA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> LASDA Float
forall a.
(Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int))
-> LASDA a
LASDA Int
-> Int
-> Int
-> IOArray ZeroInt Float
-> Array ZeroInt Float
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.lasda) ((Int
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> LASDA Double
forall a.
(Int
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt,
       Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
       Array (ZeroInt, ZeroInt) a, Array ZeroInt a, Array ZeroInt a, Int))
-> LASDA a
LASDA Int
-> Int
-> Int
-> IOArray ZeroInt Double
-> Array ZeroInt Double
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt,
      Array (ZeroInt, ZeroInt) CInt, Array (ZeroInt, ZeroInt) CInt,
      Array (ZeroInt, ZeroInt) Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.lasda)


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

lasdq :: Class.Real a => Char -> Int -> Int -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
lasdq :: Char
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
lasdq = LASDQ a
-> Char
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
LASDQ a
-> Char
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getLASDQ (LASDQ a
 -> Char
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> LASDQ a
-> Char
-> Int
-> Int
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ LASDQ Float -> LASDQ Double -> LASDQ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> LASDQ Float
forall a.
(Char
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> LASDQ a
LASDQ Char
-> Int
-> Int
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.lasdq) ((Char
 -> Int
 -> Int
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> LASDQ Double
forall a.
(Char
 -> Int
 -> Int
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> LASDQ a
LASDQ Char
-> Int
-> Int
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.lasdq)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype LASQ1 a = LASQ1 {LASQ1 a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
getLASQ1 :: IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Int)}

lasq1 :: Class.Real a => IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Int)
lasq1 :: IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
lasq1 = LASQ1 a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a.
LASQ1 a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
getLASQ1 (LASQ1 a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int)
-> LASQ1 a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a b. (a -> b) -> a -> b
$ LASQ1 Float -> LASQ1 Double -> LASQ1 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float -> IOArray ZeroInt Float -> IO Int)
-> LASQ1 Float
forall a.
(IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int) -> LASQ1 a
LASQ1 IOArray ZeroInt Float -> IOArray ZeroInt Float -> IO Int
S.lasq1) ((IOArray ZeroInt Double -> IOArray ZeroInt Double -> IO Int)
-> LASQ1 Double
forall a.
(IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int) -> LASQ1 a
LASQ1 IOArray ZeroInt Double -> IOArray ZeroInt Double -> IO Int
D.lasq1)


newtype LASQ2 a = LASQ2 {LASQ2 a -> Int -> IOArray ZeroInt a -> IO Int
getLASQ2 :: Int -> IOArray ZeroInt a -> IO (Int)}

lasq2 :: Class.Real a => Int -> IOArray ZeroInt a -> IO (Int)
lasq2 :: Int -> IOArray ZeroInt a -> IO Int
lasq2 = LASQ2 a -> Int -> IOArray ZeroInt a -> IO Int
forall a. LASQ2 a -> Int -> IOArray ZeroInt a -> IO Int
getLASQ2 (LASQ2 a -> Int -> IOArray ZeroInt a -> IO Int)
-> LASQ2 a -> Int -> IOArray ZeroInt a -> IO Int
forall a b. (a -> b) -> a -> b
$ LASQ2 Float -> LASQ2 Double -> LASQ2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int -> IOArray ZeroInt Float -> IO Int) -> LASQ2 Float
forall a. (Int -> IOArray ZeroInt a -> IO Int) -> LASQ2 a
LASQ2 Int -> IOArray ZeroInt Float -> IO Int
S.lasq2) ((Int -> IOArray ZeroInt Double -> IO Int) -> LASQ2 Double
forall a. (Int -> IOArray ZeroInt a -> IO Int) -> LASQ2 a
LASQ2 Int -> IOArray ZeroInt Double -> IO Int
D.lasq2)


newtype LASQ4 a = LASQ4 {LASQ4 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> IO (a, Int, a)
getLASQ4 :: Int -> Int -> Array ZeroInt a -> Int -> Int -> a -> a -> a -> a -> a -> a -> a -> IO (a, Int, a)}

lasq4 :: Class.Real a => Int -> Int -> Array ZeroInt a -> Int -> Int -> a -> a -> a -> a -> a -> a -> a -> IO (a, Int, a)
lasq4 :: Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> IO (a, Int, a)
lasq4 = LASQ4 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> IO (a, Int, a)
forall a.
LASQ4 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> IO (a, Int, a)
getLASQ4 (LASQ4 a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> a
 -> a
 -> a
 -> a
 -> IO (a, Int, a))
-> LASQ4 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> Int
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> IO (a, Int, a)
forall a b. (a -> b) -> a -> b
$ LASQ4 Float -> LASQ4 Double -> LASQ4 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> Int
 -> Float
 -> Float
 -> Float
 -> Float
 -> Float
 -> Float
 -> Float
 -> IO (Float, Int, Float))
-> LASQ4 Float
forall a.
(Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> a
 -> a
 -> a
 -> a
 -> IO (a, Int, a))
-> LASQ4 a
LASQ4 Int
-> Int
-> Array ZeroInt Float
-> Int
-> Int
-> Float
-> Float
-> Float
-> Float
-> Float
-> Float
-> Float
-> IO (Float, Int, Float)
S.lasq4) ((Int
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> Int
 -> Double
 -> Double
 -> Double
 -> Double
 -> Double
 -> Double
 -> Double
 -> IO (Double, Int, Double))
-> LASQ4 Double
forall a.
(Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> Int
 -> a
 -> a
 -> a
 -> a
 -> a
 -> a
 -> a
 -> IO (a, Int, a))
-> LASQ4 a
LASQ4 Int
-> Int
-> Array ZeroInt Double
-> Int
-> Int
-> Double
-> Double
-> Double
-> Double
-> Double
-> Double
-> Double
-> IO (Double, Int, Double)
D.lasq4)


newtype LASQ5 a = LASQ5 {LASQ5 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> a
-> a
-> Bool
-> a
-> IO (a, a, a, a, a, a)
getLASQ5 :: Int -> Int -> Array ZeroInt a -> Int -> a -> a -> Bool -> a -> IO (a, a, a, a, a, a)}

lasq5 :: Class.Real a => Int -> Int -> Array ZeroInt a -> Int -> a -> a -> Bool -> a -> IO (a, a, a, a, a, a)
lasq5 :: Int
-> Int
-> Array ZeroInt a
-> Int
-> a
-> a
-> Bool
-> a
-> IO (a, a, a, a, a, a)
lasq5 = LASQ5 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> a
-> a
-> Bool
-> a
-> IO (a, a, a, a, a, a)
forall a.
LASQ5 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> a
-> a
-> Bool
-> a
-> IO (a, a, a, a, a, a)
getLASQ5 (LASQ5 a
 -> Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> a
 -> a
 -> Bool
 -> a
 -> IO (a, a, a, a, a, a))
-> LASQ5 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> a
-> a
-> Bool
-> a
-> IO (a, a, a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LASQ5 Float -> LASQ5 Double -> LASQ5 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> Float
 -> Float
 -> Bool
 -> Float
 -> IO (Float, Float, Float, Float, Float, Float))
-> LASQ5 Float
forall a.
(Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> a
 -> a
 -> Bool
 -> a
 -> IO (a, a, a, a, a, a))
-> LASQ5 a
LASQ5 Int
-> Int
-> Array ZeroInt Float
-> Int
-> Float
-> Float
-> Bool
-> Float
-> IO (Float, Float, Float, Float, Float, Float)
S.lasq5) ((Int
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> Double
 -> Double
 -> Bool
 -> Double
 -> IO (Double, Double, Double, Double, Double, Double))
-> LASQ5 Double
forall a.
(Int
 -> Int
 -> Array ZeroInt a
 -> Int
 -> a
 -> a
 -> Bool
 -> a
 -> IO (a, a, a, a, a, a))
-> LASQ5 a
LASQ5 Int
-> Int
-> Array ZeroInt Double
-> Int
-> Double
-> Double
-> Bool
-> Double
-> IO (Double, Double, Double, Double, Double, Double)
D.lasq5)


newtype LASQ6 a = LASQ6 {LASQ6 a
-> Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a)
getLASQ6 :: Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a)}

lasq6 :: Class.Real a => Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a)
lasq6 :: Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a)
lasq6 = LASQ6 a
-> Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a)
forall a.
LASQ6 a
-> Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a)
getLASQ6 (LASQ6 a
 -> Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a))
-> LASQ6 a
-> Int
-> Int
-> Array ZeroInt a
-> Int
-> IO (a, a, a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LASQ6 Float -> LASQ6 Double -> LASQ6 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> Array ZeroInt Float
 -> Int
 -> IO (Float, Float, Float, Float, Float, Float))
-> LASQ6 Float
forall a.
(Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a))
-> LASQ6 a
LASQ6 Int
-> Int
-> Array ZeroInt Float
-> Int
-> IO (Float, Float, Float, Float, Float, Float)
S.lasq6) ((Int
 -> Int
 -> Array ZeroInt Double
 -> Int
 -> IO (Double, Double, Double, Double, Double, Double))
-> LASQ6 Double
forall a.
(Int -> Int -> Array ZeroInt a -> Int -> IO (a, a, a, a, a, a))
-> LASQ6 a
LASQ6 Int
-> Int
-> Array ZeroInt Double
-> Int
-> IO (Double, Double, Double, Double, Double, Double)
D.lasq6)


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

lasr :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
lasr :: Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
lasr = LASR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
LASR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getLASR (LASR a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> LASR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ LASR Float -> LASR Double -> LASR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> LASR Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> LASR a
LASR Char
-> Char
-> Char
-> Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO ()
S.lasr) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> LASR Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> LASR a
LASR Char
-> Char
-> Char
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.lasr)


newtype LASRT a = LASRT {LASRT a -> Char -> IOArray ZeroInt a -> IO Int
getLASRT :: Char -> IOArray ZeroInt a -> IO (Int)}

lasrt :: Class.Real a => Char -> IOArray ZeroInt a -> IO (Int)
lasrt :: Char -> IOArray ZeroInt a -> IO Int
lasrt = LASRT a -> Char -> IOArray ZeroInt a -> IO Int
forall a. LASRT a -> Char -> IOArray ZeroInt a -> IO Int
getLASRT (LASRT a -> Char -> IOArray ZeroInt a -> IO Int)
-> LASRT a -> Char -> IOArray ZeroInt a -> IO Int
forall a b. (a -> b) -> a -> b
$ LASRT Float -> LASRT Double -> LASRT a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char -> IOArray ZeroInt Float -> IO Int) -> LASRT Float
forall a. (Char -> IOArray ZeroInt a -> IO Int) -> LASRT a
LASRT Char -> IOArray ZeroInt Float -> IO Int
S.lasrt) ((Char -> IOArray ZeroInt Double -> IO Int) -> LASRT Double
forall a. (Char -> IOArray ZeroInt a -> IO Int) -> LASRT a
LASRT Char -> IOArray ZeroInt Double -> IO Int
D.lasrt)


newtype LASSQ a = LASSQ {LASSQ a -> Array ZeroInt a -> Int -> a -> a -> IO (a, a)
getLASSQ :: Array ZeroInt a -> Int -> a -> a -> IO (a, a)}

lassq :: Class.Real a => Array ZeroInt a -> Int -> a -> a -> IO (a, a)
lassq :: Array ZeroInt a -> Int -> a -> a -> IO (a, a)
lassq = LASSQ a -> Array ZeroInt a -> Int -> a -> a -> IO (a, a)
forall a. LASSQ a -> Array ZeroInt a -> Int -> a -> a -> IO (a, a)
getLASSQ (LASSQ a -> Array ZeroInt a -> Int -> a -> a -> IO (a, a))
-> LASSQ a -> Array ZeroInt a -> Int -> a -> a -> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LASSQ Float -> LASSQ Double -> LASSQ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float -> Int -> Float -> Float -> IO (Float, Float))
-> LASSQ Float
forall a.
(Array ZeroInt a -> Int -> a -> a -> IO (a, a)) -> LASSQ a
LASSQ Array ZeroInt Float -> Int -> Float -> Float -> IO (Float, Float)
S.lassq) ((Array ZeroInt Double
 -> Int -> Double -> Double -> IO (Double, Double))
-> LASSQ Double
forall a.
(Array ZeroInt a -> Int -> a -> a -> IO (a, a)) -> LASSQ a
LASSQ Array ZeroInt Double
-> Int -> Double -> Double -> IO (Double, Double)
D.lassq)


newtype LASV2 a = LASV2 {LASV2 a -> a -> a -> a -> IO (a, a, a, a, a, a)
getLASV2 :: a -> a -> a -> IO (a, a, a, a, a, a)}

lasv2 :: Class.Real a => a -> a -> a -> IO (a, a, a, a, a, a)
lasv2 :: a -> a -> a -> IO (a, a, a, a, a, a)
lasv2 = LASV2 a -> a -> a -> a -> IO (a, a, a, a, a, a)
forall a. LASV2 a -> a -> a -> a -> IO (a, a, a, a, a, a)
getLASV2 (LASV2 a -> a -> a -> a -> IO (a, a, a, a, a, a))
-> LASV2 a -> a -> a -> a -> IO (a, a, a, a, a, a)
forall a b. (a -> b) -> a -> b
$ LASV2 Float -> LASV2 Double -> LASV2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Float
 -> Float -> Float -> IO (Float, Float, Float, Float, Float, Float))
-> LASV2 Float
forall a. (a -> a -> a -> IO (a, a, a, a, a, a)) -> LASV2 a
LASV2 Float
-> Float -> Float -> IO (Float, Float, Float, Float, Float, Float)
S.lasv2) ((Double
 -> Double
 -> Double
 -> IO (Double, Double, Double, Double, Double, Double))
-> LASV2 Double
forall a. (a -> a -> a -> IO (a, a, a, a, a, a)) -> LASV2 a
LASV2 Double
-> Double
-> Double
-> IO (Double, Double, Double, Double, Double, Double)
D.lasv2)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype LASY2 a = LASY2 {LASY2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (a, Array (ZeroInt, ZeroInt) a, a, Int)
getLASY2 :: Bool -> Bool -> Int -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> IO (a, Array (ZeroInt,ZeroInt) a, a, Int)}

lasy2 :: Class.Real a => Bool -> Bool -> Int -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> IO (a, Array (ZeroInt,ZeroInt) a, a, Int)
lasy2 :: Bool
-> Bool
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (a, Array (ZeroInt, ZeroInt) a, a, Int)
lasy2 = LASY2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (a, Array (ZeroInt, ZeroInt) a, a, Int)
forall a.
LASY2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (a, Array (ZeroInt, ZeroInt) a, a, Int)
getLASY2 (LASY2 a
 -> Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (a, Array (ZeroInt, ZeroInt) a, a, Int))
-> LASY2 a
-> Bool
-> Bool
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (a, Array (ZeroInt, ZeroInt) a, a, Int)
forall a b. (a -> b) -> a -> b
$ LASY2 Float -> LASY2 Double -> LASY2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Float, Array (ZeroInt, ZeroInt) Float, Float, Int))
-> LASY2 Float
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (a, Array (ZeroInt, ZeroInt) a, a, Int))
-> LASY2 a
LASY2 Bool
-> Bool
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> IO (Float, Array (ZeroInt, ZeroInt) Float, Float, Int)
S.lasy2) ((Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Double, Array (ZeroInt, ZeroInt) Double, Double, Int))
-> LASY2 Double
forall a.
(Bool
 -> Bool
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (a, Array (ZeroInt, ZeroInt) a, a, Int))
-> LASY2 a
LASY2 Bool
-> Bool
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO (Double, Array (ZeroInt, ZeroInt) Double, Double, Int)
D.lasy2)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

latbs :: Class.Real a => Char -> Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO (a, Int)
latbs :: Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
latbs = LATBS a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a.
LATBS a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
getLATBS (LATBS a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATBS a
-> Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ LATBS Float -> LATBS Double -> LATBS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IO (Float, Int))
-> LATBS Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATBS a
LATBS Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IO (Float, Int)
S.latbs) ((Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IO (Double, Int))
-> LATBS Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATBS a
LATBS Char
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IO (Double, Int)
D.latbs)


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

latdf :: Class.Real a => Int -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> a -> a -> Array ZeroInt CInt -> Array ZeroInt CInt -> IO (a, a)
latdf :: Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO (a, a)
latdf = LATDF a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO (a, a)
forall a.
LATDF a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO (a, a)
getLATDF (LATDF a
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO (a, a))
-> LATDF a
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> a
-> a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO (a, a)
forall a b. (a -> b) -> a -> b
$ LATDF Float -> LATDF Double -> LATDF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO (Float, Float))
-> LATDF Float
forall a.
(Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO (a, a))
-> LATDF a
LATDF Int
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO (Float, Float)
S.latdf) ((Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO (Double, Double))
-> LATDF Double
forall a.
(Int
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> IO (a, a))
-> LATDF a
LATDF Int
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> IO (Double, Double)
D.latdf)


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

latps :: Class.Real a => Char -> Char -> Char -> Char -> Array ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO (a, Int)
latps :: Char
-> Char
-> Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
latps = LATPS a
-> Char
-> Char
-> Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a.
LATPS a
-> Char
-> Char
-> Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
getLATPS (LATPS a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATPS a
-> Char
-> Char
-> Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ LATPS Float -> LATPS Double -> LATPS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IO (Float, Int))
-> LATPS Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATPS a
LATPS Char
-> Char
-> Char
-> Char
-> Array ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IO (Float, Int)
S.latps) ((Char
 -> Char
 -> Char
 -> Char
 -> Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IO (Double, Int))
-> LATPS Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATPS a
LATPS Char
-> Char
-> Char
-> Char
-> Array ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IO (Double, Int)
D.latps)


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

latrd :: Class.Real a => Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt,ZeroInt) a)
latrd :: Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a)
latrd = LATRD a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a)
forall a.
LATRD a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a)
getLATRD (LATRD a
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a))
-> LATRD a
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a)
forall a b. (a -> b) -> a -> b
$ LATRD Float -> LATRD Double -> LATRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float,
       Array (ZeroInt, ZeroInt) Float))
-> LATRD Float
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a))
-> LATRD a
LATRD Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float,
      Array (ZeroInt, ZeroInt) Float)
S.latrd) ((Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double,
       Array (ZeroInt, ZeroInt) Double))
-> LATRD Double
forall a.
(Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array (ZeroInt, ZeroInt) a))
-> LATRD a
LATRD Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double,
      Array (ZeroInt, ZeroInt) Double)
D.latrd)


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

latrs :: Class.Real a => Char -> Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO (a, Int)
latrs :: Char
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
latrs = LATRS a
-> Char
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a.
LATRS a
-> Char
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
getLATRS (LATRS a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATRS a
-> Char
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ LATRS Float -> LATRS Double -> LATRS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IO (Float, Int))
-> LATRS Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATRS a
LATRS Char
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IO (Float, Int)
S.latrs) ((Char
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IO (Double, Int))
-> LATRS Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IO (a, Int))
-> LATRS a
LATRS Char
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IO (Double, Int)
D.latrs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

lauu2 :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

lauum :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

orbdb :: Class.Real a => Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
orbdb :: Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
orbdb = ORBDB a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
ORBDB a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
getORBDB (ORBDB a
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> ORBDB a
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
      Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ ORBDB Float -> ORBDB Double -> ORBDB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Int))
-> ORBDB Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> ORBDB a
ORBDB Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float, Int)
S.orbdb) ((Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Int))
-> ORBDB Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a,
       Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> ORBDB a
ORBDB Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Int)
D.orbdb)


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

orcsd :: Class.Real a => Char -> Char -> Char -> Char -> Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> Int -> Int -> IO (Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Array (ZeroInt,ZeroInt) a, Int)
orcsd :: Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
orcsd = ORCSD a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a.
ORCSD a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
getORCSD (ORCSD a
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> ORCSD a
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
      Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ ORCSD Float -> ORCSD Double -> ORCSD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
       Array (ZeroInt, ZeroInt) Float, Int))
-> ORCSD Float
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> ORCSD a
ORCSD Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Array (ZeroInt, ZeroInt) Float,
      Array (ZeroInt, ZeroInt) Float, Int)
S.orcsd) ((Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
       Array (ZeroInt, ZeroInt) Double, Int))
-> ORCSD Double
forall a.
(Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Array (ZeroInt, ZeroInt) a,
       Array (ZeroInt, ZeroInt) a, Int))
-> ORCSD a
ORCSD Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Array (ZeroInt, ZeroInt) Double,
      Array (ZeroInt, ZeroInt) Double, Int)
D.orcsd)


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

pbcon :: Class.Real a => Char -> Int -> Array (ZeroInt,ZeroInt) a -> a -> IO (a, Int)
pbcon :: Char -> Int -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
pbcon = PBCON a
-> Char -> Int -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
forall a.
PBCON a
-> Char -> Int -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
getPBCON (PBCON a
 -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int))
-> PBCON a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ PBCON Float -> PBCON Double -> PBCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Float
 -> IO (Float, Int))
-> PBCON Float
forall a.
(Char -> Int -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int))
-> PBCON a
PBCON Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Float
-> IO (Float, Int)
S.pbcon) ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Double
 -> IO (Double, Int))
-> PBCON Double
forall a.
(Char -> Int -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int))
-> PBCON a
PBCON Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Double
-> IO (Double, Int)
D.pbcon)


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

pbequ :: Class.Real a => Char -> Int -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
pbequ :: Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
pbequ = PBEQU a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
forall a.
PBEQU a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
getPBEQU (PBEQU a
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, a, a, Int))
-> PBEQU a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ PBEQU Float -> PBEQU Double -> PBEQU a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Float, Float, Int))
-> PBEQU Float
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, a, a, Int))
-> PBEQU a
PBEQU Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Float, Float, Int)
S.pbequ) ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Double, Double, Int))
-> PBEQU Double
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, a, a, Int))
-> PBEQU a
PBEQU Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Double, Double, Int)
D.pbequ)


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

pbrfs :: Class.Real a => Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
pbrfs :: Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
pbrfs = PBRFS a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
PBRFS a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getPBRFS (PBRFS a
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PBRFS a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ PBRFS Float -> PBRFS Double -> PBRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> PBRFS Float
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PBRFS a
PBRFS Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.pbrfs) ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> PBRFS Double
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PBRFS a
PBRFS Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.pbrfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

pbsvx :: Class.Real a => Char -> Char -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Char -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Char, Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
pbsvx :: Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
pbsvx = PBSVX a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
PBSVX a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
getPBSVX (PBSVX a
 -> Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> PBSVX a
-> Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ PBSVX Float -> PBSVX Double -> PBSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> PBSVX Float
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> PBSVX a
PBSVX Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Char
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.pbsvx) ((Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Double, Double,
       Array ZeroInt Double, Array ZeroInt Double, Int))
-> PBSVX Double
forall a.
(Char
 -> Char
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> PBSVX a
PBSVX Char
-> Char
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Char
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Double, Double,
      Array ZeroInt Double, Array ZeroInt Double, Int)
D.pbsvx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

pocon :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> a -> IO (a, Int)
pocon :: Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
pocon = POCON a -> Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
forall a.
POCON a -> Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)
getPOCON (POCON a -> Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int))
-> POCON a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ POCON Float -> POCON Double -> POCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array (ZeroInt, ZeroInt) Float -> Float -> IO (Float, Int))
-> POCON Float
forall a.
(Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)) -> POCON a
POCON Char -> Array (ZeroInt, ZeroInt) Float -> Float -> IO (Float, Int)
S.pocon) ((Char
 -> Array (ZeroInt, ZeroInt) Double -> Double -> IO (Double, Int))
-> POCON Double
forall a.
(Char -> Array (ZeroInt, ZeroInt) a -> a -> IO (a, Int)) -> POCON a
POCON Char
-> Array (ZeroInt, ZeroInt) Double -> Double -> IO (Double, Int)
D.pocon)


newtype POEQU a = POEQU {POEQU a
-> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
getPOEQU :: Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)}

poequ :: Class.Real a => Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
poequ :: Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
poequ = POEQU a
-> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
forall a.
POEQU a
-> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
getPOEQU (POEQU a
 -> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> POEQU a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ POEQU Float -> POEQU Double -> POEQU a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Float, Float, Int))
-> POEQU Float
forall a.
(Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> POEQU a
POEQU Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Float, Float, Int)
S.poequ) ((Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Double, Double, Int))
-> POEQU Double
forall a.
(Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> POEQU a
POEQU Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Double, Double, Int)
D.poequ)


newtype POEQUB a = POEQUB {POEQUB a
-> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
getPOEQUB :: Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)}

poequb :: Class.Real a => Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
poequb :: Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
poequb = POEQUB a
-> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
forall a.
POEQUB a
-> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
getPOEQUB (POEQUB a
 -> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> POEQUB a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ POEQUB Float -> POEQUB Double -> POEQUB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Float, Float, Int))
-> POEQUB Float
forall a.
(Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> POEQUB a
POEQUB Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Float, Float, Int)
S.poequb) ((Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Double, Double, Int))
-> POEQUB Double
forall a.
(Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> POEQUB a
POEQUB Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Double, Double, Int)
D.poequb)


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

porfs :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
porfs :: Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
porfs = PORFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
PORFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getPORFS (PORFS a
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PORFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ PORFS Float -> PORFS Double -> PORFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> PORFS Float
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PORFS a
PORFS Char
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.porfs) ((Char
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> PORFS Double
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PORFS a
PORFS Char
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.porfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

posvx :: Class.Real a => Char -> Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Char -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Char, Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
posvx :: Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
posvx = POSVX a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
POSVX a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
getPOSVX (POSVX a
 -> Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> POSVX a
-> Char
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ POSVX Float -> POSVX Double -> POSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> POSVX Float
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> POSVX a
POSVX Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Char
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.posvx) ((Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Double, Double,
       Array ZeroInt Double, Array ZeroInt Double, Int))
-> POSVX Double
forall a.
(Char
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> POSVX a
POSVX Char
-> Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Char
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Double, Double,
      Array ZeroInt Double, Array ZeroInt Double, Int)
D.posvx)


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

potf2 :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

potrf :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

potri :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

ppcon :: Class.Real a => Char -> Int -> Array ZeroInt a -> a -> IO (a, Int)
ppcon :: Char -> Int -> Array ZeroInt a -> a -> IO (a, Int)
ppcon = PPCON a -> Char -> Int -> Array ZeroInt a -> a -> IO (a, Int)
forall a.
PPCON a -> Char -> Int -> Array ZeroInt a -> a -> IO (a, Int)
getPPCON (PPCON a -> Char -> Int -> Array ZeroInt a -> a -> IO (a, Int))
-> PPCON a -> Char -> Int -> Array ZeroInt a -> a -> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ PPCON Float -> PPCON Double -> PPCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char -> Int -> Array ZeroInt Float -> Float -> IO (Float, Int))
-> PPCON Float
forall a.
(Char -> Int -> Array ZeroInt a -> a -> IO (a, Int)) -> PPCON a
PPCON Char -> Int -> Array ZeroInt Float -> Float -> IO (Float, Int)
S.ppcon) ((Char -> Int -> Array ZeroInt Double -> Double -> IO (Double, Int))
-> PPCON Double
forall a.
(Char -> Int -> Array ZeroInt a -> a -> IO (a, Int)) -> PPCON a
PPCON Char -> Int -> Array ZeroInt Double -> Double -> IO (Double, Int)
D.ppcon)


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

ppequ :: Class.Real a => Char -> Int -> Array ZeroInt a -> IO (Array ZeroInt a, a, a, Int)
ppequ :: Char -> Int -> Array ZeroInt a -> IO (Array ZeroInt a, a, a, Int)
ppequ = PPEQU a
-> Char
-> Int
-> Array ZeroInt a
-> IO (Array ZeroInt a, a, a, Int)
forall a.
PPEQU a
-> Char
-> Int
-> Array ZeroInt a
-> IO (Array ZeroInt a, a, a, Int)
getPPEQU (PPEQU a
 -> Char
 -> Int
 -> Array ZeroInt a
 -> IO (Array ZeroInt a, a, a, Int))
-> PPEQU a
-> Char
-> Int
-> Array ZeroInt a
-> IO (Array ZeroInt a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ PPEQU Float -> PPEQU Double -> PPEQU a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array ZeroInt Float
 -> IO (Array ZeroInt Float, Float, Float, Int))
-> PPEQU Float
forall a.
(Char -> Int -> Array ZeroInt a -> IO (Array ZeroInt a, a, a, Int))
-> PPEQU a
PPEQU Char
-> Int
-> Array ZeroInt Float
-> IO (Array ZeroInt Float, Float, Float, Int)
S.ppequ) ((Char
 -> Int
 -> Array ZeroInt Double
 -> IO (Array ZeroInt Double, Double, Double, Int))
-> PPEQU Double
forall a.
(Char -> Int -> Array ZeroInt a -> IO (Array ZeroInt a, a, a, Int))
-> PPEQU a
PPEQU Char
-> Int
-> Array ZeroInt Double
-> IO (Array ZeroInt Double, Double, Double, Int)
D.ppequ)


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

pprfs :: Class.Real a => Char -> Int -> Array ZeroInt a -> Array ZeroInt a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
pprfs :: Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
pprfs = PPRFS a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
PPRFS a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getPPRFS (PPRFS a
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PPRFS a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ PPRFS Float -> PPRFS Double -> PPRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> PPRFS Float
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PPRFS a
PPRFS Char
-> Int
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.pprfs) ((Char
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> PPRFS Double
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PPRFS a
PPRFS Char
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.pprfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

ppsvx :: Class.Real a => Char -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> Char -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Char, Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
ppsvx :: Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
ppsvx = PPSVX a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a.
PPSVX a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
getPPSVX (PPSVX a
 -> Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> PPSVX a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Char
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ PPSVX Float -> PPSVX Double -> PPSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> PPSVX Float
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> PPSVX a
PPSVX Char
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Char
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.ppsvx) ((Char
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) Double, Double,
       Array ZeroInt Double, Array ZeroInt Double, Int))
-> PPSVX Double
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Char, Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a,
       Array ZeroInt a, Int))
-> PPSVX a
PPSVX Char
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Char
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Char, Array (ZeroInt, ZeroInt) Double, Double,
      Array ZeroInt Double, Array ZeroInt Double, Int)
D.ppsvx)


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

pptrf :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

pptri :: Class.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

pstf2 :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> a -> IO (Array ZeroInt CInt, Int, Int)
pstf2 :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
pstf2 = PSTF2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
forall a.
PSTF2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
getPSTF2 (PSTF2 a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTF2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
forall a b. (a -> b) -> a -> b
$ PSTF2 Float -> PSTF2 Double -> PSTF2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTF2 Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTF2 a
PSTF2 Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> IO (Array ZeroInt CInt, Int, Int)
S.pstf2) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTF2 Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTF2 a
PSTF2 Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> IO (Array ZeroInt CInt, Int, Int)
D.pstf2)


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

pstrf :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> a -> IO (Array ZeroInt CInt, Int, Int)
pstrf :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
pstrf = PSTRF a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
forall a.
PSTRF a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
getPSTRF (PSTRF a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTRF a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> IO (Array ZeroInt CInt, Int, Int)
forall a b. (a -> b) -> a -> b
$ PSTRF Float -> PSTRF Double -> PSTRF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTRF Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTRF a
PSTRF Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> IO (Array ZeroInt CInt, Int, Int)
S.pstrf) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTRF Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> IO (Array ZeroInt CInt, Int, Int))
-> PSTRF a
PSTRF Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> IO (Array ZeroInt CInt, Int, Int)
D.pstrf)


newtype PTCON a = PTCON {PTCON a -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)
getPTCON :: Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)}

ptcon :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)
ptcon :: Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)
ptcon = PTCON a -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)
forall a.
PTCON a -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)
getPTCON (PTCON a -> Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int))
-> PTCON a
-> Array ZeroInt a
-> Array ZeroInt a
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ PTCON Float -> PTCON Double -> PTCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float -> Float -> IO (Float, Int))
-> PTCON Float
forall a.
(Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)) -> PTCON a
PTCON Array ZeroInt Float
-> Array ZeroInt Float -> Float -> IO (Float, Int)
S.ptcon) ((Array ZeroInt Double
 -> Array ZeroInt Double -> Double -> IO (Double, Int))
-> PTCON Double
forall a.
(Array ZeroInt a -> Array ZeroInt a -> a -> IO (a, Int)) -> PTCON a
PTCON Array ZeroInt Double
-> Array ZeroInt Double -> Double -> IO (Double, Int)
D.ptcon)


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

pteqr :: Class.Real a => Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
pteqr :: Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
pteqr = PTEQR a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
PTEQR a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getPTEQR (PTEQR a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> PTEQR a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ PTEQR Float -> PTEQR Double -> PTEQR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> PTEQR Float
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> PTEQR a
PTEQR Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.pteqr) ((Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> PTEQR Double
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> PTEQR a
PTEQR Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.pteqr)


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

ptrfs :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
ptrfs :: Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
ptrfs = PTRFS a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
PTRFS a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getPTRFS (PTRFS a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PTRFS a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ PTRFS Float -> PTRFS Double -> PTRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> PTRFS Float
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PTRFS a
PTRFS Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.ptrfs) ((Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> PTRFS Double
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> PTRFS a
PTRFS Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.ptrfs)


newtype PTSV a = PTSV {PTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getPTSV :: IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}

ptsv :: Class.Real a => IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
ptsv :: IOArray ZeroInt a
-> IOArray ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO Int
ptsv = PTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
PTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getPTSV (PTSV a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> PTSV a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ PTSV Float -> PTSV Double -> PTSV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> PTSV Float
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO Int)
-> PTSV a
PTSV IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.ptsv) ((IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> PTSV Double
forall a.
(IOArray ZeroInt a
 -> IOArray ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO Int)
-> PTSV a
PTSV IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.ptsv)


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

ptsvx :: Class.Real a => Char -> Array ZeroInt a -> Array ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt a -> Array (ZeroInt,ZeroInt) a -> Int -> IO (Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
ptsvx :: Char
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
ptsvx = PTSVX a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a.
PTSVX a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
getPTSVX (PTSVX a
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> PTSVX a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a b. (a -> b) -> a -> b
$ PTSVX Float -> PTSVX Double -> PTSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> PTSVX Float
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> PTSVX a
PTSVX Char
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.ptsvx) ((Char
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> PTSVX Double
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> PTSVX a
PTSVX Char
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.ptsvx)


newtype PTTRF a = PTTRF {PTTRF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
getPTTRF :: IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Int)}

pttrf :: Class.Real a => IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Int)
pttrf :: IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
pttrf = PTTRF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a.
PTTRF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
getPTTRF (PTTRF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int)
-> PTTRF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a b. (a -> b) -> a -> b
$ PTTRF Float -> PTTRF Double -> PTTRF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float -> IOArray ZeroInt Float -> IO Int)
-> PTTRF Float
forall a.
(IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int) -> PTTRF a
PTTRF IOArray ZeroInt Float -> IOArray ZeroInt Float -> IO Int
S.pttrf) ((IOArray ZeroInt Double -> IOArray ZeroInt Double -> IO Int)
-> PTTRF Double
forall a.
(IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int) -> PTTRF a
PTTRF IOArray ZeroInt Double -> IOArray ZeroInt Double -> IO Int
D.pttrf)


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

pttrs :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
pttrs :: Array ZeroInt a
-> Array ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO Int
pttrs = PTTRS a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
PTTRS a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getPTTRS (PTTRS a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> PTTRS a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ PTTRS Float -> PTTRS Double -> PTTRS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> PTTRS Float
forall a.
(Array ZeroInt a
 -> Array ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO Int)
-> PTTRS a
PTTRS Array ZeroInt Float
-> Array ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.pttrs) ((Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> PTTRS Double
forall a.
(Array ZeroInt a
 -> Array ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO Int)
-> PTTRS a
PTTRS Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.pttrs)


newtype PTTS2 a = PTTS2 {PTTS2 a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getPTTS2 :: Array ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO ()}

ptts2 :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO ()
ptts2 :: Array ZeroInt a
-> Array ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO ()
ptts2 = PTTS2 a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a.
PTTS2 a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
getPTTS2 (PTTS2 a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO ())
-> PTTS2 a
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO ()
forall a b. (a -> b) -> a -> b
$ PTTS2 Float -> PTTS2 Double -> PTTS2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO ())
-> PTTS2 Float
forall a.
(Array ZeroInt a
 -> Array ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO ())
-> PTTS2 a
PTTS2 Array ZeroInt Float
-> Array ZeroInt Float -> IOArray (ZeroInt, ZeroInt) Float -> IO ()
S.ptts2) ((Array ZeroInt Double
 -> Array ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO ())
-> PTTS2 Double
forall a.
(Array ZeroInt a
 -> Array ZeroInt a -> IOArray (ZeroInt, ZeroInt) a -> IO ())
-> PTTS2 a
PTTS2 Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO ()
D.ptts2)


newtype RSCL a = RSCL {RSCL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
getRSCL :: Int -> a -> IOArray ZeroInt a -> Int -> IO ()}

rscl :: Class.Real a => Int -> a -> IOArray ZeroInt a -> Int -> IO ()
rscl :: Int -> a -> IOArray ZeroInt a -> Int -> IO ()
rscl = RSCL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
forall a. RSCL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
getRSCL (RSCL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ())
-> RSCL a -> Int -> a -> IOArray ZeroInt a -> Int -> IO ()
forall a b. (a -> b) -> a -> b
$ RSCL Float -> RSCL Double -> RSCL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int -> Float -> IOArray ZeroInt Float -> Int -> IO ())
-> RSCL Float
forall a. (Int -> a -> IOArray ZeroInt a -> Int -> IO ()) -> RSCL a
RSCL Int -> Float -> IOArray ZeroInt Float -> Int -> IO ()
S.rscl) ((Int -> Double -> IOArray ZeroInt Double -> Int -> IO ())
-> RSCL Double
forall a. (Int -> a -> IOArray ZeroInt a -> Int -> IO ()) -> RSCL a
RSCL Int -> Double -> IOArray ZeroInt Double -> Int -> IO ()
D.rscl)


newtype SPCON a = SPCON {SPCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getSPCON :: Char -> Array ZeroInt a -> Array ZeroInt CInt -> a -> IO (a, Int)}

spcon :: Class.Real a => Char -> Array ZeroInt a -> Array ZeroInt CInt -> a -> IO (a, Int)
spcon :: Char -> Array ZeroInt a -> Array ZeroInt CInt -> a -> IO (a, Int)
spcon = SPCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a.
SPCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getSPCON (SPCON a
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> SPCON a
-> Char
-> Array ZeroInt a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ SPCON Float -> SPCON Double -> SPCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> Float
 -> IO (Float, Int))
-> SPCON Float
forall a.
(Char -> Array ZeroInt a -> Array ZeroInt CInt -> a -> IO (a, Int))
-> SPCON a
SPCON Char
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> Float
-> IO (Float, Int)
S.spcon) ((Char
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> Double
 -> IO (Double, Int))
-> SPCON Double
forall a.
(Char -> Array ZeroInt a -> Array ZeroInt CInt -> a -> IO (a, Int))
-> SPCON a
SPCON Char
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> Double
-> IO (Double, Int)
D.spcon)


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

sprfs :: Class.Real a => Char -> Array ZeroInt a -> Array ZeroInt a -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
sprfs :: Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
sprfs = SPRFS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
SPRFS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getSPRFS (SPRFS a
 -> Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SPRFS a
-> Char
-> Array ZeroInt a
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SPRFS Float -> SPRFS Double -> SPRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> SPRFS Float
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SPRFS a
SPRFS Char
-> Array ZeroInt Float
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.sprfs) ((Char
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> SPRFS Double
forall a.
(Char
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SPRFS a
SPRFS Char
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.sprfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

spsvx :: Class.Real a => Char -> Char -> Array ZeroInt a -> IOArray ZeroInt a -> IOArray ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> Int -> IO (Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
spsvx :: Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
spsvx = SPSVX a
-> Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a.
SPSVX a
-> Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
getSPSVX (SPSVX a
 -> Char
 -> Char
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> SPSVX a
-> Char
-> Char
-> Array ZeroInt a
-> IOArray ZeroInt a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a b. (a -> b) -> a -> b
$ SPSVX Float -> SPSVX Double -> SPSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Array ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> SPSVX Float
forall a.
(Char
 -> Char
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> SPSVX a
SPSVX Char
-> Char
-> Array ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.spsvx) ((Char
 -> Char
 -> Array ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> SPSVX Double
forall a.
(Char
 -> Char
 -> Array ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> SPSVX a
SPSVX Char
-> Char
-> Array ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.spsvx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype STEBZ a = STEBZ {STEBZ a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
      Int)
getSTEBZ :: Char -> Char -> a -> a -> Int -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> IO (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt, Int)}

stebz :: Class.Real a => Char -> Char -> a -> a -> Int -> Int -> a -> Array ZeroInt a -> Array ZeroInt a -> IO (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt, Int)
stebz :: Char
-> Char
-> a
-> a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
      Int)
stebz = STEBZ a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
      Int)
forall a.
STEBZ a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
      Int)
getSTEBZ (STEBZ a
 -> Char
 -> Char
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
       Int))
-> STEBZ a
-> Char
-> Char
-> a
-> a
-> Int
-> Int
-> a
-> Array ZeroInt a
-> Array ZeroInt a
-> IO
     (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
      Int)
forall a b. (a -> b) -> a -> b
$ STEBZ Float -> STEBZ Double -> STEBZ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IO
      (Int, Int, Array ZeroInt Float, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> STEBZ Float
forall a.
(Char
 -> Char
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
       Int))
-> STEBZ a
STEBZ Char
-> Char
-> Float
-> Float
-> Int
-> Int
-> Float
-> Array ZeroInt Float
-> Array ZeroInt Float
-> IO
     (Int, Int, Array ZeroInt Float, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
S.stebz) ((Char
 -> Char
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Array ZeroInt Double
 -> Array ZeroInt Double
 -> IO
      (Int, Int, Array ZeroInt Double, Array ZeroInt CInt,
       Array ZeroInt CInt, Int))
-> STEBZ Double
forall a.
(Char
 -> Char
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IO
      (Int, Int, Array ZeroInt a, Array ZeroInt CInt, Array ZeroInt CInt,
       Int))
-> STEBZ a
STEBZ Char
-> Char
-> Double
-> Double
-> Int
-> Int
-> Double
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IO
     (Int, Int, Array ZeroInt Double, Array ZeroInt CInt,
      Array ZeroInt CInt, Int)
D.stebz)


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

stedc :: Class.Real a => Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Int)
stedc :: Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO Int
stedc = STEDC a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO Int
forall a.
STEDC a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO Int
getSTEDC (STEDC a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO Int)
-> STEDC a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ STEDC Float -> STEDC Double -> STEDC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO Int)
-> STEDC Float
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO Int)
-> STEDC a
STEDC Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO Int
S.stedc) ((Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO Int)
-> STEDC Double
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO Int)
-> STEDC a
STEDC Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO Int
D.stedc)


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

stegr :: Class.Real a => Char -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> Int -> a -> Int -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
stegr :: Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
stegr = STEGR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
STEGR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSTEGR (STEGR a
 -> Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEGR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ STEGR Float -> STEGR Double -> STEGR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> STEGR Float
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEGR a
STEGR Char
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.stegr) ((Char
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> STEGR Double
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEGR a
STEGR Char
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.stegr)


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

stein :: Class.Real a => Array ZeroInt a -> Array ZeroInt a -> Int -> Array ZeroInt a -> Array ZeroInt CInt -> Array ZeroInt CInt -> Int -> IO (Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
stein :: Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
stein = STEIN a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a.
STEIN a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
getSTEIN (STEIN a
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> STEIN a
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> Array ZeroInt a
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ STEIN Float -> STEIN Double -> STEIN a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int))
-> STEIN Float
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> STEIN a
STEIN Array ZeroInt Float
-> Array ZeroInt Float
-> Int
-> Array ZeroInt Float
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Int
-> IO (Array (ZeroInt, ZeroInt) Float, Array ZeroInt CInt, Int)
S.stein) ((Array ZeroInt Double
 -> Array ZeroInt Double
 -> Int
 -> Array ZeroInt Double
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int))
-> STEIN Double
forall a.
(Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt CInt
 -> Array ZeroInt CInt
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Array ZeroInt CInt, Int))
-> STEIN a
STEIN Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> Array ZeroInt Double
-> Array ZeroInt CInt
-> Array ZeroInt CInt
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Array ZeroInt CInt, Int)
D.stein)


newtype STEMR a = STEMR {STEMR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Bool
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Bool, Int)
getSTEMR :: Char -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> Int -> Int -> Int -> Int -> Bool -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Bool, Int)}

stemr :: Class.Real a => Char -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> Int -> Int -> Int -> Int -> Bool -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Bool, Int)
stemr :: Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Bool
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Bool, Int)
stemr = STEMR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Bool
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Bool, Int)
forall a.
STEMR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Bool
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Bool, Int)
getSTEMR (STEMR a
 -> Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Bool
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Bool, Int))
-> STEMR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> Int
-> Int
-> Int
-> Bool
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Bool, Int)
forall a b. (a -> b) -> a -> b
$ STEMR Float -> STEMR Double -> STEMR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Bool
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Bool, Int))
-> STEMR Float
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Bool
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Bool, Int))
-> STEMR a
STEMR Char
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Int
-> Int
-> Int
-> Int
-> Int
-> Bool
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Bool, Int)
S.stemr) ((Char
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Bool
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Bool, Int))
-> STEMR Double
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> Int
 -> Bool
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Bool, Int))
-> STEMR a
STEMR Char
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Int
-> Int
-> Int
-> Int
-> Int
-> Bool
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Bool, Int)
D.stemr)


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

steqr :: Class.Real a => Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
steqr :: Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
steqr = STEQR a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a.
STEQR a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
getSTEQR (STEQR a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> STEQR a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> IO Int
forall a b. (a -> b) -> a -> b
$ STEQR Float -> STEQR Double -> STEQR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO Int)
-> STEQR Float
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> STEQR a
STEQR Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO Int
S.steqr) ((Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO Int)
-> STEQR Double
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO Int)
-> STEQR a
STEQR Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO Int
D.steqr)


newtype STERF a = STERF {STERF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
getSTERF :: IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Int)}

sterf :: Class.Real a => IOArray ZeroInt a -> IOArray ZeroInt a -> IO (Int)
sterf :: IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
sterf = STERF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a.
STERF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
getSTERF (STERF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int)
-> STERF a -> IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int
forall a b. (a -> b) -> a -> b
$ STERF Float -> STERF Double -> STERF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((IOArray ZeroInt Float -> IOArray ZeroInt Float -> IO Int)
-> STERF Float
forall a.
(IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int) -> STERF a
STERF IOArray ZeroInt Float -> IOArray ZeroInt Float -> IO Int
S.sterf) ((IOArray ZeroInt Double -> IOArray ZeroInt Double -> IO Int)
-> STERF Double
forall a.
(IOArray ZeroInt a -> IOArray ZeroInt a -> IO Int) -> STERF a
STERF IOArray ZeroInt Double -> IOArray ZeroInt Double -> IO Int
D.sterf)


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

stev :: Class.Real a => Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)
stev :: Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
stev = STEV a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
STEV a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getSTEV (STEV a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> STEV a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ STEV Float -> STEV Double -> STEV a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> STEV Float
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> STEV a
STEV Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> IO (Array (ZeroInt, ZeroInt) Float, Int)
S.stev) ((Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Double, Int))
-> STEV Double
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> STEV a
STEV Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.stev)


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

stevd :: Class.Real a => Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> Int -> Int -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)
stevd :: Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
stevd = STEVD a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
STEVD a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getSTEVD (STEVD a
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> STEVD a
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ STEVD Float -> STEVD Double -> STEVD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> STEVD Float
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> STEVD a
STEVD Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) Float, Int)
S.stevd) ((Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Double, Int))
-> STEVD Double
forall a.
(Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> STEVD a
STEVD Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Int
-> Int
-> Int
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.stevd)


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

stevr :: Class.Real a => Char -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> Int -> a -> Int -> Int -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
stevr :: Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
stevr = STEVR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
STEVR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSTEVR (STEVR a
 -> Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEVR a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ STEVR Float -> STEVR Double -> STEVR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> STEVR Float
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEVR a
STEVR Char
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.stevr) ((Char
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> STEVR Double
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEVR a
STEVR Char
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.stevr)


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

stevx :: Class.Real a => Char -> Char -> IOArray ZeroInt a -> IOArray ZeroInt a -> a -> a -> Int -> Int -> a -> Int -> Int -> IO (Int, Array ZeroInt a, Array (ZeroInt,ZeroInt) a, Array ZeroInt CInt, Int)
stevx :: Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
stevx = STEVX a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a.
STEVX a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
getSTEVX (STEVX a
 -> Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEVX a
-> Char
-> Char
-> IOArray ZeroInt a
-> IOArray ZeroInt a
-> a
-> a
-> Int
-> Int
-> a
-> Int
-> Int
-> IO
     (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
      Array ZeroInt CInt, Int)
forall a b. (a -> b) -> a -> b
$ STEVX Float -> STEVX Double -> STEVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray ZeroInt Float
 -> IOArray ZeroInt Float
 -> Float
 -> Float
 -> Int
 -> Int
 -> Float
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
       Array ZeroInt CInt, Int))
-> STEVX Float
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEVX a
STEVX Char
-> Char
-> IOArray ZeroInt Float
-> IOArray ZeroInt Float
-> Float
-> Float
-> Int
-> Int
-> Float
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Float, Array (ZeroInt, ZeroInt) Float,
      Array ZeroInt CInt, Int)
S.stevx) ((Char
 -> Char
 -> IOArray ZeroInt Double
 -> IOArray ZeroInt Double
 -> Double
 -> Double
 -> Int
 -> Int
 -> Double
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
       Array ZeroInt CInt, Int))
-> STEVX Double
forall a.
(Char
 -> Char
 -> IOArray ZeroInt a
 -> IOArray ZeroInt a
 -> a
 -> a
 -> Int
 -> Int
 -> a
 -> Int
 -> Int
 -> IO
      (Int, Array ZeroInt a, Array (ZeroInt, ZeroInt) a,
       Array ZeroInt CInt, Int))
-> STEVX a
STEVX Char
-> Char
-> IOArray ZeroInt Double
-> IOArray ZeroInt Double
-> Double
-> Double
-> Int
-> Int
-> Double
-> Int
-> Int
-> IO
     (Int, Array ZeroInt Double, Array (ZeroInt, ZeroInt) Double,
      Array ZeroInt CInt, Int)
D.stevx)


newtype SYCON a = SYCON {SYCON a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getSYCON :: Char -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> a -> IO (a, Int)}

sycon :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> a -> IO (a, Int)
sycon :: Char
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
sycon = SYCON a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a.
SYCON a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
getSYCON (SYCON a
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> SYCON a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ SYCON Float -> SYCON Double -> SYCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Float
 -> IO (Float, Int))
-> SYCON Float
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> SYCON a
SYCON Char
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Float
-> IO (Float, Int)
S.sycon) ((Char
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Double
 -> IO (Double, Int))
-> SYCON Double
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> a
 -> IO (a, Int))
-> SYCON a
SYCON Char
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Double
-> IO (Double, Int)
D.sycon)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

syequb :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
syequb :: Char
-> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int)
syequb = SYEQUB a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
forall a.
SYEQUB a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
getSYEQUB (SYEQUB a
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, a, a, Int))
-> SYEQUB a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, a, a, Int)
forall a b. (a -> b) -> a -> b
$ SYEQUB Float -> SYEQUB Double -> SYEQUB a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Float, Float, Int))
-> SYEQUB Float
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> SYEQUB a
SYEQUB Char
-> Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Float, Float, Int)
S.syequb) ((Char
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Double, Double, Int))
-> SYEQUB Double
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a -> IO (Array ZeroInt a, a, a, Int))
-> SYEQUB a
SYEQUB Char
-> Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Double, Double, Int)
D.syequb)


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

syrfs :: Class.Real a => Char -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
syrfs :: Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
syrfs = SYRFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
SYRFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getSYRFS (SYRFS a
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SYRFS a
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SYRFS Float -> SYRFS Double -> SYRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> SYRFS Float
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SYRFS a
SYRFS Char
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.syrfs) ((Char
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> SYRFS Double
forall a.
(Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> SYRFS a
SYRFS Char
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.syrfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

sysvx :: Class.Real a => Char -> Char -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray ZeroInt CInt -> Array (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array (ZeroInt,ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a, Int)
sysvx :: Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
sysvx = SYSVX a
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a.
SYSVX a
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
getSYSVX (SYSVX a
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> SYSVX a
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
      Int)
forall a b. (a -> b) -> a -> b
$ SYSVX Float -> SYSVX Double -> SYSVX a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
       Array ZeroInt Float, Int))
-> SYSVX Float
forall a.
(Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> SYSVX a
SYSVX Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Float, Float, Array ZeroInt Float,
      Array ZeroInt Float, Int)
S.sysvx) ((Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
       Array ZeroInt Double, Int))
-> SYSVX Double
forall a.
(Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray ZeroInt CInt
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array (ZeroInt, ZeroInt) a, a, Array ZeroInt a, Array ZeroInt a,
       Int))
-> SYSVX a
SYSVX Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray ZeroInt CInt
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO
     (Array (ZeroInt, ZeroInt) Double, Double, Array ZeroInt Double,
      Array ZeroInt Double, Int)
D.sysvx)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

sytd2 :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
sytd2 :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
sytd2 = SYTD2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
SYTD2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
getSYTD2 (SYTD2 a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SYTD2 a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SYTD2 Float -> SYTD2 Double -> SYTD2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Int))
-> SYTD2 Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SYTD2 a
SYTD2 Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Int)
S.sytd2) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Int))
-> SYTD2 Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SYTD2 a
SYTD2 Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Int)
D.sytd2)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

sytrd :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
sytrd :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
sytrd = SYTRD a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a.
SYTRD a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
getSYTRD (SYTRD a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SYTRD a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ SYTRD Float -> SYTRD Double -> SYTRD a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Int))
-> SYTRD Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SYTRD a
SYTRD Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Int)
S.sytrd) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Int))
-> SYTRD Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int))
-> SYTRD a
SYTRD Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Int)
D.sytrd)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

tbcon :: Class.Real a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> IO (a, Int)
tbcon :: Char
-> Char -> Char -> Int -> Array (ZeroInt, ZeroInt) a -> IO (a, Int)
tbcon = TBCON a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (a, Int)
forall a.
TBCON a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (a, Int)
getTBCON (TBCON a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (a, Int))
-> TBCON a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ TBCON Float -> TBCON Double -> TBCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Float, Int))
-> TBCON Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (a, Int))
-> TBCON a
TBCON Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> IO (Float, Int)
S.tbcon) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Double, Int))
-> TBCON Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> IO (a, Int))
-> TBCON a
TBCON Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> IO (Double, Int)
D.tbcon)


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

tbrfs :: Class.Real a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
tbrfs :: Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
tbrfs = TBRFS a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
TBRFS a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getTBRFS (TBRFS a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TBRFS a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ TBRFS Float -> TBRFS Double -> TBRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> TBRFS Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TBRFS a
TBRFS Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.tbrfs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> TBRFS Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TBRFS a
TBRFS Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.tbrfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


newtype TGEX2 a = TGEX2 {TGEX2 a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO Int
getTGEX2 :: Bool -> Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> IO (Int)}

tgex2 :: Class.Real a => Bool -> Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> Int -> IO (Int)
tgex2 :: Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO Int
tgex2 = TGEX2 a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO Int
forall a.
TGEX2 a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO Int
getTGEX2 (TGEX2 a
 -> Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> TGEX2 a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ TGEX2 Float -> TGEX2 Double -> TGEX2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> TGEX2 Float
forall a.
(Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> TGEX2 a
TGEX2 Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> Int
-> IO Int
S.tgex2) ((Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> TGEX2 Double
forall a.
(Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> Int
 -> IO Int)
-> TGEX2 a
TGEX2 Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> Int
-> IO Int
D.tgex2)


newtype TGEXC a = TGEXC {TGEXC a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Int, Int, Int)
getTGEXC :: Bool -> Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int, Int, Int)}

tgexc :: Class.Real a => Bool -> Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> Int -> IO (Int, Int, Int)
tgexc :: Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Int, Int, Int)
tgexc = TGEXC a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Int, Int, Int)
forall a.
TGEXC a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Int, Int, Int)
getTGEXC (TGEXC a
 -> Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TGEXC a
-> Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> Int
-> IO (Int, Int, Int)
forall a b. (a -> b) -> a -> b
$ TGEXC Float -> TGEXC Double -> TGEXC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TGEXC Float
forall a.
(Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TGEXC a
TGEXC Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> Int
-> IO (Int, Int, Int)
S.tgexc) ((Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TGEXC Double
forall a.
(Bool
 -> Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TGEXC a
TGEXC Bool
-> Bool
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> Int
-> IO (Int, Int, Int)
D.tgexc)


newtype TGSEN a = TGSEN {TGSEN a
-> Int
-> Bool
-> Bool
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
      Array ZeroInt a, Int)
getTGSEN :: Int -> Bool -> Bool -> Array ZeroInt Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Array ZeroInt a, Int)}

tgsen :: Class.Real a => Int -> Bool -> Bool -> Array ZeroInt Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a, Array ZeroInt a, Int)
tgsen :: Int
-> Bool
-> Bool
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
      Array ZeroInt a, Int)
tgsen = TGSEN a
-> Int
-> Bool
-> Bool
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
      Array ZeroInt a, Int)
forall a.
TGSEN a
-> Int
-> Bool
-> Bool
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
      Array ZeroInt a, Int)
getTGSEN (TGSEN a
 -> Int
 -> Bool
 -> Bool
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
       Array ZeroInt a, Int))
-> TGSEN a
-> Int
-> Bool
-> Bool
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO
     (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
      Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ TGSEN Float -> TGSEN Double -> TGSEN a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Bool
 -> Bool
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
       Int, Float, Float, Array ZeroInt Float, Int))
-> TGSEN Float
forall a.
(Int
 -> Bool
 -> Bool
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
       Array ZeroInt a, Int))
-> TGSEN a
TGSEN Int
-> Bool
-> Bool
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Array ZeroInt Float,
      Int, Float, Float, Array ZeroInt Float, Int)
S.tgsen) ((Int
 -> Bool
 -> Bool
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
       Int, Double, Double, Array ZeroInt Double, Int))
-> TGSEN Double
forall a.
(Int
 -> Bool
 -> Bool
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO
      (Array ZeroInt a, Array ZeroInt a, Array ZeroInt a, Int, a, a,
       Array ZeroInt a, Int))
-> TGSEN a
TGSEN Int
-> Bool
-> Bool
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Array ZeroInt Double,
      Int, Double, Double, Array ZeroInt Double, Int)
D.tgsen)


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

tgsja :: Class.Real a => Char -> Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> a -> a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
tgsja :: Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
tgsja = TGSJA a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
forall a.
TGSJA a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
getTGSJA (TGSJA a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TGSJA a
-> Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
forall a b. (a -> b) -> a -> b
$ TGSJA Float -> TGSJA Double -> TGSJA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int, Int))
-> TGSJA Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TGSJA a
TGSJA Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int, Int)
S.tgsja) ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int, Int))
-> TGSJA Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TGSJA a
TGSJA Char
-> Char
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int, Int)
D.tgsja)


newtype TGSNA a = TGSNA {TGSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
getTGSNA :: Char -> Char -> Array ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)}

tgsna :: Class.Real a => Char -> Char -> Array ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
tgsna :: Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
tgsna = TGSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
forall a.
TGSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
getTGSNA (TGSNA a
 -> Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TGSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
forall a b. (a -> b) -> a -> b
$ TGSNA Float -> TGSNA Double -> TGSNA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int, Int))
-> TGSNA Float
forall a.
(Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TGSNA a
TGSNA Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int, Int)
S.tgsna) ((Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int, Int))
-> TGSNA Double
forall a.
(Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TGSNA a
TGSNA Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int, Int)
D.tgsna)


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

tgsy2 :: Class.Real a => Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> a -> a -> IO (a, a, a, Int, Int)
tgsy2 :: Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IO (a, a, a, Int, Int)
tgsy2 = TGSY2 a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IO (a, a, a, Int, Int)
forall a.
TGSY2 a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IO (a, a, a, Int, Int)
getTGSY2 (TGSY2 a
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IO (a, a, a, Int, Int))
-> TGSY2 a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> a
-> a
-> IO (a, a, a, Int, Int)
forall a b. (a -> b) -> a -> b
$ TGSY2 Float -> TGSY2 Double -> TGSY2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Float
 -> Float
 -> IO (Float, Float, Float, Int, Int))
-> TGSY2 Float
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IO (a, a, a, Int, Int))
-> TGSY2 a
TGSY2 Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Float
-> Float
-> IO (Float, Float, Float, Int, Int)
S.tgsy2) ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Double
 -> Double
 -> IO (Double, Double, Double, Int, Int))
-> TGSY2 Double
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> a
 -> a
 -> IO (a, a, a, Int, Int))
-> TGSY2 a
TGSY2 Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Double
-> Double
-> IO (Double, Double, Double, Int, Int)
D.tgsy2)


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

tgsyl :: Class.Real a => Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (a, a, Int)
tgsyl :: Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (a, a, Int)
tgsyl = TGSYL a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (a, a, Int)
forall a.
TGSYL a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (a, a, Int)
getTGSYL (TGSYL a
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (a, a, Int))
-> TGSYL a
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO (a, a, Int)
forall a b. (a -> b) -> a -> b
$ TGSYL Float -> TGSYL Double -> TGSYL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Float, Float, Int))
-> TGSYL Float
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (a, a, Int))
-> TGSYL a
TGSYL Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> IO (Float, Float, Int)
S.tgsyl) ((Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Double, Double, Int))
-> TGSYL Double
forall a.
(Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO (a, a, Int))
-> TGSYL a
TGSYL Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO (Double, Double, Int)
D.tgsyl)


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

tpcon :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt a -> IO (a, Int)
tpcon :: Char -> Char -> Char -> Int -> Array ZeroInt a -> IO (a, Int)
tpcon = TPCON a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> IO (a, Int)
forall a.
TPCON a
-> Char -> Char -> Char -> Int -> Array ZeroInt a -> IO (a, Int)
getTPCON (TPCON a
 -> Char -> Char -> Char -> Int -> Array ZeroInt a -> IO (a, Int))
-> TPCON a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ TPCON Float -> TPCON Double -> TPCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char -> Char -> Int -> Array ZeroInt Float -> IO (Float, Int))
-> TPCON Float
forall a.
(Char -> Char -> Char -> Int -> Array ZeroInt a -> IO (a, Int))
-> TPCON a
TPCON Char
-> Char -> Char -> Int -> Array ZeroInt Float -> IO (Float, Int)
S.tpcon) ((Char
 -> Char -> Char -> Int -> Array ZeroInt Double -> IO (Double, Int))
-> TPCON Double
forall a.
(Char -> Char -> Char -> Int -> Array ZeroInt a -> IO (a, Int))
-> TPCON a
TPCON Char
-> Char -> Char -> Int -> Array ZeroInt Double -> IO (Double, Int)
D.tpcon)


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

tprfs :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
tprfs :: Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
tprfs = TPRFS a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
TPRFS a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getTPRFS (TPRFS a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TPRFS a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ TPRFS Float -> TPRFS Double -> TPRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> TPRFS Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TPRFS a
TPRFS Char
-> Char
-> Char
-> Int
-> Array ZeroInt Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.tprfs) ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> TPRFS Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TPRFS a
TPRFS Char
-> Char
-> Char
-> Int
-> Array ZeroInt Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.tprfs)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

trcon :: Class.Real a => Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> IO (a, Int)
trcon :: Char -> Char -> Char -> Array (ZeroInt, ZeroInt) a -> IO (a, Int)
trcon = TRCON a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IO (a, Int)
forall a.
TRCON a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IO (a, Int)
getTRCON (TRCON a
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> IO (a, Int))
-> TRCON a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ TRCON Float -> TRCON Double -> TRCON a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Float, Int))
-> TRCON Float
forall a.
(Char -> Char -> Char -> Array (ZeroInt, ZeroInt) a -> IO (a, Int))
-> TRCON a
TRCON Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> IO (Float, Int)
S.trcon) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Double, Int))
-> TRCON Double
forall a.
(Char -> Char -> Char -> Array (ZeroInt, ZeroInt) a -> IO (a, Int))
-> TRCON a
TRCON Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> IO (Double, Int)
D.trcon)


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

trevc :: Class.Real a => Char -> Char -> IOArray ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (Int, Int)
trevc :: Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int)
trevc = TREVC a
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int)
forall a.
TREVC a
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int)
getTREVC (TREVC a
 -> Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Int))
-> TREVC a
-> Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ TREVC Float -> TREVC Double -> TREVC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Int, Int))
-> TREVC Float
forall a.
(Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Int))
-> TREVC a
TREVC Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Int, Int)
S.trevc) ((Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Int, Int))
-> TREVC Double
forall a.
(Char
 -> Char
 -> IOArray ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (Int, Int))
-> TREVC a
TREVC Char
-> Char
-> IOArray ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Int, Int)
D.trevc)


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

trexc :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Int, Int, Int)
trexc :: Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Int, Int, Int)
trexc = TREXC a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Int, Int, Int)
forall a.
TREXC a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Int, Int, Int)
getTREXC (TREXC a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TREXC a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Int, Int, Int)
forall a b. (a -> b) -> a -> b
$ TREXC Float -> TREXC Double -> TREXC a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TREXC Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TREXC a
TREXC Char
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO (Int, Int, Int)
S.trexc) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TREXC Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Int, Int, Int))
-> TREXC a
TREXC Char
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO (Int, Int, Int)
D.trexc)


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

trrfs :: Class.Real a => Char -> Char -> Char -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IO (Array ZeroInt a, Array ZeroInt a, Int)
trrfs :: Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
trrfs = TRRFS a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a.
TRRFS a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
getTRRFS (TRRFS a
 -> Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TRRFS a
-> Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IO (Array ZeroInt a, Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ TRRFS Float -> TRRFS Double -> TRRFS a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int))
-> TRRFS Float
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TRRFS a
TRRFS Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int)
S.trrfs) ((Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int))
-> TRRFS Double
forall a.
(Char
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IO (Array ZeroInt a, Array ZeroInt a, Int))
-> TRRFS a
TRRFS Char
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int)
D.trrfs)


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

trsen :: Class.Real a => Char -> Char -> Array ZeroInt Bool -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
trsen :: Char
-> Char
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
trsen = TRSEN a
-> Char
-> Char
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
forall a.
TRSEN a
-> Char
-> Char
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
getTRSEN (TRSEN a
 -> Char
 -> Char
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int))
-> TRSEN a
-> Char
-> Char
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int)
forall a b. (a -> b) -> a -> b
$ TRSEN Float -> TRSEN Double -> TRSEN a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Float, Array ZeroInt Float, Int, Float, Float, Int))
-> TRSEN Float
forall a.
(Char
 -> Char
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int))
-> TRSEN a
TRSEN Char
-> Char
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO
     (Array ZeroInt Float, Array ZeroInt Float, Int, Float, Float, Int)
S.trsen) ((Char
 -> Char
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO
      (Array ZeroInt Double, Array ZeroInt Double, Int, Double, Double,
       Int))
-> TRSEN Double
forall a.
(Char
 -> Char
 -> Array ZeroInt Bool
 -> IOArray (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, a, a, Int))
-> TRSEN a
TRSEN Char
-> Char
-> Array ZeroInt Bool
-> IOArray (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO
     (Array ZeroInt Double, Array ZeroInt Double, Int, Double, Double,
      Int)
D.trsen)


newtype TRSNA a = TRSNA {TRSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
getTRSNA :: Char -> Char -> Array ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)}

trsna :: Class.Real a => Char -> Char -> Array ZeroInt Bool -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> Int -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
trsna :: Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
trsna = TRSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
forall a.
TRSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
getTRSNA (TRSNA a
 -> Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TRSNA a
-> Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> Int
-> Int
-> IO (Array ZeroInt a, Array ZeroInt a, Int, Int)
forall a b. (a -> b) -> a -> b
$ TRSNA Float -> TRSNA Double -> TRSNA a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> Int
 -> IO (Array ZeroInt Float, Array ZeroInt Float, Int, Int))
-> TRSNA Float
forall a.
(Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TRSNA a
TRSNA Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> Int
-> IO (Array ZeroInt Float, Array ZeroInt Float, Int, Int)
S.trsna) ((Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> Int
 -> IO (Array ZeroInt Double, Array ZeroInt Double, Int, Int))
-> TRSNA Double
forall a.
(Char
 -> Char
 -> Array ZeroInt Bool
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> Int
 -> IO (Array ZeroInt a, Array ZeroInt a, Int, Int))
-> TRSNA a
TRSNA Char
-> Char
-> Array ZeroInt Bool
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> Int
-> IO (Array ZeroInt Double, Array ZeroInt Double, Int, Int)
D.trsna)


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

trsyl :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> IO (a, Int)
trsyl :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (a, Int)
trsyl = TRSYL a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (a, Int)
forall a.
TRSYL a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (a, Int)
getTRSYL (TRSYL a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (a, Int))
-> TRSYL a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array (ZeroInt, ZeroInt) a
-> IOArray (ZeroInt, ZeroInt) a
-> IO (a, Int)
forall a b. (a -> b) -> a -> b
$ TRSYL Float -> TRSYL Double -> TRSYL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array (ZeroInt, ZeroInt) Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> IO (Float, Int))
-> TRSYL Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (a, Int))
-> TRSYL a
TRSYL Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Float
-> Array (ZeroInt, ZeroInt) Float
-> IOArray (ZeroInt, ZeroInt) Float
-> IO (Float, Int)
S.trsyl) ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Double
 -> Array (ZeroInt, ZeroInt) Double
 -> IOArray (ZeroInt, ZeroInt) Double
 -> IO (Double, Int))
-> TRSYL Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array (ZeroInt, ZeroInt) a
 -> IOArray (ZeroInt, ZeroInt) a
 -> IO (a, Int))
-> TRSYL a
TRSYL Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array (ZeroInt, ZeroInt) Double
-> IOArray (ZeroInt, ZeroInt) Double
-> IO (Double, Int)
D.trsyl)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

trttf :: Class.Real a => Char -> Char -> Array (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt a, Int)
trttf :: Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
trttf = TRTTF a
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
forall a.
TRTTF a
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
getTRTTF (TRTTF a
 -> Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> TRTTF a
-> Char
-> Char
-> Array (ZeroInt, ZeroInt) a
-> Int
-> IO (Array ZeroInt a, Int)
forall a b. (a -> b) -> a -> b
$ TRTTF Float -> TRTTF Double -> TRTTF a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Float
 -> Int
 -> IO (Array ZeroInt Float, Int))
-> TRTTF Float
forall a.
(Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> TRTTF a
TRTTF Char
-> Char
-> Array (ZeroInt, ZeroInt) Float
-> Int
-> IO (Array ZeroInt Float, Int)
S.trttf) ((Char
 -> Char
 -> Array (ZeroInt, ZeroInt) Double
 -> Int
 -> IO (Array ZeroInt Double, Int))
-> TRTTF Double
forall a.
(Char
 -> Char
 -> Array (ZeroInt, ZeroInt) a
 -> Int
 -> IO (Array ZeroInt a, Int))
-> TRTTF a
TRTTF Char
-> Char
-> Array (ZeroInt, ZeroInt) Double
-> Int
-> IO (Array ZeroInt Double, Int)
D.trttf)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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.Real 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 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((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)


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

org2l :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
org2l :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
org2l = ORG2L a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
ORG2L a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getORG2L (ORG2L a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> ORG2L a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORG2L Float -> ORG2L Double -> ORG2L a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> ORG2L Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORG2L a
ORG2L Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.org2l) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> ORG2L Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORG2L a
ORG2L Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.org2l)


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

org2r :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
org2r :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
org2r = ORG2R a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
ORG2R a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getORG2R (ORG2R a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> ORG2R a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORG2R Float -> ORG2R Double -> ORG2R a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> ORG2R Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORG2R a
ORG2R Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.org2r) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> ORG2R Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORG2R a
ORG2R Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.org2r)


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

orgbr :: Class.Real a => Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
orgbr :: Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
orgbr = ORGBR a
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
ORGBR a
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getORGBR (ORGBR a
 -> Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGBR a
-> Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGBR Float -> ORGBR Double -> ORGBR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> ORGBR Float
forall a.
(Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGBR a
ORGBR 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)
-> ORGBR Double
forall a.
(Char
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGBR a
ORGBR Char
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgbr)


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

orghr :: Class.Real a => Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
orghr :: Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
orghr = ORGHR a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
ORGHR a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getORGHR (ORGHR a
 -> Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGHR a
-> Int
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGHR Float -> ORGHR Double -> ORGHR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> ORGHR Float
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGHR a
ORGHR 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)
-> ORGHR Double
forall a.
(Int
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGHR a
ORGHR Int
-> Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orghr)


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

orgl2 :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
orgl2 :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
orgl2 = ORGL2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
ORGL2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getORGL2 (ORGL2 a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> ORGL2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGL2 Float -> ORGL2 Double -> ORGL2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> ORGL2 Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORGL2 a
ORGL2 Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.orgl2) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> ORGL2 Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORGL2 a
ORGL2 Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.orgl2)


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

orglq :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
orglq :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
orglq = ORGLQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
ORGLQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getORGLQ (ORGLQ a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGLQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGLQ Float -> ORGLQ Double -> ORGLQ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> ORGLQ Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGLQ a
ORGLQ Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orglq) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> ORGLQ Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGLQ a
ORGLQ Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orglq)


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

orgql :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
orgql :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
orgql = ORGQL a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
ORGQL a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getORGQL (ORGQL a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGQL a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGQL Float -> ORGQL Double -> ORGQL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> ORGQL Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGQL a
ORGQL Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orgql) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> ORGQL Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGQL a
ORGQL Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgql)


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

orgqr :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
orgqr :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
orgqr = ORGQR a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
ORGQR a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getORGQR (ORGQR a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGQR a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGQR Float -> ORGQR Double -> ORGQR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> ORGQR Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGQR a
ORGQR Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orgqr) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> ORGQR Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGQR a
ORGQR Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgqr)


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

orgr2 :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IO (Int)
orgr2 :: Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
orgr2 = ORGR2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
forall a.
ORGR2 a
-> Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int
getORGR2 (ORGR2 a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IO Int)
-> ORGR2 a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGR2 Float -> ORGR2 Double -> ORGR2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IO Int)
-> ORGR2 Float
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORGR2 a
ORGR2 Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> IO Int
S.orgr2) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> IO Int)
-> ORGR2 Double
forall a.
(Int -> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> IO Int)
-> ORGR2 a
ORGR2 Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IO Int
D.orgr2)


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

orgrq :: Class.Real a => Int -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
orgrq :: Int
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
orgrq = ORGRQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
ORGRQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getORGRQ (ORGRQ a
 -> Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGRQ a
-> Int
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGRQ Float -> ORGRQ Double -> ORGRQ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Int
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> ORGRQ Float
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGRQ a
ORGRQ Int
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orgrq) ((Int
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> ORGRQ Double
forall a.
(Int
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGRQ a
ORGRQ Int
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgrq)


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

orgtr :: Class.Real a => Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt a -> Int -> IO (Int)
orgtr :: Char
-> IOArray (ZeroInt, ZeroInt) a -> Array ZeroInt a -> Int -> IO Int
orgtr = ORGTR a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a.
ORGTR a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
getORGTR (ORGTR a
 -> Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGTR a
-> Char
-> IOArray (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> Int
-> IO Int
forall a b. (a -> b) -> a -> b
$ ORGTR Float -> ORGTR Double -> ORGTR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> Int
 -> IO Int)
-> ORGTR Float
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGTR a
ORGTR Char
-> IOArray (ZeroInt, ZeroInt) Float
-> Array ZeroInt Float
-> Int
-> IO Int
S.orgtr) ((Char
 -> IOArray (ZeroInt, ZeroInt) Double
 -> Array ZeroInt Double
 -> Int
 -> IO Int)
-> ORGTR Double
forall a.
(Char
 -> IOArray (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> Int
 -> IO Int)
-> ORGTR a
ORGTR Char
-> IOArray (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> Int
-> IO Int
D.orgtr)


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

orm2l :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
orm2l :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
orm2l = ORM2L a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORM2L a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORM2L (ORM2L a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORM2L 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
$ ORM2L Float -> ORM2L Double -> ORM2L a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORM2L Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORM2L a
ORM2L 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)
-> ORM2L Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORM2L a
ORM2L Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.orm2l)


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

orm2r :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
orm2r :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
orm2r = ORM2R a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORM2R a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORM2R (ORM2R a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORM2R 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
$ ORM2R Float -> ORM2R Double -> ORM2R a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORM2R Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORM2R a
ORM2R 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)
-> ORM2R Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORM2R a
ORM2R Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.orm2r)


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

ormbr :: Class.Real a => Char -> Char -> Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormbr :: Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormbr = ORMBR a
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMBR a
-> Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMBR (ORMBR a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMBR 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
$ ORMBR Float -> ORMBR Double -> ORMBR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMBR Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMBR a
ORMBR 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)
-> ORMBR Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMBR a
ORMBR Char
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormbr)


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

ormhr :: Class.Real a => Char -> Char -> Int -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormhr :: Char
-> Char
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormhr = ORMHR a
-> Char
-> Char
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMHR a
-> Char
-> Char
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMHR (ORMHR a
 -> Char
 -> Char
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMHR 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
$ ORMHR Float -> ORMHR Double -> ORMHR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMHR Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMHR a
ORMHR 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)
-> ORMHR Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMHR a
ORMHR Char
-> Char
-> Int
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormhr)


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

orml2 :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
orml2 :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
orml2 = ORML2 a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORML2 a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORML2 (ORML2 a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORML2 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
$ ORML2 Float -> ORML2 Double -> ORML2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORML2 Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORML2 a
ORML2 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)
-> ORML2 Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORML2 a
ORML2 Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.orml2)


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

ormlq :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormlq :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormlq = ORMLQ a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMLQ a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMLQ (ORMLQ a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMLQ 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
$ ORMLQ Float -> ORMLQ Double -> ORMLQ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMLQ Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMLQ a
ORMLQ 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)
-> ORMLQ Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMLQ a
ORMLQ Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormlq)


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

ormql :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormql :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormql = ORMQL a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMQL a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMQL (ORMQL a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMQL 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
$ ORMQL Float -> ORMQL Double -> ORMQL a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMQL Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMQL a
ORMQL 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)
-> ORMQL Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMQL a
ORMQL Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormql)


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

ormqr :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormqr :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormqr = ORMQR a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMQR a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMQR (ORMQR a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMQR 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
$ ORMQR Float -> ORMQR Double -> ORMQR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMQR Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMQR a
ORMQR 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)
-> ORMQR Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMQR a
ORMQR Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormqr)


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

ormr2 :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormr2 :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormr2 = ORMR2 a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMR2 a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMR2 (ORMR2 a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMR2 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
$ ORMR2 Float -> ORMR2 Double -> ORMR2 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMR2 Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMR2 a
ORMR2 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)
-> ORMR2 Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMR2 a
ORMR2 Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormr2)


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

ormr3 :: Class.Real a => Char -> Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormr3 :: Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormr3 = ORMR3 a
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMR3 a
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMR3 (ORMR3 a
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMR3 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
$ ORMR3 Float -> ORMR3 Double -> ORMR3 a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMR3 Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMR3 a
ORMR3 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)
-> ORMR3 Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMR3 a
ORMR3 Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormr3)


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

ormrq :: Class.Real a => Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormrq :: Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormrq = ORMRQ a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMRQ a
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMRQ (ORMRQ a
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMRQ 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
$ ORMRQ Float -> ORMRQ Double -> ORMRQ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMRQ Float
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMRQ a
ORMRQ 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)
-> ORMRQ Double
forall a.
(Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMRQ a
ORMRQ Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormrq)


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

ormrz :: Class.Real a => Char -> Char -> Int -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormrz :: Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormrz = ORMRZ a
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMRZ a
-> Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMRZ (ORMRZ a
 -> Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMRZ 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
$ ORMRZ Float -> ORMRZ Double -> ORMRZ a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMRZ Float
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMRZ a
ORMRZ 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)
-> ORMRZ Double
forall a.
(Char
 -> Char
 -> Int
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMRZ a
ORMRZ Char
-> Char
-> Int
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormrz)


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

ormtr :: Class.Real a => Char -> Char -> Char -> Int -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
ormtr :: Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
ormtr = ORMTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
ORMTR a
-> Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getORMTR (ORMTR a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMTR 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
$ ORMTR Float -> ORMTR Double -> ORMTR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> ORMTR Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMTR a
ORMTR 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)
-> ORMTR Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array (ZeroInt, ZeroInt) a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> ORMTR a
ORMTR Char
-> Char
-> Char
-> Int
-> Array (ZeroInt, ZeroInt) Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.ormtr)


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

opgtr :: Class.Real a => Char -> Int -> Array ZeroInt a -> Array ZeroInt a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)
opgtr :: Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
opgtr = OPGTR a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a.
OPGTR a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
getOPGTR (OPGTR a
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> OPGTR a
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> Int
-> IO (Array (ZeroInt, ZeroInt) a, Int)
forall a b. (a -> b) -> a -> b
$ OPGTR Float -> OPGTR Double -> OPGTR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) Float, Int))
-> OPGTR Float
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> OPGTR a
OPGTR 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))
-> OPGTR Double
forall a.
(Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> Int
 -> IO (Array (ZeroInt, ZeroInt) a, Int))
-> OPGTR a
OPGTR Char
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> Int
-> IO (Array (ZeroInt, ZeroInt) Double, Int)
D.opgtr)


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

opmtr :: Class.Real a => Char -> Char -> Char -> Int -> Array ZeroInt a -> Array ZeroInt a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Int)
opmtr :: Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
opmtr = OPMTR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
forall a.
OPMTR a
-> Char
-> Char
-> Char
-> Int
-> Array ZeroInt a
-> Array ZeroInt a
-> IOArray (ZeroInt, ZeroInt) a
-> Int
-> IO Int
getOPMTR (OPMTR a
 -> Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> OPMTR 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
$ OPMTR Float -> OPMTR Double -> OPMTR a
forall a (f :: * -> *). Real a => f Float -> f Double -> f a
Class.switchReal ((Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt Float
 -> Array ZeroInt Float
 -> IOArray (ZeroInt, ZeroInt) Float
 -> Int
 -> IO Int)
-> OPMTR Float
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> OPMTR a
OPMTR 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)
-> OPMTR Double
forall a.
(Char
 -> Char
 -> Char
 -> Int
 -> Array ZeroInt a
 -> Array ZeroInt a
 -> IOArray (ZeroInt, ZeroInt) a
 -> Int
 -> IO Int)
-> OPMTR a
OPMTR Char
-> Char
-> Char
-> Int
-> Array ZeroInt Double
-> Array ZeroInt Double
-> IOArray (ZeroInt, ZeroInt) Double
-> Int
-> IO Int
D.opmtr)