/// <summary>
		/// </summary>
		public CudaSparseCsrilu02Info()
		{
			_info = new csrilu02Info();
			res = CudaSparseNativeMethods.cusparseCreateCsrilu02Info(ref _info);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cusparseCreateCsrilu02Info", res));
			if (res != cusparseStatus.Success)
				throw new CudaSparseException(res);
		}
 /// <summary>
 /// </summary>
 public CudaSparseCsrilu02Info()
 {
     _info = new csrilu02Info();
     res   = CudaSparseNativeMethods.cusparseCreateCsrilu02Info(ref _info);
     Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cusparseCreateCsrilu02Info", res));
     if (res != cusparseStatus.Success)
     {
         throw new CudaSparseException(res);
     }
 }
		public static extern cusparseStatus cusparseZcsrilu02(cusparseContext handle,
                                               int m,
                                               int nnz,
                                               cusparseMatDescr descrA,
											   CUdeviceptr csrValA_valM,
                                               /* matrix A values are updated inplace 
                                                  to be the preconditioner M values */
											   CUdeviceptr csrRowPtrA,
											   CUdeviceptr csrColIndA,
                                               csrilu02Info info,
                                               cusparseSolvePolicy policy,
                                               CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZcsrilu02_analysis(cusparseContext handle,
                                                        int m,
                                                        int nnz,
                                                        cusparseMatDescr descrA,
														CUdeviceptr csrValA,
														CUdeviceptr csrRowPtrA,
														CUdeviceptr csrColIndA,
                                                        csrilu02Info info,
                                                        cusparseSolvePolicy policy,
                                                        CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZcsrilu02_bufferSizeExt(cusparseContext handle,
														  int m,
														  int nnz,
														  cusparseMatDescr descrA,
														  CUdeviceptr csrValA,
														  CUdeviceptr csrRowPtrA,
														  CUdeviceptr csrColIndA,
														  csrilu02Info info,
														  ref SizeT pBufferSize);
		public static extern cusparseStatus cusparseXcsrilu02_zeroPivot(cusparseContext handle,
                                                         csrilu02Info info,
                                                         CUdeviceptr position);
		public static extern cusparseStatus cusparseZcsrilu02_numericBoost(cusparseContext handle,
                                                            csrilu02Info info,
                                                            int enable_boost,    
                                                            CUdeviceptr tol,
                                                            CUdeviceptr boost_val);
		public static extern cusparseStatus cusparseZcsrilu02_numericBoost(cusparseContext handle,
                                                            csrilu02Info info,
                                                            int enable_boost,    
                                                            ref double tol,
                                                            ref cuDoubleComplex boost_val);
		public static extern cusparseStatus cusparseDestroyCsrilu02Info(csrilu02Info info);
		public static extern cusparseStatus cusparseCreateCsrilu02Info(ref csrilu02Info info);