* Port to matio 1.5.0 * Code cleaning * Prepare code for Scilab 6 (YaSp branch merge)
[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 pvApiCtx Scilab context
25  * @param iVar position on the stack
26  * @param matVariable Matlab variable (See MATIO library)
27  * @param parent parent mlist. If NULL, a normal variable is created.
28  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
29  *
30  * @return TRUE if the variable has been written without problem
31  */
32 int CreateMatlabVariable(void *pvApiCtx, int iVar, matvar_t *matVariable, int * parent, int item_position);
33
34
35 /*
36  * Create a Scilab Integer variable on stack from a Matlab variable
37  *
38  * @param pvApiCtx Scilab context
39  * @param iVar position on the stack
40  * @param integerType Scilab int type (See stack-c.h)
41  * @param matVariable Matlab variable (See MATIO library)
42  * @param parent parent mlist. If NULL, a normal variable is created.
43  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
44  *
45  * @return TRUE if the variable has been written without problem
46  */
47 int CreateIntegerVariable(void *pvApiCtx, int iVar, int integerType, matvar_t *matVariable, int * parent, int item_position);
48
49 /*
50  * Create a Scilab HyperMatrix variable on stack from a Matlab variable
51  *
52  * @param pvApiCtx Scilab context
53  * @param iVar position on the stack
54  * @param type contents data type
55  * @param iscomplex TRUE if the variable is Complex
56  * @param rank number of dimensions of the variable
57  * @param dims variable dimensions
58  * @param realdata pointer to real data
59  * @param complexdata pointer to complex data
60  * @param parent parent mlist. If NULL, a normal variable is created.
61  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
62  *
63  * @return TRUE if the variable has been written without problem
64  */
65 int CreateHyperMatrixVariable(void *pvApiCtx, int iVar, const char *type, int *iscomplex, int * rank, int *dims, double *realdata, double *complexdata, int * parent, int item_position);
66
67 /*
68  * Create a Scilab Struct variable on stack from a Matlab variable
69  *
70  * @param pvApiCtx Scilab context
71  * @param iVar position on the stack
72  * @param matVariable Matlab variable (See MATIO library)
73  * @param parent parent mlist. If NULL, a normal variable is created.
74  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
75  *
76  * @return TRUE if the variable has been written without problem
77  */
78 int CreateStructVariable(void *pvApiCtx, int iVar, matvar_t *matVariable, int * parent, int item_position);
79
80 /*
81  * Create a Scilab Cell variable on stack from a Matlab variable
82  *
83  * @param pvApiCtx Scilab context
84  * @param iVar position on the stack
85  * @param matVariable Matlab variable (See MATIO library)
86  * @param parent parent mlist. If NULL, a normal variable is created.
87  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
88  *
89  * @return TRUE if the variable has been written without problem
90  */
91 int CreateCellVariable(void *pvApiCtx, int iVar, matvar_t *matVariable, int * parent, int item_position);
92
93 /*
94  * Create a Scilab Char variable on stack from a Matlab variable
95  *
96  * @param pvApiCtx Scilab context
97  * @param iVar position on the stack
98  * @param matVariable Matlab variable (See MATIO library)
99  * @param parent parent mlist. If NULL, a normal variable is created.
100  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
101  *
102  * @return TRUE if the variable has been written without problem
103  */
104 int CreateCharVariable(void *pvApiCtx, int iVar, matvar_t *matVariable, int * parent, int item_position);
105
106 /*
107  * Create a Scilab Sparse variable on stack from a Matlab variable
108  *
109  * @param pvApiCtx Scilab context
110  * @param iVar position on the stack
111  * @param matVariable Matlab variable (See MATIO library)
112  * @param parent parent mlist. If NULL, a normal variable is created.
113  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
114  *
115  * @return TRUE if the variable has been written without problem
116  */
117 int CreateSparseVariable(void *pvApiCtx, int iVar, matvar_t *matVariable, int * parent, int item_position);
118
119 /*
120  * Create a Scilab Double variable on stack from a Matlab variable
121  *
122  * @param pvApiCtx Scilab context
123  * @param iVar position on the stack
124  * @param matVariable Matlab variable (See MATIO library)
125  * @param parent parent mlist. If NULL, a normal variable is created.
126  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
127  *
128  * @return TRUE if the variable has been written without problem
129  */
130 int CreateDoubleVariable(void *pvApiCtx, int iVar, matvar_t *matVariable, int * parent, int item_position);
131
132 /*
133  * Create a Scilab Boolean variable on stack from a Matlab variable
134  *
135  * @param pvApiCtx Scilab context
136  * @param iVar position on the stack
137  * @param matVariable Matlab variable (See MATIO library)
138  * @param parent parent mlist. If NULL, a normal variable is created.
139  * @param item_position position of the variable in the mlist. Only effective if parent !=NULL
140  *
141  * @return TRUE if the variable has been written without problem
142  */
143 int CreateBooleanVariable(void *pvApiCtx, int iVar, matvar_t *matVariable, int * parent, int item_position);
144
145 #endif /* !__CREATEMATLABVARIABLE_H__ */