1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2009 - DIGITEO - Antoine ELIAS
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
*/
#ifndef __SAPRSE_API__
#define __SAPRSE_API__
#ifdef __cplusplus
extern "C" {
#endif
/*****************************/
/* sparse matrix functions */
/*****************************/
/**
* Get sparse variable data
* @param[in] _piAddress variable address
* @param[out] _piRows return number of row
* @param[out] _piCols return number of column
* @param[in] _iNbItem Number of item
* @param[out] _piNbItemRow return array of number of item for each row
* @param[out] _piColPos return array of item column position ( 1 indexed )
* @param[out] _pdblReal return pointer on real data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr getSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
/**
* Get sparse variable data
* @param[in] _piAddress variable address
* @param[out] _piRows return number of row
* @param[out] _piCols return number of column
* @param[in] _iNbItem Number of item
* @param[out] _piNbItemRow return array of number of item for each row
* @param[out] _piColPos return array of item column position ( 1 indexed )
* @param[out] _pdblReal return pointer on real data
* @param[out] _pdblImg return pointer on img data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr getComplexSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
/**
* alloc sparse variable data
* @param[in] _iVar variable number
* @param[in] _iRows Number of row
* @param[in] _iCols Number of column
* @param[in] _iNbItem Number of item
* @param[out] _piNbItemRow return array of number of item for each row
* @param[out] _piColPos return array of item column position ( 1 indexed )
* @param[out] _pdblReal return pointer on data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr allocSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
/**
* alloc sparse variable data
* @param[in] _iVar variable number
* @param[in] _iRows Number of row
* @param[in] _iCols Number of column
* @param[in] _iNbItem Number of item
* @param[out] _piNbItemRow return array of number of item for each row
* @param[out] _piColPos return array of item column position ( 1 indexed )
* @param[out] _pdblReal return pointer on data
* @param[out] _pdblImg return pointer on img data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr allocComplexSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
/**
* Create sparse variable
* @param[in] _iVar variable number
* @param[in] _iRows Number of row
* @param[in] _iCols Number of column
* @param[in] _iNbItem Number of item
* @param[in] _piNbItemRow array of number of item for each row
* @param[in] _piColPos array of item column position ( 1 indexed )
* @param[in] _pdblReal pointer on data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr createSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
/**
* Create sparse variable
* @param[in] _iVar variable number
* @param[in] _iRows Number of row
* @param[in] _iCols Number of column
* @param[in] _iNbItem Number of item
* @param[in] _piNbItemRow array of number of item for each row
* @param[in] _piColPos array of item column position ( 1 indexed )
* @param[in] _pdblReal pointer on real data
* @param[out] _pdblImg pointer on img data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr createComplexSparseMatrix(void* _pvCtx, int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
/**
* Create named sparse variable
* @param[in] _pstName variable name
* @param[in] _iRows Number of row
* @param[in] _iCols Number of column
* @param[in] _iNbItem Number of item
* @param[in] _piNbItemRow array of number of item for each row
* @param[in] _piColPos array of item column position ( 1 indexed )
* @param[in] _pdblReal pointer on data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr createNamedSparseMatrix(void* _pvCtx, char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
/**
* Create named sparse variable
* @param[in] _pstName variable name
* @param[in] _iRows Number of row
* @param[in] _iCols Number of column
* @param[in] _iNbItem Number of item
* @param[in] _piNbItemRow array of number of item for each row
* @param[in] _piColPos array of item column position ( 1 indexed )
* @param[in] _pdblReal pointer on real data
* @param[out] _pdblImg pointer on img data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr createNamedComplexSparseMatrix(void* _pvCtx, char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
/**
* Read named sparse variable
* @param[in] _pstName variable name
* @param[out] _piRows return number of row
* @param[out] _piCols return number of column
* @param[out] _piNbItem return number of item
* @param[out] _piNbItemRow return array of number of item for each row
* @param[out] _piColPos return array of item column position ( 1 indexed )
* @param[out] _pdblReal pointer on data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr readNamedSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
/**
* Read named sparse variable
* @param[in] _pstName variable name
* @param[out] _piRows return number of row
* @param[out] _piCols return number of column
* @param[out] _piNbItem return number of item
* @param[out] _piNbItemRow return array of number of item for each row
* @param[out] _piColPos return array of item column position ( 1 indexed )
* @param[out] _pdblReal pointer on real data
* @param[out] _pdblImg pointer on img data
* @return if the operation successed (0) or not ( !0 )
*/
SciErr readNamedComplexSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
#ifdef __cplusplus
}
#endif
#endif /* __SAPRSE_API__ */
|