| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*******************************************************************************
- * Copyright 2004-2022 Intel Corporation.
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you (License). Unless the License provides otherwise, you may not
- * use, modify, copy, publish, distribute, disclose or transmit this software or
- * the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- *******************************************************************************/
- /*
- * Content:
- * Intel(R) oneAPI Math Kernel Library (oneMKL) DSS C header file
- *
- * Contains more detailed information on internal datatypes and
- * constants used by DSS interface to PARDISO.
- *
- ********************************************************************************
- */
- #ifndef __MKL_SPARSE_HANDLE_H
- #define __MKL_SPARSE_HANDLE_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef MKL_CALL_CONV
- # if defined(_WIN32) & !defined(_WIN64)
- # define MKL_CALL_CONV __cdecl
- # else
- # define MKL_CALL_CONV
- # endif
- #endif
- typedef enum { MKL_ZERO_BASED, MKL_ONE_BASED } sparse_matrix_indexing;
- typedef enum { MKL_C_STYLE, MKL_FORTRAN_STYLE } sparse_matrix_print_styles;
- typedef enum { MKL_CSR } sparse_matrix_formats;
- typedef enum { MKL_GENERAL_STRUCTURE, MKL_UPPER_TRIANGULAR, MKL_LOWER_TRIANGULAR, MKL_STRUCTURAL_SYMMETRIC } sparse_matrix_structures;
- typedef enum { MKL_NO_PRINT, MKL_PRINT } sparse_matrix_message_levels;
- typedef enum { MKL_SPARSE_CHECKER_SUCCESS = 0, MKL_SPARSE_CHECKER_NON_MONOTONIC = 21, MKL_SPARSE_CHECKER_OUT_OF_RANGE = 22, MKL_SPARSE_CHECKER_NONTRIANGULAR = 23, MKL_SPARSE_CHECKER_NONORDERED = 24} sparse_checker_error_values;
- typedef struct _sparse_struct {
- MKL_INT n, *csr_ia, *csr_ja, check_result[3];
- sparse_matrix_indexing indexing;
- sparse_matrix_structures matrix_structure;
- sparse_matrix_formats matrix_format;
- sparse_matrix_message_levels message_level;
- sparse_matrix_print_styles print_style;
- } sparse_struct;
- extern void MKL_CALL_CONV sparse_matrix_checker_init (sparse_struct*);
- extern sparse_checker_error_values MKL_CALL_CONV sparse_matrix_checker (sparse_struct*);
- #ifdef __cplusplus
- }
- #endif
- #endif
|