25a2405be29c6787990c66c4bd743aa60aa67450
[scilab.git] / scilab / modules / matio / src / c / CreateMatlabVariable.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2008 - INRIA - Vincent COUVERT 
4  * Copyright (C) 2010 - DIGITEO - Yann COLLETTE 
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  */
13
14 #ifndef __CREATEMATLABVARIABLE_H__
15 #define __CREATEMATLABVARIABLE_H__
16
17 #include "matfile_manager.h"
18
19 /*
20  * Create a Scilab variable on stack from a Matlab variable
21  * This function write nothing on stack but calls the function which 
22  * does the work according to Matlab Variable type
23  * 
24  * @param iVar position on the stack
25  * @param matVariable Matlab variable (See MATIO library)
26  * @param parent parent mlist. If NULL, a normal variable is created.
27  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
28  *
29  * @return TRUE if the variable has been written without problem
30  */
31 int CreateMatlabVariable(int iVar, matvar_t *matVariable, int * parent, int item_position);
32
33
34 /*
35  * Create a Scilab Integer variable on stack from a Matlab variable
36  * 
37  * @param iVar position on the stack
38  * @param integerType Scilab int type (See stack-c.h)
39  * @param matVariable Matlab variable (See MATIO library)
40  * @param parent parent mlist. If NULL, a normal variable is created.
41  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
42  *
43  * @return TRUE if the variable has been written without problem
44  */
45 int CreateIntegerVariable(int iVar, int integerType, matvar_t *matVariable, int * parent, int item_position);
46
47 /*
48  * Create a Scilab HyperMatrix variable on stack from a Matlab variable
49  * 
50  * @param iVar position on the stack
51  * @param type contents data type
52  * @param iscomplex TRUE if the variable is Complex
53  * @param rank number of dimensions of the variable
54  * @param dims variable dimensions
55  * @param realdata pointer to real data
56  * @param complexdata pointer to complex data
57  * @param parent parent mlist. If NULL, a normal variable is created.
58  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
59  *
60  * @return TRUE if the variable has been written without problem
61  */
62 int CreateHyperMatrixVariable(int iVar, const char *type, int *iscomplex, int * rank, int *dims, double *realdata, double *complexdata, int * parent, int item_position);
63
64 /*
65  * Create a Scilab Struct variable on stack from a Matlab variable
66  * 
67  * @param iVar position on the stack
68  * @param matVariable Matlab variable (See MATIO library)
69  * @param parent parent mlist. If NULL, a normal variable is created.
70  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
71  *
72  * @return TRUE if the variable has been written without problem
73  */
74 int CreateStructVariable(int iVar, matvar_t *matVariable, int * parent, int item_position);
75
76 /*
77  * Create a Scilab Cell variable on stack from a Matlab variable
78  * 
79  * @param iVar position on the stack
80  * @param matVariable Matlab variable (See MATIO library)
81  * @param parent parent mlist. If NULL, a normal variable is created.
82  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
83  *
84  * @return TRUE if the variable has been written without problem
85  */
86 int CreateCellVariable(int iVar, matvar_t *matVariable, int * parent, int item_position);
87
88 /*
89  * Create a Scilab Char variable on stack from a Matlab variable
90  * 
91  * @param iVar position on the stack
92  * @param matVariable Matlab variable (See MATIO library)
93  * @param parent parent mlist. If NULL, a normal variable is created.
94  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
95  *
96  * @return TRUE if the variable has been written without problem
97  */
98 int CreateCharVariable(int iVar, matvar_t *matVariable, int * parent, int item_position);
99
100 /*
101  * Create a Scilab Sparse variable on stack from a Matlab variable
102  * 
103  * @param iVar position on the stack
104  * @param matVariable Matlab variable (See MATIO library)
105  * @param parent parent mlist. If NULL, a normal variable is created.
106  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
107  *
108  * @return TRUE if the variable has been written without problem
109  */
110 int CreateSparseVariable(int iVar, matvar_t *matVariable, int * parent, int item_position);
111
112 /*
113  * Create a Scilab Double variable on stack from a Matlab variable
114  * 
115  * @param iVar position on the stack
116  * @param matVariable Matlab variable (See MATIO library)
117  * @param parent parent mlist. If NULL, a normal variable is created.
118  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
119  *
120  * @return TRUE if the variable has been written without problem
121  */
122 int CreateDoubleVariable(int iVar, matvar_t *matVariable, int * parent, int item_position);
123
124 /*
125  * Create a Scilab Boolean variable on stack from a Matlab variable
126  * 
127  * @param iVar position on the stack
128  * @param matVariable Matlab variable (See MATIO library)
129  * @param parent parent mlist. If NULL, a normal variable is created.
130  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
131  *
132  * @return TRUE if the variable has been written without problem
133  */
134 int CreateBooleanVariable(int iVar, matvar_t *matVariable, int * parent, int item_position);
135
136 #endif /* !__CREATEMATLABVARIABLE_H__ */