t      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)NoneFIntegral conversionFloating conversionObtain C value from Haskell .Obtain Haskell  from C value.#Convert a C enumeration to Haskell.#Convert a Haskell enumeration to C.Marshalling of complex numbersMarshalling of numerals [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None 1.Error codes used by cuSolver library functions @http://docs.nvidia.com/cuda/cusolver/index.html#cuSolverSPstatus)Raise a CUSolverException in the IO MonadReturn the results of a function on successful execution, otherwise throw an exception with an error string associated with the return codelThrow an exception with an error string associated with an unsuccessful return code, otherwise return unit.AThrow an error if given error code is not CUSPARSE_STATUS_SUCCESS  "!   [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None (S%[An opaque handle to the cuSolverDN context, which is passed to all library function calls. @http://docs.nvidia.com/cuda/cusolver/index.html#cuSolverDNhandle(This function initializes the cuSolverDN library and creates a handle to the cuSolverDN context. It must be called before any other cuSolverDN API function is invoked. It allocates hardware resources necessary for accessing the GPU. @http://docs.nvidia.com/cuda/cusolver/index.html#cuSolverDNcreate)@This function releases resources used by the cuSolverDN library. Ahttp://docs.nvidia.com/cuda/cusolver/index.html#cuSolverDNdestroy%&'()%&'()%&'[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None .*Sets the execution stream which all subsequent cuSolverDn library functions will execute with. If not set, functions execute in the default stream (which never overlaps any other operations). =http://docs.nvidia.com/cuda/cusolver/index.html#cudssetstream** [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None E0 [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None EGIIndicates which (internal) algorithm is used for refactorisation in the  routine. Ghttp://docs.nvidia.com/cuda/cusolver/index.html#cusolverRfFactorization/Indicates whether fast mode should be used in #. Fast mode requires extra memory. Mhttp://docs.nvidia.com/cuda/cusolver/index.html#cusolverRfResetValuesFastModeQIndicates whether numeric boosting of the pivot was used during refactorisation. Lhttp://docs.nvidia.com/cuda/cusolver/index.html#cusolverRfNumericBoostReport(Indicates the input/output matrix format Fhttp://docs.nvidia.com/cuda/cusolver/index.html#cusolverRfMatrixFormat+6This type indicates whether eigenvectors are computed. ?http://docs.nvidia.com/cuda/cusolver/index.html#cusolverEigMode.This type indicates which type of eigenvalue solver is used. It corresponds to the parameters used by legacy LAPACK implementations:EigType1:  A*x = lambda*B*x EigType2:  A*B*x = lambda*x EigType3:  B*A*x = lambda*x  ?http://docs.nvidia.com/cuda/cusolver/index.html#cusolverEigTypeOIndicates which (internal) algorithm is used for the triangular solve routine . Ihttp://docs.nvidia.com/cuda/cusolver/index.html#cusolverRfTriangularSolve`Indicates whether and where the unit diagonal is stored in the input/output triangular factors. Fhttp://docs.nvidia.com/cuda/cusolver/index.html#cusolverRfUnitDiagonal+       +,-./01     +,-./01[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None K6? %23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi?% 23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None OKR %+,-./01jklmnopqrstuvwxyz{|}~R% +,-./01jklmnopqrstuvwxyz{|}~[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)NoneS  %&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None EX [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None dW[An opaque handle to the cuSolverSP context, which is passed to all library function calls. @http://docs.nvidia.com/cuda/cusolver/index.html#cuSolverSPhandleThis function initializes the cuSolverSP library and creates a handle to the cuSolverSP context. It must be called before any other cuSolverSP API function is invoked. It allocates hardware resources necessary for accessing the GPU. ?http://docs.nvidia.com/cuda/cusolver/index.html#cusolverecreate@This function releases resources used by the cuSolverSP library. ?http://docs.nvidia.com/cuda/cusolver/index.html#cusparsedestroy[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None f  [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None i63 3 [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None qSets the execution stream which all subsequent cuSolverSp library functions will execute with. If not set, functions execute in the default stream (which never overlaps any other operations). Ahttp://docs.nvidia.com/cuda/cusolver/index.html#cusparsesetstream[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)Nones`  !"#$%&'()*+,-./0123456789:;<==>?@A B C D E F G HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~==>?@     A                !" !           ! " # $ % & ' ( )*'cusolver-0.1.0.0-LhkH5ODNOoA3ALAHfibOfj$Foreign.CUDA.Solver.Dense.Eigenvalue Foreign.CUDA.Solver.Dense.LinearForeign.CUDA.Solver.Sparse.HighForeign.CUDA.Solver.Error!Foreign.CUDA.Solver.Dense.Context Foreign.CUDA.Solver.Dense.Stream#Foreign.CUDA.Solver.Sparse.Analysis"Foreign.CUDA.Solver.Sparse.ContextForeign.CUDA.Solver.Sparse.Low!Foreign.CUDA.Solver.Sparse.Stream!Foreign.CUDA.Solver.Internal.C2HS"Foreign.CUDA.Solver.Dense.Analysis"Foreign.CUDA.Solver.Internal.Types#Foreign.CUDA.Solver.Refactorisationrefactor resetValuestriangularSolveForeign.CUDA.Solver.DenseForeign.CUDA.Solver.Sparse%cublas-0.3.0.0-8cUpxu7MN5p6TocqzYR5Vl Foreign.CUDA.BLAS.Internal.TypesCTN OperationUpperLowerFillRightLeftSide'cusparse-0.1.0.0-2904DxIwFouIsqlsAnejjQ*Foreign.CUDA.BLAS.Sparse.Matrix.DescriptorMatrixDescriptorCUSolverExceptionExitCode UserErrorStatusSuccessNotInitialized AllocFailed InvalidValue ArchMismatch MappingErrorExecutionFailed InternalErrorMatrixTypeNotSupported NotSupported ZeroPivotInvalidLicensedescribe cusolverError resultIfOk nothingIfOk checkStatus $fEnumStatus$fShowCUSolverException$fExceptionCUSolverException $fEqStatus $fShowStatusHandle useHandlecreatedestroy setStreamEigModeNoVectorVectorEigTypeEigType1EigType2EigType3spotrf_bufferSizedpotrf_bufferSizecpotrf_bufferSizezpotrf_bufferSizespotrfdpotrfcpotrfzpotrfspotrsdpotrscpotrszpotrssgetrf_bufferSizedgetrf_bufferSizecgetrf_bufferSizezgetrf_bufferSizesgetrfdgetrfcgetrfzgetrfsgetrsdgetrscgetrszgetrssgeqrf_bufferSizedgeqrf_bufferSizecgeqrf_bufferSizezgeqrf_bufferSizesgeqrfdgeqrfcgeqrfzgeqrfsormqrdormqrcunmqrzunmqrssytrf_bufferSizedsytrf_bufferSizecsytrf_bufferSizezsytrf_bufferSizessytrfdsytrfcsytrfzsytrfsorgqr_bufferSizedorgqr_bufferSizecungqr_bufferSizezungqr_bufferSizesorgqrdorgqrcungqrzungqrsormqr_bufferSizedormqr_bufferSizecunmqr_bufferSizezunmqr_bufferSizesgebrd_bufferSizedgebrd_bufferSizecgebrd_bufferSizezgebrd_bufferSizesgebrddgebrdcgebrdzgebrdsgesvd_bufferSizedgesvd_bufferSizecgesvd_bufferSizezgesvd_bufferSizesgesvddgesvdcgesvdzgesvdsorgbr_bufferSizedorgbr_bufferSizecungbr_bufferSizezungbr_bufferSizesorgbrdorgbrcungbrzungbrssytrd_bufferSizedsytrd_bufferSizechetrd_bufferSizezhetrd_bufferSizessytrddsytrdchetrdzhetrdsormtr_bufferSizedormtr_bufferSizecunmtr_bufferSizezunmtr_bufferSizesormtrdormtrcunmtrzunmtrsorgtr_bufferSizedorgtr_bufferSizecungtr_bufferSizezungtr_bufferSizesorgtrdorgtrcungtrzungtrssyevd_bufferSizedsyevd_bufferSizecheevd_bufferSizezheevd_bufferSizessyevddsyevdcheevdzheevdssygvd_bufferSizedsygvd_bufferSizechegvd_bufferSizezhegvd_bufferSizessygvddsygvdchegvdzhegvd Info_csrcholuseInfo_csrchol Info_csrqr useInfo_csrqrcreateInfo_csrqrdestroyInfo_csrqrcreateInfo_csrcholdestroyInfo_csrchol scsrlsvqr dcsrlsvqr ccsrlsvqr zcsrlsvqr scsrlsvchol dcsrlsvchol ccsrlsvchol zcsrlsvchol scsreigvsi dcsreigvsi ccsreigvsi zcsreigvsixcsrqrAnalysisBatchedscsrqrBufferInfoBatcheddcsrqrBufferInfoBatchedccsrqrBufferInfoBatchedzcsrqrBufferInfoBatchedscsrqrsvBatcheddcsrqrsvBatchedccsrqrsvBatchedzcsrqrsvBatchedxcsrqrAnalysisscsrqrBufferInfodcsrqrBufferInfoccsrqrBufferInfozcsrqrBufferInfo scsrqrSetup dcsrqrSetup ccsrqrSetup zcsrqrSetup scsrqrFactor dcsrqrFactor ccsrqrFactor zcsrqrFactorscsrqrZeroPivotdcsrqrZeroPivotccsrqrZeroPivotzcsrqrZeroPivot scsrqrSolve dcsrqrSolve ccsrqrSolve zcsrqrSolvexcsrcholAnalysisscsrcholBufferInfodcsrcholBufferInfoccsrcholBufferInfozcsrcholBufferInfoscsrcholFactordcsrcholFactorccsrcholFactorzcsrcholFactorscsrcholZeroPivotdcsrcholZeroPivotccsrcholZeroPivotzcsrcholZeroPivot scsrcholSolve dcsrcholSolve ccsrcholSolve zcsrcholSolvecIntConv cFloatConv cFromBoolghc-prim GHC.TypesBoolcToBoolcToEnum cFromEnum withComplex peekIntConv peekFloatConvFactorizationAlgorithm ResetFastMode NumericBoost MatrixFormat$fEnumFactorizationAlgorithm$fEnumTriangularSolveAlgorithm useMatDescr UnitDiagonalStoredLStoredUAssumedLAssumedUTriangularSolveAlgorithmTriangularSolveAlg0TriangularSolveAlg1TriangularSolveAlg2TriangularSolveAlg3FactorizationAlg0FactorizationAlg1FactorizationAlg2 FastModeOff FastModeOn BoostNotUsed BoostUsedCSRCSC