remove parameter _iNameLen in 'named' functions
antoine ELIAS [Thu, 2 Jul 2009 08:01:35 +0000 (10:01 +0200)]
24 files changed:
scilab/modules/core/includes/api_boolean.h
scilab/modules/core/includes/api_common.h
scilab/modules/core/includes/api_double.h
scilab/modules/core/includes/api_int.h
scilab/modules/core/includes/api_list.h
scilab/modules/core/includes/api_poly.h
scilab/modules/core/includes/api_sparse.h
scilab/modules/core/includes/api_string.h
scilab/modules/core/src/c/api_boolean.c
scilab/modules/core/src/c/api_common.c
scilab/modules/core/src/c/api_double.c
scilab/modules/core/src/c/api_int.c
scilab/modules/core/src/c/api_internal_double.h
scilab/modules/core/src/c/api_internal_int.h
scilab/modules/core/src/c/api_internal_poly.h
scilab/modules/core/src/c/api_list.c
scilab/modules/core/src/c/api_poly.c
scilab/modules/core/src/c/api_sparse.c
scilab/modules/core/src/c/api_string.c
scilab/modules/fileio/includes/h5_attributeConstants.h
scilab/modules/fileio/includes/h5_writeDataToFile.h
scilab/modules/fileio/sci_gateway/cpp/sci_export_to_hdf5.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_import_from_hdf5.cpp
scilab/modules/fileio/src/c/h5_writeDataToFile.c

index e04c931..cc5d3b6 100644 (file)
@@ -55,7 +55,7 @@ int createMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int* _piBool);
  * @param[in] _piBool pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfBoolean(char* _pstName, int _iNameLen, int _iRows, int _iCols, int* _piBool);
+int createNamedMatrixOfBoolean(char* _pstName, int _iRows, int _iCols, int* _piBool);
 
 /**
  * Read boolean named variable
@@ -66,6 +66,6 @@ int createNamedMatrixOfBoolean(char* _pstName, int _iNameLen, int _iRows, int _i
  * @param[out] _piBool return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfBoolean(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piBool);
+int readNamedMatrixOfBoolean(char* _pstName, int* _piRows, int* _piCols, int* _piBool);
 
 #endif /* __BOOLEAN_API__ */
index 4f96df1..30e0dd8 100644 (file)
@@ -34,11 +34,10 @@ int getVarNameFromPosition(int _iVar, char* _pstName);
 /**
  * Get memory address of a variable from the variable name
  * @param[in] _pstName variable name
- * @param[out] _iNameLen variable name length
  * @param[out] _piAddress return variable address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getVarAddressFromName(char* _pstName, int _iNameLen, int** _piAddress);
+int getVarAddressFromName(char* _pstName, int** _piAddress);
 
 /**
  * Get variable type
index 6969308..1dfa593 100644 (file)
@@ -98,48 +98,44 @@ int createComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdbl
 /**
  * Get double variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iRows, int _iCols, double* _pdblReal);
+int createNamedMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal);
 
 /**
  * Get double variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _pdblReal pointer on real data
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedComplexMatrixOfDouble(char* _pstName, int _iNameLen, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+int createNamedComplexMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
 
 /**
  * Get double named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _pdblReal return real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfDouble(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, double* _pdblReal);
+int readNamedMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal);
 
 /**
  * Get double named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _pdblReal return real data
  * @param[out] _pdblImg return imgagianry data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedComplexMatrixOfDouble(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
+int readNamedComplexMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
 
 
 #endif /* __DOUBLE_API__ */
index 6e520d8..598e1bb 100644 (file)
@@ -158,43 +158,39 @@ int allocMatrixOfInteger64(int _iVar, int _iRows, int _iCols, long long** _pllDa
 /**
  * Get integer variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _piData8 array of integer 8 bits
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfInteger8(char* _pstName, int _iNameLen, int _iRows, int _iCols, char* _pcData8);
+int createNamedMatrixOfInteger8(char* _pstName, int _iRows, int _iCols, char* _pcData8);
 
 /**
  * Get integer variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _piData16 array of integer 16 bits
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfInteger16(char* _pstName, int _iNameLen, int _iRows, int _iCols, short* _psData16);
+int createNamedMatrixOfInteger16(char* _pstName, int _iRows, int _iCols, short* _psData16);
 
 /**
  * Get integer variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _piData32 array of integer 32 bits
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfInteger32(char* _pstName, int _iNameLen, int _iRows, int _iCols, int* _piData32);
+int createNamedMatrixOfInteger32(char* _pstName, int _iRows, int _iCols, int* _piData32);
 
 /**
  * Get integer variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _piData64 array of integer 64 bits
@@ -202,57 +198,52 @@ int createNamedMatrixOfInteger32(char* _pstName, int _iNameLen, int _iRows, int
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int createNamedMatrixOfInteger64(char* _pstName, int _iNameLen, int _iRows, int _iCols, long long* _pllData64);
+int createNamedMatrixOfInteger64(char* _pstName, int _iRows, int _iCols, long long* _pllData64);
 #endif
 
 /**
  * Get integer precision ( 8, 16, 32, 64 )
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[out] _piPrecison return integer precision ( 8, 1-, 32, 64 )
  */
-int getNamedMatrixOfIntegerPrecision(char* _pstName, int _iNameLen, int* _piPrecision);
+int getNamedMatrixOfIntegerPrecision(char* _pstName, int* _piPrecision);
 
 /**
  * Get integer named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _piData8 return array of integer 8 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfInteger8(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, char* _pcData8);
+int readNamedMatrixOfInteger8(char* _pstName, int* _piRows, int* _piCols, char* _pcData8);
 /**
  * Get integer named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _piData16 return array of integer 16 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfInteger16(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, short* _psData16);
+int readNamedMatrixOfInteger16(char* _pstName, int* _piRows, int* _piCols, short* _psData16);
 /**
  * Get integer named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _piData32 return array of integer 32 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfInteger32(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piData32);
+int readNamedMatrixOfInteger32(char* _pstName, int* _piRows, int* _piCols, int* _piData32);
 /**
  * Get integer named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _piData64 return array of integer 64 bits
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int readNamedMatrixOfInteger64(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, long long* _pllData64);
+int readNamedMatrixOfInteger64(char* _pstName, int* _piRows, int* _piCols, long long* _pllData64);
 #endif
 #endif /* __INT_API__ */
index 72096c2..b39120b 100644 (file)
@@ -66,35 +66,32 @@ int getMListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
 /**
  * get a list from a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent pointer on the parent 
  * @param[in] _iItemPos position of the new list in the parent
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int** _piAddress);
+int getListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * get a tlist from a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent pointer on the parent 
  * @param[in] _iItemPos position of the new list in the parent
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getTListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int** _piAddress);
+int getTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * get a mlist from a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent pointer on the parent 
  * @param[in] _iItemPos position of the new list in the parent
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int** _piAddress);
+int getMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * create a list
@@ -126,62 +123,56 @@ int createTList(int _iVar, int _iNbItem, int** _piAddress);
 /**
  * create a list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _iNbItem number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedList(char* _pstName, int _iNameLen, int _iNbItem, int** _piAddress);
+int createNamedList(char* _pstName, int _iNbItem, int** _piAddress);
 
 /**
  * create a tlist
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _iNbItem number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedTList(char* _pstName, int _iNameLen, int _iNbItem, int** _piAddress);
+int createNamedTList(char* _pstName, int _iNbItem, int** _piAddress);
 
 /**
  * create a mlist
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _iNbItem number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMList(char* _pstName, int _iNameLen, int _iNbItem, int** _piAddress);
+int createNamedMList(char* _pstName, int _iNbItem, int** _piAddress);
 
 /**
  * read a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[out] _piNbItem return number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedList(char* _pstName, int _iNameLen, int* _piNbItem, int** _piAddress);
+int readNamedList(char* _pstName, int* _piNbItem, int** _piAddress);
 
 /**
  * read a named tlist
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[out] _piNbItem return number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedTList(char* _pstName, int _iNameLen, int* _piNbItem, int** _piAddress);
+int readNamedTList(char* _pstName, int* _piNbItem, int** _piAddress);
 
 /**
  * read a named mlist
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[out] _piNbItem return number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMList(char* _pstName, int _iNameLen, int* _piNbItem, int** _piAddress);
+int readNamedMList(char* _pstName, int* _piNbItem, int** _piAddress);
 
 /**
  * create a list in a list
@@ -219,38 +210,35 @@ int createMListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, in
 /**
  * create a list in a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent pointer on the parent
  * @param[in] _iItemPos position of the new list in the parent
  * @param[in] _iNbItem number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+int createListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /**
  * create a tlist in a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent pointer on the parent
  * @param[in] _iItemPos position of the new list in the parent
  * @param[in] _iNbItem number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createTListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+int createTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /**
  * create a mlist in a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent pointer on the parent
  * @param[in] _iItemPos position of the new list in the parent
  * @param[in] _iNbItem number of item
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+int createMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /*********************
  * Double functions *
@@ -333,7 +321,6 @@ int createComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos,
 /**
  * create double named variable in a list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -341,12 +328,11 @@ int createComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos,
  * @param[in] _pdblReal return pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal);
+int createMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal);
 
 /**
  * create double named variable in a list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -355,12 +341,11 @@ int createMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParen
  * @param[in] _pdblImg return pointer on imaginary data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+int createComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
 
 /**
  * read double named variable in a list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[out] _piRows Number of row
@@ -368,12 +353,11 @@ int createComplexMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _
  * @param[in] _pdblReal return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal);
+int readMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal);
 
 /**
  * read double named variable in a list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -382,7 +366,7 @@ int readMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent,
  * @param[in] _pdblImg return  imaginary data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readComplexMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
+int readComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
 
 /*********************
  * Strings functions *
@@ -416,7 +400,6 @@ int createMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int _iR
 /**
  * Write string variable in a named list
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -425,12 +408,11 @@ int createMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int _iR
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfStringInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings);
+int createMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings);
 
 /**
  * Read string variable in a named list
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -439,7 +421,7 @@ int createMatrixOfStringInNamedList(char* _pstName, int _iNameLen, int* _piParen
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfStringInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
+int readMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
 
 /*********************
  * boolean functions *
@@ -484,7 +466,6 @@ int createMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _i
 /**
  * create boolean variable in a named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -492,7 +473,7 @@ int createMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _i
  * @param[in] _piBool pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfBooleanInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool);
+int createMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool);
 
 /*************************
  * polynomials functions *
@@ -555,7 +536,6 @@ int createComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, ch
 /**
  * Get polynomial variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[out] _piRows return number of row
@@ -564,12 +544,11 @@ int createComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, ch
  * @param[out] _pdblReal return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
+int readMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Get polynomial variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[out] _piRows return number of row
@@ -579,12 +558,11 @@ int readMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piParent, in
  * @param[out] _pdblImg return img data
 * @return if the operation successed (0) or not ( !0 )
  */
-int readComplexMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int readComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Create polynomial variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -593,12 +571,11 @@ int readComplexMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piPar
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
+int createMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Create complex polynomial variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -608,7 +585,7 @@ int createMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piParent,
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int createComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * create integer 8 variable in a list
@@ -662,7 +639,6 @@ int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int
 /**
  * Create integer 8 bis variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -670,12 +646,11 @@ int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int
  * @param[in] _pcData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger8InNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData);
+int createMatrixOfInteger8InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData);
 
 /**
  * Create integer 16 bis variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -683,12 +658,11 @@ int createMatrixOfInteger8InNamedList(char* _pstName, int _iNameLen, int* _piPar
  * @param[in] _psData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger16InNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData);
+int createMatrixOfInteger16InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData);
 
 /**
  * Create integer 32 bis variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -696,12 +670,11 @@ int createMatrixOfInteger16InNamedList(char* _pstName, int _iNameLen, int* _piPa
  * @param[in] _piData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger32InNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
+int createMatrixOfInteger32InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
 
 /**
  * Create integer 64 bis variable in named list
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length
  * @param[in] _piParent address of parent node
  * @param[in] _iItemPos item postion in the list
  * @param[in] _iRows Number of row
@@ -710,7 +683,7 @@ int createMatrixOfInteger32InNamedList(char* _pstName, int _iNameLen, int* _piPa
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int createMatrixOfInteger64InNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, long long* _pllData);
+int createMatrixOfInteger64InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, long long* _pllData);
 #endif
 
 #endif /* __LIST_API__ */
index 60be4ea..e53b596 100644 (file)
@@ -77,19 +77,17 @@ int createComplexMatrixOfPoly(int _iVar, char* _pstVarName, int _iRows, int _iCo
 /**
  * Create polynomial named variable
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _piNbCoef array of polynomials coefficients
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
+int createNamedMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Create complex polynomial named variable
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _piNbCoef array of polynomials coefficients
@@ -97,24 +95,22 @@ int createNamedMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarName, in
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedComplexMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int createNamedComplexMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Get double named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _piNbCoef return polynomials coefficients
  * @param[out] _pdblReal return real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfPoly(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
+int readNamedMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Get double named variable data
  * @param[in] _pstName variable name
- * @param[in] _iNameLen variable name length 
  * @param[out] _piRows return number of row
  * @param[out] _piCols return number of column
  * @param[out] _piNbCoef return polynomials coefficients
@@ -122,6 +118,6 @@ int readNamedMatrixOfPoly(char* _pstName, int _iNameLen, int* _piRows, int* _piC
  * @param[out] _pdblImg return imgagianry data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedComplexMatrixOfPoly(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int readNamedComplexMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 #endif /* __POLY_API__ */
index 0ce2804..126c2a0 100644 (file)
@@ -104,7 +104,6 @@ int createComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, i
 /**
  * Create named sparse variable
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _iNbItem Number of item
@@ -114,12 +113,11 @@ int createComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, i
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedSparseMatrix(char* _pstName, int _iNameLen, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+int createNamedSparseMatrix(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] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _iNbItem Number of item
@@ -130,12 +128,11 @@ int createNamedSparseMatrix(char* _pstName, int _iNameLen, int _iRows, int _iCol
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedComplexSparseMatrix(char* _pstName, int _iNameLen, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+int createNamedComplexSparseMatrix(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[in] _iNamelen variable name length
  * @param[out] _piRows return number of row 
  * @param[out] _piCols return number of column
  * @param[out] _piNbItem return number of item
@@ -145,12 +142,11 @@ int createNamedComplexSparseMatrix(char* _pstName, int _iNameLen, int _iRows, in
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedSparseMatrix(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+int readNamedSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
 
 /**
  * Read named sparse variable
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[out] _piRows return number of row 
  * @param[out] _piCols return number of column
  * @param[out] _piNbItem return number of item
@@ -161,6 +157,6 @@ int readNamedSparseMatrix(char* _pstName, int _iNameLen, int* _piRows, int* _piC
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedComplexSparseMatrix(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+int readNamedComplexSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 #endif /* __SAPRSE_API__ */
index fbe69c7..f4c57ef 100644 (file)
@@ -53,26 +53,24 @@ int createMatrixOfString(int _iVar, int _iRows, int _iCols, char** _pstStrings);
 /**
  * Get double variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _pstStrings array of strings ( null terminated )
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfString(char* _pstName, int _iNameLen, int _iRows, int _iCols, char** _pstStrings);
+int createNamedMatrixOfString(char* _pstName, int _iRows, int _iCols, char** _pstStrings);
 
 /**
  * Get double variable data
  * @param[in] _pstName variable name
- * @param[in] _iNamelen variable name length
  * @param[in] _iRows Number of row
  * @param[in] _iCols Number of column
  * @param[in] _pstStrings array of strings ( null terminated )
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfString(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
+int readNamedMatrixOfString(char* _pstName, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
 
 
 #endif /* __STRING_API__ */
index e8e52ce..25cc4fd 100644 (file)
@@ -86,7 +86,7 @@ int createMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int* _piBool)
        return 0;
 }
 
-int createNamedMatrixOfBoolean(char* _pstName, int _iNameLen, int _iRows, int _iCols, int* _piBool)
+int createNamedMatrixOfBoolean(char* _pstName, int _iRows, int _iCols, int* _piBool)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -95,7 +95,7 @@ int createNamedMatrixOfBoolean(char* _pstName, int _iNameLen, int _iRows, int _i
        int* piBool                             = NULL;
        int *piAddr                             = NULL;
 
-       C2F(str2name)(_pstName, iVarID, _iNameLen);
+       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -118,13 +118,13 @@ int createNamedMatrixOfBoolean(char* _pstName, int _iNameLen, int _iRows, int _i
        return 0;
 }
 
-int readNamedMatrixOfBoolean(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piBool)
+int readNamedMatrixOfBoolean(char* _pstName, int* _piRows, int* _piCols, int* _piBool)
 {
        int* piAddr     = NULL;
        int* piBool     = NULL;
        int iRet                = 0;
 
-       iRet = getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       iRet = getVarAddressFromName(_pstName, &piAddr);
        if(iRet)
        {
                return 1;
index 83e2009..f18dcde 100644 (file)
@@ -81,13 +81,13 @@ int getNewVarAddressFromPosition(int _iVar, int** _piAddress)
 
        return 0;
 }
-int getVarAddressFromName(char* _pstName, int _iNameLen, int** _piAddress)
+int getVarAddressFromName(char* _pstName, int** _piAddress)
 {
        int iVarID[nsiz];
        int* piAddr                             = NULL;
 
        //get variable id from name
-       C2F(str2name)(_pstName, iVarID, _iNameLen);
+       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
 
        //define scope of search
   Fin = -1;
index 8a501cb..0d50f8c 100644 (file)
@@ -169,17 +169,17 @@ int createComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdbl
        return 0;
 }
 
-int createNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iRows, int _iCols, double* _pdblReal)
+int createNamedMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal)
 {
-       return createCommunNamedMatrixOfDouble(_pstName, _iNameLen, 0, _iRows, _iCols, _pdblReal, NULL);
+       return createCommunNamedMatrixOfDouble(_pstName, 0, _iRows, _iCols, _pdblReal, NULL);
 }
 
-int createNamedComplexMatrixOfDouble(char* _pstName, int _iNameLen, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
+int createNamedComplexMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
 {
-       return createCommunNamedMatrixOfDouble(_pstName, _iNameLen, 1, _iRows, _iCols, _pdblReal, _pdblImg);
+       return createCommunNamedMatrixOfDouble(_pstName, 1, _iRows, _iCols, _pdblReal, _pdblImg);
 }
 
-int createCommunNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
+int createCommunNamedMatrixOfDouble(char* _pstName, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -190,7 +190,7 @@ int createCommunNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iComplex
        double *pdblReal        = NULL;
        double *pdblImg         = NULL;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -218,23 +218,23 @@ int createCommunNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iComplex
        return 0;
 }
 
-int readNamedMatrixOfDouble(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, double* _pdblReal)
+int readNamedMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal)
 {
-       return readCommonNamedMatrixOfDouble(_pstName, _iNameLen, 0, _piRows, _piCols, _pdblReal, NULL);
+       return readCommonNamedMatrixOfDouble(_pstName, 0, _piRows, _piCols, _pdblReal, NULL);
 }
 
-int readNamedComplexMatrixOfDouble(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
+int readNamedComplexMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
 {
-       return readCommonNamedMatrixOfDouble(_pstName, _iNameLen, 1, _piRows, _piCols, _pdblReal, _pdblImg);
+       return readCommonNamedMatrixOfDouble(_pstName, 1, _piRows, _piCols, _pdblReal, _pdblImg);
 }
 
-int readCommonNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
+int readCommonNamedMatrixOfDouble(char* _pstName, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
 {
        int* piAddr                             = NULL;
        double* pdblReal        = NULL;
        double* pdblImg         = NULL;
 
-       getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       getVarAddressFromName(_pstName, &piAddr);
        
        getCommonMatrixOfDouble(piAddr, _iComplex, _piRows, _piCols, &pdblReal, &pdblImg);
 
index b099c39..c184df4 100644 (file)
@@ -241,29 +241,29 @@ int fillCommonMatrixOfInteger(int* _piAddress, int _iPrecision, int _iRows, int
        return 0;
 }
 
-int createNamedMatrixOfInteger8(char* _pstName, int _iNameLen, int _iRows, int _iCols, char* _piData8)
+int createNamedMatrixOfInteger8(char* _pstName, int _iRows, int _iCols, char* _piData8)
 {
-       return createCommonNamedMatrixOfInteger(_pstName, _iNameLen, SCI_INT8, _iRows, _iCols, _piData8);
+       return createCommonNamedMatrixOfInteger(_pstName, SCI_INT8, _iRows, _iCols, _piData8);
 }
 
-int createNamedMatrixOfInteger16(char* _pstName, int _iNameLen, int _iRows, int _iCols, short* _piData16)
+int createNamedMatrixOfInteger16(char* _pstName, int _iRows, int _iCols, short* _piData16)
 {
-       return createCommonNamedMatrixOfInteger(_pstName, _iNameLen, SCI_INT16, _iRows, _iCols, _piData16);
+       return createCommonNamedMatrixOfInteger(_pstName, SCI_INT16, _iRows, _iCols, _piData16);
 }
 
-int createNamedMatrixOfInteger32(char* _pstName, int _iNameLen, int _iRows, int _iCols, int* _piData32)
+int createNamedMatrixOfInteger32(char* _pstName, int _iRows, int _iCols, int* _piData32)
 {
-       return createCommonNamedMatrixOfInteger(_pstName, _iNameLen, SCI_INT32, _iRows, _iCols, _piData32);
+       return createCommonNamedMatrixOfInteger(_pstName, SCI_INT32, _iRows, _iCols, _piData32);
 }
 
 #ifdef __SCILAB_INT64__
-int createNamedMatrixOfInteger64(char* _pstName, int _iNameLen, int _iRows, int _iCols, long long* _piData64)
+int createNamedMatrixOfInteger64(char* _pstName, int _iRows, int _iCols, long long* _piData64)
 {
        return -1;
 }
 #endif
 
-int createCommonNamedMatrixOfInteger(char* _pstName, int _iNameLen, int _iPrecision, int _iRows, int _iCols, void* _piData)
+int createCommonNamedMatrixOfInteger(char* _pstName, int _iPrecision, int _iRows, int _iCols, void* _piData)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -278,7 +278,7 @@ int createCommonNamedMatrixOfInteger(char* _pstName, int _iNameLen, int _iPrecis
        int iMod                                = (iSize % iRate) == 0 ? 0 : 1;
        int iTotalSize  = iDouble + iMod;
 
-       C2F(str2name)(_pstName, iVarID, _iNameLen);
+       C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -301,12 +301,12 @@ int createCommonNamedMatrixOfInteger(char* _pstName, int _iNameLen, int _iPrecis
        return 0;
 }
 
-int getNamedMatrixOfIntegerPrecision(char* _pstName, int _iNameLen, int* _piPrecision)
+int getNamedMatrixOfIntegerPrecision(char* _pstName, int* _piPrecision)
 {
        int iRet                                        = 0;
        int* piAddr                             = NULL;
 
-       iRet = getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       iRet = getVarAddressFromName(_pstName, &piAddr);
        if(iRet)
        {
                return 1;
@@ -322,36 +322,36 @@ int getNamedMatrixOfIntegerPrecision(char* _pstName, int _iNameLen, int* _piPrec
        return 0;
 }
 
-int readNamedMatrixOfInteger8(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, char* _piData8)
+int readNamedMatrixOfInteger8(char* _pstName, int* _piRows, int* _piCols, char* _piData8)
 {
-       return readCommonNamedMatrixOfInteger(_pstName, _iNameLen, SCI_INT8, _piRows, _piCols, _piData8);
+       return readCommonNamedMatrixOfInteger(_pstName, SCI_INT8, _piRows, _piCols, _piData8);
 }
 
-int readNamedMatrixOfInteger16(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, short* _piData16)
+int readNamedMatrixOfInteger16(char* _pstName, int* _piRows, int* _piCols, short* _piData16)
 {
-       return readCommonNamedMatrixOfInteger(_pstName, _iNameLen, SCI_INT16, _piRows, _piCols, _piData16);
+       return readCommonNamedMatrixOfInteger(_pstName, SCI_INT16, _piRows, _piCols, _piData16);
 }
 
-int readNamedMatrixOfInteger32(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piData32)
+int readNamedMatrixOfInteger32(char* _pstName, int* _piRows, int* _piCols, int* _piData32)
 {
-       return readCommonNamedMatrixOfInteger(_pstName, _iNameLen, SCI_INT32, _piRows, _piCols, _piData32);
+       return readCommonNamedMatrixOfInteger(_pstName, SCI_INT32, _piRows, _piCols, _piData32);
 }
 
 #ifdef __SCILAB_INT64__
-int readNamedMatrixOfInteger64(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, long long* _piData64)
+int readNamedMatrixOfInteger64(char* _pstName, int* _piRows, int* _piCols, long long* _piData64)
 {
        return 1;
 }
 #endif
 
-int readCommonNamedMatrixOfInteger(char* _pstName, int _iNameLen, int _iPrecision, int* _piRows, int* _piCols, void* _piData)
+int readCommonNamedMatrixOfInteger(char* _pstName, int _iPrecision, int* _piRows, int* _piCols, void* _piData)
 {
        int iRet                                        = 0;
        int* piAddr                             = NULL;
        int iSize                                       = 0;
        void* piData                    = NULL;
 
-       iRet = getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       iRet = getVarAddressFromName(_pstName, &piAddr);
        if(iRet)
        {
                return 1;
index 61620d6..7459f25 100644 (file)
@@ -16,7 +16,7 @@
 int getCommonMatrixOfDouble(int* _piAddress, int _iComplex, int* _piRows, int* _piCols, double** _pdblReal, double** _pdblImg);
 int allocCommonMatrixOfDouble(int _iVar, int _iComplex, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg);
 int fillCommonMatrixOfDouble(int* _piAddress, int _iComplex, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg);
-int createCommunNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
-int readCommonNamedMatrixOfDouble(char* _pstName, int _iNameLen, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
+int createCommunNamedMatrixOfDouble(char* _pstName, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+int readCommonNamedMatrixOfDouble(char* _pstName, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
 
 #endif /* __INTERNAL_DOUBLE_API__ */
index 8fa5550..424cfe3 100644 (file)
@@ -16,7 +16,7 @@
 int getCommonMatrixOfInteger(int* _piAddress, int _iPrecision, int* _piRows, int* _piCols, void** _piData);
 int allocCommonMatrixOfInteger(int _iVar, int *_piAddress, int _iPrecision, int _iRows, int _iCols, void** piData);
 int fillCommonMatrixOfInteger(int* _piAddress, int _iPrecision, int _iRows, int _iCols, void** _pdiData);
-int createCommonNamedMatrixOfInteger(char* _pstName, int _iNameLen, int _iPrecision, int _iRows, int _iCols, void* _piData);
-int readCommonNamedMatrixOfInteger(char* _pstName, int _iNameLen, int _iPrecision, int* _piRows, int* _piCols, void* _piData);
+int createCommonNamedMatrixOfInteger(char* _pstName, int _iPrecision, int _iRows, int _iCols, void* _piData);
+int readCommonNamedMatrixOfInteger(char* _pstName, int _iPrecision, int* _piRows, int* _piCols, void* _piData);
 
 #endif /* __INTERNAL_INT_API__ */
index 0b95a97..44bd563 100644 (file)
 int getCommonMatrixOfPoly(int* _piAddress, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 int createCommonMatrixOfPoly(int _iVar, int _iComplex, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 int fillCommonMatrixOfPoly(int* _piAddress, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg, int* _piTotalLen);
-int createCommonNamedMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
-int readCommonNamedMatrixOfPoly(char* _pstName, int _iNameLen, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
-int createCommonMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
-int readCommonMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int createCommonNamedMatrixOfPoly(char* _pstName, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int readCommonNamedMatrixOfPoly(char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int createCommonMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+int readCommonMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 
 #endif /* __INTERNAL_POLY_API__ */
index 2e512b4..014e3db 100644 (file)
 //internal functions
 static int createCommonList(int _iVar, int _iListType, int _iNbItem, int** _piAddress);
 static int createCommonListInList(int _iVar, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress, int iNamed);
-static int createCommonNamedList(char* _pstName, int _iNameLen, int _iListType, int _iNbItem, int** _piAddress);
-static int createCommonListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress);
+static int createCommonNamedList(char* _pstName, int _iListType, int _iNbItem, int** _piAddress);
+static int createCommonListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress);
 static int getCommonListInList(int _iVar, int* _piParent, int _iItemPos, int _iListType, int** _piAddress);
-static int getCommomListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iListType, int** _piAddress);
-static int readCommonNamedList(char* _pstName, int _iNameLen, int _iListType, int* _piNbItem, int** _piAddress);
+static int getCommomListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iListType, int** _piAddress);
+static int readCommonNamedList(char* _pstName, int _iListType, int* _piNbItem, int** _piAddress);
 static int fillCommonList(int* _piAddress, int _iListType, int _iNbItem);
 static int isKindOfList(int* _piNode);
 static int getParentList(int* _piStart, int* _piToFind, int* _piDepth, int** _piParent);
@@ -50,8 +50,8 @@ static int allocCommonMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItem
 static int getCommonMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, double** _pdblReal, double** _pdblImg);
 static int createCommonMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
 static int fillCommonMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg);
-static int createCommomMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
-static int readCommonMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
+static int createCommomMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+static int readCommonMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
 static int allocCommonItemInList(int* _piParent, int _iItemPos, int** _piChildAddr);
 static int fillMatrixOfBoolInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int** _piBool);
 static int getCommonxMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
@@ -111,22 +111,22 @@ int createTList(int _iVar, int _iNbItem, int** _piAddress)
        return createCommonList(_iVar, sci_tlist, _iNbItem, _piAddress);
 }
 
-int createNamedList(char* _pstName, int _iNameLen, int _iNbItem, int** _piAddress)
+int createNamedList(char* _pstName, int _iNbItem, int** _piAddress)
 {
-       return createCommonNamedList(_pstName, _iNameLen, sci_list, _iNbItem, _piAddress);
+       return createCommonNamedList(_pstName, sci_list, _iNbItem, _piAddress);
 }
 
-int createNamedTList(char* _pstName, int _iNameLen, int _iNbItem, int** _piAddress)
+int createNamedTList(char* _pstName, int _iNbItem, int** _piAddress)
 {
-       return createCommonNamedList(_pstName, _iNameLen, sci_tlist, _iNbItem, _piAddress);
+       return createCommonNamedList(_pstName, sci_tlist, _iNbItem, _piAddress);
 }
 
-int createNamedMList(char* _pstName, int _iNameLen, int _iNbItem, int** _piAddress)
+int createNamedMList(char* _pstName, int _iNbItem, int** _piAddress)
 {
-       return createCommonNamedList(_pstName, _iNameLen, sci_mlist, _iNbItem, _piAddress);
+       return createCommonNamedList(_pstName, sci_mlist, _iNbItem, _piAddress);
 }
 
-static int createCommonNamedList(char* _pstName, int _iNameLen, int _iListType, int _iNbItem, int** _piAddress)
+static int createCommonNamedList(char* _pstName, int _iListType, int _iNbItem, int** _piAddress)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -135,7 +135,7 @@ static int createCommonNamedList(char* _pstName, int _iNameLen, int _iListType,
        int *piAddr                             = NULL;
        int* piEnd                              = NULL;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -202,28 +202,28 @@ int fillCommonList(int* _piAddress, int _iListType, int _iNbItem)
        return 0;
 }
 
-int readNamedList(char* _pstName, int _iNameLen, int* _piNbItem, int** _piAddress)
+int readNamedList(char* _pstName, int* _piNbItem, int** _piAddress)
 {
-       return readCommonNamedList(_pstName, _iNameLen, sci_list, _piNbItem, _piAddress);
+       return readCommonNamedList(_pstName, sci_list, _piNbItem, _piAddress);
 }
 
-int readNamedTList(char* _pstName, int _iNameLen, int* _piNbItem, int** _piAddress)
+int readNamedTList(char* _pstName, int* _piNbItem, int** _piAddress)
 {
-       return readCommonNamedList(_pstName, _iNameLen, sci_tlist, _piNbItem, _piAddress);
+       return readCommonNamedList(_pstName, sci_tlist, _piNbItem, _piAddress);
 }
 
-int readNamedMList(char* _pstName, int _iNameLen, int* _piNbItem, int** _piAddress)
+int readNamedMList(char* _pstName, int* _piNbItem, int** _piAddress)
 {
-       return readCommonNamedList(_pstName, _iNameLen, sci_mlist, _piNbItem, _piAddress);
+       return readCommonNamedList(_pstName, sci_mlist, _piNbItem, _piAddress);
 }
 
-static int readCommonNamedList(char* _pstName, int _iNameLen, int _iListType, int* _piNbItem, int** _piAddress)
+static int readCommonNamedList(char* _pstName, int _iListType, int* _piNbItem, int** _piAddress)
 {
        int* piAddr             = NULL;
        int iNbItem             = 0;
        int iRet                        = 0;
 
-       iRet = getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       iRet = getVarAddressFromName(_pstName, &piAddr);
        if(iRet)
        {
                return 1;
@@ -278,22 +278,22 @@ int getCommonListInList(int _iVar, int* _piParent, int _iItemPos, int _iListType
        return 0;
 }
 
-int getListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int** _piAddress)
+int getListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress)
 {
-       return getCommomListInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, sci_list, _piAddress);
+       return getCommomListInNamedList(_pstName, _piParent, _iItemPos, sci_list, _piAddress);
 }
 
-int getTListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int** _piAddress)
+int getTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress)
 {
-       return getCommomListInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, sci_tlist, _piAddress);
+       return getCommomListInNamedList(_pstName, _piParent, _iItemPos, sci_tlist, _piAddress);
 }
 
-int getMListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int** _piAddress)
+int getMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress)
 {
-       return getCommomListInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, sci_mlist, _piAddress);
+       return getCommomListInNamedList(_pstName, _piParent, _iItemPos, sci_mlist, _piAddress);
 }
 
-int getCommomListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iListType, int** _piAddress)
+int getCommomListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iListType, int** _piAddress)
 {
        int* piAddr             = NULL;
 
@@ -457,17 +457,17 @@ int createCommonMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, i
        return 0;
 }
 
-int createMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal)
+int createMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal)
 {
-       return createCommomMatrixOfDoubleInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, 0, _iRows, _iCols, _pdblReal, NULL);
+       return createCommomMatrixOfDoubleInNamedList(_pstName, _piParent, _iItemPos, 0, _iRows, _iCols, _pdblReal, NULL);
 }
 
-int createComplexMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
+int createComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
 {
-       return createCommomMatrixOfDoubleInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, 1, _iRows, _iCols, _pdblReal, _pdblImg);
+       return createCommomMatrixOfDoubleInNamedList(_pstName, _piParent, _iItemPos, 1, _iRows, _iCols, _pdblReal, _pdblImg);
 }
 
-int createCommomMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
+int createCommomMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -479,7 +479,7 @@ int createCommomMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _p
        int* piEnd                              = NULL;
        int* piChildAddr        = NULL;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -591,28 +591,28 @@ static int createCommonListInList(int _iVar, int* _piParent, int _iItemPos, int
        return 0;
 }
 
-int createListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress)
+int createListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress)
 {
-       return createCommonListInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, sci_list, _iNbItem, _piAddress);
+       return createCommonListInNamedList(_pstName, _piParent, _iItemPos, sci_list, _iNbItem, _piAddress);
 }
 
-int createTListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress)
+int createTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress)
 {
-       return createCommonListInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, sci_tlist, _iNbItem, _piAddress);
+       return createCommonListInNamedList(_pstName, _piParent, _iItemPos, sci_tlist, _iNbItem, _piAddress);
 }
 
-int createMListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress)
+int createMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress)
 {
-       return createCommonListInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, sci_mlist, _iNbItem, _piAddress);
+       return createCommonListInNamedList(_pstName, _piParent, _iItemPos, sci_mlist, _iNbItem, _piAddress);
 }
 
-int createCommonListInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress)
+int createCommonListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iListType, int _iNbItem, int** _piAddress)
 {
        int iVarID[nsiz];
        int iRet = 0;
        int iSaveTop = Top;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, strlen(_pstName));
        Top = Top + Nbvars + 1;
 
        iRet = createCommonListInList(Top, _piParent, _iItemPos, _iListType, _iNbItem, _piAddress, 1);
@@ -629,24 +629,40 @@ int createCommonListInNamedList(char* _pstName, int _iNameLen, int* _piParent, i
 }
 
 
-int readMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal)
+int readMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal)
 {
-       return readCommonMatrixOfDoubleInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, 0, _piRows, _piCols, _pdblReal, NULL);
+       return readCommonMatrixOfDoubleInNamedList(_pstName, _piParent, _iItemPos, 0, _piRows, _piCols, _pdblReal, NULL);
 }
 
-int readComplexMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
+int readComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
 {
-       return readCommonMatrixOfDoubleInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, 1, _piRows, _piCols, _pdblReal, _pdblImg);
+       return readCommonMatrixOfDoubleInNamedList(_pstName, _piParent, _iItemPos, 1, _piRows, _piCols, _pdblReal, _pdblImg);
 }
 
-static int readCommonMatrixOfDoubleInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
+static int readCommonMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg)
 {
        int iRet                                        = 0;
+       int iNbItem                             = 0;
        int* piAddr                             = NULL;
+       int* piRoot                             = NULL;
        double* pdblReal        = NULL;
        double* pdblImg         = NULL;
 
-       iRet = getListItemAddress(_piParent, _iItemPos, &piAddr);
+       if(_piParent == NULL)
+       {
+               iRet = readNamedList(_pstName, &iNbItem, &piRoot);
+               if(iRet)
+               {
+                       return 1;
+               }
+
+               iRet = getListItemAddress(piRoot, _iItemPos, &piAddr);
+       }
+       else
+       {
+               iRet = getListItemAddress(_piParent, _iItemPos, &piAddr);
+       }
+
        if(iRet)
        {
                return 1;
@@ -762,7 +778,7 @@ int fillCommonMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int
        return 0;
 }
 
-int createMatrixOfStringInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings)
+int createMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings)
 {
        int iVarID[nsiz];
        int iRet                                        = 0;
@@ -773,7 +789,7 @@ int createMatrixOfStringInNamedList(char* _pstName, int _iNameLen, int* _piParen
        int* piItemAddr         = NULL;
        int* piEnd                              = NULL;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, strlen(_pstName));
        Top = Top + Nbvars + 1;
 
        iRet = getListItemAddress(_piParent, _iItemPos, &piItemAddr);
@@ -804,8 +820,42 @@ int createMatrixOfStringInNamedList(char* _pstName, int _iNameLen, int* _piParen
        return 0;
 }
 
-int readMatrixOfStringInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings)
+int readMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings)
 {
+       int iRet                                        = 0;
+       int* piAddr                             = NULL;
+       int* piRoot                             = NULL;
+       int iNbItem                             = NULL;
+       int* piNbCoef                   = NULL;
+       double* pdblReal        = NULL;
+       double* pdblImg         = NULL;
+
+
+       if(_piParent == NULL)
+       {
+               iRet = readNamedList(_pstName, &iNbItem, &piRoot);
+               if(iRet)
+               {
+                       return 1;
+               }
+
+               iRet = getListItemAddress(piRoot, _iItemPos, &piAddr);
+       }
+       else
+       {
+               iRet = getListItemAddress(_piParent, _iItemPos, &piAddr);
+       }
+
+       if(iRet)
+       {
+               return 1;
+       }
+
+       iRet = getMatrixOfString(piAddr, _piRows, _piCols, _piLength, _pstStrings);
+       if(iRet)
+       {
+               return 1;
+       }
        return 0;
 }
 
@@ -900,7 +950,7 @@ static int fillMatrixOfBoolInList(int _iVar, int* _piParent, int _iItemPos, int
        return 0;
 }
 
-int createMatrixOfBooleanInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool)
+int createMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -911,7 +961,7 @@ int createMatrixOfBooleanInNamedList(char* _pstName, int _iNameLen, int* _piPare
        int* piEnd                              = NULL;
        int* piChildAddr        = NULL;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -1065,17 +1115,17 @@ static int fillCommonMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos
 }
 
 
-int createMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal)
+int createMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal)
 {
-       return createCommonMatrixOfPolyInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, _pstVarName, 0, _iRows, _iCols, _piNbCoef, _pdblReal, NULL);
+       return createCommonMatrixOfPolyInNamedList(_pstName, _piParent, _iItemPos, _pstVarName, 0, _iRows, _iCols, _piNbCoef, _pdblReal, NULL);
 }
 
-int createComplexMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int createComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
-       return createCommonMatrixOfPolyInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, _pstVarName, 1, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg);
+       return createCommonMatrixOfPolyInNamedList(_pstName, _piParent, _iItemPos, _pstVarName, 1, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg);
 }
 
-int createCommonMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int createCommonMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -1087,7 +1137,7 @@ int createCommonMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piP
        int iTotalLen                   = 0;
        int iItemLen                    = 0;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -1122,19 +1172,53 @@ int createCommonMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int* _piP
        return 0;
 }
 
-int readMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal)
+int readMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal)
 {
-       return readCommonMatrixOfPolyInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, 0, _piRows, _piCols, _piNbCoef, _pdblReal, NULL);
+       return readCommonMatrixOfPolyInNamedList(_pstName, _piParent, _iItemPos, 0, _piRows, _piCols, _piNbCoef, _pdblReal, NULL);
 }
 
-int readComplexMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int readComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
-       return readCommonMatrixOfPolyInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, 1, _piRows, _piCols, _piNbCoef, _pdblReal, _pdblImg);
+       return readCommonMatrixOfPolyInNamedList(_pstName, _piParent, _iItemPos, 1, _piRows, _piCols, _piNbCoef, _pdblReal, _pdblImg);
 }
 
-int readCommonMatrixOfPolyInNamedList(char* _pstName, int _iNameLen, int _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int readCommonMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
-//TODO !!!!!
+       int iRet                                        = 0;
+       int* piAddr                             = NULL;
+       int* piRoot                             = NULL;
+       int iNbItem                             = NULL;
+       int* piNbCoef                   = NULL;
+       double* pdblReal        = NULL;
+       double* pdblImg         = NULL;
+
+
+       if(_piParent == NULL)
+       {
+               iRet = readNamedList(_pstName, &iNbItem, &piRoot);
+               if(iRet)
+               {
+                       return 1;
+               }
+
+               iRet = getListItemAddress(piRoot, _iItemPos, &piAddr);
+       }
+       else
+       {
+               iRet = getListItemAddress(_piParent, _iItemPos, &piAddr);
+       }
+
+       if(iRet)
+       {
+               return 1;
+       }
+
+       iRet = getCommonMatrixOfPoly(piAddr, _iComplex, _piRows, _piCols, _piNbCoef, _pdblReal, _pdblImg);
+       if(iRet)
+       {
+               return 1;
+       }
+       return 0;
 }
 
 static int fillCommonMatrixOfIntegerInList(int _iVar, int* _piParent, int _iItemPos, int _iPrecision, int _iRows, int _iCols, void** _pvData)
@@ -1250,7 +1334,7 @@ int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int
        return createCommomMatrixOfIntegerInList(_iVar, _piParent, _iItemPos, SCI_INT32, _iRows, _iCols, _piData);
 }
 
-int createCommonMatrixOfIntegerInNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iPrecision, int _iRows, int _iCols, void* _pvData)
+int createCommonMatrixOfIntegerInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iPrecision, int _iRows, int _iCols, void* _pvData)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -1260,7 +1344,7 @@ int createCommonMatrixOfIntegerInNamedList(char* _pstName, int _iNameLen, int* _
        int* piEnd                              = NULL;
        int* piChildAddr        = NULL;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -1300,23 +1384,27 @@ int createCommonMatrixOfIntegerInNamedList(char* _pstName, int _iNameLen, int* _
        return 0;
 }
 
-int createMatrixOfInteger8InNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData)
+int createMatrixOfInteger8InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData)
 {
-       return createCommonMatrixOfIntegerInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, SCI_INT8, _iRows, _iCols, _pcData);
+       return createCommonMatrixOfIntegerInNamedList(_pstName, _piParent, _iItemPos, SCI_INT8, _iRows, _iCols, _pcData);
 }
 
-int createMatrixOfInteger16InNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData)
+int createMatrixOfInteger16InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData)
 {
-       return createCommonMatrixOfIntegerInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, SCI_INT16, _iRows, _iCols, _psData);
+       return createCommonMatrixOfIntegerInNamedList(_pstName, _piParent, _iItemPos, SCI_INT16, _iRows, _iCols, _psData);
 }
 
-int createMatrixOfInteger32InNamedList(char* _pstName, int _iNameLen, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData)
+int createMatrixOfInteger32InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData)
 {
-       return createCommonMatrixOfIntegerInNamedList(_pstName, _iNameLen, _piParent, _iItemPos, SCI_INT32, _iRows, _iCols, _piData);
+       return createCommonMatrixOfIntegerInNamedList(_pstName, _piParent, _iItemPos, SCI_INT32, _iRows, _iCols, _piData);
 }
 
 
 
+
+
+
+
 static void updateNamedListOffset(int _iVar, int *_piCurrentNode, int _iItemPos, int *_piEnd)
 {
        updateCommunListOffset(_iVar, _piCurrentNode, _iItemPos, _piEnd);
index 40259cc..e60f80a 100644 (file)
@@ -208,17 +208,17 @@ int fillCommonMatrixOfPoly(int* _piAddress, char* _pstVarName, int _iComplex, in
        return 0;
 }
 
-int createNamedMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal)
+int createNamedMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal)
 {
-       return createCommonNamedMatrixOfPoly(_pstName, _iNameLen, _pstVarName, 0, _iRows, _iCols, _piNbCoef, _pdblReal, NULL);
+       return createCommonNamedMatrixOfPoly(_pstName, _pstVarName, 0, _iRows, _iCols, _piNbCoef, _pdblReal, NULL);
 }
 
-int createNamedComplexMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int createNamedComplexMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
-       return createCommonNamedMatrixOfPoly(_pstName, _iNameLen, _pstVarName, 1, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg);
+       return createCommonNamedMatrixOfPoly(_pstName, _pstVarName, 1, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg);
 }
 
-int createCommonNamedMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int createCommonNamedMatrixOfPoly(char* _pstName, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -227,7 +227,7 @@ int createCommonNamedMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarNa
        int *piAddr                             = NULL;
        int iTotalLen                   = 0;
 
-       C2F(str2name)(_pstName, iVarID, _iNameLen);
+       C2F(str2name)(_pstName, iVarID, strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -248,22 +248,22 @@ int createCommonNamedMatrixOfPoly(char* _pstName, int _iNameLen, char* _pstVarNa
        return 0;
 }
 
-int readNamedMatrixOfPoly(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal)
+int readNamedMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal)
 {
-       return readCommonNamedMatrixOfPoly(_pstName, _iNameLen, 0, _piRows, _piCols, _piNbCoef, _pdblReal, NULL);
+       return readCommonNamedMatrixOfPoly(_pstName, 0, _piRows, _piCols, _piNbCoef, _pdblReal, NULL);
 }
 
-int readNamedComplexMatrixOfPoly(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int readNamedComplexMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
-       return readCommonNamedMatrixOfPoly(_pstName, _iNameLen, 1, _piRows, _piCols, _piNbCoef, _pdblReal, _pdblImg);
+       return readCommonNamedMatrixOfPoly(_pstName, 1, _piRows, _piCols, _piNbCoef, _pdblReal, _pdblImg);
 }
 
-int readCommonNamedMatrixOfPoly(char* _pstName, int _iNameLen, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
+int readCommonNamedMatrixOfPoly(char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
        int iRet                                        = 0;
        int* piAddr                             = NULL;
 
-       iRet = getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       iRet = getVarAddressFromName(_pstName, &piAddr);
        if(iRet)
        {
                return 1;
index 62741c0..33df997 100644 (file)
@@ -26,8 +26,8 @@ static int getCommonSparseMatrix(int* _piAddress, int _iComplex, int* _piRows, i
 static int allocCommonSparseMatrix(int _iVar, int _iComplex, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg, int** _piAddress);
 static int fillCommonSparseMatrix(int *_piAddress, int _iComplex, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg, int* _piTotalSize);
 static int createCommonSparseMatrix(int _iVar, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg, int** _piAddress);
-static int createCommonNamedSparseMatrix(char* _pstName, int _iNameLen, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
-static int readCommonNamedSparseMatrix(char* _pstName, int _iNameLen, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+static int createCommonNamedSparseMatrix(char* _pstName, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+static int readCommonNamedSparseMatrix(char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 int getSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal)
 {
@@ -169,17 +169,17 @@ static int createCommonSparseMatrix(int _iVar, int _iComplex, int _iRows, int _i
        return 0;
 }
 
-int createNamedSparseMatrix(char* _pstName, int _iNameLen, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal)
+int createNamedSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal)
 {
-       return createCommonNamedSparseMatrix(_pstName, _iNameLen, 0, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, NULL);
+       return createCommonNamedSparseMatrix(_pstName, 0, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, NULL);
 }
 
-int createNamedComplexSparseMatrix(char* _pstName, int _iNameLen, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
+int createNamedComplexSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
 {
-       return createCommonNamedSparseMatrix(_pstName, _iNameLen, 1, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
+       return createCommonNamedSparseMatrix(_pstName, 1, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
 }
 
-static int createCommonNamedSparseMatrix(char* _pstName, int _iNameLen, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
+static int createCommonNamedSparseMatrix(char* _pstName, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -195,7 +195,7 @@ static int createCommonNamedSparseMatrix(char* _pstName, int _iNameLen, int _iCo
        double* pdblImg         = NULL;
 
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -227,17 +227,17 @@ static int createCommonNamedSparseMatrix(char* _pstName, int _iNameLen, int _iCo
 
 }
 
-int readNamedSparseMatrix(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal)
+int readNamedSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal)
 {
-       return readCommonNamedSparseMatrix(_pstName, _iNameLen, 0, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, NULL);
+       return readCommonNamedSparseMatrix(_pstName, 0, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, NULL);
 }
 
-int readNamedComplexSparseMatrix(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
+int readNamedComplexSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
 {
-       return readCommonNamedSparseMatrix(_pstName, _iNameLen, 1, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
+       return readCommonNamedSparseMatrix(_pstName, 1, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
 }
 
-static int readCommonNamedSparseMatrix(char* _pstName, int _iNameLen, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
+static int readCommonNamedSparseMatrix(char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
 {
        int iRet                                        = 0;
        int* piAddr                             = NULL;
@@ -247,7 +247,7 @@ static int readCommonNamedSparseMatrix(char* _pstName, int _iNameLen, int _iComp
        double* pdblReal        = NULL;
        double* pdblImg         = NULL;
 
-       iRet = getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       iRet = getVarAddressFromName(_pstName, &piAddr);
        if(iRet)
        {
                return 1;
index 734aada..ae63405 100644 (file)
@@ -122,7 +122,7 @@ int fillMatrixOfString(int* _piAddress, int _iRows, int _iCols, char** _pstStrin
        return 0;
 }
 
-int createNamedMatrixOfString(char* _pstName, int _iNameLen, int _iRows, int _iCols, char** _pstStrings)
+int createNamedMatrixOfString(char* _pstName, int _iRows, int _iCols, char** _pstStrings)
 {
        int iVarID[nsiz];
   int iSaveRhs                 = Rhs;
@@ -132,7 +132,7 @@ int createNamedMatrixOfString(char* _pstName, int _iNameLen, int _iRows, int _iC
 
        int iTotalLen   = 0;
 
-  C2F(str2name)(_pstName, iVarID, _iNameLen);
+  C2F(str2name)(_pstName, iVarID, (int)strlen(_pstName));
   Top = Top + Nbvars + 1;
 
        iRet = getNewVarAddressFromPosition(Top, &piAddr);
@@ -154,12 +154,12 @@ int createNamedMatrixOfString(char* _pstName, int _iNameLen, int _iRows, int _iC
        return 0;
 }
 
-int readNamedMatrixOfString(char* _pstName, int _iNameLen, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings)
+int readNamedMatrixOfString(char* _pstName, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings)
 {
        int iRet                                        = 0;
        int* piAddr                             = NULL;
 
-       iRet = getVarAddressFromName(_pstName, _iNameLen, &piAddr);
+       iRet = getVarAddressFromName(_pstName, &piAddr);
        if(iRet)
        {
                return 1;
index 64fe91d..53ea234 100644 (file)
@@ -25,6 +25,8 @@ static const char g_SCILAB_CLASS_EMPTY[]              =       "SCILAB_empty";
 static const char g_SCILAB_CLASS_VARNAME[]     =       "SCILAB_varname";
 static const char g_SCILAB_CLASS_COMPLEX[]     =       "SCILAB_complex";
 static const char g_SCILAB_CLASS_PREC[]                        =       "SCILAB_precision";
+static const char g_SCILAB_CLASS_ROWS[]                        =       "SCILAB_sparse_rows";
+static const char g_SCILAB_CLASS_COLS[]                        =       "SCILAB_sparse_cols";
 
 
 static const char g_SCILAB_CLASS_DOUBLE[]              =       "double";
@@ -32,6 +34,8 @@ static const char g_SCILAB_CLASS_STRING[]             =       "string";
 static const char g_SCILAB_CLASS_BOOLEAN[]     =       "boolean";
 static const char g_SCILAB_CLASS_INT[]                 =       "integer";
 static const char g_SCILAB_CLASS_POLY[]                        =       "polynomial";
+static const char g_SCILAB_CLASS_SPARSE[]              =       "sparse";
+static const char g_SCILAB_CLASS_BSPARSE[]     =       "boolean sparse";
 static const char g_SCILAB_CLASS_LIST[]                        =       "list";
 static const char g_SCILAB_CLASS_TLIST[]               =       "tlist";
 static const char g_SCILAB_CLASS_MLIST[]               =       "mlist";
index 60f4b4d..f0dca67 100644 (file)
@@ -32,6 +32,8 @@ int writeInterger16Matrix(int _iFile, char* _pstDatasetName, int _iRows, int _iC
 int writeInterger32Matrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols, int* _piData32);
 int writeInterger64Matrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols, long long* _piData64);
 
+int writeSparseMatrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+int writeSparseComplexMatrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 void* openList(int _iFile, char* pstDatasetName, int _iNbItem);
 int addItemInList(int _iFile, void* _pvList, int _iPos, char* _pstItemName);
index 3b851f6..ab83b04 100644 (file)
@@ -34,7 +34,7 @@ bool export_list(int _iH5File, int *_piVar, char* _pstName, int _iVarType);
 bool export_double(int _iH5File, int *_piVar, char* _pstName);
 bool export_poly(int _iH5File, int *_piVar, char* _pstName);
 bool export_boolean(int _iH5File, int *_piVar, char* _pstName);
-bool export_sparse(int *_piVar, char* _pstName);
+bool export_sparse(int _iH5File, int *_piVar, char* _pstName);
 bool export_boolean_sparse(int *_piVar, char* _pstName);
 bool export_matlab_sparse(int *_piVar, char* _pstName);
 bool export_ints(int _iH5File, int *_piVar, char* _pstName);
@@ -73,7 +73,7 @@ int sci_export_to_hdf5(char *fname,unsigned long fname_len)
        piAddrList = (int**)MALLOC(sizeof(int*) * (iNbVar - 1));
        for(int i = 0 ; i < Rhs - 1 ; i++)
        {
-               iRet = getVarAddressFromName(pstNameList[i + 1], (int)strlen(pstNameList[i + 1]), &piAddrList[i]);
+               iRet = getVarAddressFromName(pstNameList[i + 1], &piAddrList[i]);
                if(iRet)
                {
                        Scierror(999,_("%s: Wrong value for input argument #%d: Defined variable expected.\n"), fname, i + 1);
@@ -139,7 +139,7 @@ bool export_data(int _iH5File, int* _piVar, char* _pstName)
                }
        case sci_sparse :
                {
-                       bReturn = export_sparse(_piVar, _pstName);
+                       bReturn = export_sparse(_iH5File, _piVar, _pstName);
                        break;
                }
        case sci_boolean_sparse :
@@ -355,9 +355,47 @@ bool export_boolean(int _iH5File, int *_piVar, char* _pstName)
        return true;
 }
 
-bool export_sparse(int *_piVar, char* _pstName)
+bool export_sparse(int _iH5File, int *_piVar, char* _pstName)
 {
-       print_type(_pstName);
+       int iRet                                                = 0;
+       int iRows                                               = 0;
+       int iCols                                               = 0;
+       int iNbItem                                     = 0;
+       int* piNbCoef                           = NULL;
+       int* piNbItemRow                = NULL;
+       int* piColPos                           = NULL;
+       double* pdblReal                = NULL;
+       double* pdblImg         = NULL;
+
+       if(isVarComplex(_piVar))
+       {
+               iRet = getComplexSparseMatrix(_piVar, &iRows, &iCols, &iNbItem, &piNbItemRow, &piColPos, &pdblReal, &pdblImg);
+               if(iRet)
+               {
+                       return false;
+               }
+
+               iRet = writeSparseComplexMatrix(_iH5File, _pstName, iRows, iCols, iNbItem, piNbItemRow, piColPos, pdblReal, pdblImg);
+       }
+       else
+       {
+               iRet = getSparseMatrix(_piVar, &iRows, &iCols, &iNbItem, &piNbItemRow, &piColPos, &pdblReal);
+               if(iRet)
+               {
+                       return false;
+               }
+
+               iRet = writeSparseMatrix(_iH5File, _pstName, iRows, iCols, iNbItem, piNbItemRow, piColPos, pdblReal);
+       }
+
+       if(iRet)
+       {
+               return false;
+       }
+
+       char pstMsg[512];
+       sprintf(pstMsg, "sparse (%d x %d)", iRows, iCols);
+       print_type(pstMsg);
        return true;
 }
 
index e72fd9a..2472f7e 100644 (file)
@@ -47,6 +47,7 @@ int sci_import_from_hdf5(char *fname,unsigned long fname_len)
 {
        CheckRhs(1,2);
        CheckLhs(1,1);
+
        int iRows                                               = 0;
        int iCols                                               = 0;
        int iLen                                                = 0;
@@ -216,22 +217,22 @@ bool import_double(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstVa
        {
                if(iComplex)
                {
-                       iRet                    = createNamedComplexMatrixOfDouble(_pstVarname, (int)strlen(_pstVarname), iRows, iCols, pdblReal, pdblImg);
+                       iRet                    = createNamedComplexMatrixOfDouble(_pstVarname, iRows, iCols, pdblReal, pdblImg);
                }
                else
                {
-                       iRet                    = createNamedMatrixOfDouble(_pstVarname, (int)strlen(_pstVarname), iRows, iCols, pdblReal);
+                       iRet                    = createNamedMatrixOfDouble(_pstVarname, iRows, iCols, pdblReal);
                }
        }
        else //if not null this variable is in a list
        {
                if(iComplex)
                {
-                       iRet                    = createComplexMatrixOfDoubleInNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, pdblReal, pdblImg);
+                       iRet                    = createComplexMatrixOfDoubleInNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, pdblReal, pdblImg);
                }
                else
                {
-                       iRet                    = createMatrixOfDoubleInNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, pdblReal);
+                       iRet                    = createMatrixOfDoubleInNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, pdblReal);
                }
        }
 
@@ -280,11 +281,11 @@ bool import_string(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstVa
 
        if(_piAddress == NULL)
        {
-               iRet = createNamedMatrixOfString(_pstVarname, (int)strlen(_pstVarname), iRows, iCols, pstData);
+               iRet = createNamedMatrixOfString(_pstVarname, iRows, iCols, pstData);
        }
        else //if not null this variable is in a list
        {
-               iRet = createMatrixOfStringInNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, pstData);
+               iRet = createMatrixOfStringInNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, pstData);
        }
 
        char pstMsg[512];
@@ -338,11 +339,11 @@ bool import_integer(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstV
 
                        if(_piAddress == NULL)
                        {
-                               iRet = createNamedMatrixOfInteger8( _pstVarname, (int)strlen(_pstVarname), iRows, iCols, pcData);
+                               iRet = createNamedMatrixOfInteger8( _pstVarname, iRows, iCols, pcData);
                        }
                        else
                        {
-                               iRet = createMatrixOfInteger8InNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, pcData);
+                               iRet = createMatrixOfInteger8InNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, pcData);
                        }
                }
                break;
@@ -358,11 +359,11 @@ bool import_integer(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstV
 
                        if(_piAddress == NULL)
                        {
-                               iRet = createNamedMatrixOfInteger16( _pstVarname, (int)strlen(_pstVarname), iRows, iCols, psData);
+                               iRet = createNamedMatrixOfInteger16( _pstVarname, iRows, iCols, psData);
                        }
                        else
                        {
-                               iRet = createMatrixOfInteger16InNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, psData);
+                               iRet = createMatrixOfInteger16InNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, psData);
                        }
                }
                break;
@@ -378,11 +379,11 @@ bool import_integer(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstV
 
                        if(_piAddress == NULL)
                        {
-                               iRet = createNamedMatrixOfInteger32( _pstVarname, (int)strlen(_pstVarname), iRows, iCols, piData);
+                               iRet = createNamedMatrixOfInteger32( _pstVarname, iRows, iCols, piData);
                        }
                        else
                        {
-                               iRet = createMatrixOfInteger32InNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, piData);
+                               iRet = createMatrixOfInteger32InNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, piData);
                        }
                }
                break;
@@ -397,14 +398,14 @@ bool import_integer(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstV
                                return false;
                        }
 
-                       iRet = createNamedMatrixOfInteger8( _pstVarname, (int)strlen(_pstVarname), iRows, iCols, pcData);
+                       iRet = createNamedMatrixOfInteger8( _pstVarname, iRows, iCols, pcData);
                        if(_piAddress == NULL)
                        {
-                               iRet = createNamedMatrixOfInteger8( _pstVarname, (int)strlen(_pstVarname), iRows, iCols, pcData);
+                               iRet = createNamedMatrixOfInteger8( _pstVarname, iRows, iCols, pcData);
                        }
                        else
                        {
-                               iRet = createMatrixOfInteger64InNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, pllData);
+                               iRet = createMatrixOfInteger64InNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, pllData);
                        }
 #else
                        return false;
@@ -442,11 +443,11 @@ bool import_boolean(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstV
 
        if(_piAddress == NULL)
        {
-               iRet                    = createNamedMatrixOfBoolean(_pstVarname, (int)strlen(_pstVarname), iRows, iCols, piData);
+               iRet                    = createNamedMatrixOfBoolean(_pstVarname, iRows, iCols, piData);
        }
        else //if not null this variable is in a list
        {
-               iRet                    = createMatrixOfBooleanInNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows, iCols, piData);
+               iRet                    = createMatrixOfBooleanInNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, piData);
        }
 
        char pstMsg[512];
@@ -511,22 +512,22 @@ bool import_poly(int _iDatasetId, int _iItemPos, int* _piAddress, char* _pstVarn
        {
                if(iComplex)
                {
-                       iRet                    =       createNamedComplexMatrixOfPoly(_pstVarname, strlen(_pstVarname), pstVarName, iRows, iCols, piNbCoef, pdblReal, pdblImg);
+                       iRet                    =       createNamedComplexMatrixOfPoly(_pstVarname, pstVarName, iRows, iCols, piNbCoef, pdblReal, pdblImg);
                }
                else
                {
-                       iRet                    =       createNamedMatrixOfPoly(_pstVarname, strlen(_pstVarname), pstVarName, iRows, iCols, piNbCoef, pdblReal);
+                       iRet                    =       createNamedMatrixOfPoly(_pstVarname, pstVarName, iRows, iCols, piNbCoef, pdblReal);
                }
        }
        else //if not null this variable is in a list
        {
                if(iComplex)
                {
-                       iRet                    = createComplexMatrixOfPolyInNamedList(_pstVarname, strlen(_pstVarname), _piAddress, _iItemPos, pstVarName, iRows, iCols, piNbCoef, pdblReal, pdblImg);
+                       iRet                    = createComplexMatrixOfPolyInNamedList(_pstVarname, _piAddress, _iItemPos, pstVarName, iRows, iCols, piNbCoef, pdblReal, pdblImg);
                }
                else
                {
-                       iRet                    = createMatrixOfPolyInNamedList(_pstVarname, strlen(_pstVarname), _piAddress, _iItemPos, pstVarName, iRows, iCols, piNbCoef, pdblReal);
+                       iRet                    = createMatrixOfPolyInNamedList(_pstVarname, _piAddress, _iItemPos, pstVarName, iRows, iCols, piNbCoef, pdblReal);
                }
        }
 
@@ -588,13 +589,13 @@ bool import_list(int _iDatasetId, int _iVarType, int _iItemPos, int* _piAddress,
                switch(_iVarType)
                {
                case sci_list :
-                       iRet            = createNamedList(_pstVarname, (int)strlen(_pstVarname), iRows * iCols, &piListAddr);
+                       iRet            = createNamedList(_pstVarname, iRows * iCols, &piListAddr);
                        break;
                case sci_tlist :
-                       iRet            = createNamedTList(_pstVarname, (int)strlen(_pstVarname), iRows * iCols, &piListAddr);
+                       iRet            = createNamedTList(_pstVarname, iRows * iCols, &piListAddr);
                        break;
                case sci_mlist :
-                       iRet            = createNamedMList(_pstVarname, (int)strlen(_pstVarname), iRows * iCols, &piListAddr);
+                       iRet            = createNamedMList(_pstVarname, iRows * iCols, &piListAddr);
                        break;
                default :
                        return false;
@@ -605,13 +606,13 @@ bool import_list(int _iDatasetId, int _iVarType, int _iItemPos, int* _piAddress,
                switch(_iVarType)
                {
                case sci_list :
-                       iRet            = createListInNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows * iCols, &piListAddr);
+                       iRet            = createListInNamedList(_pstVarname, _piAddress, _iItemPos, iRows * iCols, &piListAddr);
                        break;
                case sci_tlist :
-                       iRet            = createTListInNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows * iCols, &piListAddr);
+                       iRet            = createTListInNamedList(_pstVarname, _piAddress, _iItemPos, iRows * iCols, &piListAddr);
                        break;
                case sci_mlist :
-                       iRet            = createMListInNamedList(_pstVarname, (int)strlen(_pstVarname), _piAddress, _iItemPos, iRows * iCols, &piListAddr);
+                       iRet            = createMListInNamedList(_pstVarname, _piAddress, _iItemPos, iRows * iCols, &piListAddr);
                        break;
                default :
                        return false;
index feef003..db725d8 100644 (file)
@@ -23,6 +23,8 @@ static hid_t enableCompression(int _iLevel, int _iRank, const hsize_t* _piDims)
        hid_t iRet                      = 0;
        int iLevel                      = _iLevel;
 
+       return H5P_DEFAULT;
+
   if(iLevel < 0)
        {
                iLevel                          = 0;
@@ -330,7 +332,7 @@ int writeDoubleMatrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols,
        hid_t space                                     = 0;
        hid_t dset                                      = 0;
        herr_t status                           = 0;
-       hsize_t dims[1]                 = {1};
+       hsize_t dims[2]                 = {_iRows, _iCols};
        hid_t iCompress                 = 0;
 
 
@@ -471,29 +473,6 @@ int writeBooleanMatrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols
        return status;
 }
 
-//int writePoly(int _iFile, char* _pstDatasetName, int _iNbCoef, double* _pdblReal)
-//{
-//  hsize_t dims[1] = {_iNbCoef};
-//  hid_t space                        = 0;
-//     hid_t dset                      = 0;
-//  herr_t status              = 0;
-//
-//  //Create string dataspace.  Setting maximum size to NULL sets the maximum size to be the current size.
-//  space                                              = H5Screate_simple (1, dims, NULL);
-//
-//  //Create the data set and write it.
-//  dset                                               = H5Dcreate (_iFile, _pstDatasetName, H5T_NATIVE_DOUBLE, space, H5P_DEFAULT);
-//  status                                     = H5Dwrite (dset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, _pdblReal);
-//
-//     //Add attribute SCILAB_Class = string to dataset
-//  addAttribute(dset, g_SCILAB_CLASS, g_SCILAB_CLASS_DOUBLE);
-//
-//     //Close and release resources.
-//  status                                     = H5Dclose (dset);
-//  status                                     = H5Sclose (space);
-//     return status;
-//}
-
 static int writeCommonPolyMatrix(int _iFile, char* _pstDatasetName, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
 {
        int i                                                           = 0;
@@ -599,62 +578,6 @@ int writePolyComplexMatrix(int _iFile, char* _pstDatasetName, char* _pstVarName,
        return writeCommonPolyMatrix(_iFile, _pstDatasetName, _pstVarName, 1, _iRows, _iCols, _piNbCoef, _pdblReal, _pdblImg);
 }
 
-//static int writeCommomIntergerMatrix(int _iH5File, char* _pstDatasetName, int _iPrecision, int _iRows, int _iCols, void* _pvData)
-//{
-//     hsize_t piDims[2] = {_iRows, _iCols};
-//     herr_t status;
-//     hid_t iSpace;
-//     hid_t iDataset;
-//     int     i                                                       = 0;
-//     int j                                                   = 0;
-//     void* pvData                            = NULL;
-//
-//     switch(_iPrecision)
-//     {
-//     case SCI_INT8 : 
-//             pvData = (void*)malloc(sizeof(char) * _iRows * _iCols);
-//             break;
-//     case SCI_INT16 : 
-//             pvData = (void*)malloc(sizeof(short) * _iRows * _iCols);
-//             break;
-//     case SCI_INT32 : 
-//             pvData = (void*)malloc(sizeof(int) * _iRows * _iCols);
-//             break;
-//     case SCI_INT64 : 
-//             pvData = (void*)malloc(sizeof(long long) * _iRows * _iCols);
-//             break;
-//     default : 
-//             break;
-//     }
-//
-//     for (i = 0 ; i < _iRows; i++)
-//     {
-//             for (j = 0 ; j < _iCols ; j++)  
-//             {
-//                     pvData[i * _iCols + j] = _pvData[i + _iRows * j];
-//             }
-//     }
-//
-//     //Create dataspace.  Setting maximum size to NULL sets the maximum size to be the current size.
-//     iSpace = H5Screate_simple (2, piDims, NULL);
-//
-//     //Create the dataset and write the array data to it.
-//     iDataset = H5Dcreate (_iFile, _pstDatasetName, H5T_NATIVE_INT, iSpace, H5P_DEFAULT);
-//     status = H5Dwrite (iDataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
-//             piData);
-//
-//     //Add attribute SCILAB_Class = double to dataset
-//     addAttribute(iDataset, g_SCILAB_CLASS, g_SCILAB_CLASS_BOOLEAN);
-//
-//     //Close and release resources.
-//     status = H5Dclose (iDataset);
-//     status = H5Sclose (iSpace);
-//
-//     free(piData);
-//
-//     return status;
-//}
-
 int writeInterger8Matrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols, char* _pcData)
 {
        hsize_t piDims[2]               = {_iRows, _iCols};
@@ -827,6 +750,135 @@ int writeInterger64Matrix(int _iFile, char* _pstDatasetName, int _iRows, int _iC
        return status;
 }
 
+int writeCommonSparseComplexMatrix(int _iFile, char* _pstDatasetName, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
+{
+       int iRet                                                        = 0;
+       int i                                                                   = 0;
+       int j                                                                   = 0;
+       hsize_t dims[1]                         = {3};
+       herr_t status                                   = 0;
+       hid_t   space                                           = 0;
+       hid_t   dset                                            = 0;
+       hid_t   group                                           = 0;
+       hid_t iCompress                         = 0;
+       hobj_ref_t* pDataRef    = 0; 
+       char pstRow[10]                         = {0};
+       char pstCol[10]                         = {0};
+
+
+       char* pstRowPath                        = NULL;
+       char* pstColPath                        = NULL;
+       char* pstDataPath                       = NULL;
+
+       char* pstGroupName              = NULL;
+
+
+       // Create ref matrix
+       //3 refs : 1 for data, 1 for Number Item by row ( row size ) and 1 for column position
+       pDataRef                                                = (hobj_ref_t *)malloc(3 * sizeof(hobj_ref_t));
+
+       // Generate groupname #<dataSetName>#
+       pstGroupName = createGroupName(_pstDatasetName);
+
+       //First create a group to store all referenced objects.
+       group                                                           = H5Gcreate(_iFile, pstGroupName, H5P_DEFAULT);
+       status                                                  = H5Gclose(group);
+
+       //Create each sub dataset and insert data
+       pstRowPath = createPathName(pstGroupName, 0);
+       status = writeInterger32Matrix(_iFile, pstRowPath, 1, _iRows, _piNbItemRow);
+       if(status)
+       {
+               return 1;
+       }
+
+       status = H5Rcreate(&pDataRef[0], _iFile, pstRowPath, H5R_OBJECT, -1);
+       if(status)
+       {
+               return 1;
+       }
+
+       pstColPath = createPathName(pstGroupName, 1);
+       status = writeInterger32Matrix(_iFile, pstColPath, 1, _iNbItem, _piColPos);
+       if(status)
+       {
+               return 1;
+       }
+
+       status = H5Rcreate(&pDataRef[1], _iFile, pstColPath, H5R_OBJECT, -1);
+       if(status)
+       {
+               return 1;
+       }
+
+       pstDataPath = createPathName(pstGroupName, 2);
+       if(_iComplex)
+       {
+               status = writeDoubleComplexMatrix(_iFile, pstDataPath, 1, _iNbItem, _pdblReal, _pdblImg);
+       }
+       else
+       {
+               status = writeDoubleMatrix(_iFile, pstDataPath, 1, _iNbItem, _pdblReal);
+       }
+       if(status)
+       {
+               return 1;
+       }
+
+       status = H5Rcreate(&pDataRef[2], _iFile, pstDataPath, H5R_OBJECT, -1);
+       if(status)
+       {
+               return 1;
+       }
+
+       //free group names
+       free(pstRowPath);
+       free(pstColPath);
+       free(pstDataPath);
+
+       //Create dataspace.  Setting maximum size to NULL sets the maximum size to be the current size.
+       space                                                           = H5Screate_simple(1, dims, NULL);
+
+       //Create the dataset and write the array data to it.
+       iCompress                                               = enableCompression(9, 2, dims);
+       dset                                                            = H5Dcreate(_iFile, _pstDatasetName, H5T_STD_REF_OBJ, space, iCompress);
+       status                                                  = H5Dwrite(dset, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, pDataRef);
+       if(status)
+       {
+               return 1;
+       }
+       //Add attribute SCILAB_Class = poly to dataset
+       sprintf(pstRow, "%d", _iRows);
+       sprintf(pstCol, "%d", _iCols);
+       addAttribute(dset, g_SCILAB_CLASS                                       , g_SCILAB_CLASS_SPARSE);
+       addAttribute(dset, g_SCILAB_CLASS_ROWS          , pstRow);
+       addAttribute(dset, g_SCILAB_CLASS_COLS          , pstCol);
+
+
+       if(_iComplex)
+       {
+               //Add attribute Varname attribute to dataset
+               addAttribute(dset, g_SCILAB_CLASS_COMPLEX       , "true");
+       }
+
+       //Close and release resources.
+       status                                                  = H5Dclose(dset);
+       status                                                  = H5Sclose(space);
+
+       free(pstGroupName);
+
+       return status;
+}
+
+int writeSparseMatrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal)
+{
+       return writeCommonSparseComplexMatrix(_iFile, _pstDatasetName, 0, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, NULL);
+}
+
+int writeSparseComplexMatrix(int _iFile, char* _pstDatasetName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg)
+{
+       return writeCommonSparseComplexMatrix(_iFile, _pstDatasetName, 1, _iRows, _iCols, _iNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
+}
 
 //create a group and create hobj_ref_t array
 void* openList(int _iFile, char* pstDatasetName, int _iNbItem)