ݩm       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+, - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                       [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None u Integral conversion Floating 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 cuSPARSE library functions ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsestatust)Raise a CUSparseException 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 @uFor functions which take scalar value arguments, determines whether those values are passed by reference on the host or device. Ehttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsepointermode_taAn opaque handle to the cuSPARSE library context, which is passed to all library function calls. ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsehandletThis function initializes the cuSPARSE library and creates a handle on the cuSPARSE context. It must be called before any other cuSPARSE API function is invoked. It allocates hardware resources necessary for accessing the GPU. >http://docs.nvidia.com/cuda/cusparse/index.html#cusparsecreateThis function releases CPU-side resources used by the cuSPARSE library. The release of GPU-side resources may be deferred until the application shuts down. ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsedestroy 8Set the pointer mode used by cuSPARSE library functions.GThe default mode is for values to be passed by reference from the host. Fhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetpointermode!RGet the pointer mode used by cuSPARSE library functions to pass scalar arguments. Fhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetpointermode  !  ![2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None ER + =http://docs.nvidia.com/cuda/cusparse/index.html#csrgemm2infot. =http://docs.nvidia.com/cuda/cusparse/index.html#bsrilu02infot1 <http://docs.nvidia.com/cuda/cusparse/index.html#bsric02infot4 ;http://docs.nvidia.com/cuda/cusparse/index.html#bsrsvminfot7 ;http://docs.nvidia.com/cuda/cusparse/index.html#bsrsv2infot: =http://docs.nvidia.com/cuda/cusparse/index.html#csrilu02infot= <http://docs.nvidia.com/cuda/cusparse/index.html#csric02infot@ ;http://docs.nvidia.com/cuda/cusparse/index.html#csrsv2infotCAn opaque structure holding the information collected in the analysis phase of the solution of the sparse triangular linear system. Jhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsesolveanalysisinfotFICreate and initialise the solve and analysis structure to default values. Ohttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsecreatesolveanalysisinfoG9Release memory associated with a matrix solver structure. Phttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsedestroysolveanalysisinfo7%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[7CDEFG@ABHI=>?JK:;<LM789NO456PQ123RS./0TU+,-VW()*XY%&'Z[ %&'()*+,-./0123456789:;<=>?@ABCDE[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)Safe Efh\FIndicates whether level information is used by some solver algorithms. Ehttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsesolvepolicy_t_?Specify the algorithm to use, for example used in the routine  @http://docs.nvidia.com/cuda/cusparse/index.html#cusparse-csrmvExcsrmvEx.b.Used to specify the type of data underlying a void*2 pointer. For example, it is used in the routine  @http://docs.nvidia.com/cuda/cusparse/index.html#cusparse-csrmvExcsrmvEx.qGIndicates which operations need to be performed with the sparse matrix.N: no transpose selectedT: transpose operationC: conjugate transpose Bhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparseoperationtu@Indicates the underlying storage model for elements of matrices. Bhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsedirectiontxIThis type indicates whether the operation is performed only on indices (y) or on data and indices (z). ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparseactiont\^]_a`bponmlkjihgfedcqsrtuwvxyz\]^_`abcdefghijklmnopqrstuvwxyz[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None {Indicates the type of matrix. Chttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsematrixtypetDIndicates whether indexing of matrix elements starts at zero or one. Bhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparseindexbasetIIndicates whether the upper or lower part of the sparse matrix is stored. Ahttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsefillmodetIndicates whether the diagonal elements of the matrix are unity. The diagonal elements are always assumed to be present, but if  is passed to an API routine, then the routine assumes that all diagonal entries are unity and will not read or modify those entries. Ahttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsediagtypetEAn opaque type used to describe the shape and properties of a matrix. Ahttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsematdescrt3Release memory associated with a matrix descriptor. Ghttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsedestroymatdescrGet the % type field of the matrix descriptor. Fhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmatdiagtypeGet the  mode of the matrix descriptor. Fhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmatfillmodeGet the  mode of the matrix descriptor. Ghttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmatindexbaseGet the { mode of the matrix descriptor. Bhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmattypeSet the % type field of the matrix descriptor. Fhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmatdiagtypeSet the  mode of the matrix descriptor. Fhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmatfillmodeSet the  mode of the matrix descriptor. Ghttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmatindexbaseSet the { mode of the matrix descriptor. Bhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmattype1Create a new matrix descriptor, with matrix type | and index base +, while leaving other fields uninitialised. Fhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsecreatematdescr{|}~{|}~{|}~[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None xIndicates how to perform the partitioning of the matrix into regular (ELL) and irregular (COO) parts of the HYB format. Ehttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsehybpartitiont>An opaque structure holding the matrix in hybrid (HYB) format. ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsehybmatt$Create a new (opaque) hybrid matrix. Dhttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsecreatehybmat?Destroy and release any memory associated with a hybrid matrix. Ehttp://docs.nvidia.com/cuda/cusparse/index.html#cusparsedestroyhybmat [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None ?+4C\]^qtrs?qrst\]^C4+[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None k7@C\]^_`abcdefghijklmnopqtrsuvw      !"#$%&'()*+kqrstuvwbcdefghijklmnop_`a\]^C7@      !"#$%&'()*+ [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None ),-./0123456789:;<=>?@ABC,-./0123456789:;<=>?@ABC[2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None ~%uvwxzyDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~uvwxyz%DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None +a.1:=C\]^qtrsuvwaqrstuvw\]^C=:1. [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None P(  (  [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None  Sets the execution stream which all subsequent cuSPARSE 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/cusparse/index.html#cusparsesetstream  [2017] Trevor L. McDonellBSD3.Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> experimentalnon-portable (GHC extensions)None  !%&'()*+,./01234578:;<=>?@ACDFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqtrsuvwxzy{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    !"#$%&'()*++,-./0123445667889::;<<=>>?@@ABBCDDEFFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,- . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                               'cusparse-0.1.0.0-2904DxIwFouIsqlsAnejjQForeign.CUDA.BLAS.Sparse.Error Foreign.CUDA.BLAS.Sparse.Context!Foreign.CUDA.BLAS.Sparse.AnalysisForeign.CUDA.BLAS.Sparse.Level3Foreign.CUDA.BLAS.Sparse.Level2 Foreign.CUDA.BLAS.Sparse.Convert*Foreign.CUDA.BLAS.Sparse.Matrix.Descriptor&Foreign.CUDA.BLAS.Sparse.Matrix.HybridForeign.CUDA.BLAS.Sparse.Level1%Foreign.CUDA.BLAS.Sparse.Precondition Foreign.CUDA.BLAS.Sparse.ReorderForeign.CUDA.BLAS.Sparse.Stream&Foreign.CUDA.BLAS.Sparse.Internal.C2HS'Foreign.CUDA.BLAS.Sparse.Internal.TypesForeign.CUDA.BLAS.SparseCUSparseExceptionExitCode UserErrorStatusSuccessNotInitialized AllocFailed InvalidValue ArchMismatch MappingErrorExecutionFailed InternalErrorMatrixTypeNotSupported ZeroPivotdescribe cusparseError resultIfOk nothingIfOk checkStatus $fEnumStatus$fShowCUSparseException$fExceptionCUSparseException $fEqStatus $fShowStatus PointerModeHostDeviceHandle useHandlecreatedestroysetPointerModegetPointerMode$fEnumPointerMode$fEqPointerMode$fShowPointerMode Info_csru2csruseInfo_csru2csr Info_color useInfo_color Info_csrgemm2useInfo_csrgemm2 Info_bsrilu02useInfo_bsrilu02 Info_bsric02useInfo_bsric02 Info_bsrsm2useInfo_bsrsm2 Info_bsrsv2useInfo_bsrsv2 Info_csrilu02useInfo_csrilu02 Info_csric02useInfo_csric02 Info_csrsv2useInfo_csrsv2InfouseInfo createInfo destroyInfocreateInfo_csrsv2destroyInfo_csrsv2createInfo_csric02destroyInfo_csric02createInfo_csrilu02destroyInfo_csrilu02createInfo_bsrsv2destroyInfo_bsrsv2createInfo_bsrsm2destroyInfo_bsrsm2createInfo_bsric02destroyInfo_bsric02createInfo_bsrilu02destroyInfo_bsrilu02createInfo_csrgemm2destroyInfo_csrgemm2createInfo_colordestroyInfo_colorcreateInfo_csru2csrdestroyInfo_csru2csrPolicyNoLevelUseLevel AlgorithmAlg0Alg1TypeR32fR64fR16fR8iC32fC64fC16fC8iR8uC8uR32iC32iR32uC32u OperationNTC DirectionRowColumnActionSymbolicNumeric MatrixTypeGeneral Symmetric Hermitian Triangular IndexBaseZeroOneFillLowerUpperDiagonalNonUnitUnitMatrixDescriptor useMatDescrcreateMatDescrdestroyMatDescr getDiagonal getFillMode getIndexBase getMatrixType setDiagonal setFillMode setIndexBase setMatrixType$fEnumDiagonal $fEnumFill$fEnumIndexBase$fEnumMatrixType $fEqDiagonal$fShowDiagonal$fEqFill $fShowFill $fEqIndexBase$fShowIndexBase$fEqMatrixType$fShowMatrixTypeHybridPartitionAutoUserMaxHybriduseHYB createHYB destroyHYB$fEnumHybridPartition$fEqHybridPartition$fShowHybridPartitionscsrmmdcsrmmccsrmmzcsrmmscsrmm2dcsrmm2ccsrmm2zcsrmm2scsrsm_analysisdcsrsm_analysisccsrsm_analysiszcsrsm_analysis scsrsm_solve dcsrsm_solve ccsrsm_solve zcsrsm_solvesbsrmmdbsrmmcbsrmmzbsrmmsbsrsm2_bufferSizedbsrsm2_bufferSizecbsrsm2_bufferSizezbsrsm2_bufferSizesbsrsm2_analysisdbsrsm2_analysiscbsrsm2_analysiszbsrsm2_analysis sbsrsm2_solve dbsrsm2_solve cbsrsm2_solve zbsrsm2_solvexbsrsm2_zeroPivot xcsrgeamNnzscsrgeamdcsrgeamccsrgeamzcsrgeam xcsrgemmNnzscsrgemmdcsrgemmccsrgemmzcsrgemmscsrgemm2_bufferSizeExtdcsrgemm2_bufferSizeExtccsrgemm2_bufferSizeExtzcsrgemm2_bufferSizeExt xcsrgemm2Nnz scsrgemm2 dcsrgemm2 ccsrgemm2 zcsrgemm2sbsrmvdbsrmvcbsrmvzbsrmvsbsrxmvdbsrxmvcbsrxmvzbsrxmvscsrmvdcsrmvccsrmvzcsrmvsbsrsv2_bufferSizedbsrsv2_bufferSizecbsrsv2_bufferSizezbsrsv2_bufferSizesbsrsv2_analysisdbsrsv2_analysiscbsrsv2_analysiszbsrsv2_analysis sbsrsv2_solve dbsrsv2_solve cbsrsv2_solve zbsrsv2_solvexbsrsv2_zeroPivotscsrsv_analysisdcsrsv_analysisccsrsv_analysiszcsrsv_analysis scsrsv_solve dcsrsv_solve ccsrsv_solve zcsrsv_solvescsrsv2_bufferSizedcsrsv2_bufferSizeccsrsv2_bufferSizezcsrsv2_bufferSizescsrsv2_analysisdcsrsv2_analysisccsrsv2_analysiszcsrsv2_analysis scsrsv2_solve dcsrsv2_solve ccsrsv2_solve zcsrsv2_solvexcsrsv2_zeroPivotshybmvdhybmvchybmvzhybmvshybsv_analysisdhybsv_analysischybsv_analysiszhybsv_analysis shybsv_solve dhybsv_solve chybsv_solve zhybsv_solvesgemvidgemvicgemvizgemvisgemvi_bufferSizedgemvi_bufferSizecgemvi_bufferSizezgemvi_bufferSizecsrmvExcsrmvEx_bufferSize scsrmv_mp dcsrmv_mp ccsrmv_mp zcsrmv_mpcsrsv_analysisEx csrsv_solveExsaxpyidaxpyicaxpyizaxpyisdotiddoticdotizdoticdotcizdotcisgthrdgthrcgthrzgthrsgthrzdgthrzcgthrzzgthrzsrotidrotissctrdsctrcsctrzsctrsbsr2csrdbsr2csrcbsr2csrzbsr2csrsgebsr2gebsc_bufferSizedgebsr2gebsc_bufferSizecgebsr2gebsc_bufferSizezgebsr2gebsc_bufferSize sgebsr2gebsc dgebsr2gebsc cgebsr2gebsc zgebsr2gebscsgebsr2gebsr_bufferSizedgebsr2gebsr_bufferSizecgebsr2gebsr_bufferSizezgebsr2gebsr_bufferSize sgebsr2gebsr dgebsr2gebsr cgebsr2gebsr zgebsr2gebsrxgebsr2gebsrNnz sgebsr2csr dgebsr2csr cgebsr2csr zgebsr2csrscsr2gebsr_bufferSizedcsr2gebsr_bufferSizeccsr2gebsr_bufferSizezcsr2gebsr_bufferSize scsr2gebsr dcsr2gebsr ccsr2gebsr zcsr2gebsr xcsr2gebsrNnzxcoo2csr scsc2dense dcsc2dense ccsc2dense zcsc2densescsc2hybdcsc2hybccsc2hybzcsc2hybscsr2bsrdcsr2bsrccsr2bsrzcsr2bsr xcsr2bsrNnzxcsr2cooscsr2cscdcsr2cscccsr2csczcsr2csc scsr2dense dcsr2dense ccsr2dense zcsr2densescsr2hybdcsr2hybccsr2hybzcsr2hyb sdense2csc ddense2csc cdense2csc zdense2csc sdense2csr ddense2csr cdense2csr zdense2csr sdense2hyb ddense2hyb cdense2hyb zdense2hybshyb2cscdhyb2cscchyb2csczhyb2cscshyb2csrdhyb2csrchyb2csrzhyb2csr shyb2dense dhyb2dense chyb2dense zhyb2densesnnzdnnzcnnzznnzcreateIdentityPermutationxcoosort_bufferSizeExt xcoosortByRowxcoosortByColumnxcsrsort_bufferSizeExtxcsrsortxcscsort_bufferSizeExtxcscsortscsru2csr_bufferSizeExtdcsru2csr_bufferSizeExtccsru2csr_bufferSizeExtzcsru2csr_bufferSizeExt scsru2csr dcsru2csr ccsru2csr zcsru2csr scsr2csru dcsr2csru ccsr2csru zcsr2csru csr2cscExscsr2csr_compressdcsr2csr_compressccsr2csr_compresszcsr2csr_compressscsric0dcsric0ccsric0zcsric0scsric02_bufferSizedcsric02_bufferSizeccsric02_bufferSizezcsric02_bufferSizescsric02_analysisdcsric02_analysisccsric02_analysiszcsric02_analysisscsric02dcsric02ccsric02zcsric02xcsric02_zeroPivotscsrilu0dcsrilu0ccsrilu0zcsrilu0scsrilu02_numericBoostdcsrilu02_numericBoostccsrilu02_numericBoostzcsrilu02_numericBoostscsrilu02_bufferSizedcsrilu02_bufferSizeccsrilu02_bufferSizezcsrilu02_bufferSizescsrilu02_analysisdcsrilu02_analysisccsrilu02_analysiszcsrilu02_analysis scsrilu02 dcsrilu02 ccsrilu02 zcsrilu02xcsrilu02_zeroPivotsbsric02_bufferSizedbsric02_bufferSizecbsric02_bufferSizezbsric02_bufferSizesbsric02_analysisdbsric02_analysiscbsric02_analysiszbsric02_analysissbsric02dbsric02cbsric02zbsric02xbsric02_zeroPivotsbsrilu02_numericBoostdbsrilu02_numericBoostcbsrilu02_numericBoostzbsrilu02_numericBoostsbsrilu02_bufferSizedbsrilu02_bufferSizecbsrilu02_bufferSizezbsrilu02_bufferSizesbsrilu02_analysisdbsrilu02_analysiscbsrilu02_analysiszbsrilu02_analysis sbsrilu02 dbsrilu02 cbsrilu02 zbsrilu02xbsrilu02_zeroPivotsgtsvdgtsvcgtsvzgtsv sgtsv_nopivot dgtsv_nopivot cgtsv_nopivot zgtsv_nopivotsgtsvStridedBatchdgtsvStridedBatchcgtsvStridedBatchzgtsvStridedBatch csrilu0Ex scsrcolor dcsrcolor ccsrcolor zcsrcolor setStreamcIntConv cFloatConv cFromBoolghc-prim GHC.TypesBoolcToBoolcToEnum cFromEnum withComplex peekIntConv peekFloatConv