summaryrefslogtreecommitdiff
path: root/modules/data_structures
diff options
context:
space:
mode:
Diffstat (limited to 'modules/data_structures')
-rwxr-xr-xmodules/data_structures/.libs/libdummy-data_structures.abin0 -> 28774 bytes
l---------modules/data_structures/.libs/libdummy-data_structures.la1
-rwxr-xr-xmodules/data_structures/.libs/libscidata_structures-algo.abin0 -> 252592 bytes
l---------modules/data_structures/.libs/libscidata_structures-algo.la1
-rwxr-xr-xmodules/data_structures/.libs/libscidata_structures.abin0 -> 449850 bytes
l---------modules/data_structures/.libs/libscidata_structures.la1
-rwxr-xr-xmodules/data_structures/Makefile1642
-rwxr-xr-xmodules/data_structures/Makefile.am99
-rwxr-xr-xmodules/data_structures/Makefile.in1642
-rwxr-xr-xmodules/data_structures/data_structures.iss45
-rwxr-xr-xmodules/data_structures/etc/data_structures.quit10
-rwxr-xr-xmodules/data_structures/etc/data_structures.start19
-rwxr-xr-xmodules/data_structures/help/en_US/addchapter.sce11
-rwxr-xr-xmodules/data_structures/help/en_US/boolean.xml87
-rwxr-xr-xmodules/data_structures/help/en_US/cell.xml164
-rwxr-xr-xmodules/data_structures/help/en_US/definedfields.xml78
-rwxr-xr-xmodules/data_structures/help/en_US/fieldnames.xml86
-rwxr-xr-xmodules/data_structures/help/en_US/getfield.xml76
-rwxr-xr-xmodules/data_structures/help/en_US/hypermat.xml92
-rwxr-xr-xmodules/data_structures/help/en_US/hypermatrices.xml80
-rwxr-xr-xmodules/data_structures/help/en_US/iscell.xml70
-rwxr-xr-xmodules/data_structures/help/en_US/iscellstr.xml76
-rwxr-xr-xmodules/data_structures/help/en_US/isfield.xml101
-rwxr-xr-xmodules/data_structures/help/en_US/isstruct.xml72
-rwxr-xr-xmodules/data_structures/help/en_US/list.xml183
-rwxr-xr-xmodules/data_structures/help/en_US/lstcat.xml62
-rwxr-xr-xmodules/data_structures/help/en_US/makecell.xml74
-rwxr-xr-xmodules/data_structures/help/en_US/matrices.xml75
-rwxr-xr-xmodules/data_structures/help/en_US/mlist.xml136
-rwxr-xr-xmodules/data_structures/help/en_US/null.xml35
-rwxr-xr-xmodules/data_structures/help/en_US/rlist.xml98
-rwxr-xr-xmodules/data_structures/help/en_US/setfield.xml77
-rwxr-xr-xmodules/data_structures/help/en_US/struct.xml101
-rwxr-xr-xmodules/data_structures/help/en_US/tlist.xml165
-rwxr-xr-xmodules/data_structures/help/en_US/type.xml251
-rwxr-xr-xmodules/data_structures/help/en_US/typename.xml97
-rwxr-xr-xmodules/data_structures/help/en_US/typeof.xml244
-rwxr-xr-xmodules/data_structures/help/fr_FR/addchapter.sce11
-rwxr-xr-xmodules/data_structures/help/fr_FR/boolean.xml73
-rwxr-xr-xmodules/data_structures/help/fr_FR/fieldnames.xml93
-rwxr-xr-xmodules/data_structures/help/fr_FR/getfield.xml63
-rwxr-xr-xmodules/data_structures/help/fr_FR/hypermat.xml77
-rwxr-xr-xmodules/data_structures/help/fr_FR/hypermatrices.xml69
-rwxr-xr-xmodules/data_structures/help/fr_FR/iscell.xml70
-rwxr-xr-xmodules/data_structures/help/fr_FR/iscellstr.xml78
-rwxr-xr-xmodules/data_structures/help/fr_FR/isfield.xml103
-rwxr-xr-xmodules/data_structures/help/fr_FR/isstruct.xml72
-rwxr-xr-xmodules/data_structures/help/fr_FR/list.xml161
-rwxr-xr-xmodules/data_structures/help/fr_FR/lstcat.xml51
-rwxr-xr-xmodules/data_structures/help/fr_FR/matrices.xml60
-rwxr-xr-xmodules/data_structures/help/fr_FR/mlist.xml107
-rwxr-xr-xmodules/data_structures/help/fr_FR/null.xml35
-rwxr-xr-xmodules/data_structures/help/fr_FR/rlist.xml87
-rwxr-xr-xmodules/data_structures/help/fr_FR/setfield.xml64
-rwxr-xr-xmodules/data_structures/help/fr_FR/struct.xml91
-rwxr-xr-xmodules/data_structures/help/fr_FR/tlist.xml154
-rwxr-xr-xmodules/data_structures/help/fr_FR/type.xml262
-rwxr-xr-xmodules/data_structures/help/fr_FR/typename.xml96
-rwxr-xr-xmodules/data_structures/help/ja_JP/addchapter.sce11
-rwxr-xr-xmodules/data_structures/help/ja_JP/boolean.xml83
-rwxr-xr-xmodules/data_structures/help/ja_JP/cell.xml153
-rwxr-xr-xmodules/data_structures/help/ja_JP/definedfields.xml80
-rwxr-xr-xmodules/data_structures/help/ja_JP/fieldnames.xml76
-rwxr-xr-xmodules/data_structures/help/ja_JP/getfield.xml71
-rwxr-xr-xmodules/data_structures/help/ja_JP/hypermat.xml81
-rwxr-xr-xmodules/data_structures/help/ja_JP/hypermatrices.xml76
-rwxr-xr-xmodules/data_structures/help/ja_JP/iscell.xml68
-rwxr-xr-xmodules/data_structures/help/ja_JP/iscellstr.xml74
-rwxr-xr-xmodules/data_structures/help/ja_JP/isfield.xml99
-rwxr-xr-xmodules/data_structures/help/ja_JP/isstruct.xml70
-rwxr-xr-xmodules/data_structures/help/ja_JP/list.xml176
-rwxr-xr-xmodules/data_structures/help/ja_JP/lstcat.xml63
-rwxr-xr-xmodules/data_structures/help/ja_JP/makecell.xml75
-rwxr-xr-xmodules/data_structures/help/ja_JP/matrices.xml61
-rwxr-xr-xmodules/data_structures/help/ja_JP/mlist.xml130
-rwxr-xr-xmodules/data_structures/help/ja_JP/null.xml35
-rwxr-xr-xmodules/data_structures/help/ja_JP/rlist.xml48
-rwxr-xr-xmodules/data_structures/help/ja_JP/setfield.xml71
-rwxr-xr-xmodules/data_structures/help/ja_JP/struct.xml70
-rwxr-xr-xmodules/data_structures/help/ja_JP/tlist.xml162
-rwxr-xr-xmodules/data_structures/help/ja_JP/type.xml115
-rwxr-xr-xmodules/data_structures/help/ja_JP/typename.xml90
-rwxr-xr-xmodules/data_structures/help/ja_JP/typeof.xml213
-rwxr-xr-xmodules/data_structures/help/pt_BR/addchapter.sce11
-rwxr-xr-xmodules/data_structures/help/pt_BR/boolean.xml89
-rwxr-xr-xmodules/data_structures/help/pt_BR/cell.xml164
-rwxr-xr-xmodules/data_structures/help/pt_BR/definedfields.xml84
-rwxr-xr-xmodules/data_structures/help/pt_BR/getfield.xml72
-rwxr-xr-xmodules/data_structures/help/pt_BR/hypermat.xml91
-rwxr-xr-xmodules/data_structures/help/pt_BR/hypermatrices.xml80
-rwxr-xr-xmodules/data_structures/help/pt_BR/iscell.xml70
-rwxr-xr-xmodules/data_structures/help/pt_BR/iscellstr.xml79
-rwxr-xr-xmodules/data_structures/help/pt_BR/isstruct.xml74
-rwxr-xr-xmodules/data_structures/help/pt_BR/list.xml175
-rwxr-xr-xmodules/data_structures/help/pt_BR/lstcat.xml63
-rwxr-xr-xmodules/data_structures/help/pt_BR/matrices.xml58
-rwxr-xr-xmodules/data_structures/help/pt_BR/mlist.xml138
-rwxr-xr-xmodules/data_structures/help/pt_BR/null.xml33
-rwxr-xr-xmodules/data_structures/help/pt_BR/rlist.xml48
-rwxr-xr-xmodules/data_structures/help/pt_BR/setfield.xml73
-rwxr-xr-xmodules/data_structures/help/pt_BR/struct.xml76
-rwxr-xr-xmodules/data_structures/help/pt_BR/tlist.xml130
-rwxr-xr-xmodules/data_structures/help/pt_BR/type.xml66
-rwxr-xr-xmodules/data_structures/help/pt_BR/typename.xml91
-rwxr-xr-xmodules/data_structures/help/pt_BR/typeof.xml207
-rwxr-xr-xmodules/data_structures/help/ru_RU/addchapter.sce11
-rwxr-xr-xmodules/data_structures/help/ru_RU/boolean.xml80
-rwxr-xr-xmodules/data_structures/help/ru_RU/cell.xml169
-rwxr-xr-xmodules/data_structures/help/ru_RU/definedfields.xml81
-rwxr-xr-xmodules/data_structures/help/ru_RU/fieldnames.xml81
-rwxr-xr-xmodules/data_structures/help/ru_RU/getfield.xml74
-rwxr-xr-xmodules/data_structures/help/ru_RU/hypermat.xml96
-rwxr-xr-xmodules/data_structures/help/ru_RU/hypermatrices.xml84
-rwxr-xr-xmodules/data_structures/help/ru_RU/iscell.xml70
-rwxr-xr-xmodules/data_structures/help/ru_RU/iscellstr.xml77
-rwxr-xr-xmodules/data_structures/help/ru_RU/isfield.xml78
-rwxr-xr-xmodules/data_structures/help/ru_RU/isstruct.xml73
-rwxr-xr-xmodules/data_structures/help/ru_RU/list.xml183
-rwxr-xr-xmodules/data_structures/help/ru_RU/lstcat.xml64
-rwxr-xr-xmodules/data_structures/help/ru_RU/matrices.xml61
-rwxr-xr-xmodules/data_structures/help/ru_RU/mlist.xml137
-rwxr-xr-xmodules/data_structures/help/ru_RU/null.xml35
-rwxr-xr-xmodules/data_structures/help/ru_RU/rlist.xml62
-rwxr-xr-xmodules/data_structures/help/ru_RU/setfield.xml77
-rwxr-xr-xmodules/data_structures/help/ru_RU/struct.xml76
-rwxr-xr-xmodules/data_structures/help/ru_RU/tlist.xml163
-rwxr-xr-xmodules/data_structures/help/ru_RU/type.xml241
-rwxr-xr-xmodules/data_structures/help/ru_RU/typename.xml90
-rwxr-xr-xmodules/data_structures/help/ru_RU/typeof.xml244
-rwxr-xr-xmodules/data_structures/includes/dynlib_data_structures.h28
-rwxr-xr-xmodules/data_structures/includes/gw_data_structures1.h36
-rwxr-xr-xmodules/data_structures/includes/gw_data_structures2.h26
-rwxr-xr-xmodules/data_structures/libdummy-data_structures.la41
-rwxr-xr-xmodules/data_structures/libscidata_structures-algo.la41
-rwxr-xr-xmodules/data_structures/libscidata_structures.la41
-rwxr-xr-xmodules/data_structures/license.txt23
-rwxr-xr-xmodules/data_structures/locales/ca_ES.po109
-rwxr-xr-xmodules/data_structures/locales/cs_CZ.po105
-rwxr-xr-xmodules/data_structures/locales/data_structures.pot145
-rwxr-xr-xmodules/data_structures/locales/de_DE.po107
-rwxr-xr-xmodules/data_structures/locales/es_ES.po107
-rwxr-xr-xmodules/data_structures/locales/fr_FR.po110
-rwxr-xr-xmodules/data_structures/locales/it_IT.po120
-rwxr-xr-xmodules/data_structures/locales/ja_JP.po103
-rwxr-xr-xmodules/data_structures/locales/pl_PL.po106
-rwxr-xr-xmodules/data_structures/locales/pt_BR.po108
-rwxr-xr-xmodules/data_structures/locales/ru_RU.po111
-rwxr-xr-xmodules/data_structures/locales/uk_UA.po115
-rwxr-xr-xmodules/data_structures/locales/zh_CN.po101
-rwxr-xr-xmodules/data_structures/locales/zh_TW.po97
-rwxr-xr-xmodules/data_structures/macros/%_rlist.binbin0 -> 304 bytes
-rwxr-xr-xmodules/data_structures/macros/%_rlist.sci12
-rwxr-xr-xmodules/data_structures/macros/buildmacros.bat11
-rwxr-xr-xmodules/data_structures/macros/buildmacros.sce17
-rwxr-xr-xmodules/data_structures/macros/cell.binbin0 -> 3652 bytes
-rwxr-xr-xmodules/data_structures/macros/cell.sci29
-rwxr-xr-xmodules/data_structures/macros/cleanmacros.bat13
-rwxr-xr-xmodules/data_structures/macros/fieldnames.binbin0 -> 1600 bytes
-rwxr-xr-xmodules/data_structures/macros/fieldnames.sci25
-rwxr-xr-xmodules/data_structures/macros/hypermat.binbin0 -> 6260 bytes
-rwxr-xr-xmodules/data_structures/macros/hypermat.sci43
-rwxr-xr-xmodules/data_structures/macros/iscell.binbin0 -> 272 bytes
-rwxr-xr-xmodules/data_structures/macros/iscell.sci13
-rwxr-xr-xmodules/data_structures/macros/iscellstr.binbin0 -> 2280 bytes
-rwxr-xr-xmodules/data_structures/macros/iscellstr.sci35
-rwxr-xr-xmodules/data_structures/macros/isfield.binbin0 -> 4008 bytes
-rwxr-xr-xmodules/data_structures/macros/isfield.sci51
-rwxr-xr-xmodules/data_structures/macros/isstruct.binbin0 -> 272 bytes
-rwxr-xr-xmodules/data_structures/macros/isstruct.sci13
-rwxr-xr-xmodules/data_structures/macros/libbin0 -> 512 bytes
-rwxr-xr-xmodules/data_structures/macros/names9
-rwxr-xr-xmodules/data_structures/macros/struct.binbin0 -> 8164 bytes
-rwxr-xr-xmodules/data_structures/macros/struct.sci77
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/.dirstamp0
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures1.Plo289
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures2.Plo284
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_definedfields.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_getfield.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_glist.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_list.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lsslist.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstcat.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstsize.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_mlist.Plo293
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_rlist.Plo273
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_setfield.Plo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_tlist.Plo293
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.dirstamp0
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures1.obin0 -> 8792 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures2.obin0 -> 7896 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_definedfields.obin0 -> 3624 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_getfield.obin0 -> 3592 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_glist.obin0 -> 3632 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_list.obin0 -> 3592 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lsslist.obin0 -> 3648 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstcat.obin0 -> 3584 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstsize.obin0 -> 3584 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_mlist.obin0 -> 9536 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_rlist.obin0 -> 5632 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_setfield.obin0 -> 3592 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_tlist.obin0 -> 9536 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/c/gw_data_structures1.c57
-rwxr-xr-xmodules/data_structures/sci_gateway/c/gw_data_structures2.c46
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_definedfields.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_getfield.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_glist.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_list.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lsslist.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstcat.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstsize.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_mlist.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_rlist.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_setfield.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/libscidata_structures_la-sci_tlist.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_definedfields.c23
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_getfield.c24
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_glist.c24
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_list.c23
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_lsslist.c24
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_lstcat.c23
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_lstsize.c23
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_mlist.c68
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_rlist.c39
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_setfield.c23
-rwxr-xr-xmodules/data_structures/sci_gateway/c/sci_tlist.c68
-rwxr-xr-xmodules/data_structures/sci_gateway/data_structures_gateway.xml47
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.deps/.dirstamp0
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.dirstamp0
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.libs/sci_f_definedfields.obin0 -> 14936 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.libs/sci_f_getfield.obin0 -> 21752 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.libs/sci_f_list.obin0 -> 14480 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.libs/sci_f_lstcat.obin0 -> 16312 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.libs/sci_f_lstsize.obin0 -> 12960 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/.libs/sci_f_setfield.obin0 -> 15160 bytes
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_definedfields.f67
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_definedfields.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_getfield.f212
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_getfield.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_list.f70
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_list.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_lstcat.f106
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_lstcat.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_lstsize.f47
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_lstsize.lo12
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_setfield.f64
-rwxr-xr-xmodules/data_structures/sci_gateway/fortran/sci_f_setfield.lo12
-rwxr-xr-xmodules/data_structures/src/c/.deps/.dirstamp0
-rwxr-xr-xmodules/data_structures/src/c/.deps/libscidata_structures_algo_la-hmops.Plo221
-rwxr-xr-xmodules/data_structures/src/c/.deps/libscidata_structures_algo_la-stcreate.Plo220
-rwxr-xr-xmodules/data_structures/src/c/.deps/libscidata_structures_algo_la-strpos.Plo58
-rwxr-xr-xmodules/data_structures/src/c/.dirstamp0
-rwxr-xr-xmodules/data_structures/src/c/.libs/libscidata_structures_algo_la-hmops.obin0 -> 51200 bytes
-rwxr-xr-xmodules/data_structures/src/c/.libs/libscidata_structures_algo_la-stcreate.obin0 -> 18168 bytes
-rwxr-xr-xmodules/data_structures/src/c/.libs/libscidata_structures_algo_la-strpos.obin0 -> 4888 bytes
-rwxr-xr-xmodules/data_structures/src/c/DllmainData_structures.c34
-rwxr-xr-xmodules/data_structures/src/c/Linpack_f_Import.def9
-rwxr-xr-xmodules/data_structures/src/c/Polynomials_f_Import.def8
-rwxr-xr-xmodules/data_structures/src/c/core_Import.def25
-rwxr-xr-xmodules/data_structures/src/c/data_structures.rc95
-rwxr-xr-xmodules/data_structures/src/c/data_structures.vcxproj266
-rwxr-xr-xmodules/data_structures/src/c/data_structures.vcxproj.filters120
-rwxr-xr-xmodules/data_structures/src/c/data_structures_f_Import.def17
-rwxr-xr-xmodules/data_structures/src/c/hmops.c1224
-rwxr-xr-xmodules/data_structures/src/c/hmops.h24
-rwxr-xr-xmodules/data_structures/src/c/libscidata_structures_algo_la-hmops.lo12
-rwxr-xr-xmodules/data_structures/src/c/libscidata_structures_algo_la-stcreate.lo12
-rwxr-xr-xmodules/data_structures/src/c/libscidata_structures_algo_la-strpos.lo12
-rwxr-xr-xmodules/data_structures/src/c/stcreate.c200
-rwxr-xr-xmodules/data_structures/src/c/stcreate.h26
-rwxr-xr-xmodules/data_structures/src/c/strpos.c36
-rwxr-xr-xmodules/data_structures/src/fortran/.deps/.dirstamp0
-rwxr-xr-xmodules/data_structures/src/fortran/.dirstamp0
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/extractfields.obin0 -> 18360 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/followpath.obin0 -> 19224 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/forcerhs.obin0 -> 11128 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/gratyp.obin0 -> 8608 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/insertfield.obin0 -> 28872 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/intl_i.obin0 -> 32928 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/libdummy_data_structures_la-intl_e.obin0 -> 28416 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/lsstyp.obin0 -> 4384 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/lstops.obin0 -> 14800 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/mlist.obin0 -> 14000 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/rattyp.obin0 -> 4344 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/.libs/udptr.obin0 -> 19400 bytes
-rwxr-xr-xmodules/data_structures/src/fortran/Core_f_Import.def19
-rwxr-xr-xmodules/data_structures/src/fortran/Elementary_functions_Import.def8
-rwxr-xr-xmodules/data_structures/src/fortran/Elementary_functions_f_Import.def8
-rwxr-xr-xmodules/data_structures/src/fortran/Linpack_f_Import.def8
-rwxr-xr-xmodules/data_structures/src/fortran/Output_stream_Import.def9
-rwxr-xr-xmodules/data_structures/src/fortran/core_Import.def18
-rwxr-xr-xmodules/data_structures/src/fortran/data_structures_Import.def8
-rwxr-xr-xmodules/data_structures/src/fortran/data_structures_f.rc95
-rwxr-xr-xmodules/data_structures/src/fortran/data_structures_f.vfproj132
-rwxr-xr-xmodules/data_structures/src/fortran/data_structures_f2c.vcxproj331
-rwxr-xr-xmodules/data_structures/src/fortran/data_structures_f2c.vcxproj.filters160
-rwxr-xr-xmodules/data_structures/src/fortran/extractfields.f121
-rwxr-xr-xmodules/data_structures/src/fortran/extractfields.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/followpath.f235
-rwxr-xr-xmodules/data_structures/src/fortran/followpath.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/forcerhs.f38
-rwxr-xr-xmodules/data_structures/src/fortran/forcerhs.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/gratyp.f436
-rwxr-xr-xmodules/data_structures/src/fortran/gratyp.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/insertfield.f324
-rwxr-xr-xmodules/data_structures/src/fortran/insertfield.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/intl_e.f377
-rwxr-xr-xmodules/data_structures/src/fortran/intl_i.f571
-rwxr-xr-xmodules/data_structures/src/fortran/intl_i.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/libdummy_data_structures_la-intl_e.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/lsstyp.f42
-rwxr-xr-xmodules/data_structures/src/fortran/lsstyp.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/lstops.f67
-rwxr-xr-xmodules/data_structures/src/fortran/lstops.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/mlist.f49
-rwxr-xr-xmodules/data_structures/src/fortran/mlist.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/rattyp.f37
-rwxr-xr-xmodules/data_structures/src/fortran/rattyp.lo12
-rwxr-xr-xmodules/data_structures/src/fortran/udptr.f70
-rwxr-xr-xmodules/data_structures/src/fortran/udptr.lo12
-rwxr-xr-xmodules/data_structures/tests/benchmarks/arguments.tst27
-rwxr-xr-xmodules/data_structures/tests/benchmarks/arguments_resize.tst27
-rwxr-xr-xmodules/data_structures/tests/benchmarks/arguments_tlist.tst29
-rwxr-xr-xmodules/data_structures/tests/benchmarks/arguments_tlist_resize.tst28
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_10830.dia.ref24
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_10830.tst27
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11076.dia.ref18
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11076.tst22
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11077.dia.ref17
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11077.tst21
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11227.dia.ref23
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11227.tst28
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11396.dia.ref21
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_11396.tst29
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1322.dia.ref40
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1322.tst50
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1604.dia.ref20
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1604.tst23
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1712.dia.ref34
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1712.tst38
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1772.dia.ref17
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1772.tst19
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1784.dia.ref20
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1784.tst26
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1956.dia.ref27
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_1956.tst32
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_2081.dia.ref17
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_2081.tst23
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_2588.dia.ref49
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_2588.tst60
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_3005.dia.ref15
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_3005.tst18
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_3135.dia.ref23
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_3135.tst26
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_3459.dia.ref57
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_3459.tst63
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_4015.dia.ref17
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_4015.tst21
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_424.dia.ref14
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_424.tst17
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_475.dia.ref31
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_475.tst42
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_476.dia.ref39
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_476.tst42
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_477.dia.ref41
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_477.tst44
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_480.dia.ref36
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_480.tst35
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_5588.dia.ref63
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_5588.tst75
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_5612.dia.ref23
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_5612.tst32
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_568.dia.ref25
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_568.tst29
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_570.dia.ref15
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_570.tst18
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_6639.dia.ref16
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_6639.tst18
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_6792.dia.ref36
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_6792.tst44
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_6988.dia.ref35
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_6988.tst20
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_7181.dia.ref23
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_7181.tst26
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_7525.dia.ref16
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_7525.tst19
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_8856.dia.ref16
-rwxr-xr-xmodules/data_structures/tests/nonreg_tests/bug_8856.tst18
-rwxr-xr-xmodules/data_structures/tests/unit_tests/fieldnames.dia.ref38
-rwxr-xr-xmodules/data_structures/tests/unit_tests/fieldnames.tst28
-rwxr-xr-xmodules/data_structures/tests/unit_tests/hypermat.dia.ref115
-rwxr-xr-xmodules/data_structures/tests/unit_tests/hypermat.tst109
-rwxr-xr-xmodules/data_structures/tests/unit_tests/isfield.dia.ref48
-rwxr-xr-xmodules/data_structures/tests/unit_tests/isfield.tst71
-rwxr-xr-xmodules/data_structures/tests/unit_tests/list.dia.ref61
-rwxr-xr-xmodules/data_structures/tests/unit_tests/list.tst72
-rwxr-xr-xmodules/data_structures/tests/unit_tests/listextraction.dia.ref78
-rwxr-xr-xmodules/data_structures/tests/unit_tests/listextraction.tst79
-rwxr-xr-xmodules/data_structures/tests/unit_tests/listinsertion.dia.ref349
-rwxr-xr-xmodules/data_structures/tests/unit_tests/listinsertion.tst419
-rwxr-xr-xmodules/data_structures/tests/unit_tests/lstcat.dia.ref17
-rwxr-xr-xmodules/data_structures/tests/unit_tests/lstcat.tst22
-rwxr-xr-xmodules/data_structures/tests/unit_tests/lstops.dia.ref112
-rwxr-xr-xmodules/data_structures/tests/unit_tests/lstops.tst119
-rwxr-xr-xmodules/data_structures/tests/unit_tests/struct.dia.ref78
-rwxr-xr-xmodules/data_structures/tests/unit_tests/struct.tst96
407 files changed, 29341 insertions, 0 deletions
diff --git a/modules/data_structures/.libs/libdummy-data_structures.a b/modules/data_structures/.libs/libdummy-data_structures.a
new file mode 100755
index 000000000..d753aebe8
--- /dev/null
+++ b/modules/data_structures/.libs/libdummy-data_structures.a
Binary files differ
diff --git a/modules/data_structures/.libs/libdummy-data_structures.la b/modules/data_structures/.libs/libdummy-data_structures.la
new file mode 120000
index 000000000..a60740d49
--- /dev/null
+++ b/modules/data_structures/.libs/libdummy-data_structures.la
@@ -0,0 +1 @@
+../libdummy-data_structures.la \ No newline at end of file
diff --git a/modules/data_structures/.libs/libscidata_structures-algo.a b/modules/data_structures/.libs/libscidata_structures-algo.a
new file mode 100755
index 000000000..6b97c9146
--- /dev/null
+++ b/modules/data_structures/.libs/libscidata_structures-algo.a
Binary files differ
diff --git a/modules/data_structures/.libs/libscidata_structures-algo.la b/modules/data_structures/.libs/libscidata_structures-algo.la
new file mode 120000
index 000000000..1420e771c
--- /dev/null
+++ b/modules/data_structures/.libs/libscidata_structures-algo.la
@@ -0,0 +1 @@
+../libscidata_structures-algo.la \ No newline at end of file
diff --git a/modules/data_structures/.libs/libscidata_structures.a b/modules/data_structures/.libs/libscidata_structures.a
new file mode 100755
index 000000000..37f8651c3
--- /dev/null
+++ b/modules/data_structures/.libs/libscidata_structures.a
Binary files differ
diff --git a/modules/data_structures/.libs/libscidata_structures.la b/modules/data_structures/.libs/libscidata_structures.la
new file mode 120000
index 000000000..d370c1c73
--- /dev/null
+++ b/modules/data_structures/.libs/libscidata_structures.la
@@ -0,0 +1 @@
+../libscidata_structures.la \ No newline at end of file
diff --git a/modules/data_structures/Makefile b/modules/data_structures/Makefile
new file mode 100755
index 000000000..a9f7d22cf
--- /dev/null
+++ b/modules/data_structures/Makefile
@@ -0,0 +1,1642 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# modules/data_structures/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006 - INRIA - Sylvestre LEDRU
+#
+# This file is distributed under the same license as the Scilab package.
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
+# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+#
+# This file must be used under the terms of the CeCILL.
+# This source file is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at
+# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+#
+
+##########
+### Makefile included stuff
+### Target, variable, suffixes which are supposed to be useful in every makefile.am
+##########
+
+
+
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/scilab
+pkgincludedir = $(includedir)/scilab
+pkglibdir = $(libdir)/scilab
+pkglibexecdir = $(libexecdir)/scilab
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
+#am__append_1 = libscidata_structures-algo.la
+am__append_2 = libscidata_structures-algo.la libscidata_structures.la
+DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \
+ $(top_srcdir)/config/depcomp
+am__append_3 = java
+subdir = modules/data_structures
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+ $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \
+ $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \
+ $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
+ $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
+ $(top_srcdir)/m4/intel_compiler.m4 \
+ $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
+ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \
+ $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \
+ $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \
+ $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \
+ $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" \
+ "$(DESTDIR)$(libscidata_structures_la_etcdir)" \
+ "$(DESTDIR)$(libscidata_structures_la_rootdir)" \
+ "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
+libdummy_data_structures_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libdummy_data_structures_la_OBJECTS = \
+ src/fortran/libdummy_data_structures_la-intl_e.lo
+libdummy_data_structures_la_OBJECTS = \
+ $(am_libdummy_data_structures_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libdummy_data_structures_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(F77LD) \
+ $(libdummy_data_structures_la_FFLAGS) $(FFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libscidata_structures_algo_la_LIBADD =
+am__objects_1 = src/c/libscidata_structures_algo_la-stcreate.lo \
+ src/c/libscidata_structures_algo_la-hmops.lo \
+ src/c/libscidata_structures_algo_la-strpos.lo
+am__objects_2 = src/fortran/extractfields.lo src/fortran/forcerhs.lo \
+ src/fortran/intl_i.lo src/fortran/lsstyp.lo \
+ src/fortran/udptr.lo src/fortran/followpath.lo \
+ src/fortran/rattyp.lo src/fortran/lstops.lo \
+ src/fortran/gratyp.lo src/fortran/mlist.lo \
+ src/fortran/insertfield.lo
+am_libscidata_structures_algo_la_OBJECTS = $(am__objects_1) \
+ $(am__objects_2)
+libscidata_structures_algo_la_OBJECTS = \
+ $(am_libscidata_structures_algo_la_OBJECTS)
+am_libscidata_structures_algo_la_rpath =
+#am_libscidata_structures_algo_la_rpath =
+libscidata_structures_la_DEPENDENCIES = libscidata_structures-algo.la \
+ libdummy-data_structures.la
+am__objects_3 = sci_gateway/c/libscidata_structures_la-sci_lsslist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_glist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_mlist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_definedfields.lo \
+ sci_gateway/c/libscidata_structures_la-sci_getfield.lo \
+ sci_gateway/c/libscidata_structures_la-sci_setfield.lo \
+ sci_gateway/c/libscidata_structures_la-sci_lstcat.lo \
+ sci_gateway/c/libscidata_structures_la-sci_list.lo \
+ sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo \
+ sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo \
+ sci_gateway/c/libscidata_structures_la-sci_lstsize.lo \
+ sci_gateway/c/libscidata_structures_la-sci_rlist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_tlist.lo
+am__objects_4 = sci_gateway/fortran/sci_f_definedfields.lo \
+ sci_gateway/fortran/sci_f_lstsize.lo \
+ sci_gateway/fortran/sci_f_setfield.lo \
+ sci_gateway/fortran/sci_f_getfield.lo \
+ sci_gateway/fortran/sci_f_lstcat.lo \
+ sci_gateway/fortran/sci_f_list.lo
+am_libscidata_structures_la_OBJECTS = $(am__objects_3) \
+ $(am__objects_4)
+libscidata_structures_la_OBJECTS = \
+ $(am_libscidata_structures_la_OBJECTS)
+am_libscidata_structures_la_rpath =
+#am_libscidata_structures_la_rpath = -rpath \
+# $(pkglibdir)
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I. -I$(top_builddir)/modules/core/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
+LTF77COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
+AM_V_F77 = $(am__v_F77_$(V))
+am__v_F77_ = $(am__v_F77_$(AM_DEFAULT_VERBOSITY))
+am__v_F77_0 = @echo " F77 " $@;
+am__v_F77_1 =
+F77LD = $(F77)
+F77LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(F77LD) $(AM_FFLAGS) $(FFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_F77LD = $(am__v_F77LD_$(V))
+am__v_F77LD_ = $(am__v_F77LD_$(AM_DEFAULT_VERBOSITY))
+am__v_F77LD_0 = @echo " F77LD " $@;
+am__v_F77LD_1 =
+SOURCES = $(libdummy_data_structures_la_SOURCES) \
+ $(libscidata_structures_algo_la_SOURCES) \
+ $(libscidata_structures_la_SOURCES)
+DIST_SOURCES = $(libdummy_data_structures_la_SOURCES) \
+ $(libscidata_structures_algo_la_SOURCES) \
+ $(libscidata_structures_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(libscidata_structures_la_etc_DATA) \
+ $(libscidata_structures_la_root_DATA) \
+ $(libscidata_structures_la_sci_gateway_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing aclocal-1.14
+ALL_LINGUAS = en_US fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ
+ALL_LINGUAS_DOC = en_US fr_FR pt_BR ja_JP ru_RU
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+ANT = /usr/bin/ant
+ANTLR = /usr/share/java/antlr.jar
+AR = ar
+ARPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -larpack
+ASM3 = /usr/share/java/asm3-3.3.2.jar
+AUTOCONF = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoconf
+AUTOHEADER = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoheader
+AUTOMAKE = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing automake-1.14
+AVALON_FRAMEWORK = /home/shashank/scilab-master_5.5.2/thirdparty/avalon-framework.jar
+AWK = mawk
+BATIK = /home/shashank/scilab-master_5.5.2/thirdparty/batik-all-1.7.jar
+BLAS_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lblas
+CC = gcc
+CCACHE =
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CHECKSTYLE =
+COBERTURA = /usr/share/java/cobertura.jar
+COMMONS_BEANUTILS =
+COMMONS_IO = /home/shashank/scilab-master_5.5.2/thirdparty/commons-io.jar
+COMMONS_LOGGING = /home/shashank/scilab-master_5.5.2/thirdparty/commons-logging.jar
+CPP = gcc -E
+CPPFLAGS =
+CURL_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+CURL_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/curl-config
+CURL_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lcurl -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lssl -lcrypto -lrt -lz
+CURL_VERSION = libcurl 7.19.7
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEMOTOOLS_ENABLE = yes
+DEPDIR = .deps
+DLLTOOL = false
+DOCBOOK_ROOT = /home/shashank/scilab-master_5.5.2/thirdparty/docbook/
+DOXYGEN_BIN =
+DSYMUTIL =
+DUMPBIN =
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+ECJ = /home/shashank/scilab-master_5.5.2/thirdparty/ecj.jar
+EGREP = /bin/grep -E
+EXEEXT =
+F77 = gfortran
+FFLAGS = -g -O2
+FFTW3_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lfftw3
+FFTW_ENABLE = yes
+FGREP = /bin/grep -F
+FLEXDOCK = /home/shashank/scilab-master_5.5.2/thirdparty/flexdock-1.2.4.jar
+FLIBS = -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lpthread -ldl -lcurses -lgfortran -lm -lquadmath
+FOP = /home/shashank/scilab-master_5.5.2/thirdparty/fop.jar
+FREEHEP_GRAPHICS2D = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphics2d.jar
+FREEHEP_GRAPHICSIO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio.jar
+FREEHEP_GRAPHICSIO_EMF = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio-emf.jar
+FREEHEP_IO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-io.jar
+FREEHEP_UTIL = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-util.jar
+GENHTML =
+GETTEXT_MACRO_VERSION = 0.19
+GIWS_BIN =
+GLUEGEN2_RT = /home/shashank/scilab-master_5.5.2/thirdparty/gluegen2-rt.jar
+GMSGFMT = /usr/bin/msgfmt
+GMSGFMT_015 = /usr/bin/msgfmt
+GRAPHICS_ENABLE = yes
+GREP = /bin/grep
+GUI_ENABLE = yes
+HDF5_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+HDF5_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lhdf5 -lhdf5_hl
+HELP_ENABLE = yes
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+INTLLIBS =
+INTL_MACOSX_LIBS =
+JAR = /usr/lib/jvm/java-8-openjdk-amd64/bin/jar
+JAVA = /usr/lib/jvm/java-8-openjdk-amd64/bin/java
+JAVAC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
+JAVAC_DEBUG = off
+JAVADOC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc
+JAVAH = /usr/lib/jvm/java-8-openjdk-amd64/bin/javah
+JAVASCI_ENABLE = yes
+JAVA_ENABLE = yes
+JAVA_G = /usr/lib/jvm/java-8-openjdk-amd64/bin/java
+JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64
+JAVA_JNI_INCLUDE = -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux
+JAVA_JNI_LIBS = -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 -ljava -lverify -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm
+JDB = /usr/lib/jvm/java-8-openjdk-amd64/bin/jdb
+JEUCLID_CORE = /home/shashank/scilab-master_5.5.2/thirdparty/jeuclid-core.jar
+JGRAPHX = /home/shashank/scilab-master_5.5.2/thirdparty/jgraphx.jar
+JHALL = /home/shashank/scilab-master_5.5.2/thirdparty/jhall.jar
+JLATEXMATH = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-1.0.3.jar
+JLATEXMATH_FOP = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-fop-1.0.3.jar
+JOGL2 = /home/shashank/scilab-master_5.5.2/thirdparty/jogl2.jar
+JROSETTA_API = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-API.jar
+JROSETTA_ENGINE = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-engine.jar
+JUNIT4 = /usr/share/java/junit4.jar
+LAPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -llapack
+LCOV =
+LD = /usr/bin/ld -m elf_x86_64
+LDFLAGS = -Wl,--no-as-needed
+LIBICONV = -liconv
+LIBINTL =
+LIBM = -lm
+LIBOBJS =
+LIBS = -lpthread -ldl -lcurses -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO =
+LN_S = ln -s
+LOGGING_LEVEL = SEVERE
+LOOKS = /home/shashank/scilab-master_5.5.2/thirdparty/looks-2.1.1.jar
+LTLIBICONV = -liconv
+LTLIBINTL =
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing makeinfo
+MANIFEST_TOOL = :
+MATIO_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+MATIO_ENABLE = yes
+MATIO_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lm -lz -lmatio -lhdf5
+MKDIR_P = /bin/mkdir -p
+MPI_ENABLE = no
+MSGCAT = /usr/bin/msgcat
+MSGFMT = /usr/bin/msgfmt
+MSGFMT_015 = /usr/bin/msgfmt
+MSGMERGE = /usr/bin/msgmerge
+NM = nm
+NMEDIT =
+OBJDUMP = objdump
+OBJEXT = o
+OCAMLC = ocamlc
+OCAMLDEP = ocamldep
+OCAMLLEX = ocamllex
+OCAMLOPT = ocamlopt
+OCAMLYACC = ocamlyacc
+OPENMPI_CC =
+OPENMPI_CFLAGS =
+OPENMPI_CXX =
+OPENMPI_CXXFLAGS =
+OPENMPI_LIBS =
+OPENMP_CFLAGS = -fopenmp
+OPENMP_CXXFLAGS = -fopenmp
+OPENMP_ENABLE = yes
+OPENMP_LIBS = -lgomp -lstdc++
+OTOOL =
+OTOOL64 =
+PACKAGE = scilab
+PACKAGE_BUGREPORT = http://bugzilla.scilab.org/
+PACKAGE_NAME = Scilab
+PACKAGE_STRING = Scilab 5
+PACKAGE_TARNAME = scilab
+PACKAGE_URL =
+PACKAGE_VERSION = 5
+PATH_SEPARATOR = :
+PCRE_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+PCRE_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/pcre-config
+PCRE_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lpcreposix -lpcre
+PCRE_VERSION = 8.35
+PKG_CONFIG = /usr/bin/pkg-config
+POSUB = po
+POW_LIB =
+PYTHON =
+RANLIB = ranlib
+RELOCATABLE = no
+RT_LIB = -lrt
+SAXON = /home/shashank/scilab-master_5.5.2/thirdparty/saxon9he.jar
+SCILAB_BINARY_VERSION = 5.5.2
+SCILAB_LIBRARY_VERSION = 5:5:2
+SCILAB_VERSION_MAINTENANCE = 2
+SCILAB_VERSION_MAJOR = 5
+SCILAB_VERSION_MINOR = 5
+SCIRENDERER = ${modules.dir}/scirenderer/${build.jar.dir}/scirenderer.jar
+SCIRENDERER_CP = $SCILAB/modules/scirenderer/jar/scirenderer.jar
+SCI_CFLAGS = -D_LARGEFILE64_SOURCE -DNDEBUG -m64 -fno-stack-protector
+SCI_CXXFLAGS = -DNDEBUG -fno-stack-protector
+SCI_FFLAGS = -DNDEBUG -m64 -fPIC
+SCI_LDFLAGS =
+SED = /bin/sed
+SET_MAKE =
+SET_RELOCATABLE =
+SHELL = /bin/bash
+SKINLF = /home/shashank/scilab-master_5.5.2/thirdparty/skinlf.jar
+SPLINT = no
+STRIP = strip
+SWIG_BIN =
+SWIG_JAVA =
+SWIG_RUNTIME_LIBS_DIR =
+SWIG_SCILAB =
+TCLTK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -ltk8.5 -L/home/shashank/scilab-master_5.5.2/usr/lib -ltcl8.5 -ldl
+TCL_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include
+TK_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include
+UMFPACK_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include
+UMFPACK_ENABLE = yes
+UMFPACK_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lumfpack -lamd
+USE_NLS = yes
+VERSION = 5
+WITH_OCAML =
+WITH_TKSCI = yes
+XCOS_ENABLE = yes
+XGETTEXT = /usr/bin/xgettext
+XGETTEXT_015 = /usr/bin/xgettext
+XGETTEXT_EXTRA_OPTIONS =
+XMKMF =
+XMLGRAPHICS_COMMONS = /home/shashank/scilab-master_5.5.2/thirdparty/xmlgraphics-commons-1.4.jar
+XML_APIS_EXT = /home/shashank/scilab-master_5.5.2/thirdparty/xml-apis-ext.jar
+XML_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/xml2-config
+XML_FLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include/libxml2
+XML_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lxml2 -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lz -lm -ldl
+XML_VERSION = 2.9.1
+X_CFLAGS =
+X_EXTRA_LIBS =
+X_LIBS =
+X_PRE_LIBS =
+abs_builddir = /home/shashank/scilab-master_5.5.2/modules/data_structures
+abs_srcdir = /home/shashank/scilab-master_5.5.2/modules/data_structures
+abs_top_builddir = /home/shashank/scilab-master_5.5.2
+abs_top_srcdir = /home/shashank/scilab-master_5.5.2
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN =
+ac_ct_F77 = gfortran
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-unknown-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = unknown
+builddir = .
+cxx_present = yes
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = x86_64-unknown-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /home/shashank/scilab-master_5.5.2/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias =
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
+DATA_STRUCTURES_C_SOURCES = src/c/stcreate.c \
+src/c/hmops.c \
+src/c/strpos.c
+
+DATA_STRUCTURES_FORTRAN_SOURCES = src/fortran/extractfields.f \
+src/fortran/forcerhs.f \
+src/fortran/intl_i.f \
+src/fortran/lsstyp.f \
+src/fortran/udptr.f \
+src/fortran/followpath.f \
+src/fortran/rattyp.f \
+src/fortran/lstops.f \
+src/fortran/gratyp.f \
+src/fortran/mlist.f \
+src/fortran/insertfield.f
+
+GATEWAY_C_SOURCES = sci_gateway/c/sci_lsslist.c \
+sci_gateway/c/sci_glist.c \
+sci_gateway/c/sci_mlist.c \
+sci_gateway/c/sci_definedfields.c \
+sci_gateway/c/sci_getfield.c \
+sci_gateway/c/sci_setfield.c \
+sci_gateway/c/sci_lstcat.c \
+sci_gateway/c/sci_list.c \
+sci_gateway/c/gw_data_structures1.c \
+sci_gateway/c/gw_data_structures2.c \
+sci_gateway/c/sci_lstsize.c \
+sci_gateway/c/sci_rlist.c \
+sci_gateway/c/sci_tlist.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_definedfields.f \
+sci_gateway/fortran/sci_f_lstsize.f \
+sci_gateway/fortran/sci_f_setfield.f \
+sci_gateway/fortran/sci_f_getfield.f \
+sci_gateway/fortran/sci_f_lstcat.f \
+sci_gateway/fortran/sci_f_list.f
+
+libscidata_structures_la_CPPFLAGS = -I$(srcdir)/includes/ \
+-I$(top_srcdir)/modules/localization/includes/ \
+-I$(top_srcdir)/modules/output_stream/includes/ \
+-I$(top_srcdir)/modules/api_scilab/includes/ \
+-I$(top_srcdir)/modules/string/includes/ \
+$(AM_CPPFLAGS)
+
+
+# FIXME: why disabling optimisation ? Any bug reference ?
+# Disable optimisation of the file intl_e.f
+noinst_LTLIBRARIES = libdummy-data_structures.la $(am__append_1) \
+ $(am__append_2)
+libdummy_data_structures_la_SOURCES = src/fortran/intl_e.f
+libdummy_data_structures_la_FFLAGS = $(AM_FFLAGS) $(FFLAGS) -O0
+#pkglib_LTLIBRARIES = libscidata_structures.la
+libscidata_structures_algo_la_SOURCES = $(DATA_STRUCTURES_C_SOURCES) $(DATA_STRUCTURES_FORTRAN_SOURCES)
+libscidata_structures_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libscidata_structures_algo_la_CPPFLAGS = $(libscidata_structures_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC = $(DATA_STRUCTURES_C_SOURCES) $(GATEWAY_C_SOURCES)
+INCLUDE_FLAGS = $(libscidata_structures_la_CFLAGS)
+libscidata_structures_la_LIBADD = libscidata_structures-algo.la libdummy-data_structures.la
+
+#### Target ######
+modulename = data_structures
+
+#### data_structures : Conf files ####
+libscidata_structures_la_rootdir = $(mydatadir)
+libscidata_structures_la_root_DATA = license.txt
+
+#### data_structures : init scripts ####
+libscidata_structures_la_etcdir = $(mydatadir)/etc
+libscidata_structures_la_etc_DATA = etc/data_structures.quit etc/data_structures.start
+
+#### data_structures : gateway declaration ####
+libscidata_structures_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscidata_structures_la_sci_gateway_DATA = sci_gateway/data_structures_gateway.xml
+
+# Where all the Scilab stuff is installed (macros, help, ...)
+mydatadir = $(pkgdatadir)/modules/$(modulename)
+
+# Set AM_* SCI detected settings
+AM_CPPFLAGS = $(SCI_CPPFLAGS)
+AM_CFLAGS = $(SCI_CFLAGS)
+AM_CXXFLAGS = $(SCI_CXXFLAGS)
+# append includes to AM_FFLAGS to manage fortran includes
+AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/
+
+# Tag shared libraries with the Scilab version
+AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION)
+
+# splint options
+SPLINT_OPTIONS = -weak -booltype BOOL
+
+########################### JAVA ######################################
+#### We are delegating java compilation to ant... Thanks to that
+#### the procedure will be the same with Microsoft Windows (C)
+#### and Linux/Unix
+#######################################################################
+TARGETS_ALL = $(am__append_3)
+
+################ MACROS ######################
+# Rule to build a macro
+# NOT USED AT THE MOMENT
+SUFFIXES = .sci
+
+########### INSTALL DOCUMENTATION ###################
+
+# Install documentation files into the right target
+# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because
+# automake needs the html files to be present which is not the case when
+# we are building Scilab
+
+# Where it should be installed
+pkgdocdir = $(mydatadir)
+
+# What is the mask of the help source
+DOCMASKXML = *.xml
+
+# What is the mask of the MathML sources
+DOCMASKMML = *.mml
+
+########### INSTALL DATA ###################
+# Install macros, help & demos
+# Where it should be installed
+pkgmacrosdir = $(mydatadir)
+# Which directory we process
+MACRODIRS = macros/
+# Mask of the Scilab sources macros
+MACROMASK = *.sci
+# Mask of the Scilab executable sources macros
+MACROBUILDMASK = *.sce
+# Mask of the Scilab compiled macros
+MACROBINMASK = *.bin
+# List of the standard directory for tests
+TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java
+# Where the demos should be installed
+pkgdemosdir = $(mydatadir)
+# List of the standard directory for demos
+DEMOS_DIR = demos
+# List of the standard directory for examples
+EXAMPLES_DIR = examples
+# Where to export JAVA archives (.jar)
+JARDIR = jar/
+# JAR files mask
+JARMASK = *.jar
+# Chapter file
+HELP_CHAPTERDIR = help/
+HELP_CHAPTERFILE = addchapter.sce
+HELP_CHAPTERLANG = en_US fr_FR pt_BR
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .sci .bin .c .f .lo .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/data_structures/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign modules/data_structures/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Makefile.incl.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+src/fortran/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran
+ @: > src/fortran/$(am__dirstamp)
+src/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran/$(DEPDIR)
+ @: > src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/libdummy_data_structures_la-intl_e.lo: \
+ src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libdummy-data_structures.la: $(libdummy_data_structures_la_OBJECTS) $(libdummy_data_structures_la_DEPENDENCIES) $(EXTRA_libdummy_data_structures_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(libdummy_data_structures_la_LINK) $(libdummy_data_structures_la_OBJECTS) $(libdummy_data_structures_la_LIBADD) $(LIBS)
+src/c/$(am__dirstamp):
+ @$(MKDIR_P) src/c
+ @: > src/c/$(am__dirstamp)
+src/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/c/$(DEPDIR)
+ @: > src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscidata_structures_algo_la-stcreate.lo: \
+ src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscidata_structures_algo_la-hmops.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscidata_structures_algo_la-strpos.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/fortran/extractfields.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/forcerhs.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/intl_i.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/lsstyp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/udptr.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/followpath.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/rattyp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/lstops.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/gratyp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mlist.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/insertfield.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscidata_structures-algo.la: $(libscidata_structures_algo_la_OBJECTS) $(libscidata_structures_algo_la_DEPENDENCIES) $(EXTRA_libscidata_structures_algo_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscidata_structures_algo_la_rpath) $(libscidata_structures_algo_la_OBJECTS) $(libscidata_structures_algo_la_LIBADD) $(LIBS)
+sci_gateway/c/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c
+ @: > sci_gateway/c/$(am__dirstamp)
+sci_gateway/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c/$(DEPDIR)
+ @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_lsslist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_glist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_mlist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_definedfields.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_getfield.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_setfield.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_lstcat.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_list.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_lstsize.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_rlist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_tlist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran
+ @: > sci_gateway/fortran/$(am__dirstamp)
+sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran/$(DEPDIR)
+ @: > sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_definedfields.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_lstsize.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_setfield.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_getfield.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_lstcat.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_list.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscidata_structures.la: $(libscidata_structures_la_OBJECTS) $(libscidata_structures_la_DEPENDENCIES) $(EXTRA_libscidata_structures_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscidata_structures_la_rpath) $(libscidata_structures_la_OBJECTS) $(libscidata_structures_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f sci_gateway/c/*.$(OBJEXT)
+ -rm -f sci_gateway/c/*.lo
+ -rm -f sci_gateway/fortran/*.$(OBJEXT)
+ -rm -f sci_gateway/fortran/*.lo
+ -rm -f src/c/*.$(OBJEXT)
+ -rm -f src/c/*.lo
+ -rm -f src/fortran/*.$(OBJEXT)
+ -rm -f src/fortran/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Plo
+include sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Plo
+include src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Plo
+include src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Plo
+include src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Plo
+
+.c.o:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Po
+# $(AM_V_CC)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Po
+# $(AM_V_CC)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ $(am__mv) $$depbase.Tpo $$depbase.Plo
+# $(AM_V_CC)source='$<' object='$@' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $<
+
+src/c/libscidata_structures_algo_la-stcreate.lo: src/c/stcreate.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscidata_structures_algo_la-stcreate.lo -MD -MP -MF src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Tpo -c -o src/c/libscidata_structures_algo_la-stcreate.lo `test -f 'src/c/stcreate.c' || echo '$(srcdir)/'`src/c/stcreate.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Tpo src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Plo
+# $(AM_V_CC)source='src/c/stcreate.c' object='src/c/libscidata_structures_algo_la-stcreate.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscidata_structures_algo_la-stcreate.lo `test -f 'src/c/stcreate.c' || echo '$(srcdir)/'`src/c/stcreate.c
+
+src/c/libscidata_structures_algo_la-hmops.lo: src/c/hmops.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscidata_structures_algo_la-hmops.lo -MD -MP -MF src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Tpo -c -o src/c/libscidata_structures_algo_la-hmops.lo `test -f 'src/c/hmops.c' || echo '$(srcdir)/'`src/c/hmops.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Tpo src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Plo
+# $(AM_V_CC)source='src/c/hmops.c' object='src/c/libscidata_structures_algo_la-hmops.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscidata_structures_algo_la-hmops.lo `test -f 'src/c/hmops.c' || echo '$(srcdir)/'`src/c/hmops.c
+
+src/c/libscidata_structures_algo_la-strpos.lo: src/c/strpos.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscidata_structures_algo_la-strpos.lo -MD -MP -MF src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Tpo -c -o src/c/libscidata_structures_algo_la-strpos.lo `test -f 'src/c/strpos.c' || echo '$(srcdir)/'`src/c/strpos.c
+ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Tpo src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Plo
+# $(AM_V_CC)source='src/c/strpos.c' object='src/c/libscidata_structures_algo_la-strpos.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscidata_structures_algo_la-strpos.lo `test -f 'src/c/strpos.c' || echo '$(srcdir)/'`src/c/strpos.c
+
+sci_gateway/c/libscidata_structures_la-sci_lsslist.lo: sci_gateway/c/sci_lsslist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_lsslist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_lsslist.lo `test -f 'sci_gateway/c/sci_lsslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lsslist.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_lsslist.c' object='sci_gateway/c/libscidata_structures_la-sci_lsslist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_lsslist.lo `test -f 'sci_gateway/c/sci_lsslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lsslist.c
+
+sci_gateway/c/libscidata_structures_la-sci_glist.lo: sci_gateway/c/sci_glist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_glist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_glist.lo `test -f 'sci_gateway/c/sci_glist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_glist.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_glist.c' object='sci_gateway/c/libscidata_structures_la-sci_glist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_glist.lo `test -f 'sci_gateway/c/sci_glist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_glist.c
+
+sci_gateway/c/libscidata_structures_la-sci_mlist.lo: sci_gateway/c/sci_mlist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_mlist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_mlist.lo `test -f 'sci_gateway/c/sci_mlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_mlist.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_mlist.c' object='sci_gateway/c/libscidata_structures_la-sci_mlist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_mlist.lo `test -f 'sci_gateway/c/sci_mlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_mlist.c
+
+sci_gateway/c/libscidata_structures_la-sci_definedfields.lo: sci_gateway/c/sci_definedfields.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_definedfields.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_definedfields.lo `test -f 'sci_gateway/c/sci_definedfields.c' || echo '$(srcdir)/'`sci_gateway/c/sci_definedfields.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_definedfields.c' object='sci_gateway/c/libscidata_structures_la-sci_definedfields.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_definedfields.lo `test -f 'sci_gateway/c/sci_definedfields.c' || echo '$(srcdir)/'`sci_gateway/c/sci_definedfields.c
+
+sci_gateway/c/libscidata_structures_la-sci_getfield.lo: sci_gateway/c/sci_getfield.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_getfield.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_getfield.lo `test -f 'sci_gateway/c/sci_getfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getfield.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_getfield.c' object='sci_gateway/c/libscidata_structures_la-sci_getfield.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_getfield.lo `test -f 'sci_gateway/c/sci_getfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getfield.c
+
+sci_gateway/c/libscidata_structures_la-sci_setfield.lo: sci_gateway/c/sci_setfield.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_setfield.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_setfield.lo `test -f 'sci_gateway/c/sci_setfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_setfield.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_setfield.c' object='sci_gateway/c/libscidata_structures_la-sci_setfield.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_setfield.lo `test -f 'sci_gateway/c/sci_setfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_setfield.c
+
+sci_gateway/c/libscidata_structures_la-sci_lstcat.lo: sci_gateway/c/sci_lstcat.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_lstcat.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_lstcat.lo `test -f 'sci_gateway/c/sci_lstcat.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstcat.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_lstcat.c' object='sci_gateway/c/libscidata_structures_la-sci_lstcat.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_lstcat.lo `test -f 'sci_gateway/c/sci_lstcat.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstcat.c
+
+sci_gateway/c/libscidata_structures_la-sci_list.lo: sci_gateway/c/sci_list.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_list.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_list.lo `test -f 'sci_gateway/c/sci_list.c' || echo '$(srcdir)/'`sci_gateway/c/sci_list.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_list.c' object='sci_gateway/c/libscidata_structures_la-sci_list.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_list.lo `test -f 'sci_gateway/c/sci_list.c' || echo '$(srcdir)/'`sci_gateway/c/sci_list.c
+
+sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo: sci_gateway/c/gw_data_structures1.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Tpo -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo `test -f 'sci_gateway/c/gw_data_structures1.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures1.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Plo
+# $(AM_V_CC)source='sci_gateway/c/gw_data_structures1.c' object='sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo `test -f 'sci_gateway/c/gw_data_structures1.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures1.c
+
+sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo: sci_gateway/c/gw_data_structures2.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Tpo -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo `test -f 'sci_gateway/c/gw_data_structures2.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures2.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Plo
+# $(AM_V_CC)source='sci_gateway/c/gw_data_structures2.c' object='sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo `test -f 'sci_gateway/c/gw_data_structures2.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures2.c
+
+sci_gateway/c/libscidata_structures_la-sci_lstsize.lo: sci_gateway/c/sci_lstsize.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_lstsize.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_lstsize.lo `test -f 'sci_gateway/c/sci_lstsize.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstsize.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_lstsize.c' object='sci_gateway/c/libscidata_structures_la-sci_lstsize.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_lstsize.lo `test -f 'sci_gateway/c/sci_lstsize.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstsize.c
+
+sci_gateway/c/libscidata_structures_la-sci_rlist.lo: sci_gateway/c/sci_rlist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_rlist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_rlist.lo `test -f 'sci_gateway/c/sci_rlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_rlist.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_rlist.c' object='sci_gateway/c/libscidata_structures_la-sci_rlist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_rlist.lo `test -f 'sci_gateway/c/sci_rlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_rlist.c
+
+sci_gateway/c/libscidata_structures_la-sci_tlist.lo: sci_gateway/c/sci_tlist.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_tlist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_tlist.lo `test -f 'sci_gateway/c/sci_tlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tlist.c
+ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Plo
+# $(AM_V_CC)source='sci_gateway/c/sci_tlist.c' object='sci_gateway/c/libscidata_structures_la-sci_tlist.lo' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_tlist.lo `test -f 'sci_gateway/c/sci_tlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tlist.c
+
+.f.o:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
+
+.f.obj:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.f.lo:
+ $(AM_V_F77)$(LTF77COMPILE) -c -o $@ $<
+
+src/fortran/libdummy_data_structures_la-intl_e.lo: src/fortran/intl_e.f
+ $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(libdummy_data_structures_la_FFLAGS) $(FFLAGS) -c -o src/fortran/libdummy_data_structures_la-intl_e.lo `test -f 'src/fortran/intl_e.f' || echo '$(srcdir)/'`src/fortran/intl_e.f
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs
+ -rm -rf sci_gateway/fortran/.libs sci_gateway/fortran/_libs
+ -rm -rf src/c/.libs src/c/_libs
+ -rm -rf src/fortran/.libs src/fortran/_libs
+install-libscidata_structures_la_etcDATA: $(libscidata_structures_la_etc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscidata_structures_la_etc_DATA)'; test -n "$(libscidata_structures_la_etcdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscidata_structures_la_etcdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscidata_structures_la_etcdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscidata_structures_la_etcdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscidata_structures_la_etcdir)" || exit $$?; \
+ done
+
+uninstall-libscidata_structures_la_etcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscidata_structures_la_etc_DATA)'; test -n "$(libscidata_structures_la_etcdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscidata_structures_la_etcdir)'; $(am__uninstall_files_from_dir)
+install-libscidata_structures_la_rootDATA: $(libscidata_structures_la_root_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscidata_structures_la_root_DATA)'; test -n "$(libscidata_structures_la_rootdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscidata_structures_la_rootdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscidata_structures_la_rootdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscidata_structures_la_rootdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscidata_structures_la_rootdir)" || exit $$?; \
+ done
+
+uninstall-libscidata_structures_la_rootDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscidata_structures_la_root_DATA)'; test -n "$(libscidata_structures_la_rootdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscidata_structures_la_rootdir)'; $(am__uninstall_files_from_dir)
+install-libscidata_structures_la_sci_gatewayDATA: $(libscidata_structures_la_sci_gateway_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscidata_structures_la_sci_gateway_DATA)'; test -n "$(libscidata_structures_la_sci_gatewaydir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)" || exit $$?; \
+ done
+
+uninstall-libscidata_structures_la_sci_gatewayDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscidata_structures_la_sci_gateway_DATA)'; test -n "$(libscidata_structures_la_sci_gatewaydir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscidata_structures_la_etcdir)" "$(DESTDIR)$(libscidata_structures_la_rootdir)" "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/c/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(am__dirstamp)
+ -rm -f src/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/c/$(am__dirstamp)
+ -rm -f src/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/fortran/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-local distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local \
+ install-libscidata_structures_la_etcDATA \
+ install-libscidata_structures_la_rootDATA \
+ install-libscidata_structures_la_sci_gatewayDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am: install-html-local
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libscidata_structures_la_etcDATA \
+ uninstall-libscidata_structures_la_rootDATA \
+ uninstall-libscidata_structures_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \
+ check-local clean clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-local distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-html-local install-info \
+ install-info-am install-libscidata_structures_la_etcDATA \
+ install-libscidata_structures_la_rootDATA \
+ install-libscidata_structures_la_sci_gatewayDATA install-man \
+ install-pdf install-pdf-am install-pkglibLTLIBRARIES \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-libscidata_structures_la_etcDATA \
+ uninstall-libscidata_structures_la_rootDATA \
+ uninstall-libscidata_structures_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+
+libdummy_data_structures_la-intl_e.lo: src/fortran/intl_e.f
+ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(libdummy_data_structures_la_FFLAGS) -c -o libdummy_data_structures_la-intl_e.lo `test -f 'src/fortran/intl_e.f' || echo '$(srcdir)/'`src/fortran/intl_e.f
+
+# This target enables tests for Scilab
+check-local: $(top_builddir)/scilab-bin test
+ if test -d $(mydatadir)/tests; then \
+ @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \
+ fi
+check-code:
+ if test -f build.xml; then \
+ $(ANT) checkstyle; \
+ fi
+ if test -x "$(SPLINT)"; then \
+ $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \
+ fi
+java:
+# Some configurations needs to export JAVA_HOME in the current env
+ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT); \
+ fi
+
+clean-java:
+# Some configurations needs to export JAVA_HOME in the current env
+ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) clean; \
+ fi;
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+#swig: $(SWIG_WRAPPERS)
+# @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \
+# SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \
+# if test -n "$(SWIG_WRAPPERS)"; then \
+# for file in $(SWIG_WRAPPERS) ; do \
+# echo "Swig process of $$file (Java) ..."; \
+# $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \
+# done; \
+# fi
+
+#swig-scilab: $(SWIG_SCILAB_WRAPPERS)
+# @SWIG_OUTDIR=src/swig/; \
+# if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \
+# for file in $(SWIG_SCILAB_WRAPPERS) ; do \
+# echo "Swig process of $$file (Scilab) ..."; \
+# $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \
+# done; \
+# fi
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+#giws: $(GIWS_WRAPPERS)
+# @GIWS_OUTPUTDIR=src/jni/; \
+# MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \
+# if test -n "$(GIWS_WRAPPERS)"; then \
+# for file in $(GIWS_WRAPPERS) ; do \
+# echo "GIWS process of $$file ..."; \
+# if test -z "$(GIWS_OPTIONS)"; then \
+# $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+# else \
+# echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \
+# $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+# fi \
+# done; \
+# fi
+
+#giws-exception:
+# @GIWS_OUTPUTDIR=src/jni/;\
+# echo "GIWS: Generation of exception class ..."; \
+# $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR
+
+macros:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been built"; \
+ else \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\
+ fi)
+
+# Removes the macros
+clean-macros:
+# Removes macros (*.bin generated from .sci)
+ @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \
+ rm -f $(builddir)/$$dir/$(MACROBINMASK); \
+ done
+
+test:
+# More tests could be added here
+ @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) test; \
+ fi
+
+all-local: $(TARGETS_ALL)
+
+.sci.bin:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been build"; \
+ else \
+ echo "Creating $@"; \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \
+ fi )
+
+install-html-local:
+
+install-data-local-local:
+# Mainly for javasci
+ @if test -d $(srcdir)/javadoc; then \
+ cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \
+ fi
+# If the user wants the help sources to be installed
+ @echo "-------- Install of XML sources of help files --------"; \
+ for lang in $(ALL_LINGUAS); do \
+ if test -d $(srcdir)/help/$$lang; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \
+ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \
+ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \
+ done ; \
+ fi; \
+ fi; \
+ done; \
+ @echo "-------- Install of MathML sources --------"; \
+ if test -d $(srcdir)/help/mml/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \
+ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \
+ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \
+ done ; \
+ fi; \
+ fi
+install-data-local:
+# Install the tests
+ @echo "-------- Install tests (if any) --------"; \
+ for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the help chapter
+ @echo "-------- Install the help chapter (if any) --------"; \
+ for lang in $(HELP_CHAPTERLANG); do \
+ HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \
+ if test -f $$HELPFILE; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ fi; \
+ done
+# Install the demos & examples
+ @echo "-------- Install demos & examples (if any) --------"; \
+ for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the macros
+ @echo "-------- Install macros (if any) --------"; \
+ for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ if test -d $(srcdir)/$$dir/; then \
+ FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\
+ if test -n "$(MACROSSPECIALEXT)"; then \
+ specialExtDir=""; \
+ for specialExt in $(MACROSSPECIALEXT); do \
+ specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \
+ done; \
+ FILELIST="$$FILELIST $$specialExtDir"; \
+ fi; \
+ for file in `ls -1 $$FILELIST 2>/dev/null`; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \
+ done; \
+ fi; \
+ done
+# Install java files (.jar)
+ @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \
+ echo "-------- Install jar files --------"; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \
+ for file in $(srcdir)/$(JARDIR)$(JARMASK); do\
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \
+ done ; \
+ fi
+
+########### CLEAN ###################
+# Clean help (generated automatically by Scilab)
+# It used to clean the macro (clean-macros) but this was causing
+# make clean && make to fail Scilab startup
+clean-local: clean-java
+#clean-local:
+
+distclean-local:
+ rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_*
+
+.PHONY: macros java swig giws
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/modules/data_structures/Makefile.am b/modules/data_structures/Makefile.am
new file mode 100755
index 000000000..a75543050
--- /dev/null
+++ b/modules/data_structures/Makefile.am
@@ -0,0 +1,99 @@
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006 - INRIA - Sylvestre LEDRU
+#
+# This file is distributed under the same license as the Scilab package.
+
+
+DATA_STRUCTURES_C_SOURCES = src/c/stcreate.c \
+src/c/hmops.c \
+src/c/strpos.c
+
+DATA_STRUCTURES_FORTRAN_SOURCES = src/fortran/extractfields.f \
+src/fortran/forcerhs.f \
+src/fortran/intl_i.f \
+src/fortran/lsstyp.f \
+src/fortran/udptr.f \
+src/fortran/followpath.f \
+src/fortran/rattyp.f \
+src/fortran/lstops.f \
+src/fortran/gratyp.f \
+src/fortran/mlist.f \
+src/fortran/insertfield.f
+
+GATEWAY_C_SOURCES = sci_gateway/c/sci_lsslist.c \
+sci_gateway/c/sci_glist.c \
+sci_gateway/c/sci_mlist.c \
+sci_gateway/c/sci_definedfields.c \
+sci_gateway/c/sci_getfield.c \
+sci_gateway/c/sci_setfield.c \
+sci_gateway/c/sci_lstcat.c \
+sci_gateway/c/sci_list.c \
+sci_gateway/c/gw_data_structures1.c \
+sci_gateway/c/gw_data_structures2.c \
+sci_gateway/c/sci_lstsize.c \
+sci_gateway/c/sci_rlist.c \
+sci_gateway/c/sci_tlist.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_definedfields.f \
+sci_gateway/fortran/sci_f_lstsize.f \
+sci_gateway/fortran/sci_f_setfield.f \
+sci_gateway/fortran/sci_f_getfield.f \
+sci_gateway/fortran/sci_f_lstcat.f \
+sci_gateway/fortran/sci_f_list.f
+
+libscidata_structures_la_CPPFLAGS = -I$(srcdir)/includes/ \
+-I$(top_srcdir)/modules/localization/includes/ \
+-I$(top_srcdir)/modules/output_stream/includes/ \
+-I$(top_srcdir)/modules/api_scilab/includes/ \
+-I$(top_srcdir)/modules/string/includes/ \
+$(AM_CPPFLAGS)
+
+# FIXME: why disabling optimisation ? Any bug reference ?
+# Disable optimisation of the file intl_e.f
+noinst_LTLIBRARIES = libdummy-data_structures.la
+
+libdummy_data_structures_la_SOURCES = src/fortran/intl_e.f
+libdummy_data_structures_la_FFLAGS = $(AM_FFLAGS) $(FFLAGS) -O0
+
+
+if MAINTAINER_MODE
+pkglib_LTLIBRARIES = libscidata_structures.la
+noinst_LTLIBRARIES += libscidata_structures-algo.la
+else
+noinst_LTLIBRARIES += libscidata_structures-algo.la libscidata_structures.la
+endif
+
+
+libscidata_structures_algo_la_SOURCES = $(DATA_STRUCTURES_C_SOURCES) $(DATA_STRUCTURES_FORTRAN_SOURCES)
+libscidata_structures_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libscidata_structures_algo_la_CPPFLAGS = $(libscidata_structures_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC= $(DATA_STRUCTURES_C_SOURCES) $(GATEWAY_C_SOURCES)
+INCLUDE_FLAGS = $(libscidata_structures_la_CFLAGS)
+
+libscidata_structures_la_LIBADD = libscidata_structures-algo.la libdummy-data_structures.la
+
+
+libdummy_data_structures_la-intl_e.lo: src/fortran/intl_e.f
+ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(libdummy_data_structures_la_FFLAGS) -c -o libdummy_data_structures_la-intl_e.lo `test -f 'src/fortran/intl_e.f' || echo '$(srcdir)/'`src/fortran/intl_e.f
+
+
+#### Target ######
+modulename=data_structures
+
+
+#### data_structures : Conf files ####
+libscidata_structures_la_rootdir = $(mydatadir)
+libscidata_structures_la_root_DATA = license.txt
+
+
+#### data_structures : init scripts ####
+libscidata_structures_la_etcdir = $(mydatadir)/etc
+libscidata_structures_la_etc_DATA = etc/data_structures.quit etc/data_structures.start
+
+#### data_structures : gateway declaration ####
+libscidata_structures_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscidata_structures_la_sci_gateway_DATA = sci_gateway/data_structures_gateway.xml
+
+include $(top_srcdir)/Makefile.incl.am
diff --git a/modules/data_structures/Makefile.in b/modules/data_structures/Makefile.in
new file mode 100755
index 000000000..4b71c01a2
--- /dev/null
+++ b/modules/data_structures/Makefile.in
@@ -0,0 +1,1642 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006 - INRIA - Sylvestre LEDRU
+#
+# This file is distributed under the same license as the Scilab package.
+
+# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
+# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+#
+# This file must be used under the terms of the CeCILL.
+# This source file is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at
+# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+#
+
+##########
+### Makefile included stuff
+### Target, variable, suffixes which are supposed to be useful in every makefile.am
+##########
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@MAINTAINER_MODE_TRUE@am__append_1 = libscidata_structures-algo.la
+@MAINTAINER_MODE_FALSE@am__append_2 = libscidata_structures-algo.la libscidata_structures.la
+DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \
+ $(top_srcdir)/config/depcomp
+@NEED_JAVA_TRUE@am__append_3 = java
+subdir = modules/data_structures
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \
+ $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \
+ $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \
+ $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
+ $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \
+ $(top_srcdir)/m4/intel_compiler.m4 \
+ $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \
+ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \
+ $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \
+ $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \
+ $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \
+ $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" \
+ "$(DESTDIR)$(libscidata_structures_la_etcdir)" \
+ "$(DESTDIR)$(libscidata_structures_la_rootdir)" \
+ "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
+libdummy_data_structures_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libdummy_data_structures_la_OBJECTS = \
+ src/fortran/libdummy_data_structures_la-intl_e.lo
+libdummy_data_structures_la_OBJECTS = \
+ $(am_libdummy_data_structures_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libdummy_data_structures_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(F77LD) \
+ $(libdummy_data_structures_la_FFLAGS) $(FFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libscidata_structures_algo_la_LIBADD =
+am__objects_1 = src/c/libscidata_structures_algo_la-stcreate.lo \
+ src/c/libscidata_structures_algo_la-hmops.lo \
+ src/c/libscidata_structures_algo_la-strpos.lo
+am__objects_2 = src/fortran/extractfields.lo src/fortran/forcerhs.lo \
+ src/fortran/intl_i.lo src/fortran/lsstyp.lo \
+ src/fortran/udptr.lo src/fortran/followpath.lo \
+ src/fortran/rattyp.lo src/fortran/lstops.lo \
+ src/fortran/gratyp.lo src/fortran/mlist.lo \
+ src/fortran/insertfield.lo
+am_libscidata_structures_algo_la_OBJECTS = $(am__objects_1) \
+ $(am__objects_2)
+libscidata_structures_algo_la_OBJECTS = \
+ $(am_libscidata_structures_algo_la_OBJECTS)
+@MAINTAINER_MODE_FALSE@am_libscidata_structures_algo_la_rpath =
+@MAINTAINER_MODE_TRUE@am_libscidata_structures_algo_la_rpath =
+libscidata_structures_la_DEPENDENCIES = libscidata_structures-algo.la \
+ libdummy-data_structures.la
+am__objects_3 = sci_gateway/c/libscidata_structures_la-sci_lsslist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_glist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_mlist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_definedfields.lo \
+ sci_gateway/c/libscidata_structures_la-sci_getfield.lo \
+ sci_gateway/c/libscidata_structures_la-sci_setfield.lo \
+ sci_gateway/c/libscidata_structures_la-sci_lstcat.lo \
+ sci_gateway/c/libscidata_structures_la-sci_list.lo \
+ sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo \
+ sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo \
+ sci_gateway/c/libscidata_structures_la-sci_lstsize.lo \
+ sci_gateway/c/libscidata_structures_la-sci_rlist.lo \
+ sci_gateway/c/libscidata_structures_la-sci_tlist.lo
+am__objects_4 = sci_gateway/fortran/sci_f_definedfields.lo \
+ sci_gateway/fortran/sci_f_lstsize.lo \
+ sci_gateway/fortran/sci_f_setfield.lo \
+ sci_gateway/fortran/sci_f_getfield.lo \
+ sci_gateway/fortran/sci_f_lstcat.lo \
+ sci_gateway/fortran/sci_f_list.lo
+am_libscidata_structures_la_OBJECTS = $(am__objects_3) \
+ $(am__objects_4)
+libscidata_structures_la_OBJECTS = \
+ $(am_libscidata_structures_la_OBJECTS)
+@MAINTAINER_MODE_FALSE@am_libscidata_structures_la_rpath =
+@MAINTAINER_MODE_TRUE@am_libscidata_structures_la_rpath = -rpath \
+@MAINTAINER_MODE_TRUE@ $(pkglibdir)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/modules/core/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
+LTF77COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
+AM_V_F77 = $(am__v_F77_@AM_V@)
+am__v_F77_ = $(am__v_F77_@AM_DEFAULT_V@)
+am__v_F77_0 = @echo " F77 " $@;
+am__v_F77_1 =
+F77LD = $(F77)
+F77LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(F77LD) $(AM_FFLAGS) $(FFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_F77LD = $(am__v_F77LD_@AM_V@)
+am__v_F77LD_ = $(am__v_F77LD_@AM_DEFAULT_V@)
+am__v_F77LD_0 = @echo " F77LD " $@;
+am__v_F77LD_1 =
+SOURCES = $(libdummy_data_structures_la_SOURCES) \
+ $(libscidata_structures_algo_la_SOURCES) \
+ $(libscidata_structures_la_SOURCES)
+DIST_SOURCES = $(libdummy_data_structures_la_SOURCES) \
+ $(libscidata_structures_algo_la_SOURCES) \
+ $(libscidata_structures_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(libscidata_structures_la_etc_DATA) \
+ $(libscidata_structures_la_root_DATA) \
+ $(libscidata_structures_la_sci_gateway_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+ALL_LINGUAS_DOC = @ALL_LINGUAS_DOC@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+ANTLR = @ANTLR@
+AR = @AR@
+ARPACK_LIBS = @ARPACK_LIBS@
+ASM3 = @ASM3@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AVALON_FRAMEWORK = @AVALON_FRAMEWORK@
+AWK = @AWK@
+BATIK = @BATIK@
+BLAS_LIBS = @BLAS_LIBS@
+CC = @CC@
+CCACHE = @CCACHE@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHECKSTYLE = @CHECKSTYLE@
+COBERTURA = @COBERTURA@
+COMMONS_BEANUTILS = @COMMONS_BEANUTILS@
+COMMONS_IO = @COMMONS_IO@
+COMMONS_LOGGING = @COMMONS_LOGGING@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_CONFIG = @CURL_CONFIG@
+CURL_LIBS = @CURL_LIBS@
+CURL_VERSION = @CURL_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEMOTOOLS_ENABLE = @DEMOTOOLS_ENABLE@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOCBOOK_ROOT = @DOCBOOK_ROOT@
+DOXYGEN_BIN = @DOXYGEN_BIN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FFTW3_LIB = @FFTW3_LIB@
+FFTW_ENABLE = @FFTW_ENABLE@
+FGREP = @FGREP@
+FLEXDOCK = @FLEXDOCK@
+FLIBS = @FLIBS@
+FOP = @FOP@
+FREEHEP_GRAPHICS2D = @FREEHEP_GRAPHICS2D@
+FREEHEP_GRAPHICSIO = @FREEHEP_GRAPHICSIO@
+FREEHEP_GRAPHICSIO_EMF = @FREEHEP_GRAPHICSIO_EMF@
+FREEHEP_IO = @FREEHEP_IO@
+FREEHEP_UTIL = @FREEHEP_UTIL@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GIWS_BIN = @GIWS_BIN@
+GLUEGEN2_RT = @GLUEGEN2_RT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GRAPHICS_ENABLE = @GRAPHICS_ENABLE@
+GREP = @GREP@
+GUI_ENABLE = @GUI_ENABLE@
+HDF5_CFLAGS = @HDF5_CFLAGS@
+HDF5_LIBS = @HDF5_LIBS@
+HELP_ENABLE = @HELP_ENABLE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAC_DEBUG = @JAVAC_DEBUG@
+JAVADOC = @JAVADOC@
+JAVAH = @JAVAH@
+JAVASCI_ENABLE = @JAVASCI_ENABLE@
+JAVA_ENABLE = @JAVA_ENABLE@
+JAVA_G = @JAVA_G@
+JAVA_HOME = @JAVA_HOME@
+JAVA_JNI_INCLUDE = @JAVA_JNI_INCLUDE@
+JAVA_JNI_LIBS = @JAVA_JNI_LIBS@
+JDB = @JDB@
+JEUCLID_CORE = @JEUCLID_CORE@
+JGRAPHX = @JGRAPHX@
+JHALL = @JHALL@
+JLATEXMATH = @JLATEXMATH@
+JLATEXMATH_FOP = @JLATEXMATH_FOP@
+JOGL2 = @JOGL2@
+JROSETTA_API = @JROSETTA_API@
+JROSETTA_ENGINE = @JROSETTA_ENGINE@
+JUNIT4 = @JUNIT4@
+LAPACK_LIBS = @LAPACK_LIBS@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOGGING_LEVEL = @LOGGING_LEVEL@
+LOOKS = @LOOKS@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MATIO_CFLAGS = @MATIO_CFLAGS@
+MATIO_ENABLE = @MATIO_ENABLE@
+MATIO_LIBS = @MATIO_LIBS@
+MKDIR_P = @MKDIR_P@
+MPI_ENABLE = @MPI_ENABLE@
+MSGCAT = @MSGCAT@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLC = @OCAMLC@
+OCAMLDEP = @OCAMLDEP@
+OCAMLLEX = @OCAMLLEX@
+OCAMLOPT = @OCAMLOPT@
+OCAMLYACC = @OCAMLYACC@
+OPENMPI_CC = @OPENMPI_CC@
+OPENMPI_CFLAGS = @OPENMPI_CFLAGS@
+OPENMPI_CXX = @OPENMPI_CXX@
+OPENMPI_CXXFLAGS = @OPENMPI_CXXFLAGS@
+OPENMPI_LIBS = @OPENMPI_LIBS@
+OPENMP_CFLAGS = @OPENMP_CFLAGS@
+OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@
+OPENMP_ENABLE = @OPENMP_ENABLE@
+OPENMP_LIBS = @OPENMP_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PCRE_CFLAGS = @PCRE_CFLAGS@
+PCRE_CONFIG = @PCRE_CONFIG@
+PCRE_LIBS = @PCRE_LIBS@
+PCRE_VERSION = @PCRE_VERSION@
+PKG_CONFIG = @PKG_CONFIG@
+POSUB = @POSUB@
+POW_LIB = @POW_LIB@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+RELOCATABLE = @RELOCATABLE@
+RT_LIB = @RT_LIB@
+SAXON = @SAXON@
+SCILAB_BINARY_VERSION = @SCILAB_BINARY_VERSION@
+SCILAB_LIBRARY_VERSION = @SCILAB_LIBRARY_VERSION@
+SCILAB_VERSION_MAINTENANCE = @SCILAB_VERSION_MAINTENANCE@
+SCILAB_VERSION_MAJOR = @SCILAB_VERSION_MAJOR@
+SCILAB_VERSION_MINOR = @SCILAB_VERSION_MINOR@
+SCIRENDERER = @SCIRENDERER@
+SCIRENDERER_CP = @SCIRENDERER_CP@
+SCI_CFLAGS = @SCI_CFLAGS@
+SCI_CXXFLAGS = @SCI_CXXFLAGS@
+SCI_FFLAGS = @SCI_FFLAGS@
+SCI_LDFLAGS = @SCI_LDFLAGS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SET_RELOCATABLE = @SET_RELOCATABLE@
+SHELL = @SHELL@
+SKINLF = @SKINLF@
+SPLINT = @SPLINT@
+STRIP = @STRIP@
+SWIG_BIN = @SWIG_BIN@
+SWIG_JAVA = @SWIG_JAVA@
+SWIG_RUNTIME_LIBS_DIR = @SWIG_RUNTIME_LIBS_DIR@
+SWIG_SCILAB = @SWIG_SCILAB@
+TCLTK_LIBS = @TCLTK_LIBS@
+TCL_INC_PATH = @TCL_INC_PATH@
+TK_INC_PATH = @TK_INC_PATH@
+UMFPACK_CFLAGS = @UMFPACK_CFLAGS@
+UMFPACK_ENABLE = @UMFPACK_ENABLE@
+UMFPACK_LIB = @UMFPACK_LIB@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WITH_OCAML = @WITH_OCAML@
+WITH_TKSCI = @WITH_TKSCI@
+XCOS_ENABLE = @XCOS_ENABLE@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XMKMF = @XMKMF@
+XMLGRAPHICS_COMMONS = @XMLGRAPHICS_COMMONS@
+XML_APIS_EXT = @XML_APIS_EXT@
+XML_CONFIG = @XML_CONFIG@
+XML_FLAGS = @XML_FLAGS@
+XML_LIBS = @XML_LIBS@
+XML_VERSION = @XML_VERSION@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+cxx_present = @cxx_present@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DATA_STRUCTURES_C_SOURCES = src/c/stcreate.c \
+src/c/hmops.c \
+src/c/strpos.c
+
+DATA_STRUCTURES_FORTRAN_SOURCES = src/fortran/extractfields.f \
+src/fortran/forcerhs.f \
+src/fortran/intl_i.f \
+src/fortran/lsstyp.f \
+src/fortran/udptr.f \
+src/fortran/followpath.f \
+src/fortran/rattyp.f \
+src/fortran/lstops.f \
+src/fortran/gratyp.f \
+src/fortran/mlist.f \
+src/fortran/insertfield.f
+
+GATEWAY_C_SOURCES = sci_gateway/c/sci_lsslist.c \
+sci_gateway/c/sci_glist.c \
+sci_gateway/c/sci_mlist.c \
+sci_gateway/c/sci_definedfields.c \
+sci_gateway/c/sci_getfield.c \
+sci_gateway/c/sci_setfield.c \
+sci_gateway/c/sci_lstcat.c \
+sci_gateway/c/sci_list.c \
+sci_gateway/c/gw_data_structures1.c \
+sci_gateway/c/gw_data_structures2.c \
+sci_gateway/c/sci_lstsize.c \
+sci_gateway/c/sci_rlist.c \
+sci_gateway/c/sci_tlist.c
+
+GATEWAY_FORTRAN_SOURCES = sci_gateway/fortran/sci_f_definedfields.f \
+sci_gateway/fortran/sci_f_lstsize.f \
+sci_gateway/fortran/sci_f_setfield.f \
+sci_gateway/fortran/sci_f_getfield.f \
+sci_gateway/fortran/sci_f_lstcat.f \
+sci_gateway/fortran/sci_f_list.f
+
+libscidata_structures_la_CPPFLAGS = -I$(srcdir)/includes/ \
+-I$(top_srcdir)/modules/localization/includes/ \
+-I$(top_srcdir)/modules/output_stream/includes/ \
+-I$(top_srcdir)/modules/api_scilab/includes/ \
+-I$(top_srcdir)/modules/string/includes/ \
+$(AM_CPPFLAGS)
+
+
+# FIXME: why disabling optimisation ? Any bug reference ?
+# Disable optimisation of the file intl_e.f
+noinst_LTLIBRARIES = libdummy-data_structures.la $(am__append_1) \
+ $(am__append_2)
+libdummy_data_structures_la_SOURCES = src/fortran/intl_e.f
+libdummy_data_structures_la_FFLAGS = $(AM_FFLAGS) $(FFLAGS) -O0
+@MAINTAINER_MODE_TRUE@pkglib_LTLIBRARIES = libscidata_structures.la
+libscidata_structures_algo_la_SOURCES = $(DATA_STRUCTURES_C_SOURCES) $(DATA_STRUCTURES_FORTRAN_SOURCES)
+libscidata_structures_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libscidata_structures_algo_la_CPPFLAGS = $(libscidata_structures_la_CPPFLAGS)
+
+# For the code check (splint)
+CHECK_SRC = $(DATA_STRUCTURES_C_SOURCES) $(GATEWAY_C_SOURCES)
+INCLUDE_FLAGS = $(libscidata_structures_la_CFLAGS)
+libscidata_structures_la_LIBADD = libscidata_structures-algo.la libdummy-data_structures.la
+
+#### Target ######
+modulename = data_structures
+
+#### data_structures : Conf files ####
+libscidata_structures_la_rootdir = $(mydatadir)
+libscidata_structures_la_root_DATA = license.txt
+
+#### data_structures : init scripts ####
+libscidata_structures_la_etcdir = $(mydatadir)/etc
+libscidata_structures_la_etc_DATA = etc/data_structures.quit etc/data_structures.start
+
+#### data_structures : gateway declaration ####
+libscidata_structures_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscidata_structures_la_sci_gateway_DATA = sci_gateway/data_structures_gateway.xml
+
+# Where all the Scilab stuff is installed (macros, help, ...)
+mydatadir = $(pkgdatadir)/modules/$(modulename)
+
+# Set AM_* SCI detected settings
+AM_CPPFLAGS = $(SCI_CPPFLAGS)
+AM_CFLAGS = $(SCI_CFLAGS)
+AM_CXXFLAGS = $(SCI_CXXFLAGS)
+# append includes to AM_FFLAGS to manage fortran includes
+AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/
+
+# Tag shared libraries with the Scilab version
+AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION)
+
+# splint options
+SPLINT_OPTIONS = -weak -booltype BOOL
+
+########################### JAVA ######################################
+#### We are delegating java compilation to ant... Thanks to that
+#### the procedure will be the same with Microsoft Windows (C)
+#### and Linux/Unix
+#######################################################################
+TARGETS_ALL = $(am__append_3)
+
+################ MACROS ######################
+# Rule to build a macro
+# NOT USED AT THE MOMENT
+SUFFIXES = .sci
+
+########### INSTALL DOCUMENTATION ###################
+
+# Install documentation files into the right target
+# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because
+# automake needs the html files to be present which is not the case when
+# we are building Scilab
+
+# Where it should be installed
+pkgdocdir = $(mydatadir)
+
+# What is the mask of the help source
+DOCMASKXML = *.xml
+
+# What is the mask of the MathML sources
+DOCMASKMML = *.mml
+
+########### INSTALL DATA ###################
+# Install macros, help & demos
+# Where it should be installed
+pkgmacrosdir = $(mydatadir)
+# Which directory we process
+MACRODIRS = macros/
+# Mask of the Scilab sources macros
+MACROMASK = *.sci
+# Mask of the Scilab executable sources macros
+MACROBUILDMASK = *.sce
+# Mask of the Scilab compiled macros
+MACROBINMASK = *.bin
+# List of the standard directory for tests
+TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java
+# Where the demos should be installed
+pkgdemosdir = $(mydatadir)
+# List of the standard directory for demos
+DEMOS_DIR = demos
+# List of the standard directory for examples
+EXAMPLES_DIR = examples
+# Where to export JAVA archives (.jar)
+JARDIR = jar/
+# JAR files mask
+JARMASK = *.jar
+# Chapter file
+HELP_CHAPTERDIR = help/
+HELP_CHAPTERFILE = addchapter.sce
+HELP_CHAPTERLANG = en_US fr_FR pt_BR
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .sci .bin .c .f .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/data_structures/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign modules/data_structures/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/Makefile.incl.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+src/fortran/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran
+ @: > src/fortran/$(am__dirstamp)
+src/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/fortran/$(DEPDIR)
+ @: > src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/libdummy_data_structures_la-intl_e.lo: \
+ src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libdummy-data_structures.la: $(libdummy_data_structures_la_OBJECTS) $(libdummy_data_structures_la_DEPENDENCIES) $(EXTRA_libdummy_data_structures_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(libdummy_data_structures_la_LINK) $(libdummy_data_structures_la_OBJECTS) $(libdummy_data_structures_la_LIBADD) $(LIBS)
+src/c/$(am__dirstamp):
+ @$(MKDIR_P) src/c
+ @: > src/c/$(am__dirstamp)
+src/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/c/$(DEPDIR)
+ @: > src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscidata_structures_algo_la-stcreate.lo: \
+ src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscidata_structures_algo_la-hmops.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/c/libscidata_structures_algo_la-strpos.lo: src/c/$(am__dirstamp) \
+ src/c/$(DEPDIR)/$(am__dirstamp)
+src/fortran/extractfields.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/forcerhs.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/intl_i.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/lsstyp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/udptr.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/followpath.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/rattyp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/lstops.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/gratyp.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/mlist.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+src/fortran/insertfield.lo: src/fortran/$(am__dirstamp) \
+ src/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscidata_structures-algo.la: $(libscidata_structures_algo_la_OBJECTS) $(libscidata_structures_algo_la_DEPENDENCIES) $(EXTRA_libscidata_structures_algo_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscidata_structures_algo_la_rpath) $(libscidata_structures_algo_la_OBJECTS) $(libscidata_structures_algo_la_LIBADD) $(LIBS)
+sci_gateway/c/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c
+ @: > sci_gateway/c/$(am__dirstamp)
+sci_gateway/c/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/c/$(DEPDIR)
+ @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_lsslist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_glist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_mlist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_definedfields.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_getfield.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_setfield.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_lstcat.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_list.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_lstsize.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_rlist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/c/libscidata_structures_la-sci_tlist.lo: \
+ sci_gateway/c/$(am__dirstamp) \
+ sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran
+ @: > sci_gateway/fortran/$(am__dirstamp)
+sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sci_gateway/fortran/$(DEPDIR)
+ @: > sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_definedfields.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_lstsize.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_setfield.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_getfield.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_lstcat.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/fortran/sci_f_list.lo: \
+ sci_gateway/fortran/$(am__dirstamp) \
+ sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+
+libscidata_structures.la: $(libscidata_structures_la_OBJECTS) $(libscidata_structures_la_DEPENDENCIES) $(EXTRA_libscidata_structures_la_DEPENDENCIES)
+ $(AM_V_F77LD)$(F77LINK) $(am_libscidata_structures_la_rpath) $(libscidata_structures_la_OBJECTS) $(libscidata_structures_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f sci_gateway/c/*.$(OBJEXT)
+ -rm -f sci_gateway/c/*.lo
+ -rm -f sci_gateway/fortran/*.$(OBJEXT)
+ -rm -f sci_gateway/fortran/*.lo
+ -rm -f src/c/*.$(OBJEXT)
+ -rm -f src/c/*.lo
+ -rm -f src/fortran/*.$(OBJEXT)
+ -rm -f src/fortran/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+src/c/libscidata_structures_algo_la-stcreate.lo: src/c/stcreate.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscidata_structures_algo_la-stcreate.lo -MD -MP -MF src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Tpo -c -o src/c/libscidata_structures_algo_la-stcreate.lo `test -f 'src/c/stcreate.c' || echo '$(srcdir)/'`src/c/stcreate.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Tpo src/c/$(DEPDIR)/libscidata_structures_algo_la-stcreate.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/stcreate.c' object='src/c/libscidata_structures_algo_la-stcreate.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscidata_structures_algo_la-stcreate.lo `test -f 'src/c/stcreate.c' || echo '$(srcdir)/'`src/c/stcreate.c
+
+src/c/libscidata_structures_algo_la-hmops.lo: src/c/hmops.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscidata_structures_algo_la-hmops.lo -MD -MP -MF src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Tpo -c -o src/c/libscidata_structures_algo_la-hmops.lo `test -f 'src/c/hmops.c' || echo '$(srcdir)/'`src/c/hmops.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Tpo src/c/$(DEPDIR)/libscidata_structures_algo_la-hmops.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/hmops.c' object='src/c/libscidata_structures_algo_la-hmops.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscidata_structures_algo_la-hmops.lo `test -f 'src/c/hmops.c' || echo '$(srcdir)/'`src/c/hmops.c
+
+src/c/libscidata_structures_algo_la-strpos.lo: src/c/strpos.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscidata_structures_algo_la-strpos.lo -MD -MP -MF src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Tpo -c -o src/c/libscidata_structures_algo_la-strpos.lo `test -f 'src/c/strpos.c' || echo '$(srcdir)/'`src/c/strpos.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Tpo src/c/$(DEPDIR)/libscidata_structures_algo_la-strpos.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/strpos.c' object='src/c/libscidata_structures_algo_la-strpos.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscidata_structures_algo_la-strpos.lo `test -f 'src/c/strpos.c' || echo '$(srcdir)/'`src/c/strpos.c
+
+sci_gateway/c/libscidata_structures_la-sci_lsslist.lo: sci_gateway/c/sci_lsslist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_lsslist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_lsslist.lo `test -f 'sci_gateway/c/sci_lsslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lsslist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lsslist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_lsslist.c' object='sci_gateway/c/libscidata_structures_la-sci_lsslist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_lsslist.lo `test -f 'sci_gateway/c/sci_lsslist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lsslist.c
+
+sci_gateway/c/libscidata_structures_la-sci_glist.lo: sci_gateway/c/sci_glist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_glist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_glist.lo `test -f 'sci_gateway/c/sci_glist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_glist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_glist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_glist.c' object='sci_gateway/c/libscidata_structures_la-sci_glist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_glist.lo `test -f 'sci_gateway/c/sci_glist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_glist.c
+
+sci_gateway/c/libscidata_structures_la-sci_mlist.lo: sci_gateway/c/sci_mlist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_mlist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_mlist.lo `test -f 'sci_gateway/c/sci_mlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_mlist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_mlist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_mlist.c' object='sci_gateway/c/libscidata_structures_la-sci_mlist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_mlist.lo `test -f 'sci_gateway/c/sci_mlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_mlist.c
+
+sci_gateway/c/libscidata_structures_la-sci_definedfields.lo: sci_gateway/c/sci_definedfields.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_definedfields.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_definedfields.lo `test -f 'sci_gateway/c/sci_definedfields.c' || echo '$(srcdir)/'`sci_gateway/c/sci_definedfields.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_definedfields.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_definedfields.c' object='sci_gateway/c/libscidata_structures_la-sci_definedfields.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_definedfields.lo `test -f 'sci_gateway/c/sci_definedfields.c' || echo '$(srcdir)/'`sci_gateway/c/sci_definedfields.c
+
+sci_gateway/c/libscidata_structures_la-sci_getfield.lo: sci_gateway/c/sci_getfield.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_getfield.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_getfield.lo `test -f 'sci_gateway/c/sci_getfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getfield.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_getfield.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_getfield.c' object='sci_gateway/c/libscidata_structures_la-sci_getfield.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_getfield.lo `test -f 'sci_gateway/c/sci_getfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getfield.c
+
+sci_gateway/c/libscidata_structures_la-sci_setfield.lo: sci_gateway/c/sci_setfield.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_setfield.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_setfield.lo `test -f 'sci_gateway/c/sci_setfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_setfield.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_setfield.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_setfield.c' object='sci_gateway/c/libscidata_structures_la-sci_setfield.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_setfield.lo `test -f 'sci_gateway/c/sci_setfield.c' || echo '$(srcdir)/'`sci_gateway/c/sci_setfield.c
+
+sci_gateway/c/libscidata_structures_la-sci_lstcat.lo: sci_gateway/c/sci_lstcat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_lstcat.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_lstcat.lo `test -f 'sci_gateway/c/sci_lstcat.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstcat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstcat.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_lstcat.c' object='sci_gateway/c/libscidata_structures_la-sci_lstcat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_lstcat.lo `test -f 'sci_gateway/c/sci_lstcat.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstcat.c
+
+sci_gateway/c/libscidata_structures_la-sci_list.lo: sci_gateway/c/sci_list.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_list.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_list.lo `test -f 'sci_gateway/c/sci_list.c' || echo '$(srcdir)/'`sci_gateway/c/sci_list.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_list.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_list.c' object='sci_gateway/c/libscidata_structures_la-sci_list.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_list.lo `test -f 'sci_gateway/c/sci_list.c' || echo '$(srcdir)/'`sci_gateway/c/sci_list.c
+
+sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo: sci_gateway/c/gw_data_structures1.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Tpo -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo `test -f 'sci_gateway/c/gw_data_structures1.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures1.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures1.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/gw_data_structures1.c' object='sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo `test -f 'sci_gateway/c/gw_data_structures1.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures1.c
+
+sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo: sci_gateway/c/gw_data_structures2.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Tpo -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo `test -f 'sci_gateway/c/gw_data_structures2.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures2.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-gw_data_structures2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/gw_data_structures2.c' object='sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo `test -f 'sci_gateway/c/gw_data_structures2.c' || echo '$(srcdir)/'`sci_gateway/c/gw_data_structures2.c
+
+sci_gateway/c/libscidata_structures_la-sci_lstsize.lo: sci_gateway/c/sci_lstsize.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_lstsize.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_lstsize.lo `test -f 'sci_gateway/c/sci_lstsize.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstsize.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_lstsize.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_lstsize.c' object='sci_gateway/c/libscidata_structures_la-sci_lstsize.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_lstsize.lo `test -f 'sci_gateway/c/sci_lstsize.c' || echo '$(srcdir)/'`sci_gateway/c/sci_lstsize.c
+
+sci_gateway/c/libscidata_structures_la-sci_rlist.lo: sci_gateway/c/sci_rlist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_rlist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_rlist.lo `test -f 'sci_gateway/c/sci_rlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_rlist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_rlist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_rlist.c' object='sci_gateway/c/libscidata_structures_la-sci_rlist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_rlist.lo `test -f 'sci_gateway/c/sci_rlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_rlist.c
+
+sci_gateway/c/libscidata_structures_la-sci_tlist.lo: sci_gateway/c/sci_tlist.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscidata_structures_la-sci_tlist.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Tpo -c -o sci_gateway/c/libscidata_structures_la-sci_tlist.lo `test -f 'sci_gateway/c/sci_tlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tlist.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Tpo sci_gateway/c/$(DEPDIR)/libscidata_structures_la-sci_tlist.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_tlist.c' object='sci_gateway/c/libscidata_structures_la-sci_tlist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscidata_structures_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscidata_structures_la-sci_tlist.lo `test -f 'sci_gateway/c/sci_tlist.c' || echo '$(srcdir)/'`sci_gateway/c/sci_tlist.c
+
+.f.o:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
+
+.f.obj:
+ $(AM_V_F77)$(F77COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.f.lo:
+ $(AM_V_F77)$(LTF77COMPILE) -c -o $@ $<
+
+src/fortran/libdummy_data_structures_la-intl_e.lo: src/fortran/intl_e.f
+ $(AM_V_F77)$(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(libdummy_data_structures_la_FFLAGS) $(FFLAGS) -c -o src/fortran/libdummy_data_structures_la-intl_e.lo `test -f 'src/fortran/intl_e.f' || echo '$(srcdir)/'`src/fortran/intl_e.f
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs
+ -rm -rf sci_gateway/fortran/.libs sci_gateway/fortran/_libs
+ -rm -rf src/c/.libs src/c/_libs
+ -rm -rf src/fortran/.libs src/fortran/_libs
+install-libscidata_structures_la_etcDATA: $(libscidata_structures_la_etc_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscidata_structures_la_etc_DATA)'; test -n "$(libscidata_structures_la_etcdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscidata_structures_la_etcdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscidata_structures_la_etcdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscidata_structures_la_etcdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscidata_structures_la_etcdir)" || exit $$?; \
+ done
+
+uninstall-libscidata_structures_la_etcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscidata_structures_la_etc_DATA)'; test -n "$(libscidata_structures_la_etcdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscidata_structures_la_etcdir)'; $(am__uninstall_files_from_dir)
+install-libscidata_structures_la_rootDATA: $(libscidata_structures_la_root_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscidata_structures_la_root_DATA)'; test -n "$(libscidata_structures_la_rootdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscidata_structures_la_rootdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscidata_structures_la_rootdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscidata_structures_la_rootdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscidata_structures_la_rootdir)" || exit $$?; \
+ done
+
+uninstall-libscidata_structures_la_rootDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscidata_structures_la_root_DATA)'; test -n "$(libscidata_structures_la_rootdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscidata_structures_la_rootdir)'; $(am__uninstall_files_from_dir)
+install-libscidata_structures_la_sci_gatewayDATA: $(libscidata_structures_la_sci_gateway_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(libscidata_structures_la_sci_gateway_DATA)'; test -n "$(libscidata_structures_la_sci_gatewaydir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)" || exit $$?; \
+ done
+
+uninstall-libscidata_structures_la_sci_gatewayDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libscidata_structures_la_sci_gateway_DATA)'; test -n "$(libscidata_structures_la_sci_gatewaydir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscidata_structures_la_etcdir)" "$(DESTDIR)$(libscidata_structures_la_rootdir)" "$(DESTDIR)$(libscidata_structures_la_sci_gatewaydir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/c/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sci_gateway/fortran/$(am__dirstamp)
+ -rm -f src/c/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/c/$(am__dirstamp)
+ -rm -f src/fortran/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/fortran/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-local distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local \
+ install-libscidata_structures_la_etcDATA \
+ install-libscidata_structures_la_rootDATA \
+ install-libscidata_structures_la_sci_gatewayDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am: install-html-local
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libscidata_structures_la_etcDATA \
+ uninstall-libscidata_structures_la_rootDATA \
+ uninstall-libscidata_structures_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \
+ check-local clean clean-generic clean-libtool clean-local \
+ clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-local distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-html-local install-info \
+ install-info-am install-libscidata_structures_la_etcDATA \
+ install-libscidata_structures_la_rootDATA \
+ install-libscidata_structures_la_sci_gatewayDATA install-man \
+ install-pdf install-pdf-am install-pkglibLTLIBRARIES \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-libscidata_structures_la_etcDATA \
+ uninstall-libscidata_structures_la_rootDATA \
+ uninstall-libscidata_structures_la_sci_gatewayDATA \
+ uninstall-pkglibLTLIBRARIES
+
+
+libdummy_data_structures_la-intl_e.lo: src/fortran/intl_e.f
+ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(libdummy_data_structures_la_FFLAGS) -c -o libdummy_data_structures_la-intl_e.lo `test -f 'src/fortran/intl_e.f' || echo '$(srcdir)/'`src/fortran/intl_e.f
+
+# This target enables tests for Scilab
+check-local: $(top_builddir)/scilab-bin test
+ if test -d $(mydatadir)/tests; then \
+ @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \
+ fi
+check-code:
+ if test -f build.xml; then \
+ $(ANT) checkstyle; \
+ fi
+ if test -x "$(SPLINT)"; then \
+ $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \
+ fi
+@NEED_JAVA_TRUE@java:
+# Some configurations needs to export JAVA_HOME in the current env
+@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \
+@NEED_JAVA_TRUE@ $(ANT); \
+@NEED_JAVA_TRUE@ fi
+
+@NEED_JAVA_TRUE@clean-java:
+# Some configurations needs to export JAVA_HOME in the current env
+@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
+@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \
+@NEED_JAVA_TRUE@ $(ANT) clean; \
+@NEED_JAVA_TRUE@ fi;
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+@SWIG_TRUE@swig: $(SWIG_WRAPPERS)
+@SWIG_TRUE@ @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \
+@SWIG_TRUE@ SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \
+@SWIG_TRUE@ if test -n "$(SWIG_WRAPPERS)"; then \
+@SWIG_TRUE@ for file in $(SWIG_WRAPPERS) ; do \
+@SWIG_TRUE@ echo "Swig process of $$file (Java) ..."; \
+@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \
+@SWIG_TRUE@ done; \
+@SWIG_TRUE@ fi
+
+@SWIG_TRUE@swig-scilab: $(SWIG_SCILAB_WRAPPERS)
+@SWIG_TRUE@ @SWIG_OUTDIR=src/swig/; \
+@SWIG_TRUE@ if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \
+@SWIG_TRUE@ for file in $(SWIG_SCILAB_WRAPPERS) ; do \
+@SWIG_TRUE@ echo "Swig process of $$file (Scilab) ..."; \
+@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \
+@SWIG_TRUE@ done; \
+@SWIG_TRUE@ fi
+
+# If the user request for the SWIG generation of the wrappers Java => C/C++
+# We call the target swig-build on the variable SWIG_WRAPPERS
+
+@GIWS_TRUE@giws: $(GIWS_WRAPPERS)
+@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/; \
+@GIWS_TRUE@ MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \
+@GIWS_TRUE@ if test -n "$(GIWS_WRAPPERS)"; then \
+@GIWS_TRUE@ for file in $(GIWS_WRAPPERS) ; do \
+@GIWS_TRUE@ echo "GIWS process of $$file ..."; \
+@GIWS_TRUE@ if test -z "$(GIWS_OPTIONS)"; then \
+@GIWS_TRUE@ $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+@GIWS_TRUE@ else \
+@GIWS_TRUE@ echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \
+@GIWS_TRUE@ $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \
+@GIWS_TRUE@ fi \
+@GIWS_TRUE@ done; \
+@GIWS_TRUE@ fi
+
+@GIWS_TRUE@giws-exception:
+@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/;\
+@GIWS_TRUE@ echo "GIWS: Generation of exception class ..."; \
+@GIWS_TRUE@ $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR
+
+macros:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been built"; \
+ else \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\
+ fi)
+
+# Removes the macros
+clean-macros:
+# Removes macros (*.bin generated from .sci)
+ @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \
+ rm -f $(builddir)/$$dir/$(MACROBINMASK); \
+ done
+
+test:
+# More tests could be added here
+ @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
+ if test -f build.xml -a $$USEANT -eq 1; then \
+ $(ANT) test; \
+ fi
+
+all-local: $(TARGETS_ALL)
+
+.sci.bin:
+ -@( if test ! -x $(top_builddir)/scilab-bin; then \
+ echo "Error : Cannot build $< : Scilab has not been build"; \
+ else \
+ echo "Creating $@"; \
+ $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \
+ fi )
+
+install-html-local:
+
+install-data-local-local:
+# Mainly for javasci
+ @if test -d $(srcdir)/javadoc; then \
+ cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \
+ fi
+# If the user wants the help sources to be installed
+@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of XML sources of help files --------"; \
+@INSTALL_HELP_XML_TRUE@ for lang in $(ALL_LINGUAS); do \
+@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/$$lang; then \
+@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \
+@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \
+@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \
+@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \
+@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \
+@INSTALL_HELP_XML_TRUE@ done ; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ done; \
+@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of MathML sources --------"; \
+@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/mml/; then \
+@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \
+@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \
+@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \
+@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \
+@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \
+@INSTALL_HELP_XML_TRUE@ done ; \
+@INSTALL_HELP_XML_TRUE@ fi; \
+@INSTALL_HELP_XML_TRUE@ fi
+install-data-local:
+# Install the tests
+ @echo "-------- Install tests (if any) --------"; \
+ for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the help chapter
+ @echo "-------- Install the help chapter (if any) --------"; \
+ for lang in $(HELP_CHAPTERLANG); do \
+ HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \
+ if test -f $$HELPFILE; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
+ echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
+ fi; \
+ done
+# Install the demos & examples
+ @echo "-------- Install demos & examples (if any) --------"; \
+ for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \
+ if test -d $(srcdir)/$$dir/; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \
+ for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
+ if test -d "$(srcdir)/$$dir/$$file"; then \
+ echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \
+ $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \
+ else \
+ echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \
+ fi \
+ done; \
+ fi; \
+ done
+# Install the macros
+ @echo "-------- Install macros (if any) --------"; \
+ for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
+ $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
+ if test -d $(srcdir)/$$dir/; then \
+ FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\
+ if test -n "$(MACROSSPECIALEXT)"; then \
+ specialExtDir=""; \
+ for specialExt in $(MACROSSPECIALEXT); do \
+ specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \
+ done; \
+ FILELIST="$$FILELIST $$specialExtDir"; \
+ fi; \
+ for file in `ls -1 $$FILELIST 2>/dev/null`; do \
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \
+ done; \
+ fi; \
+ done
+# Install java files (.jar)
+ @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \
+ echo "-------- Install jar files --------"; \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \
+ for file in $(srcdir)/$(JARDIR)$(JARMASK); do\
+ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \
+ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \
+ done ; \
+ fi
+
+########### CLEAN ###################
+# Clean help (generated automatically by Scilab)
+# It used to clean the macro (clean-macros) but this was causing
+# make clean && make to fail Scilab startup
+@NEED_JAVA_TRUE@clean-local: clean-java
+@NEED_JAVA_FALSE@clean-local:
+
+distclean-local:
+ rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_*
+
+.PHONY: macros java swig giws
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/modules/data_structures/data_structures.iss b/modules/data_structures/data_structures.iss
new file mode 100755
index 000000000..8447c18f3
--- /dev/null
+++ b/modules/data_structures/data_structures.iss
@@ -0,0 +1,45 @@
+;
+; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+; Copyright (C) INRIA - Allan CORNET
+; Copyright (C) DIGITEO - 2010 - Allan CORNET
+;
+; This file must be used under the terms of the CeCILL.
+; This source file is licensed as described in the file COPYING, which
+; you should have received as part of this distribution. The terms
+; are also available at
+; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+;
+;--------------------------------------------------------------------------------------------------------------
+; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required)
+;
+;--------------------------------------------------------------------------------------------------------------
+; data_structures module
+;--------------------------------------------------------------------------------------------------------------
+;
+#define DATASTRUCT "data_structures"
+;
+Source: bin\{#DATASTRUCT}_f.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+Source: bin\{#DATASTRUCT}.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#DATASTRUCT}\license.txt; DestDir: {app}\modules\{#DATASTRUCT}; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#DATASTRUCT}\sci_gateway\{#DATASTRUCT}_gateway.xml; DestDir: {app}\modules\{#DATASTRUCT}\sci_gateway; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#DATASTRUCT}\etc\{#DATASTRUCT}.quit; DestDir: {app}\modules\{#DATASTRUCT}\etc; Components: {#COMPN_SCILAB}
+Source: modules\{#DATASTRUCT}\etc\{#DATASTRUCT}.start; DestDir: {app}\modules\{#DATASTRUCT}\etc; Components: {#COMPN_SCILAB}
+;
+;Source: modules\{#DATASTRUCT}\includes\*.h; DestDir: {app}\modules\{#DATASTRUCT}\includes; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#DATASTRUCT}\macros\lib; DestDir: {app}\modules\{#DATASTRUCT}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#DATASTRUCT}\macros\names; DestDir: {app}\modules\{#DATASTRUCT}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#DATASTRUCT}\macros\*.bin; DestDir: {app}\modules\{#DATASTRUCT}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#DATASTRUCT}\macros\*.sci; DestDir: {app}\modules\{#DATASTRUCT}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#DATASTRUCT}\macros\buildmacros.sce; DestDir: {app}\modules\{#DATASTRUCT}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#DATASTRUCT}\macros\buildmacros.bat; DestDir: {app}\modules\{#DATASTRUCT}\macros; Components: {#COMPN_SCILAB}
+Source: modules\{#DATASTRUCT}\macros\cleanmacros.bat; DestDir: {app}\modules\{#DATASTRUCT}\macros; Components: {#COMPN_SCILAB}
+;
+;Source: modules\{#DATASTRUCT}\demos\*.*; DestDir: {app}\modules\{#DATASTRUCT}\demos; Flags: recursesubdirs; Components: {#COMPN_SCILAB}
+;
+Source: modules\{#DATASTRUCT}\tests\*.*; DestDir: {app}\modules\{#DATASTRUCT}\tests; Flags: recursesubdirs; Components: {#COMPN_SCILAB} and {#COMPN_TESTS}
+;
+;--------------------------------------------------------------------------------------------------------------
diff --git a/modules/data_structures/etc/data_structures.quit b/modules/data_structures/etc/data_structures.quit
new file mode 100755
index 000000000..ab83f0c89
--- /dev/null
+++ b/modules/data_structures/etc/data_structures.quit
@@ -0,0 +1,10 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
diff --git a/modules/data_structures/etc/data_structures.start b/modules/data_structures/etc/data_structures.start
new file mode 100755
index 000000000..a5983cfe5
--- /dev/null
+++ b/modules/data_structures/etc/data_structures.start
@@ -0,0 +1,19 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function data_structureslib = startModule()
+
+//Load functions libraries
+// =============================================================================
+ load("SCI/modules/data_structures/macros/lib");
+
+endfunction
+
+data_structureslib = startModule();
+clear startModule;
diff --git a/modules/data_structures/help/en_US/addchapter.sce b/modules/data_structures/help/en_US/addchapter.sce
new file mode 100755
index 000000000..fe44d5579
--- /dev/null
+++ b/modules/data_structures/help/en_US/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Data Structures",SCI+"/modules/data_structures/help/en_US",%T);
+
diff --git a/modules/data_structures/help/en_US/boolean.xml b/modules/data_structures/help/en_US/boolean.xml
new file mode 100755
index 000000000..92cb66f82
--- /dev/null
+++ b/modules/data_structures/help/en_US/boolean.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="boolean">
+ <refnamediv>
+ <refname>boolean</refname>
+ <refpurpose>Scilab Objects, boolean variables and operators &amp; | ~ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ A boolean variable is <constant>%T</constant> (for "true") or <constant>%F</constant> (for "false"). These variables can be used to define matrices of booleans, with the usual syntax. Boolean matrices can be manipulated as ordinary matrices for elements extraction/insertion and concatenation.
+ </para>
+ <para>
+ <note>
+ Note that other usual operations (<literal>+</literal>, <literal>*</literal>, <literal>-</literal>, <literal>^</literal>, etc) are undefined for boolean matrices. Three special operators are defined for boolean matrices:
+ </note>
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>~b</term>
+ <listitem>
+ <para>
+ is the element-wise negation of boolean <literal>b</literal> (matrix).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 &amp; b2</term>
+ <listitem>
+ <para>
+ is the element-wise logical <literal>and</literal> of
+ <literal>b1</literal> and <literal>b2</literal>
+ (matrices).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 | b2</term>
+ <listitem>
+ <para>
+ is the element-wise logical
+ <literal>or</literal> of <literal>b1</literal>
+ and <literal>b2</literal> (matrices).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Boolean variables can be used for indexing matrices or vectors. For instance <code>a([%T,%F,%T],:)</code> returns the submatrix made of rows <literal>1</literal> and <literal>3</literal> of <literal>a</literal>. Boolean sparse matrices are supported.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+[1,2]==[1,3]
+[1,2]==1
+a=1:5; a(a>2)
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="or">or</link>
+ </member>
+ <member>
+ <link linkend="and">and</link>
+ </member>
+ <member>
+ <link linkend="not">not</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/cell.xml b/modules/data_structures/help/en_US/cell.xml
new file mode 100755
index 000000000..120dc177f
--- /dev/null
+++ b/modules/data_structures/help/en_US/cell.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="cell" xml:lang="en">
+ <refnamediv>
+ <refname>cell</refname>
+ <refpurpose>creates a cell array of empty matrices</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ c = cell()
+ c = cell(m1)
+ c = cell(m1, m2)
+ c = cell(m1, m2, ..., mn)
+ c = cell(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ a vector containing the dimensions of the cell to create.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>m1, m2, ..., mn</term>
+ <listitem>
+ <para>
+ dimensions of the cell to create.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <function>cell</function> returns a cell array of empty matrices.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>cell()</term>
+ <listitem>
+ <para>
+ returns a <literal>(0, 0)</literal> cell array of empty matrices.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1)</term>
+ <listitem>
+ <para>
+ returns a <literal>(m1, m1)</literal> cell array of empty matrices.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1, m2)</term>
+ <listitem>
+ <para>
+ returns a <literal>(m1, m2) </literal> cell array of empty matrices.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1,m2,..,mn)</term>
+ <listitem>
+ <para>
+ creates a <literal>(m1, m2, ..., mn)</literal> cell array of empty matrices.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(x)</term>
+ <listitem>
+ <para>
+ returns a cell array of empty matrices with: the first dimension of the cell array is <literal>x(1)</literal>, the second dimension is <literal>x(2)</literal> and so on.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Remarks</title>
+ <para>
+ <code>cell(x)</code> is not the same size that <varname>x</varname>.
+ </para>
+ <para>
+ <code>cell()</code> is equivalent to <code>cell(0)</code>.
+ </para>
+ <para>
+ If <literal>A</literal> is a cell array, you can access the contents of an element of <literal>A</literal> by using <code>A(m1, m2, ..., mn).entries</code>. The expression <code>A(1,1) = zeros(2,2)</code> is not valid, the right syntax is
+ <code>A(1,1).entries = zeros(2,2)</code>.
+ </para>
+ <para>
+ If <literal>A</literal> is a cell array, you can get its dimensions by using <code>A.dims</code> which returns an <literal>int32</literal> value that cannot be used as a subscript for the cell array. In this case, the best way to get the cell array dimensions is <code>size(A)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+a=cell(3)
+b=cell(3,1)
+c=cell([2,3,4])
+
+// Assigning cell entries
+b=cell(3,1);
+
+// Assigning the first element of b using the 'entries' field
+b(1).entries=1:3
+
+// Assigning the second element of b using the 'entries' field
+b(2).entries='Scilab'
+
+// Assigning the third element of b using the 'entries' field
+b(3).entries=poly(1:3,'s')
+
+// Assigning sub-cells
+X=cell(3,2);
+X(:,1)=b
+
+// Extracting a sub-cell: result is a cell
+b(1)
+b(1:2)
+
+// Extracting a sub-cell value: result is an array
+b(1).entries
+
+// Dimensions of b as an int32 value (cannot be used as an index)
+b.dims
+// Dimensions of b as a double value
+size(b)
+
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="eye">eye</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/definedfields.xml b/modules/data_structures/help/en_US/definedfields.xml
new file mode 100755
index 000000000..8bb0efa50
--- /dev/null
+++ b/modules/data_structures/help/en_US/definedfields.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="definedfields">
+ <refnamediv>
+ <refname>definedfields</refname>
+ <refpurpose>returns an index of list's defined fields</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>k = definedfields(lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>a list, tlist or mlist variable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>a vector of index.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ If <varname>lst</varname> is a <literal>list</literal>, a <literal>tlist</literal>, a <literal>mlist</literal> <code>k = definedfields(lst)</code> returns in <varname>k</varname> the indices of the defined list fields. This function is useful because indexing undefined fields produces an error.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+lst=list(1);lst(3)=5
+k=definedfields(lst)
+
+t=tlist('x');t(5)=4
+definedfields(t)
+
+m=mlist(['m','a','b']);m.b='sdfgfgd'
+definedfields(m)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/fieldnames.xml b/modules/data_structures/help/en_US/fieldnames.xml
new file mode 100755
index 000000000..ff371cc65
--- /dev/null
+++ b/modules/data_structures/help/en_US/fieldnames.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2010 - Digiteo - Vincent LIARD
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fieldnames">
+ <refnamediv>
+ <refname>fieldnames</refname>
+ <refpurpose>get a tlist, mlist or struct fields names</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>f = fieldnames(lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>A tlist, mlist or struct variable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>Strings column vector of fields names.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ The <function>fieldnames</function> function returns field names
+ of a <literal>tlist</literal>, <literal>mlist</literal> or <literal>struct</literal>. <function>fieldnames</function>
+ does not work on cells.
+ </para>
+ <para>
+ As said in <link linkend="rational">rational</link> or <link linkend="syslin">syslin</link> help pages, internal representation of
+ some Scilab objects is a tlist (or rlist), so using <function>fieldnames</function> with them will return the generic forms of these objects.
+ For example, for rationals, the function will return "num","den" and "dt".
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example">
+ fieldnames(tlist(['listtype', 'f1', 'f2'], [], []))
+ fieldnames(mlist(['V', 'key', 'value'], ['a' 'b' ; 'c' 'd'], [1 2 ; 3 4]))
+ fieldnames(struct('f1', 25, 'month', 'DEC', 'year', 2006))
+ obj.x = 3;
+ obj.y = 3;
+ fieldnames(obj)
+ fieldnames(1/%s)
+ fieldnames(tf2ss(1/%s))
+ </programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/getfield.xml b/modules/data_structures/help/en_US/getfield.xml
new file mode 100755
index 000000000..f00ef1728
--- /dev/null
+++ b/modules/data_structures/help/en_US/getfield.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="getfield">
+ <refnamediv>
+ <refname>getfield</refname>
+ <refpurpose>list field extraction</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[x,...] = getfield(i,l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>matrix of any possible types.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>
+ <literal>list</literal>, <literal>tlist</literal> or <literal>mlist</literal> variable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>
+ field index, see <link linkend="extraction">extraction</link> for more details.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This function is an equivalent of <literal>[x,...]=l(i)</literal> syntax for field
+ extraction with the only difference that it also applies to
+ <literal>mlist</literal> objects.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+[a,b]=getfield([3 2],l)
+
+a=hypermat([2,2,2],rand(1:2^3));// hypermatrices are coded using mlists
+a(1) // the a(1,1,1) entry
+getfield(1,a) // the mlist first field
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/hypermat.xml b/modules/data_structures/help/en_US/hypermat.xml
new file mode 100755
index 000000000..3fa5f2d2c
--- /dev/null
+++ b/modules/data_structures/help/en_US/hypermat.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hypermat">
+ <refnamediv>
+ <refname>hypermat</refname>
+ <refpurpose>initializes an N dimensional matrix</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>M = hypermat(dims [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims</term>
+ <listitem>
+ <para>a vector of hypermatrix dimensions.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>
+ a vector of hypermatrix entries (default value <code>zeros(prod(dims),1)</code>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ The <function>hypermat</function> function initializes a hypermatrix whose dimensions are given in the vector <varname>dims</varname> and entries are given in optional argument <varname>v</varname>.
+ </para>
+ <para>
+ <varname>M</varname> data structure contains the vector of matrix dimensions
+ <code>M('dims')</code> and the vector of entries <code>M('entries')</code> such as
+ the leftmost subcripts vary first
+ <literal>[M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]</literal>
+ </para>
+ <para>
+ <warning>
+ If you build your own <function>hypermat</function>, you must be careful. The <code>M('dims')</code> entry must be a row vector whereas the <code>M('entries')</code> must be a column vector.
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+M = hypermat([2 3 2 2],1:24)
+disp(size(M('dims')))
+disp(size(M('entries')))
+
+M_own = mlist(['hm','dims','entries']);
+M_own('dims') = [2 3 2 2];
+M_own('entries') = [1:24]';
+disp(size(M_own('dims')))
+disp(size(M_own('entries')))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/hypermatrices.xml b/modules/data_structures/help/en_US/hypermatrices.xml
new file mode 100755
index 000000000..7f592e1c4
--- /dev/null
+++ b/modules/data_structures/help/en_US/hypermatrices.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hypermatrices">
+ <refnamediv>
+ <refname>hypermatrices</refname>
+ <refpurpose>a Scilab object, N dimensional matrix in Scilab</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Hypermatrix type allows to manipulate multidimensional arrays.
+ </para>
+ <para>
+ They can be defined by extension of 2D matrices as follows
+ <code>a=[1 2;3 4];a(:,:,2)=rand(2,2)</code> or directly using <function>hypermat</function> function.
+ </para>
+ <para>
+ Entries can be real or complex numbers, polynomials,
+ rationals, strings, booleans.
+ </para>
+ <para>
+ Hypermatrices are <literal>mlists</literal>:
+ <code>mlist(['hm','dims','entries'],sz,v)</code> where <literal>sz</literal> is the row
+ vector of dimensions and <literal>v</literal> the column vector of entries (first
+ dimension are stored first).
+ </para>
+ <para>
+ <note>
+ The number of dimension of hypermatrices with right-most sizes equal to
+ 1 are automatically reduced. An hypermatrix with only two dimensions is
+ automatically changed to a regular matrix (type 1).
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+a(1,1,1,1:2)=[1 2]
+a=[1 2;3 4];a(:,:,2)=rand(2,2)
+a(1,1,:)
+
+size(a)
+
+a(:,:,1) //dimensionality reduction
+type(a(:,:,1))
+
+[a a]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermat">hypermat</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/iscell.xml b/modules/data_structures/help/en_US/iscell.xml
new file mode 100755
index 000000000..f30e1eb7f
--- /dev/null
+++ b/modules/data_structures/help/en_US/iscell.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscell" xml:lang="en">
+ <refnamediv>
+ <refname>iscell</refname>
+ <refpurpose>checks if a variable is a cell array</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>bool = iscell(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>a Scilab variable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>a boolean.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>iscell(x)</code> returns <constant>%t</constant>if
+ <varname>x</varname> is a cell array and <constant>%f</constant> otherwise.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+iscell(1)
+
+iscell(cell())
+
+c = cell(1,2);
+c(1).entries="Scilab";
+c(2).entries=datenum();
+iscell(c)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/iscellstr.xml b/modules/data_structures/help/en_US/iscellstr.xml
new file mode 100755
index 000000000..8a305e445
--- /dev/null
+++ b/modules/data_structures/help/en_US/iscellstr.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscellstr" xml:lang="en">
+ <refnamediv>
+ <refname>iscellstr</refname>
+ <refpurpose>checks if a variable is a cell array of strings</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>bool = iscellstr(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>a Scilab variable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>a boolean.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>iscellstr(x)</code> returns <constant>%t</constant> if <varname>x</varname> is a cell array of
+ strings (or an empty cell array) and <constant>%f</constant> otherwise.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+iscellstr(1)
+
+iscellstr(cell())
+
+iscellstr(cell(3))
+
+strcell = cell(3,1);
+strcell(1).entries="Scilab";
+strcell(2).entries="iscellstr";
+strcell(3).entries="help";
+iscellstr(strcell)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/isfield.xml b/modules/data_structures/help/en_US/isfield.xml
new file mode 100755
index 000000000..4a0e6a655
--- /dev/null
+++ b/modules/data_structures/help/en_US/isfield.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+ * Copyright (C) 2013 - Samuel GOUGEON : extension to tlist and mlist
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="isfield">
+ <refnamediv>
+ <refname>isfield</refname>
+ <refpurpose>checks if the given fieldname exists in a structure or mlist or tlist</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>bool = isfield(s, fieldname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>a struct array, a tlist or a mlist.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fieldname</term>
+ <listitem>
+ <para>a matrix of strings: names of fields to be detected</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>
+ a matrix of boolean (same format as <varname>fieldname></varname>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This function returns <constant>%t</constant> if the specified structure or tlist or mlist <varname>s</varname> includes the field <varname>fieldname</varname>, regardless of the corresponding value. For a structure, the hidden field <code class="literal">dims</code> is ignored.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s = struct("field_1",123,"field_2",456,"field_4",789)
+
+// Single Fieldname Syntax
+isfield( s , "field_1" )
+
+// Multiple Fieldname Syntax
+isfield( s , [ "field_1" "field_2" ; "field_3" "field_4" ] )
+
+// with a tlist:
+s = tlist(["test" "t" "n","","p"], "Hello", %pi, "anonymous", (1-%z)^3)
+isfield(s, ["b" "t" ""]) // => F T T (anonymous fields can be detected)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="definedfields">definedfields</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>History</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5</revnumber>
+ <revremark>
+ Extension to any mlist and tlist.
+ </revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/isstruct.xml b/modules/data_structures/help/en_US/isstruct.xml
new file mode 100755
index 000000000..467583938
--- /dev/null
+++ b/modules/data_structures/help/en_US/isstruct.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isstruct" xml:lang="en">
+ <refnamediv>
+ <refname>isstruct</refname>
+ <refpurpose>checks if a variable is a structure array</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>bool = isstruct(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>a Scilab variable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>a boolean.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>isstruct(x)</code> returns <constant>%t</constant> if
+ <varname>x</varname> is a struct array and <constant>%f</constant> otherwise.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+isstruct(1)
+
+isstruct(cell())
+
+isstruct(struct("name","Scilab", "version", getversion()))
+
+info.name="Scilab";
+info.function="isstruct";
+info.module="help";
+isstruct(info)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/list.xml b/modules/data_structures/help/en_US/list.xml
new file mode 100755
index 000000000..91e420ede
--- /dev/null
+++ b/modules/data_structures/help/en_US/list.xml
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="list">
+ <refnamediv>
+ <refname>list</refname>
+ <refpurpose>a Scilab object and a list definition function</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>list(a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Creates a <literal>list</literal> with elements
+ <varname>ai</varname>'s which are arbitrary Scilab objects
+ (<literal>matrix</literal>,
+ <literal>list</literal>,...). Type of
+ <literal>list</literal> objects is 15. <code>list()</code>
+ creates the empty <literal>list</literal> (0 element).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Operations on lists</title>
+ <variablelist>
+ <varlistentry>
+ <term>extraction</term>
+ <listitem>
+ <para>
+ <literal>[x,y,z,...]=L(v)</literal> where <literal>v</literal> is a vector of indices;
+ <literal>[x,y,z,...]=L(:)</literal> extracts all the elements.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>insertion at index i</term>
+ <listitem>
+ <para>
+ <code>L(i)=a</code> (note that it is not an
+ error to use <code>L(i)=a</code> with
+ <code><![CDATA[i > 1 + size(L)]]></code> but
+ some list entries are then undefined and their
+ extraction gives raise to an error).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>append an element in queue</term>
+ <listitem>
+ <para>
+ <code>L($+1)=e</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>append an element in head</term>
+ <listitem>
+ <para>
+ <code>L(0)=e</code>.
+ <note>
+ After this
+ operation <literal>e</literal> is an index 1,
+ the initial elements being shifted on the
+ right.
+ </note>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>deletion</term>
+ <listitem>
+ <para>
+ <code>L(i)=null()</code> removes the <literal>i</literal>-th element of the list <literal>L</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>concatenation of two lists</term>
+ <listitem>
+ <para>
+ <code>L3 = lstcat(L1,L2)</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>number of elements of a list</term>
+ <listitem>
+ <para>
+ you can use either <code>nb_elm = size(L)</code>
+ or <code>nb_elm = length(L)</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>iterations with a list</term>
+ <listitem>
+ <para>
+ it is possible to use a list <literal>L</literal> with a <link linkend="for">for</link> loop:
+ <literal>for e=L,...,end</literal> is a loop with <literal>length(L)</literal>
+ iterations, the loop variable <literal>e</literal> being equal to <literal>L(i)</literal>
+ at the <literal>i</literal>-th iteration.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Remarks</title>
+ <para>
+ Scilab provides also other kinds of list, the <link linkend="tlist">tlist</link> type (typed list) and
+ the <link linkend="mlist">mlist</link> type which are useful to define a new data type with operator
+ <link linkend="overloading">overloading</link> facilities (<link linkend="hypermatrices">hypermatrices</link> which are
+ multidimensional arrays in Scilab are in fact <emphasis>mlist</emphasis>).
+ </para>
+ <para>
+ Matlab <emphasis>struct</emphasis> are also available.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+l = list(1,["a" "b"]) // declaration of a basic list with a double & a vector of two strings
+size(l) // Size is 2
+// l(0) - Does not exist!
+l(1) // Access to the double value
+l(2) // Access to the vector of strings
+size(l(2)) // Size is 1,2
+
+l(0) = "foo" // Insert at the beginning of the list
+// l(0) - still does not exist
+l(1) // Is "foo"
+
+l($+1) = "hello" // Insert at the end
+l(2) = "toto" // Override my double
+l(3) = rand(1,2) // Override my vector of string
+
+l(3) = null() // Remove the third element
+
+lbis = list("gewurtz", "caipirina" ,"debug") // Declare a new list
+lter = lstcat(l,lbis) // Merge the two list
+size(lter) - size(lbis) - size(l) // must be zero
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="lstcat">lstcat</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ <member>
+ <link linkend="size">size</link>
+ </member>
+ <member>
+ <link linkend="length">length</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/lstcat.xml b/modules/data_structures/help/en_US/lstcat.xml
new file mode 100755
index 000000000..220c778c0
--- /dev/null
+++ b/modules/data_structures/help/en_US/lstcat.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lstcat">
+ <refnamediv>
+ <refname>lstcat</refname>
+ <refpurpose>list concatenation</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>lc = lstcat(l1, ..., ln)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>li</term>
+ <listitem>
+ <para>a list or any other type of variable</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lc</term>
+ <listitem>
+ <para>a list</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>lc = lstcat(l1, ..., ln)</literal> concatenates components of <varname>li</varname> lists in a
+ single list <varname>lc</varname>. If the <varname>li</varname> are other type of variables they are simply
+ added to the resulting list.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+lstcat(list(1,2,3),33,list('foo',%s))
+lstcat(1,2,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/makecell.xml b/modules/data_structures/help/en_US/makecell.xml
new file mode 100755
index 000000000..622f87b46
--- /dev/null
+++ b/modules/data_structures/help/en_US/makecell.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2004-2007 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="makecell">
+ <refnamediv>
+ <refname>makecell</refname>
+ <refpurpose>Creates a cell array. </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>s = makecell(dims,a1,a2,...an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims</term>
+ <listitem>
+ <para>
+ a vector with positive integer elements, the cell array dimension
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>a1,a2,...,an</term>
+ <listitem>
+ <para>
+ Sequence of Scilab variables, <literal>n</literal> must be equal to <literal>prod(dims)</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>
+ resulting cell array
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>s= makecell(dims,a1,a2,...an)</literal> creates a cell
+ array of dimensions given by <literal>dims</literal> with the
+ given input arguments. The <literal>ai</literal> are stored
+ along the last dimension first.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+makecell([2,3],1,2,3,'x','y','z')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/matrices.xml b/modules/data_structures/help/en_US/matrices.xml
new file mode 100755
index 000000000..c64667070
--- /dev/null
+++ b/modules/data_structures/help/en_US/matrices.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2012 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="matrices">
+ <refnamediv>
+ <refname>matrices</refname>
+ <refpurpose>Scilab objects, matrices in Scilab</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Matrices are basic objects defined in Scilab.
+ They can be defined as follows:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+E=[e11,e12,...,e1n;
+ e21,e22,...,e2n;
+ ....
+ em1,em2,...,emn];
+ ]]></programlisting>
+ <para>
+ Entries <literal>eij</literal> can be real or complex numbers, polynomials,
+ rationals, strings, booleans.
+ </para>
+ <para>
+ Vectors are seen as matrices with one row or one column.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+E=[1,2;3,4]
+E=[%T,%F;1==1,1~=1]
+s=poly(0,'s');
+E=[s,s^2;1,1+s]
+E=[1/s,0;s,1/(s+1)]
+E=['A11','A12';'A21','A22']
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="boolean">boolean</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ <member>
+ <link linkend="empty">empty</link>
+ </member>
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ <member>
+ <link linkend="testmatrix">testmatrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/mlist.xml b/modules/data_structures/help/en_US/mlist.xml
new file mode 100755
index 000000000..531ca88c8
--- /dev/null
+++ b/modules/data_structures/help/en_US/mlist.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="mlist">
+ <refnamediv>
+ <refname>mlist</refname>
+ <refpurpose>Scilab object, matrix oriented typed list
+ definition
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>mlist(typ, a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>a vector of character strings.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ any Scilab object (<literal>matrix</literal>, <literal>list</literal>, <literal>string</literal>, ...).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <link linkend="mlist">mlist</link> object is very similar to <link linkend="tlist">tlist</link> object.
+ The only difference concerns the <link linkend="extraction">extraction</link> and <link linkend="insertion">insertion</link> syntax:
+ if <literal>M</literal> is an <literal>mlist</literal>, for any index <literal>i</literal> which is
+ not a field name, <literal>M(i)</literal> is no more the <literal>i</literal>-th
+ field of the list.
+ </para>
+ <para>
+ The semantic of the extraction and insertion syntax should be given by
+ an <link linkend="overloading">overloading</link> function.
+ </para>
+ <para>
+ The overloading function for extraction syntax <literal>b=a(i1, ..., in)</literal>
+ has the following calling sequence: <literal>b=%&lt;type_of_a&gt;_e_(i1, ..., in, a)</literal>
+ </para>
+ <para>and the syntax
+ <literal>[x1, ..., xm]=a(i1, ..., in)</literal> has the following calling sequence:
+ <literal>[x1, ..., xm]=%&lt;type_of_a&gt;_e_(i1, ..., in,a)</literal>
+ </para>
+ <para/>
+ <para> The overloading function associated to the insertion syntax
+ <literal>a(i1, ..., in)=b</literal> has the following calling sequence:
+ <literal>a=%&lt;type_of_b&gt;_i_&lt;type_of_a&gt;(i1, ..., in, b, a)</literal>.
+ </para>
+ <para/>
+ <para>
+ <literal>mlist</literal> fields must then be designed by their names. They can also be
+ handled using the <function>getfield</function> and <function>setfield</function>
+ functions.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+//define display
+function %V_p(M),disp(M.name+':'+string(M.value)),endfunction
+
+//define extraction operation
+function r=%V_e(varargin)
+ M=varargin($)
+ r=mlist(['V','name','value'],M.name(varargin(1:$-1)),M.value(varargin(1:$-1)))
+endfunction
+M(2,:) // the second row of M
+M.value
+
+//define insertion operations
+function M=%V_i_V(varargin)
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N.value
+ M.name(varargin(1:$-2))=N.name
+endfunction
+M(1,1)=M(2,2)
+
+function M=%s_i_V(varargin) //insertion of a regular matrix into a V matrix
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N
+ M.name(varargin(1:$-2))=emptystr(N)
+endfunction
+M(1,1)=44
+
+//tlist case
+M=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+M(2)
+M(2)='a'+string([1 2;3 4])
+
+M('name')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/null.xml b/modules/data_structures/help/en_US/null.xml
new file mode 100755
index 000000000..8e5ad8e2c
--- /dev/null
+++ b/modules/data_structures/help/en_US/null.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="null">
+ <refnamediv>
+ <refname>null</refname>
+ <refpurpose>delete an element in a list</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>l(i)=null()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Deletion of objects inside a list.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,"foo",3);
+l(2)=null() // get list(1,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="clear">clear</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/rlist.xml b/modules/data_structures/help/en_US/rlist.xml
new file mode 100755
index 000000000..31f279b38
--- /dev/null
+++ b/modules/data_structures/help/en_US/rlist.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="rlist">
+ <refnamediv>
+ <refname>rlist</refname>
+ <refpurpose>Scilab rational fraction function definition</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[r] = rlist()
+ [r] = rlist(N, D [,dom])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>N,D</term>
+ <listitem>
+ <para>polynomial martices.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>dom</term>
+ <listitem>
+ <para>
+ character string, or <literal>[]</literal> or a scalar.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>r</term>
+ <listitem>
+ <para>
+ tlist ("r" list) representing the rational fraction.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>rlist(N, D, dom)</literal> is a shortcut to
+ <literal>tlist(['r','num','den','dt'], N, D, dom)</literal>.
+ </para>
+ <para>
+ To correspond to the domain time of a linear system, <varname>dom</varname>
+ must be equal to <literal>'c'</literal>,<literal>'d'</literal>, <literal>[]</literal> or a scalar.
+ One the one hand, to be similar to functions as <link linkend="syslin">syslin</link>,
+ and on the other, to use some functions as <link linkend="tf2ss">tf2ss</link>, it
+ is necessary that <varname>dom</varname> is equal to these values.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];
+Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+
+H1=(1+2*s)/s^2;
+S1bis=syslin('c',H1)
+r=rlist(H1.num, H1.den, 'c')
+r == S1bis
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ <member>
+ <link linkend="tf2ss">tf2ss</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/setfield.xml b/modules/data_structures/help/en_US/setfield.xml
new file mode 100755
index 000000000..fe691c1d1
--- /dev/null
+++ b/modules/data_structures/help/en_US/setfield.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="setfield">
+ <refnamediv>
+ <refname>setfield</refname>
+ <refpurpose>list field insertion</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>setfield(i, x, l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>a matrix of any possible types.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>
+ a <literal>list</literal>, <literal>tlist</literal> or <literal>mlist</literal> variable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>
+ a field index, see <link linkend="insertion">insertion</link> for more details.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This function is an equivalent of <code>l(i)=x</code> syntax for field
+ extraction with the only difference that it also applies to
+ <literal>mlist</literal> objects.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+l(1)='Changed'
+l(0)='Added'
+l(6)=['one more';'added']
+
+a=hypermat([2,2,2],rand(1:2^3));// hypermatrices are coded using mlists
+setfield(3,1:8,a);a // set the field value to 1:8
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/struct.xml b/modules/data_structures/help/en_US/struct.xml
new file mode 100755
index 000000000..682b9ebac
--- /dev/null
+++ b/modules/data_structures/help/en_US/struct.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="struct">
+ <refnamediv>
+ <refname>struct</refname>
+ <refpurpose>create a struct</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>st = struct(field1, value1, field2, value2, ...)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>field1, field2, ...</term>
+ <listitem>
+ <para>strings representing the fields names.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>value1, value2, ...</term>
+ <listitem>
+ <para>
+ all data type (<literal>double</literal>, <literal>char</literal>, <literal>int</literal>, ...), representing the fields values.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ This function returns a struct with the fields names
+ <varname>field1</varname>, <varname>field2</varname>, ..., and the fields values
+ corresponding <varname>value1</varname>, <varname>value2</varname>, ...
+ </para>
+ <para>
+ Note that <literal>type(st)</literal> returns <literal>17</literal>, and <literal>typeof(st)</literal> returns <literal>st</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+//create a struct date
+date_st=struct('day',25,'month' ,'DEC','year',2006)
+//change the month
+date_st.month='AUG';
+//change the year
+date_st.year=1973;
+//change the day
+date_st.day=19;
+//add a new field
+date_st.semaine=32
+
+//create a structure test
+test=struct('list1',list('testlist',1,2), 'matrix1', [1 2 3; 4 5 6], 'boolean1', %t);
+//add a polynom
+s=poly(0,'s')
+test.pol1=s;
+//add a state-space
+A=[0,1;0,0]; B=[1;1];C=[1,1];
+test.ss1=syslin('c',A,B,C);
+//Show the list
+test.list1
+getfield(3,test)
+//Show the type
+type(test)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/tlist.xml b/modules/data_structures/help/en_US/tlist.xml
new file mode 100755
index 000000000..a2f417fd5
--- /dev/null
+++ b/modules/data_structures/help/en_US/tlist.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="tlist">
+ <refnamediv>
+ <refname>tlist</refname>
+ <refpurpose>Scilab object and typed list definition. </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>tlist(typ, a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>a character string or vector of character strings.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ any Scilab object (<literal>matrix</literal>, <literal>list</literal>,
+ <literal>string</literal>, ...).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>tlist(typ, a1, ..., an)</literal> creates a <literal>typed-list</literal> with elements <varname>ai</varname>'s. The <varname>typ</varname> argument specifies the list type. Such <literal>typed-list</literal> allows the user to define new operations working on these object through Scilab functions. The only difference between <literal>typed-list</literal> and <literal>list</literal> is the value of the type (16 instead of 15).
+ </para>
+ <para>
+ <code>typ(1)</code> specifies the list type (character string used to define soft coded operations).
+ </para>
+ <para>
+ If specified <code>typ(i)</code> may give the <literal>(i+1)</literal>-th element formal name.
+ </para>
+ <para>
+ Standard Operations on <literal>list</literal> work similarly for <literal>typed-list</literal>:
+ </para>
+ <para>
+ extraction:
+ </para>
+ <para>
+ <literal>[x, y, z, ...]=l(v)</literal> where <literal>v</literal> is a vector of indices;
+ <literal>[x, y, z]=l(:)</literal> extracts all the elements.
+ </para>
+ <para>
+ insertion:
+ </para>
+ <para>
+ <literal>l(i)=a</literal>
+ </para>
+ <para>
+ deletion:
+ </para>
+ <para>
+ <code>l(i)=null()</code> removes the <literal>i</literal>-th
+ element of the <literal>tlist</literal> <literal>l</literal>.
+ <note>
+ Note that the semantics of <code>l.x=null()</code> is undefined, but a definition can be given through the <link linkend="overloading">overloading</link> mechanism.
+ </note>
+ </para>
+ <para>
+ display.
+ </para>
+ <para>
+ Moreover if <code>typ(2:n+1)</code> are specified, user may
+ point elements by their names.
+ </para>
+ <para>
+ We give below examples where <literal>tlist</literal> are used.
+ </para>
+ <para>
+ Linear systems are represented by specific <literal>typed-list</literal> e.g. a
+ linear system <literal>[A,B,C,D]</literal> is represented by the <literal>tlist</literal>
+ <code>Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')</code>
+ and this specific list may be created by the function <function>syslin</function>.
+ </para>
+ <para>
+ <code>Sys(2)</code>, <code>Sys('A')</code> or <code>Sys.A</code> is the state-matrix and <code>Sys('dt')</code> or <code>Sys.dt</code> is the time domain.
+ </para>
+ <para>
+ A rational matrix <literal>H</literal> is represented by the <literal>typed-list</literal>
+ <code>H=rlist(Num,Den,[])</code> where <literal>Num</literal> and <literal>Den</literal> are two
+ polynomial matrices and a continuous time linear system with
+ transfer matrix <literal>H</literal> may be created by <code>syslin('c',H)</code>.
+ </para>
+ <para>
+ <code>H(2)</code>, <code>H('num')</code> or <code>H.num</code> is the transfer matrix numerator.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+// tlist creation
+t = tlist(["listtype","field1","field2"], [], []);
+t.field1(1) = 10;
+t.field1(2) = 20;
+t.field2(1) = "Scilab";
+t.field2(2) = "tlist";
+t.field2(3) = "example";
+
+// Fields contents display
+disp(t.field1)
+disp(t.field2)
+
+// Generic tlist display
+disp(t)
+
+// Overloading display for this type of tlist
+function %listtype_p(mytlist)
+ f = fieldnames(mytlist);
+
+ // typeof(mytlist) <=> f(1)
+ mprintf("Displaying a tlist of type: %s\n", typeof(mytlist));
+
+ mprintf("\n");
+
+ mprintf("-- Field ''%s'' --\n", f(1));
+ mprintf("Contents: %s\n", sci2exp(mytlist(f(1))));
+
+ mprintf("\n");
+
+ mprintf("-- Field ''%s'' --\n", f(2));
+ mprintf("Contents: %s\n", sci2exp(mytlist(f(2))));
+endfunction
+
+// Display using overloading function
+disp(t)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="percent">percent</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/type.xml b/modules/data_structures/help/en_US/type.xml
new file mode 100755
index 000000000..25af7d965
--- /dev/null
+++ b/modules/data_structures/help/en_US/type.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="type">
+ <refnamediv>
+ <refname>type</refname>
+ <refpurpose>returns the type of a variable</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[i]=type(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>a Scilab object.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>an integer.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>type(x)</code> returns an integer which is the type of <varname>x</varname> as following:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>a real or complex matrix of double.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ a <link linkend="poly">polynomial matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>
+ a <link linkend="matrices">boolean matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>5</term>
+ <listitem>
+ <para>
+ a <link linkend="sparse">sparse matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>6</term>
+ <listitem>
+ <para>
+ a <link linkend="sparse">sparse boolean matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>Matlab sparse matrix</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>8</term>
+ <listitem>
+ <para>
+ a matrix of <link linkend="int8">integers</link> stored on 1 (<literal>int8</literal>), 2 (<literal>int16</literal>) or 4 (<literal>int32</literal>) bytes.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>9</term>
+ <listitem>
+ <para>
+ a matrix of <link linkend="graphics_entities">graphic handles</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>10</term>
+ <listitem>
+ <para>
+ a matrix of <link linkend="strings">character strings</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>11</term>
+ <listitem>
+ <para>
+ an un-compiled function (Scilab code). A function created with <link linkend="deff">deff</link> with argument <literal>'n'</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>13</term>
+ <listitem>
+ <para>
+ a compiled <link linkend="function">function</link> (Scilab code).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>14</term>
+ <listitem>
+ <para>
+ a function <link linkend="library">library</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>15</term>
+ <listitem>
+ <para>
+ a <link linkend="list">list</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>16</term>
+ <listitem>
+ <para>
+ a typed list (<link linkend="tlist">tlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>17</term>
+ <listitem>
+ <para>
+ a matrix oriented typed list (<link linkend="mlist">mlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>128</term>
+ <listitem>
+ <para>
+ a pointer (Use case: <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>129</term>
+ <listitem>
+ <para>a size implicit polynomial used for indexing.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>130</term>
+ <listitem>
+ <para>
+ a built-in Scilab function, called also <emphasis role="italic">gateway</emphasis> (C, C++ or Fortran code).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>a null variable. It is mainly used internally by
+ Scilab. If a function has no declared returned argument
+ like <function>disp</function> when it is called it returns
+ a null variable. If a function is called with an omitted
+ argument in the argument list like
+ <code>foo(a,,b)</code> the missing argument is
+ assigned to a null variable.
+ </para>
+ <para>
+ <note>
+ Note that if a null variable is assigned to a name, it is removed.
+ <code>x=disp(1)</code> deletes <varname>x</varname>.
+ </note>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <note>
+ Please note that, for some variables, <function>type</function> will return <literal>tlist</literal>
+ or <literal>mlist</literal> due to the internal data structure. This is the case of
+ <emphasis role="italic">rational</emphasis> and <emphasis role="italic">state-space</emphasis> matrices,
+ <emphasis role="italic">uitree</emphasis>, <emphasis role="italic">hypermat</emphasis> and <emphasis role="italic">struct</emphasis>. Please considering the use of
+ <link linkend="typeof">typeof</link> instead.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+a=42;
+type(a)
+
+b=%t;
+type(b)
+
+c="foo"
+type(c)
+
+d=sparse([1,2;4,5;3,10],[1,2,3]);
+type(d)
+
+e = tlist(["listtype","field1","field2"], [], []);
+type(e)
+
+f=poly(0,"s");
+type(f)
+
+g=int8([1 -120 127 312]);
+type(g)
+
+h=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+type(h)
+
+l = list(1,["a" "b"]);
+type(l)
+
+deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y']);
+type(mymacro)
+
+deff('[x]=myplus(y,z)','x=y+z','n');
+type(myplus)
+
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="inttype">inttype</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/typename.xml b/modules/data_structures/help/en_US/typename.xml
new file mode 100755
index 000000000..31c2e611d
--- /dev/null
+++ b/modules/data_structures/help/en_US/typename.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="typename">
+ <refnamediv>
+ <refname>typename</refname>
+ <refpurpose>associates a name to variable type</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[types [ [,names]]=typename()
+ typename(name, type)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>types</term>
+ <listitem>
+ <para>an integer column vector: the types codes of each defined data types.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>names</term>
+ <listitem>
+ <para>a column vector of strings: the names associated to type codes.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>type</term>
+ <listitem>
+ <para>an integer: the type code of new data type.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>a string: the name associated to the type code.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ The function and operator overloading make use of a formal name
+ associated to data types to form the name of the overloading function
+ (see <link linkend="overloading">overloading</link>). The <function>typename</function> can be used to handle this
+ formal names for hard coded data types (the <literal>tlist</literal> or <literal>mlist</literal>
+ coded data types formal names are defined in an other way, see <link linkend="overloading">overloading</link>).
+ </para>
+ <para>
+ Called without right hand side argument, <function>typename</function> returns
+ information on defined data types.
+ </para>
+ <para>
+ Called with right hand side argument, <function>typename</function> associates a name
+ to a data type code.
+ </para>
+ <para>
+ <code>typename('',type)</code> suppress the data type given by its code
+ <varname>type</varname> out of the table of known data types.
+ </para>
+ <para>Number max. of defined types is 50.</para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+[typs,nams]=typename();
+disp("First type (double) : " + string(typs(1)) + " / " + nams(1));
+typename("mytype",1024);
+[typs,nams]=typename();
+disp(typs($))
+disp(nams($)) // returns mytype
+]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/en_US/typeof.xml b/modules/data_structures/help/en_US/typeof.xml
new file mode 100755
index 000000000..21c346e9c
--- /dev/null
+++ b/modules/data_structures/help/en_US/typeof.xml
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="typeof" xml:lang="en">
+ <refnamediv>
+ <refname>typeof</refname>
+ <refpurpose>object type</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[t]=typeof(object)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>object</term>
+ <listitem>
+ <para>a Scilab object</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>a string</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <code>t=typeof(object)</code> returns one of the following
+ strings:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"constant"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a real or complex matrix of double.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"polynomial"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="poly">polynomial matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"function"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="function">function</link> (Scilab code). See also <link linkend="deff">deff</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"handle"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is an <link linkend="graphics_entities">handle</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"string"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a matrix made of <link linkend="strings">character strings</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="matrices">boolean matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"list"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="list">list</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rational"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="rational">rational matrix</link> (transfer matrix).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"state-space"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a state-space model (see <link linkend="syslin">syslin</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"sparse"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a (real) <link linkend="sparse">sparse matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean sparse"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="sparse">boolean sparse matrix</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"hypermat"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="hypermatrices">hypermatrix</link> (<literal>N</literal>-dimension array with <literal><![CDATA[N<=3]]></literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"st"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="struct">structure</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"ce"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a <link linkend="cell">cell</link> array.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"fptr"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a built-in Scilab function, called also <emphasis role="italic">gateway</emphasis> (C, C++ or Fortran code).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"pointer"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a pointer (See an use case: <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"size implicit"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a size implicit polynomial used for indexing. This a purely internal value.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"library"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a function <link linkend="library">library</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"int8" or "uint8" or "int16" or "uint16" or "int32" or "uint32"</term>
+ <listitem>
+ <para>
+ if <varname>object</varname> is a matrix of [unsigned] integers stored on 8, 16 or 32 bits. (See <link linkend="int8">int</link>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <note>
+ Note that if the <varname>object</varname> is a <link linkend="tlist">tlist</link> or <link linkend="mlist">mlist</link>, <function>typeof</function> will return the first string in the first list entry.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+typeof(1)
+typeof(poly(0,'x'))
+
+typeof(1/poly(0,'x'))
+typeof(%t)
+
+w=sprand(100,100,0.001);
+typeof(w)
+typeof(w==w)
+
+deff('y=f(x)','y=2*x');
+typeof(f)
+
+L=tlist(['V','a','b'],18,'Scilab');
+typeof(L)
+
+typeof(corelib)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="strings">strings</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/addchapter.sce b/modules/data_structures/help/fr_FR/addchapter.sce
new file mode 100755
index 000000000..2de3e8b9a
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Structures",SCI+"/modules/data_structures/help/fr_FR",%T);
+
diff --git a/modules/data_structures/help/fr_FR/boolean.xml b/modules/data_structures/help/fr_FR/boolean.xml
new file mode 100755
index 000000000..ab4e253a4
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/boolean.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="boolean">
+ <refnamediv>
+ <refname>boolean</refname>
+ <refpurpose>Objets Scilab, variables booléennes et opérateurs &amp; | ~ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Une variable booléenne est <literal>%T</literal> (pour "vrai"="true") ou <literal>%F</literal> (pour "faux").
+ Ces variables permettent de définir des matrices de booléens avec la syntaxe habituelle. Ces matrices booléennes peuvent être manipulées comme des matrices ordinaires pour les opérations d'extraction/insertion et de concaténation. Notez que les autres opérations usuelles (<literal>+, *, -, ^,</literal> etc.) ne sont pas définies pour les matrices booléennes. Les seuls opérateurs valides sont les suivants :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>~b</term>
+ <listitem>
+ <para>
+ est la négation logique élément par élément de la matrice booléenne <literal>b</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1&amp;b2</term>
+ <listitem>
+ <para>
+ est la conjonction (et) logique élément par élément de <literal>b1</literal> et <literal>b2</literal> (matrices).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1|b2</term>
+ <listitem>
+ <para>
+ est la disjonction (ou) logique élément par élément de <literal>b1</literal> et <literal>b2</literal> (matrices).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Les variables booléennes peuvent être utilisées comme indice pour les matrices et les vecteurs.</term>
+ <listitem>
+ <para>
+ Par exemple <literal>a([%T,%F,%T],:)</literal> renvoie la sous-matrice composée des lignes <literal>1</literal> et <literal>3</literal> de <literal>a</literal>. Les matrices booléennes peuvent être creuses.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+[1,2]==[1,3]
+[1,2]==1
+a=1:5; a(a>2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="or">or</link>
+ </member>
+ <member>
+ <link linkend="and">and</link>
+ </member>
+ <member>
+ <link linkend="not">not</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/fieldnames.xml b/modules/data_structures/help/fr_FR/fieldnames.xml
new file mode 100755
index 000000000..6ad10a2d1
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/fieldnames.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2010 - Digiteo - Vincent LIARD
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="fieldnames">
+ <refnamediv>
+ <refname>fieldnames</refname>
+ <refpurpose>récupère le nom des champs d'une tlist, d'une mlist ou
+ d'une struct
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>f = fieldnames(lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>Une variable de type tlist, mlist ou struct.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>Un vecteur colonne de chaînes de caractères
+ représentant les noms des champs.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ La fonction <literal>fieldnames</literal> retourne le nom des
+ champs d'une tlist, mlist ou
+ struct. <literal>fieldnames</literal> ne fonctionne pas sur le
+ type cell.
+ </para>
+ <para>
+ Comme expliqué dans les documentations de <link linkend="rational">rational</link> et
+ <link linkend="syslin">syslin</link>, certains objets de Scilab sont construits à partir
+ de tlist (ou rlist). Autrement dit, la fonction <function>fieldnames</function> avec ceux-ci en paramètres
+ d'entrée va retourner comme résultat la forme générique de ces objets. Par exemple, pour un objet
+ de type <link linkend="rational">rational</link>, la fonction va renvoyer "num", "den" et "dt".
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example">
+ fieldnames(tlist(['listtype', 'f1', 'f2'], [], []))
+ fieldnames(mlist(['V', 'key', 'value'], ['a' 'b' ; 'c' 'd'], [1 2 ; 3 4]))
+ fieldnames(struct('f1', 25, 'month', 'DEC', 'year', 2006))
+ obj.x = 3;
+ obj.y = 3;
+ fieldnames(obj)
+ fieldnames(1/%s)
+ fieldnames(tf2ss(1/%s))
+ </programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/getfield.xml b/modules/data_structures/help/fr_FR/getfield.xml
new file mode 100755
index 000000000..8d0e65412
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/getfield.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="getfield">
+ <refnamediv>
+ <refname>getfield</refname>
+ <refpurpose>extraction d'un champ d'une liste </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[x,...]=getfield(i,l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>x </term>
+ <listitem>
+ <para>matrice de tout type
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l </term>
+ <listitem>
+ <para>variable de type list, tlist ou mlist
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i </term>
+ <listitem>
+ <para>
+ indice du champ, voir <literal>extraction</literal> pour plus de détails
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Cette fonction est un équivalent de la syntaxe <literal>[x,...]=l(i)</literal> pour l'extraction de champs avec la seule différence qu'elle s'applique aussi aux objets de type <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+[a,b]=getfield([3 2],l)
+
+a=hypermat([2,2,2],rand(1:2^3));// les hypermatrices sont stockées dans des mlist
+a(1) // le terme a(1,1,1)
+getfield(1,a) // le premier champ de la mlist
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/hypermat.xml b/modules/data_structures/help/fr_FR/hypermat.xml
new file mode 100755
index 000000000..45a6b1504
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/hypermat.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="hypermat">
+ <refnamediv>
+ <refname>hypermat</refname>
+ <refpurpose>initialisation d'une matrice à N dimensions </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>M=hypermat(dims [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims </term>
+ <listitem>
+ <para>vecteur des dimensions de l'hypermatrice
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v </term>
+ <listitem>
+ <para>
+ vecteur des termes de l'hypermatrice (valeur par défaut <literal>zeros(prod(dims),1)</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Initialisation d'une matrice à N dimensions dont les dimensions sont données dans le vecteur dims
+ et dont les termes sont éventuellement donnés dans un vecteur optionnel <literal>v</literal>.
+ </para>
+ <para>
+ La structure de données M contient un champ <literal>M('dims')</literal> contenant les dimensions de l'hypermatrice et un champ contenant le vecteur des termes <literal>M('entries')</literal>, rangés tel que l'indice
+ le plus à gauche varie en premier :
+ <literal>[M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]</literal>
+ <para>
+ Attention: Si vous construisez votre propre <literal>hypermat</literal>, vous devez faire attention. L'entrée M('dims') doit être un vecteur ligne alors que l'entrée M('entries') doit être un vecteur colonne.
+ </para>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+M = hypermat([2 3 2 2],1:24)
+disp(size(M('dims')))
+disp(size(M('entries')))
+
+M_own = mlist(['hm','dims','entries']);
+M_own('dims') = [2 3 2 2];
+M_own('entries') = [1:24]';
+disp(size(M_own('dims')))
+disp(size(M_own('entries')))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/hypermatrices.xml b/modules/data_structures/help/fr_FR/hypermatrices.xml
new file mode 100755
index 000000000..5a07657e1
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/hypermatrices.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="hypermatrices">
+ <refnamediv>
+ <refname>hypermatrices</refname>
+ <refpurpose>Objet Scilab, matrices à N dimensions </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Le type Hypermatrice permet de manipuler des tableaux multidimensionnels.
+ Ce type d'objet peut être défini par extension des matrices 2D comme ceci :
+ </para>
+ <para>
+ a=[1 2;3 4];a(:,:,2)=rand(2,2)
+ </para>
+ <para>
+ ou directement en utilisant la fonction <literal>hypermat</literal>.
+ </para>
+ <para>
+ Les termes peuvent être réels, complexes, polynômiaux, rationnels, booléens
+ ou de type chaîne de caractères.
+ </para>
+ <para>
+ Les Hypermatrices sont des <literal>mlists</literal> :
+ <literal>mlist(['hm','dims','entries'],sz,v)</literal> où <literal>sz</literal> est
+ le vecteur ligne des dimensions et <literal>v</literal> le vecteur colonne des termes (rangés tel que
+ l'indice le plus à gauche varie en premier).
+ </para>
+ <para>NOTES: le nombre de dimensions des hypermatrices dont les dimensions les plus à droite sont egales
+ à 1 est automatiquement réduit. Une hypermatrice n'ayant que 2 dimensions
+ est automatiquement transformée en une matrice standard (de type 1).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+a(1,1,1,1:2)=[1 2]
+a=[1 2;3 4];a(:,:,2)=rand(2,2)
+a(1,1,:)
+
+size(a)
+
+a(:,:,1) //dimensionality reduction
+type(a(:,:,1))
+
+[a a]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermat">hypermat</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/iscell.xml b/modules/data_structures/help/fr_FR/iscell.xml
new file mode 100755
index 000000000..cbd10a97c
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/iscell.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscell" xml:lang="en">
+ <refnamediv>
+ <refname>iscell</refname>
+ <refpurpose>Check if a variable is a cell array</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>bool = iscell(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Scilab variable</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>A boolean</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>iscell(x)</literal> returns true if x is a cell array
+ and false otherwise.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+iscell(1)
+
+iscell(cell())
+
+c = cell(1,2);
+c(1).entries="Scilab";
+c(2).entries=datenum();
+iscell(c)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/iscellstr.xml b/modules/data_structures/help/fr_FR/iscellstr.xml
new file mode 100755
index 000000000..f98ff325d
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/iscellstr.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscellstr" xml:lang="fr">
+ <refnamediv>
+ <refname>iscellstr</refname>
+ <refpurpose>Vérifie si une variable est une cell de chaînes de
+ caractères
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>bool = iscellstr(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Variable Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>Un booléen</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>iscellstr(x)</literal> retourne vrai si x est une cell de
+ chaînes de caractères et faux sinon.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+iscellstr(1)
+
+iscellstr(cell())
+
+iscellstr(cell(3))
+
+strcell = cell(3,1);
+strcell(1).entries="Scilab";
+strcell(2).entries="iscellstr";
+strcell(3).entries="help";
+iscellstr(strcell)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/isfield.xml b/modules/data_structures/help/fr_FR/isfield.xml
new file mode 100755
index 000000000..e0deb48f1
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/isfield.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+ * Copyright (C) 2013 - Samuel GOUGEON : traduction et extension aux tlist et mlist
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="isfield">
+ <refnamediv>
+ <refname>isfield</refname>
+ <refpurpose>teste l'existence d'un ou plusieurs champs pour une structure, une tlist ou une mlist</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>bool = isfield(s, fieldname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>un tableau de structures, ou une liste typée tlist ou mlist</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fieldname</term>
+ <listitem>
+ <para>matrice de textes : noms des champs à détecter</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>
+ matrice booléenne (même format que <varname>fieldname</varname>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ bool(i,j) vaut <constant>%t</constant> si le champ nommé <varname>fieldname(i,j)</varname> existe pour le tableau de structure ou tlist ou mlist <varname>s</varname>(indépendamment de la valeur éventuellement affectée à ce champ). Si <varname>s</varname> est une structure, son champ caché <code class="literal">dims</code> est ignoré.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s = struct("field_1",123,"field_2",456,"field_4",789)
+
+// Test pour un nom de champ unique :
+isfield( s , "field_1" )
+
+// Test simultané pour plusieurs noms de champs :
+isfield( s , [ "field_1" "field_2" ; "field_3" "field_4" ] )
+
+// Test sur une liste typée tlist:
+s = tlist(["test" "t" "n","","p"], "Hello", %pi, "anonymous", (1-%z)^3)
+isfield( s, ["b" "t" ""])
+ // => F T T (la présence de champs anonymes peut être détectée)
+
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="definedfields">definedfields</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>Historique</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5</revnumber>
+ <revremark>
+ Extension aux mlist et tlist
+ </revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/isstruct.xml b/modules/data_structures/help/fr_FR/isstruct.xml
new file mode 100755
index 000000000..c4e86a603
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/isstruct.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isstruct" xml:lang="fr">
+ <refnamediv>
+ <refname>isstruct</refname>
+ <refpurpose>Vérifie si une variable est une structure</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>bool = isstruct(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Variable Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>Un booléen</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>isstruct(x)</literal> retourne vrai si x est une structure
+ et faux sinon.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+isstruct(1)
+
+isstruct(cell())
+
+isstruct(struct("name","Scilab", "version", getversion()))
+
+info.name="Scilab";
+info.function="isstruct";
+info.module="help";
+isstruct(info)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/list.xml b/modules/data_structures/help/fr_FR/list.xml
new file mode 100755
index 000000000..23ca2c3d5
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/list.xml
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="list">
+ <refnamediv>
+ <refname>list</refname>
+ <refpurpose>Objet Scilab, Définition d'une liste </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>list(a1,....an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Crée une <literal>liste</literal> avec les éléments <literal>ai</literal>
+ qui sont des objets Scilab arbitraires (<literal>matrice,
+ liste, ...
+ </literal>
+ ). Le numéro de type des objets <emphasis>liste</emphasis>
+ (renvoyé par la fonction <literal>type</literal>) est 15.
+ </para>
+ <para>
+ <literal>list()</literal> crée une liste vide (0 élément).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Operations sur les listes</title>
+ <variablelist>
+ <varlistentry>
+ <term>extraction</term>
+ <listitem>
+ <para>
+ <literal>[x,y,z...]=L(v)</literal> où <literal>v</literal> est un vecteur d'indices;
+ <literal>[x,y,z]=L(:)</literal> extrait tous les éléments.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>insertion en position i</term>
+ <listitem>
+ <para>
+ <literal>L(i)=a</literal> . Remarque : l'opération <literal>L(i)=a</literal>
+ avec <emphasis>i &gt; 1 + size(L)</emphasis> ne génère pas d'erreur les
+ entrées en position <emphasis>1 + size(L), ..., i-1</emphasis> étant
+ alors <emphasis>indéfinies</emphasis>. Par contre l'extraction d'un élément
+ <emphasis>indéfini</emphasis> en génère une.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ajouter un élément en queue de liste</term>
+ <listitem>
+ <para>
+ <literal>L($+1)=e</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ajouter un élément en tête de liste</term>
+ <listitem>
+ <para>
+ <literal>L(0)=e</literal>. (remarque : après cette opération <literal>e</literal> est
+ en position 1, la position des éléments initiaux de la liste étant
+ décalée vers la droite).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>suppression</term>
+ <listitem>
+ <para>
+ <literal>L(i)=null()</literal> supprime l'élément en position i de la liste <literal>L</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>concaténation de deux listes</term>
+ <listitem>
+ <para>
+ <literal>L3 = lstcat(L1,L2)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>nombre d'éléments d'une liste</term>
+ <listitem>
+ <para>
+ vous pouvez utiliser <literal>nb_elm = size(L)</literal>
+ ou encore <literal>nb_elm = length(L)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>itérer avec une liste</term>
+ <listitem>
+ <para>
+ il est possible d'utiliser une liste <literal>L</literal> pour piloter une boucle <link linkend="for">for</link> :
+ <literal>for e=L,...,end</literal> est une boucle avec <literal>length(L)</literal>
+ itérations, la variable <literal>e</literal> de la boucle prenant la valeur <literal>L(i)</literal>
+ à l'itération i.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Remarques</title>
+ <para>
+ Scilab propose deux autres sortes de liste, les <link linkend="tlist">tlist</link> (pour listes typées)
+ et les <link linkend="mlist">mlist</link> qui sont très utiles pour définir de nouveaux types de
+ données avec possibilité de surcharge des opérateurs classiques (voir <link linkend="overloading">overloading</link>).
+ Les tableaux multidimensionnels de scilab (les <link linkend="hypermatrices">hypermatrices</link>) sont en fait
+ codés comme des <emphasis>mlist</emphasis>.
+ </para>
+ <para>
+ Les structures Matlab (<emphasis>struct</emphasis>) sont aussi utilisables.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+l = list(1,["a" "b"])
+l(0) = "foo"
+l($+1) = "hello"
+l(2) = "toto"
+l(3) = rand(1,2)
+l(3) = null()
+lbis = list("gewurtz", "caipirina" ,"debug")
+lter = lstcat(l,lbis)
+size(lter) - size(lbis) - size(l) // doit être nul
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="lstcat">lstcat</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ <member>
+ <link linkend="size">size</link>
+ </member>
+ <member>
+ <link linkend="length">length</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/lstcat.xml b/modules/data_structures/help/fr_FR/lstcat.xml
new file mode 100755
index 000000000..f341c1725
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/lstcat.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="lstcat">
+ <refnamediv>
+ <refname>lstcat</refname>
+ <refpurpose>concaténation de listes </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>lc=lstcat(l1,..ln)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>li </term>
+ <listitem>
+ <para>une liste ou une variable de type indifférent
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lc </term>
+ <listitem>
+ <para>une liste
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>lc=lstcat(l1,..ln)</literal> concatène les composantes des listes <literal>li</literal> sous forme d'une liste unique. Si les <literal>li</literal> sont des variables d'un autre type elles sont tout simplement ajoutées comme termes supplémentaires dans la liste.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+lstcat(list(1,2,3),33,list('foo',%s))
+lstcat(1,2,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/matrices.xml b/modules/data_structures/help/fr_FR/matrices.xml
new file mode 100755
index 000000000..6d689a3e2
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/matrices.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="matrices">
+ <refnamediv>
+ <refname>matrices</refname>
+ <refpurpose>Objet Scilab, matrices </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Les matrices sont les objets de base dans Scilab. Elles peuvent être définies de la façon suivante :
+ </para>
+ <programlisting role=""><![CDATA[
+E=[e11,e12,...,e1n;
+ e21,e22,...,e2n;
+ ....
+ em1,em2,...,emn];
+ ]]></programlisting>
+ <para>
+ Les termes <literal>eij</literal> peuvent être des nombres complexes ou réels, des polynômes,
+ des fraction rationnelles, des chaînes de caractères ou des booléens.
+ </para>
+ <para>
+ Les vecteurs sont vus comme des matrices à une ligne ou une colonne.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+E=[1,2;3,4]
+E=[%T,%F;1==1,1~=1]
+s=poly(0,'s');
+E=[s,s^2;1,1+s]
+E=[1/s,0;s,1/(s+1)]
+E=['A11','A12';'A21','A22']
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="boolean">boolean</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ <member>
+ <link linkend="empty">empty</link>
+ </member>
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/mlist.xml b/modules/data_structures/help/fr_FR/mlist.xml
new file mode 100755
index 000000000..2bcd4817c
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/mlist.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="mlist">
+ <refnamediv>
+ <refname>mlist</refname>
+ <refpurpose>Objet Scilab, définition d'une liste
+ typée
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>mlist(typ,a1,....an )</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>vecteur de chaînes de caractères</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ objet Scilab (<literal>matrice, liste, chaîne...</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Les objets de type <literal>mlist</literal> sont très similaires aux objets
+ de type <literal>tlist</literal>. Si <literal>M</literal> est de type mlist, pour tout
+ indice <literal>i</literal> qui n'est pas le nom d'un champ de la liste,
+ <literal>M(i)</literal> n'est pas le <literal>i</literal>-ème champ de la liste mais
+ est interprété comme le <literal>i</literal>-ème terme de <literal>M</literal> vu
+ comme un vecteur. C'est la seule différence entre <literal>mlist</literal> et
+ <literal>tlist</literal>.
+ </para>
+ <para/>
+ <para>Les champs des mlist doivent donc être manipulés par leur noms. Il
+ peuvent aussi être manipulés avec les fonctions <literal>getfield</literal> et
+ <literal>setfield</literal>.
+ </para>
+ <para/>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+M=mlist(['V','name','value'],['a','b','c'],[1 2 3]);
+
+// définition de la fonction d'affichage
+deff('%V_p(M)','disp(M.name+'':''+string(M.value))')
+
+// définition de la fonction d'extraction
+deff('r=%V_e(i,M)',..
+'r=mlist([''V'',''name'',''value''],M.name(i),M.value(i))')
+M(2) // Le deuxième terme du vecteur M
+M.value
+
+// définition de M comme une tlist
+M=tlist(['V','name','value'],['a','b','c'],[1 2 3]);
+M(2)
+
+M('name')
+
+// avec deux indices
+M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2;3 4]);
+deff('r=%V_e(varargin)',[
+ 'M=varargin($)';
+ 'H=[''V'',''name'',''value'']'
+ 'r=mlist(H,M.name(varargin(1:$-1)),M.value(varargin(1:$-1)))'])
+
+M(:,2)
+
+// tableau multidimensionnel
+str=['a','b','c','d','e','f','g','h'];
+n=hypermat([2,2,2],str);
+v=hypermat([2,2,2],1:8);
+M=mlist(['V','name','value'],n,v);
+M(1,1:2,2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/null.xml b/modules/data_structures/help/fr_FR/null.xml
new file mode 100755
index 000000000..8e32cf321
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/null.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="null">
+ <refnamediv>
+ <refname>null</refname>
+ <refpurpose>suppression d'un terme d'une liste </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>l(i)=null()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Suppression d'un terme d'une liste
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,"foo",3);
+l(2)=null() // get list(1,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="clear">clear</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/rlist.xml b/modules/data_structures/help/fr_FR/rlist.xml
new file mode 100755
index 000000000..6d57967d0
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/rlist.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="rlist">
+ <refnamediv>
+ <refname>rlist</refname>
+ <refpurpose>définition d'une fraction rationnelle </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[r] = rlist()
+ [r] = rlist(N, D [,dom])
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Arguments</title>
+ <variablelist>
+ <varlistentry>
+ <term>N,D</term>
+ <listitem>
+ <para>martices polynomiales.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>dom</term>
+ <listitem>
+ <para>
+ chaîne de caractères ou <literal>[]</literal>, ou un scalaire.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>r</term>
+ <listitem>
+ <para>
+ tlist (liste de type "r") représentant la fraction rationnelle.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>[r] = rlist(N, D, dom)</literal> est équivalent à
+ <literal>tlist(['r','num','den','dt'], N, D, dom)</literal>
+ </para>
+ <para>
+ Pour correspondre au domaine temporel d'un système linéaire, <varname>dom</varname> doit être égale à
+ <literal>'c'</literal>,<literal>'d'</literal>, <literal>[]</literal> ou à un scalaire.
+ D'une part, par analogie à des fonctions comme <link linkend="syslin">syslin</link>,
+ et d'autre part, pour être compatible avec des fonctions comme <link linkend="tf2ss">tf2ss</link>,
+ il est nécessaire que <varname>dom</varname> soit égale à ces valeurs.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];
+Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+
+H1=(1+2*s)/s^2;
+S1bis=syslin('c',H1)
+r=rlist(H1.num, H1.den, 'c')
+r == S1bis
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ <member>
+ <link linkend="tf2ss">tf2ss</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/setfield.xml b/modules/data_structures/help/fr_FR/setfield.xml
new file mode 100755
index 000000000..c31cb6d61
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/setfield.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="setfield">
+ <refnamediv>
+ <refname>setfield</refname>
+ <refpurpose>insertion dans un champ d'une liste </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>setfield(i,x,l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>x </term>
+ <listitem>
+ <para>matrice de tout type
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l </term>
+ <listitem>
+ <para>variable de type list, tlist ou mlist
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i </term>
+ <listitem>
+ <para>
+ indice de champ, voir <literal>insertion</literal> pour plus de détails.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Cette fonction est équivalente à la syntaxe <literal>l(i)=x</literal> pour l'extraction avec la seule différence qu'elle s'applique aussi aux objets de type <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+l(1)='change'
+l(0)='ajoute'
+l(6)=['un de plus';'ajoute']
+
+a=hypermat([2,2,2],rand(1:2^3));// les hypermatrices sont des mlist
+setfield(3,1:8,a);a // affectation du champ
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/struct.xml b/modules/data_structures/help/fr_FR/struct.xml
new file mode 100755
index 000000000..fedbf1653
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/struct.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="struct">
+ <refnamediv>
+ <refname>struct</refname>
+ <refpurpose>creer une struct</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>st=struct(field1,value1,field2,value2, ...)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>field1, field2, ...</term>
+ <listitem>
+ <para>noms des champs (chaines de caracteres)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>value1, value2, ...</term>
+ <listitem>
+ <para>les valeurs des champs (acceptent tous types de données
+ (double, matrice de doubles,des cells, char, ...)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ La fonction <function>struct</function> retourne une struct avec des noms de
+ champs <varname>field1</varname>, <varname>field2</varname>, .., et dont les valeurs
+ respectives sont <varname>value1</varname>, <varname>value2</varname>,
+ ...
+ </para>
+ <para>
+ Notez que <literal>type(st)</literal> retourne <literal>17</literal> et que <literal>typeof(st)</literal> retourne <literal>st</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+//creer une struct: date les champs sont: 'jour' (valeur: 25), 'mois' (valeur: 'DEC'), 'annee' (valeur: 2006)
+date_st=struct('jour',25,'mois','DEC','annee',2006)
+
+// changer la valeur des champs
+date_st.jour=19;
+date_st.mois='AOU';
+date_st.annee=1973;
+
+// ajouter un champ 'semaine'
+date_st.semaine=32
+
+//creation d'une structure test
+test=struct('list1',list('testlist',1,2), 'matrix1', [1 2 3; 4 5 6], 'boolean1', %t);
+//ajout d'un polynôme
+s=poly(0,'s')
+test.pol1=s;
+//ajout d'un système linéaire (représentation d'état)
+A=[0,1;0,0]; B=[1;1];C=[1,1];
+test.ss1=syslin('c',A,B,C);
+//Affichage de la liste
+test.list1
+getfield(3,test)
+//Affichage du type
+type(test)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/tlist.xml b/modules/data_structures/help/fr_FR/tlist.xml
new file mode 100755
index 000000000..ca96eafde
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/tlist.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="tlist">
+ <refnamediv>
+ <refname>tlist</refname>
+ <refpurpose>Objet Scilab. Définition d'une liste typée </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>tlist(typ,a1,....an )</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ </term>
+ <listitem>
+ <para>chaîne de caractères ou matrice de chaînes de caractères
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai </term>
+ <listitem>
+ <para>
+ objet Scilab (<literal>matrice, liste, chaîne...</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ Crée une <literal>liste typée</literal> avec les éléments <literal>ai</literal>. L'argument <literal>typ</literal>
+ spécifie le nom du type. L'utilisateur peut redéfinir
+ les opérateurs et primitives de Scilab pour ces nouveaux objets à l'aide de fonctions Scilab (voir <literal>overloading</literal>). La seule différence entre les listes typées et les listes (voir <literal>list</literal>)
+ est la valeur numérique du type (16 au lieu de 15).
+ </para>
+ <para>
+ <literal>typ(1)</literal> spécifie le nom du type (cette chaîne de caractères est utilisée dans les noms des fonctions surchargeant les opérateurs et primitives).
+ </para>
+ <para>
+ S'il est spécifié, <literal>typ(i)</literal> donne le nom formel de l'élément <literal>i+1</literal> (voir plus bas dans les exemples).
+ </para>
+ <para>
+ Les opérations standard sur les listes fonctionnent similairement pour les listes typées (tlist).
+ </para>
+ <para>
+ extraction
+ : <literal>[x,y,z...]=l(v)</literal> ou <literal>v</literal> est un vecteur d'indices;
+ <literal>[x,y,z]=l(:)</literal> extrait tous les éléments.
+ </para>
+ <para>
+ insertion
+ : <literal>l(i)=a</literal>
+ </para>
+ <para>
+ suppression : <literal>l(i)=null()</literal> supprime le i-ème
+ élément de la <literal>tlist l</literal>. A noter que la
+ sémantique de <literal>l.x=null()</literal> n'est pas définie,
+ mais qu'il est possible de lui donner un sens par surcharge (voir
+ <link linkend="overloading">overloading</link>).
+ </para>
+ <para>
+ affichage
+ </para>
+ <para>
+ De plus si les composantes <literal>typ(2:n+1)</literal> sont
+ spécifiées, les éléments peuvent être désignés par leur noms
+ formels.
+ </para>
+ <para>
+ Voici quelques exemples d'utilisation des liste typées :
+ </para>
+ <para>
+ Dans Scilab, les systèmes dynamiques linéaires sont définis par une liste typée :
+ le quadruplet <literal>[A,B,C,D]</literal> est représenté par la tlist
+ <literal>Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')</literal>
+ et cette tlist spécifique est créée par la fonction <literal>syslin</literal>.
+ </para>
+ <para>
+ Sys(2), Sys('A') ou Sys.A est la matrice d'état et Sys('dt') ou Sys.dt est le domaine temporel.
+ </para>
+ <para>
+ Une matrice rationnelle <literal>H</literal> est représentée par la tlist
+ <literal>H=rlist(Num,Den,[])</literal> où <literal>Num</literal> et <literal>Den</literal> sont deux
+ matrices polynomiales et un système dynamique linéaire (en temps continu) peut être créé sous la forme d'une
+ matrice de transfert <literal>H</literal> par <literal>syslin('c',H)</literal>.
+ </para>
+ <para>
+ H(2), H('num') ou H.num est le numérateur de la matrice de transfert
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+// tlist creation
+t = tlist(["listtype","field1","field2"], [], []);
+t.field1(1) = 10;
+t.field1(2) = 20;
+t.field2(1) = "Scilab";
+t.field2(2) = "tlist";
+t.field2(3) = "example";
+
+// Fields contents display
+disp(t.field1)
+disp(t.field2)
+
+// Generic tlist display
+disp(t)
+
+// Overloading display for this type of tlist
+function %listtype_p(mytlist)
+ f = fieldnames(mytlist);
+
+ // typeof(mytlist) <=> f(1)
+ mprintf("Displaying a tlist of type: %s\n", typeof(mytlist));
+
+ mprintf("\n");
+
+ mprintf("-- Field ''%s'' --\n", f(1));
+ mprintf("Contents: %s\n", sci2exp(mytlist(f(1))));
+
+ mprintf("\n");
+
+ mprintf("-- Field ''%s'' --\n", f(2));
+ mprintf("Contents: %s\n", sci2exp(mytlist(f(2))));
+endfunction
+
+// Display using overloading function
+disp(t)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="percent">percent</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/type.xml b/modules/data_structures/help/fr_FR/type.xml
new file mode 100755
index 000000000..25b50b5df
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/type.xml
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="type">
+ <refnamediv>
+ <refname>type</refname>
+ <refpurpose>Retourne le type d'une variable </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis> i =type(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>x </term>
+ <listitem>
+ <para>
+ objet Scilab
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i </term>
+ <listitem>
+ <para>entier
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>type(x)</literal> renvoie un entier donnant le code
+ numérique du type de <literal>x</literal> définit comme suit
+ :
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>matrice réelle ou complexe..</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ <link linkend="poly">matrice polynomiale</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>
+ <link linkend="matrices">matrice booléenne</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>5</term>
+ <listitem>
+ <para>
+ <link linkend="sparse">matrice creuse</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>6</term>
+ <listitem>
+ <para>
+ <link linkend="sparse">matrice creuse booléenne</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>matrice creuse au format Matlab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>8</term>
+ <listitem>
+ <para>
+ matrice d'<link linkend="int8">entiers</link> codés
+ sur 1 (int8), 2 (int16) ou 4 (int32) octets.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>9</term>
+ <listitem>
+ <para>
+ matrice de "<link linkend="graphics_entities">handle</link>" sur les objets
+ graphiques.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>10</term>
+ <listitem>
+ <para>
+ matrice de <link linkend="strings">chaînes de caractères</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>11</term>
+ <listitem>
+ <para>fonction non-compilée (code Scilab). Fonction créée
+ par <link linkend="deff">deff</link> avec l'argument
+ 'n'.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>13</term>
+ <listitem>
+ <para>
+ <link linkend="function">fonction</link> compilée (code Scilab).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>14</term>
+ <listitem>
+ <para>bibliothèque de fonctions.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>15</term>
+ <listitem>
+ <para>
+ <link linkend="list">liste</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>16</term>
+ <listitem>
+ <para>
+ Liste typée (<link linkend="tlist">tlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>17</term>
+ <listitem>
+ <para>
+ liste typée orientée matrice (<link linkend="mlist">mlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>128</term>
+ <listitem>
+ <para>
+ pointeur (Use case: <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>129</term>
+ <listitem>
+ <para>polynôme implicite utilisé pour indexer.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>130</term>
+ <listitem>
+ <para>
+ Fonction interne Scilab, aussi appellé <emphasis role="italic">primitive</emphasis> (Code C, C++ ou
+ Fortran).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>
+ <emphasis role="italic"> variable
+ nulle
+ </emphasis>
+ .Ce type est principalement utilisé en
+ interne par Scilab. Si une fonction n'a pas pas d'argument
+ de retour déclaré comme <literal>disp</literal>, quand
+ elle est appelée elle retourne une <emphasis role="italic"> variable nulle</emphasis>. Si une fonction
+ est appellée avec un argument de la liste des arguments
+ d'entrée omis comme <literal>foo(a,,b)</literal>
+ l'argument manquant est assigné à la <emphasis role="italic"> variable nulle</emphasis>.
+ </para>
+ <para>
+ Note: Si une <emphasis role="italic"> variable
+ nulle
+ </emphasis>
+ est affectée à un nom, ce nom est
+ supprimé de la liste des variables définies.
+ <literal>x=disp(1)</literal> détruit
+ <literal>x</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>Note: pour certaines variables, à cause de la représentation
+ interne, <emphasis role="italic">type(x)</emphasis> retournera
+ tlist (16) ou mlist (17). C'est le cas de <emphasis role="italic">rational</emphasis>, <emphasis role="italic">state-space</emphasis>,
+<emphasis role="italic">uitree</emphasis>, <emphasis role="italic">hypermat</emphasis> et <emphasis role="italic">struct</emphasis>. Merci de considérer l'utilisation
+ de <link linkend="typeof">typeof</link> à la place.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+a=42;
+type(a)
+
+b=%t;
+type(b)
+
+c="foo"
+type(c)
+
+d=sparse([1,2;4,5;3,10],[1,2,3]);
+type(d)
+
+e = tlist(["listtype","field1","field2"], [], []);
+type(e)
+
+f=poly(0,"s");
+type(f)
+
+g=int8([1 -120 127 312]);
+type(g)
+
+h=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+type(h)
+
+l = list(1,["a" "b"]);
+type(l)
+
+deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y']);
+type(mymacro)
+
+deff('[x]=myplus(y,z)','x=y+z','n');
+type(myplus)
+
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="inttype">inttype</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/fr_FR/typename.xml b/modules/data_structures/help/fr_FR/typename.xml
new file mode 100755
index 000000000..c5010d459
--- /dev/null
+++ b/modules/data_structures/help/fr_FR/typename.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="typename">
+ <refnamediv>
+ <refname>typename</refname>
+ <refpurpose>associe un nom à un type de variable </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Séquence d'appel</title>
+ <synopsis>[types [ [,names]]=typename()
+ typename(name,type)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Paramètres</title>
+ <variablelist>
+ <varlistentry>
+ <term>types </term>
+ <listitem>
+ <para>vecteur colonne d'entiers, les codes des types de variables
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>names </term>
+ <listitem>
+ <para>vecteur colonne de chaînes de caractères, les noms associés à chaque code
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>type </term>
+ <listitem>
+ <para>entier, le code d'un nouveau type de variable
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name </term>
+ <listitem>
+ <para>chaîne de caractères, le nom associé au nouveau type
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ La surcharge des opérateurs et primitives utilise des noms formels associés à
+ chaque type de variable pour former les noms des fonctions de surcharge
+ (voir <literal>overloading</literal>). <literal>typename</literal> peut être utilisé pour gérer ces noms pour les types natifs de variables (les noms formels pour les types <literal>tlist</literal> ou <literal>mlist</literal> sont définis autrement, pour ceci voir <literal>overloading</literal>).
+ </para>
+ <para>
+ Sans argument d'entrée, <literal>typename</literal> renvoie les informations associées aux types de données déjà définis.
+ </para>
+ <para>
+ Avec les arguments d'entrée, <literal>typename</literal> associe un nom à un code de type de variable.
+ </para>
+ <para>
+ <literal>typename('',type)</literal> supprime le type de donnée défini par le code passé dans <literal>type</literal> dans la table des types de variables connus.
+ </para>
+ <para>Nombre max de types defini est 50.</para>
+ </refsection>
+ <refsection>
+ <title>Exemples</title>
+ <programlisting role="example"><![CDATA[
+[typs,nams]=typename();
+disp("First type (double) : " + string(typs(1)) + " / " + nams(1));
+typename("mytype",1024);
+[typs,nams]=typename();
+disp(typs($))
+disp(nams($)) // retourne mytype
+]]></programlisting>
+ </refsection>
+
+ <refsection role="see also">
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/addchapter.sce b/modules/data_structures/help/ja_JP/addchapter.sce
new file mode 100755
index 000000000..6a729d528
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Data Structures",SCI+"/modules/data_structures/help/ja_JP",%T);
+
diff --git a/modules/data_structures/help/ja_JP/boolean.xml b/modules/data_structures/help/ja_JP/boolean.xml
new file mode 100755
index 000000000..03d6adda0
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/boolean.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="boolean">
+ <refnamediv>
+ <refname>boolean</refname>
+ <refpurpose>Scilab オブジェクト, è«–ç†å€¤(boolean)変数ãŠã‚ˆã³æ¼”ç®—å­ &amp; | ~ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ è«–ç†å€¤(boolean)変数ã®å€¤ã¯ <literal>%T</literal> (æ„味: "true") ã¾ãŸã¯
+ <literal>%F</literal> (æ„味: "false") ã§ã™.
+   ã“れらã®å¤‰æ•°ã¯,è«–ç†å€¤ã®è¡Œåˆ—を定義ã™ã‚‹éš›ã«é€šå¸¸ã®æ§‹æ–‡ã¨ã—ã¦ä½¿ç”¨å¯èƒ½ã§ã™.
+ è«–ç†å€¤è¡Œåˆ—ã¯è¦ç´ ã®å±•é–‹/挿入/çµåˆãªã©é€šå¸¸ã®è¡Œåˆ—ã¨åŒæ§˜ã«æ“作ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™.
+ ä»–ã®ä¸€èˆ¬çš„ãªå‡¦ç†(<literal>+, *, -, ^,</literal>ãªã©)ã¯
+ è«–ç†å€¤è¡Œåˆ—ã§ã¯å®šç¾©ã•ã‚Œãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„.
+ 以下ã®3種類ã®ç‰¹åˆ¥ãªæ¼”ç®—å­ãŒè«–ç†å€¤è¡Œåˆ—ã«é–¢ã—ã¦å®šç¾©ã•ã‚Œã¦ã„ã¾ã™:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>~b</term>
+ <listitem>
+ <para>
+ ã¯è«–ç†å€¤<literal>b</literal>(行列)ã®è¦ç´ æ¯Žã®å¦å®šã§ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1&amp;b2</term>
+ <listitem>
+ <para>
+ ã¯<literal>b1</literal> ãŠã‚ˆã³ <literal>b2</literal> (行列)ã®
+ è¦ç´ æ¯Žã®è«–ç†ç©(<literal>and</literal>) ã§ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1|b2</term>
+ <listitem>
+ <para>
+ ã¯<literal>b1</literal> ãŠã‚ˆã³ <literal>b2</literal> (行列)ã®
+ è¦ç´ æ¯Žã®è«–ç†å’Œ(<literal>or</literal>) ã§ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>è«–ç†å€¤å¤‰æ•°ã¯è¡Œåˆ—ã¾ãŸã¯ãƒ™ã‚¯ãƒˆãƒ«ã®æ·»ãˆå­—ã¨ã—ã¦ä½¿ç”¨ã§ãã¾ã™.</term>
+ <listitem>
+ <para>
+ 例ãˆã°, <literal>a([%T,%F,%T],:)</literal>ã¯,
+ <literal>a</literal>ã® <literal>1</literal> 行目ã¨<literal>3</literal>行目
+ ã‹ã‚‰ãªã‚‹éƒ¨åˆ†è¡Œåˆ—ã‚’è¿”ã—ã¾ã™.
+ è«–ç†å€¤ã®ç–Žè¡Œåˆ—もサãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+[1,2]==[1,3]
+[1,2]==1
+a=1:5; a(a>2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="or">or</link>
+ </member>
+ <member>
+ <link linkend="and">and</link>
+ </member>
+ <member>
+ <link linkend="not">not</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/cell.xml b/modules/data_structures/help/ja_JP/cell.xml
new file mode 100755
index 000000000..b5926fd97
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/cell.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="cell" xml:lang="ja">
+ <refnamediv>
+ <refname>cell</refname>
+ <refpurpose>空行列ã®ã‚»ãƒ«é…列を作æˆã™ã‚‹.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>
+ c=cell()
+ c=cell(m1)
+ c=cell(m1, m2)
+ c=cell(m1, m2, ..., mn)
+ c=cell(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>作æˆã™ã‚‹ã‚»ãƒ«é…列ã®æ¬¡å…ƒã®ãƒ™ã‚¯ãƒˆãƒ«.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>m1, m2,..</term>
+ <listitem>
+ <para>作æˆã™ã‚‹ã‚»ãƒ«ã®æ¬¡å…ƒ.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>空行列ã®ã‚»ãƒ«ã‚’生æˆ,è¿”ã—ã¾ã™.</para>
+ <variablelist>
+ <varlistentry>
+ <term>cell()</term>
+ <listitem>
+ <para>
+ 空行列㮠<literal>(0,0)</literal> セルé…列を返ã—ã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1)</term>
+ <listitem>
+ <para>
+ <literal>(m1,m1)</literal> ã¯ç©ºè¡Œåˆ—ã®ã‚»ãƒ«é…列を返ã—ã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1,m2)</term>
+ <listitem>
+ <para>
+ <literal>(m1,m2) </literal>ã¯ç©ºè¡Œåˆ—ã®ã‚»ãƒ«é…列を返ã—ã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1,m2,..,mn)</term>
+ <listitem>
+ <para>
+ <literal>(m1,m2,..,mn)</literal> ã¯ç©ºè¡Œåˆ—ã®ã‚»ãƒ«é…列を作æˆã—ã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(x)</term>
+ <listitem>
+ <para>
+ 最åˆã®æ¬¡å…ƒãŒ<literal>x(1)</literal>,
+ 2番目ã®æ¬¡å…ƒãŒ<literal>x(2), ...</literal>ã¨ãªã‚‹
+ 空行列ã®ã‚»ãƒ«é…列を返ã—ã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>注æ„</title>
+ <para>
+ <literal>cell(x) </literal>ã¯
+ <literal>x</literal>ã¨åŒã˜å¤§ãã•ã«ãªã‚Šã¾ã›ã‚“.
+ </para>
+ <para>
+ <literal>cell()</literal> ã¯
+ <literal>cell(0)</literal>ã«ç­‰ã—ããªã‚Šã§ã™.
+ </para>
+ <para>A ãŒã‚»ãƒ«é…列ã®å ´åˆ,
+ <literal>A(m1, m2, ..., mn).entries</literal>ã«ã‚ˆã‚Š
+ Aã®è¦ç´ ã®å†…容ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™.
+ å¼ <literal>A(1,1) = zeros(2,2)</literal> ã¯æœ‰åŠ¹ã§ã¯ãªã,
+ <literal>A(1,1).entries = zeros(2,2)</literal>ãŒæ­£ã—ã„構文ã¨ãªã‚Šã¾ã™.
+ </para>
+ <para>A ãŒã‚»ãƒ«é…列ã®å ´åˆ,
+ <literal>A.dims</literal>ã«ã‚ˆã‚Šãã®æ¬¡å…ƒã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+a=cell(3)
+b=cell(3,1)
+c=cell([2,3,4])
+// Assigning cell entries
+b=cell(3,1);
+// Assigning the first element of b using the 'entries' field
+b(1).entries=1:3
+// Assigning the second element of b using the 'entries' field
+b(2).entries='Scilab'
+// Assigning the third element of b using the 'entries' field
+b(3).entries=poly(1:3,'s')
+// Assigning sub-cells
+X=cell(3,2);
+X(:,1)=b
+// Extracting a sub-cell: result is a cell
+b(1)
+b(1:2)
+// Extracting a sub-cell value: result is an array
+b(1).entries
+// Dimensions of b
+b.dims
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="eye">eye</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/definedfields.xml b/modules/data_structures/help/ja_JP/definedfields.xml
new file mode 100755
index 000000000..5a236258d
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/definedfields.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="definedfields">
+ <refnamediv>
+ <refname>definedfields</refname>
+ <refpurpose>フィールド値ãŒå®šç¾©æ¸ˆã¿ã®ãƒªã‚¹ãƒˆã®æ·»ãˆå­—ã‚’è¿”ã™</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>k=definedfields(l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>リスト , tlist ã¾ãŸã¯mlist 変数.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>æ·»ãˆå­—ã®ãƒ™ã‚¯ãƒˆãƒ«.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>l</literal> ㌠<literal>list</literal> <literal>tlist</literal>
+ <literal>mlist</literal> ã®å ´åˆ, <literal>k=definedfields(l)</literal> ã¯
+ リストã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ãŒå®šç¾©æ¸ˆã¿ã®æ·»ãˆå­—<literal>k</literal>ã‚’è¿”ã—ã¾ã™.
+ ã“ã®é–¢æ•°ã¯æœªå®šç¾©ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã¨ãªã‚‹ãŸã‚,
+ 有用ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+l=list(1);l(3)=5
+k=definedfields(l)
+t=tlist('x');t(5)=4
+definedfields(t)
+m=mlist(['m','a','b']);m.b='sdfgfgd'
+definedfields(m)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/fieldnames.xml b/modules/data_structures/help/ja_JP/fieldnames.xml
new file mode 100755
index 000000000..53b26cf25
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/fieldnames.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="fieldnames">
+ <refnamediv>
+ <refname>fieldnames</refname>
+ <refpurpose>tlist, mlist ã¾ãŸã¯ 構造体ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰åã‚’å–å¾—ã—ã¾ã™</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>f=fieldnames(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>tlistã¾ãŸã¯ mlist ã¾ãŸã¯æ§‹é€ ä½“. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>文字列ã®åˆ—ベクトル</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ ã“ã®é–¢æ•°ã¯ tlist, mlist, cell ã¾ãŸã¯æ§‹é€ ä½“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰åã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+clear t;
+t.a=1;
+t.b=2;
+fieldnames(t)
+fieldnames(1/%s)
+fieldnames(tf2ss(1/%s))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">struct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/getfield.xml b/modules/data_structures/help/ja_JP/getfield.xml
new file mode 100755
index 000000000..ab676547e
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/getfield.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="getfield">
+ <refnamediv>
+ <refname>getfield</refname>
+ <refpurpose>リストã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å±•é–‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[x,...]=getfield(i,l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>ä»»æ„ã®åž‹ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>list, tlist ã¾ãŸã¯ mlist変数</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>フィールド添ãˆå­—, 詳細㯠extraction å‚ç…§.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ ã“ã®é–¢æ•°ã¯, フィールド展開用㮠<literal>[x,...]=l(i)</literal> 構文ã¨ç­‰ä¾¡ã§ã™ãŒ,
+ 唯一ã®é•ã„ã¯, <literal>mlist</literal> オブジェクトã«ã‚‚é©ç”¨ã§ãã‚‹
+ ã“ã¨ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+[a,b]=getfield([3 2],l)
+a=hypermat([2,2,2],rand(1:2^3));// hypermatrices are coded using mlists
+a(1) // the a(1,1,1) entry
+getfield(1,a) // the mlist first field
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/hypermat.xml b/modules/data_structures/help/ja_JP/hypermat.xml
new file mode 100755
index 000000000..869627e22
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/hypermat.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="hypermat">
+ <refnamediv>
+ <refname>hypermat</refname>
+ <refpurpose>N 次元行列をåˆæœŸåŒ–ã™ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>M=hypermat(dims [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims</term>
+ <listitem>
+ <para>ãƒã‚¤ãƒ‘ー行列ã®æ¬¡å…ƒã®ãƒ™ã‚¯ãƒˆãƒ«</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>
+ ãƒã‚¤ãƒ‘ー行列ã®ã‚¨ãƒ³ãƒˆãƒªã®ãƒ™ã‚¯ãƒˆãƒ« (デフォルト値: <literal>zeros(prod(dims),1)</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 次元をベクトル dims ,è¦ç´ ã‚’オプション引数<literal>v</literal>
+ ã§æŒ‡å®šã—ã¦ãƒã‚¤ãƒ‘ー行列をåˆæœŸåŒ–ã—ã¾ã™.
+ </para>
+ <para>
+ データ構造体 M ã«ã¯,行列次元ã®ãƒ™ã‚¯ãƒˆãƒ«<literal>M('dims')</literal>ãŠã‚ˆã³
+ エントリã®ãƒ™ã‚¯ãƒˆãƒ«<literal>M('entries')</literal>
+ ãŒå«ã¾ã‚Œã¦ã„ã¾ã™.
+ ã“ã®ã‚¨ãƒ³ãƒˆãƒªã®ãƒ™ã‚¯ãƒˆãƒ«ã§ã¯,
+ <literal>[M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]</literal> ã®ã‚ˆã†ã«æœ€ã‚‚å·¦ã®ã‚µãƒ–スクリプトãŒã¾ãšå¤‰åŒ–ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+M=hypermat([2 3 2 2],1:24)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/hypermatrices.xml b/modules/data_structures/help/ja_JP/hypermatrices.xml
new file mode 100755
index 000000000..2432c114e
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/hypermatrices.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="hypermatrices">
+ <refnamediv>
+ <refname>hypermatrices</refname>
+ <refpurpose>Scilab オブジェクト, Scilab㮠N 次元行列</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ ãƒã‚¤ãƒ‘ー行列型ã«ã‚ˆã‚Šå¤šæ¬¡å…ƒé…列ã®æ“作ãŒå¯èƒ½ã§ã™.
+ </para>
+ <para>
+ ãƒã‚¤ãƒ‘ー行列型ã¯,2次元行列を以下ã®ã‚ˆã†ã«æ‹¡å¼µã™ã‚‹ã“ã¨ã«ã‚ˆã‚Š,
+ a=[1 2;3 4];a(:,:,2)=rand(2,2)
+ </para>
+ <para>
+ ã¾ãŸã¯ç›´æŽ¥ <literal>hypermat</literal> 関数ã«ã‚ˆã‚Šå®šç¾©ã§ãã¾ã™.
+ </para>
+ <para>
+ エントリã¯,実数ã¾ãŸã¯è¤‡ç´ æ•°, 多項å¼, 有ç†æ•°, 文字列, è«–ç†å€¤ã¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™.
+ </para>
+ <para>
+ ãƒã‚¤ãƒ‘ー行列ã¯,以下㮠<literal>mlists</literal>åž‹ã¨ãªã‚Šã¾ã™:
+ <literal>mlist(['hm','dims','entries'],sz,v)</literal> ,ãŸã ã—,
+ <literal>sz</literal> ã¯æ¬¡å…ƒã‚’å«ã‚€è¡Œãƒ™ã‚¯ãƒˆãƒ«,
+ <literal>v</literal> ã¯ã‚¨ãƒ³ãƒˆãƒªã‚’å«ã‚€åˆ—ベクトル (最åˆã®æ¬¡å…ƒãŒæœ€åˆã«ä¿å­˜ã•ã‚Œã¾ã™)
+ </para>
+ <para>注æ„: ãƒã‚¤ãƒ‘ー行列ã®æœ€ã‚‚å³ã®æ¬¡å…ƒã®æ•°ãŒ1ã¨ãªã‚‹å ´åˆ,
+ 自動的ã«æ¬¡å…ƒãŒç¸®å°ã•ã‚Œã¾ã™.
+ 次元ãŒ2ã¤ã®ã¿ã®ãƒã‚¤ãƒ‘ー行列ã¯,自動的ã«é€šå¸¸ã®è¡Œåˆ—(タイプ1)ã«å¤‰æ›ã•ã‚Œã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+a(1,1,1,1:2)=[1 2]
+a=[1 2;3 4];a(:,:,2)=rand(2,2)
+a(1,1,:)
+size(a)
+a(:,:,1) //dimensionality reduction
+type(a(:,:,1))
+[a a]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermat">hypermat</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/iscell.xml b/modules/data_structures/help/ja_JP/iscell.xml
new file mode 100755
index 000000000..f71a5ca34
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/iscell.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscell" xml:lang="ja">
+ <refnamediv>
+ <refname>iscell</refname>
+ <refpurpose>変数ãŒã‚»ãƒ«é…列ã‹ã©ã†ã‹ã‚’調ã¹ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>bool = iscell(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Scilab 変数</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>A boolean</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Description</title>
+ <para>
+ <literal>iscell(x)</literal> ã¯,xãŒã‚»ãƒ«é…列ã®å ´åˆã«çœŸ,
+ ãれ以外ã®å ´åˆã«å½ã¨ãªã‚Šã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+iscell(1)
+iscell(cell())
+c = cell(1,2);
+c(1).entries="Scilab";
+c(2).entries=datenum();
+iscell(c)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/iscellstr.xml b/modules/data_structures/help/ja_JP/iscellstr.xml
new file mode 100755
index 000000000..1fd673f3f
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/iscellstr.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscellstr" xml:lang="ja">
+ <refnamediv>
+ <refname>iscellstr</refname>
+ <refpurpose>変数ãŒæ–‡å­—列ã®ã‚»ãƒ«é…列ã§ã‚ã‚‹ã‹ã©ã†ã‹èª¿ã¹ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>bool = iscellstr(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Scilab 変数</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>è«–ç†å€¤</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>iscellstr(x)</literal> 㯠x ãŒæ–‡å­—列ã®ã‚»ãƒ«é…列
+ (ã¾ãŸã¯ç©ºã®ã‚»ãƒ«é…列)ã®å ´åˆã«true, ãã®ä»–ã®å ´åˆã« false
+ ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+iscellstr(1)
+iscellstr(cell())
+iscellstr(cell(3))
+strcell = cell(3,1);
+strcell(1).entries="Scilab";
+strcell(2).entries="iscellstr";
+strcell(3).entries="help";
+iscellstr(strcell)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/isfield.xml b/modules/data_structures/help/ja_JP/isfield.xml
new file mode 100755
index 000000000..e380cca54
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/isfield.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="isfield">
+ <refnamediv>
+ <refname>isfield</refname>
+ <refpurpose>指定ã—ãŸãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰åãŒæ§‹é€ ä½“ã¾ãŸã¯mlistã¾ãŸã¯tlistã®ä¸­ã«ã‚ã‚‹ã‹ã©ã†ã‹èª¿ã¹ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>bool = isfield(s,fieldname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>引数</title>
+ <variablelist>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>構造体é…列, tlist ã¾ãŸã¯ mlist</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fieldname</term>
+ <listitem>
+ <para>文字列ã®è¡Œåˆ—: 検出ã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>
+ è«–ç†å€¤ã®è¡Œåˆ— (<varname>fieldname></varname>ã¨åŒã˜å½¢å¼).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ This function returns <constant>%t</constant> if the specified structure or tlist or mlist <varname>s</varname> includes the field <varname>fieldname</varname>, regardless of the corresponding value. For a structure, the hidden field <code class="literal">dims</code> is ignored.
+ ã“ã®é–¢æ•°ã¯æŒ‡å®šã—ãŸæ§‹é€ ä½“ "s" ãŒãã®å€¤ã«ã‚ˆã‚‰ãš,
+ フィールド "field" を有ã™ã‚‹å ´åˆã« true ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+s = struct("field_1",123,"field_2",456,"field_4",789)
+// Single Fieldname Syntax
+isfield( s , "field_1" )
+// Multiple Fieldname Syntax
+isfield( s , [ "field_1" "field_2" ; "field_3" "field_4" ] )
+// with a tlist:
+s = tlist(["test" "t" "n","","p"], "Hello", %pi, "anonymous", (1-%z)^3)
+isfield(s, ["b" "t" ""]) // => F T T (anonymous fields can be detected)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="definedfields">definedfields</link>
+ </member>
+ </simplelist>
+ </refsection>
+ <refsection>
+ <title>履歴</title>
+ <revhistory>
+ <revision>
+ <revnumber>5.5</revnumber>
+ <revremark>
+ mlistãŠã‚ˆã³tlist用ã®æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
+ </revremark>
+ </revision>
+ </revhistory>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/isstruct.xml b/modules/data_structures/help/ja_JP/isstruct.xml
new file mode 100755
index 000000000..b84b2ddf1
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/isstruct.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isstruct" xml:lang="ja">
+ <refnamediv>
+ <refname>isstruct</refname>
+ <refpurpose>変数ãŒæ§‹é€ ä½“é…列ã§ã‚ã‚‹ã‹ã©ã†ã‹èª¿ã¹ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>bool = isstruct(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Scilab変数</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>è«–ç†å€¤</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>isstruct(x)</literal> 㯠x ãŒæ§‹é€ ä½“é…列
+ ã®å ´åˆã«true, ãã®ä»–ã®å ´åˆã« false
+ ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+isstruct(1)
+isstruct(cell())
+isstruct(struct("name","Scilab", "version", getversion()))
+info.name="Scilab";
+info.function="isstruct";
+info.module="help";
+isstruct(info)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/list.xml b/modules/data_structures/help/ja_JP/list.xml
new file mode 100755
index 000000000..887fe9e90
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/list.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="list">
+ <refnamediv>
+ <refname>list</refname>
+ <refpurpose>Scilab オブジェクトãŠã‚ˆã³ãƒªã‚¹ãƒˆé–¢æ•°å®šç¾©</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼出ã—手順</title>
+ <synopsis>list(a1,....an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ è¦ç´  <literal>ai</literal>を有ã™ã‚‹<literal>リスト</literal>を作æˆã—ã¾ã™ï¼Ž
+ ãã®è¦ç´ ã¯ä»»æ„ã®Scilabオブジェクト(<literal>行列, リスト,...</literal>)
+ ã§ã™.<literal>リスト</literal>オブジェクトã®åž‹ã¯ 15 ã§ã™.
+ <literal>list()</literal> ã¯ç©ºã® <literal>リスト</literal> (è¦ç´ æ•°0)ã‚’
+ è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>リストã®å‡¦ç†</title>
+ <variablelist>
+ <varlistentry>
+ <term>展開</term>
+ <listitem>
+ <para>
+ <literal>[x,y,z...]=L(v)</literal> ãŸã ã—,
+ <literal>v</literal> ã¯æ·»ãˆå­—ã®ãƒ™ã‚¯ãƒˆãƒ«ã§ã™;
+ <literal>[x,y,z]=L(:)</literal> ã¯å…¨è¦ç´ ã‚’展開ã—ã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>添字iã«æŒ¿å…¥</term>
+ <listitem>
+ <para>
+ <literal>L(i)=a</literal>
+ (<emphasis>i &gt; 1 + size(L)</emphasis> ã«ã‚ˆã‚Š
+ <literal>L(i)=a</literal>ã¨ã—ã¦ã‚‚エラーã¨ãªã‚Šã¾ã›ã‚“ãŒ,
+ ã“ã®çµæžœã„ãã¤ã‹ã®ãƒªã‚¹ãƒˆã®ã‚¨ãƒ³ãƒˆãƒªãŒæœªå®šç¾©ã¨ãªã‚Š,
+ ã“れらを展開ã™ã‚‹æ™‚ã«ã‚¨ãƒ©ãƒ¼ã‚’発生ã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>è¦ç´ ã‚’末尾ã«è¿½åŠ </term>
+ <listitem>
+ <para>
+ <literal>L($+1)=e</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>è¦ç´ ã‚’先頭ã«è¿½åŠ </term>
+ <listitem>
+ <para>
+ <literal>L(0)=e</literal>.
+ (ã“ã®æ“作ã®å¾Œ, <literal>e</literal>ã¯æ·»å­—1ã«ã‚ã‚Š,
+ 最åˆã®è¦ç´ ã¯å³ã«ã‚·ãƒ•ãƒˆã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>削除</term>
+ <listitem>
+ <para>
+ <literal>L(i)=null()</literal> removes the i-th element of the list <literal>L</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>二ã¤ã®ãƒªã‚¹ãƒˆã‚’çµåˆ</term>
+ <listitem>
+ <para>
+ <literal>L3 = lstcat(L1,L2)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>リストã®è¦ç´ æ•°</term>
+ <listitem>
+ <para>
+ <literal>nb_elm = size(L)</literal>
+ ã¾ãŸã¯ <literal>nb_elm = length(L)</literal>ã®ã©ã¡ã‚‰ã‹ã‚’
+ 使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>リストã§å復処ç†</term>
+ <listitem>
+ <para>
+ <link linkend="for">for</link> ループã§ãƒªã‚¹ãƒˆ<literal>L</literal>
+ を使用ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™:
+ <literal>for e=L,...,end</literal> 㯠<literal>length(L)</literal>
+ 回ã®å復処ç†ã‚’è¡Œã†ãƒ«ãƒ¼ãƒ—ã§,
+ ループ変数<literal>e</literal> ã¯i番目ã®å復㧠<literal>L(i)</literal>
+ ã¨ãªã‚Šã¾ã™.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>注記</title>
+ <para>
+ Scilab ã§ã¯ä»–ã®ç¨®é¡žã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ <link linkend="tlist">tlist</link>
+ åž‹(型付ã®ãƒªã‚¹ãƒˆ),<link linkend="mlist">mlist</link>åž‹
+ ã‚‚æä¾›ã•ã‚Œã¦ã„ã¾ã™.
+ ã“れらã®ãƒªã‚¹ãƒˆã¯,演算å­
+ <link linkend="overloading">オーãƒãƒ¼ãƒ­ãƒ¼ãƒ‰</link>機能を
+ 有ã™ã‚‹æ–°ã—ã„データ型を定義ã™ã‚‹éš›ã«æœ‰ç”¨ã§ã™
+ (Scilabã®å¤šæ¬¡å…ƒé…列ã§ã‚ã‚‹
+ <link linkend="hypermatrices">超越行列</link>
+ ã¯å®Ÿéš›ã«ã¯<emphasis>mlist</emphasis>ã§ã™).
+ </para>
+ <para>
+ Matlab <emphasis>struct</emphasis> も利用å¯èƒ½ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+l = list(1,["a" "b"])
+l(0) = "foo"
+l($+1) = "hello"
+l(2) = "toto"
+l(3) = rand(1,2)
+l(3) = null()
+lbis = list("gewurtz", "caipirina" ,"debug")
+lter = lstcat(l,lbis)
+size(lter) - size(lbis) - size(l) // must be zero
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="lstcat">lstcat</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ <member>
+ <link linkend="size">size</link>
+ </member>
+ <member>
+ <link linkend="length">length</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/lstcat.xml b/modules/data_structures/help/ja_JP/lstcat.xml
new file mode 100755
index 000000000..25c5f8bb1
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/lstcat.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lstcat">
+ <refnamediv>
+ <refname>lstcat</refname>
+ <refpurpose>リストã®çµåˆ</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>lc=lstcat(l1,..ln)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>li</term>
+ <listitem>
+ <para>リストã¾ãŸã¯ä»»æ„ã®åž‹ã®å¤‰æ•°</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lc</term>
+ <listitem>
+ <para>リスト</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>lc=lstcat(l1,..ln)</literal> ã¯ãƒªã‚¹ãƒˆ<literal>li</literal>ã®
+ è¦ç´ ã‚’çµåˆã—, å˜ä¸€ã®ãƒªã‚¹ãƒˆã¨ã—ã¾ã™.
+ <literal>li</literal> ãŒä»–ã®åž‹ã®å¤‰æ•°ã®å ´åˆ,
+ å˜ç´”ã«è¿½åŠ ã•ã‚Œ,çµæžœã¯ãƒªã‚¹ãƒˆã¨ãªã‚Šã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+lstcat(list(1,2,3),33,list('foo',%s))
+lstcat(1,2,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/makecell.xml b/modules/data_structures/help/ja_JP/makecell.xml
new file mode 100755
index 000000000..5f4d34870
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/makecell.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2004-2007 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="makecell">
+ <refnamediv>
+ <refname>makecell</refname>
+ <refpurpose>セルé…列を作æˆ. </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>s = makecell(dims,a1,a2,...an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>引数</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims</term>
+ <listitem>
+ <para>
+ æ­£ã®æ•´æ•°è¦ç´ ã‚’有ã™ã‚‹ãƒ™ã‚¯ãƒˆãƒ«, セルé…列ã®æ¬¡å…ƒ
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>a1,a2,...,an</term>
+ <listitem>
+ <para>
+ 一連ã®Scilab変数, <literal>n</literal> 㯠<literal>prod(dims)</literal>
+ ã«ç­‰ã—ã„å¿…è¦ãŒã‚ã‚Šã¾ã™
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>
+ è¿”ã•ã‚Œã‚‹ã‚»ãƒ«é…列
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>s= makecell(dims,a1,a2,...an)</literal> ã¯
+ 指定ã—ãŸå…¥åŠ›å¼•æ•°ã«ãŠã„ã¦<literal>dims</literal>ã§æŒ‡å®šã•ã‚ŒãŸæ¬¡å…ƒã®
+ é…列ã§ã™.
+ <literal>ai</literal> ã«ã¯,最後ã®æ¬¡å…ƒãŒæœ€åˆã«ä¿å­˜ã•ã‚Œã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+makecell([2,3],1,2,3,'x','y','z')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/matrices.xml b/modules/data_structures/help/ja_JP/matrices.xml
new file mode 100755
index 000000000..9210d8277
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/matrices.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="matrices">
+ <refnamediv>
+ <refname>matrices</refname>
+ <refpurpose>Scilab オブジェクト, Scilabã®è¡Œåˆ—</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 行列ã¯,Scilabã§å®šç¾©ã•ã‚Œã‚‹åŸºæœ¬çš„ãªã‚ªãƒ–ジェクトã§ã™.
+ 行列ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«å®šç¾©ã•ã‚Œã¾ã™:
+ </para>
+ <programlisting role=""><![CDATA[
+E=[e11,e12,...,e1n;
+ e21,e22,...,e2n;
+ ....
+ em1,em2,...,emn];
+ ]]></programlisting>
+ <para>
+ エントリ <literal>eij</literal> ã¯,
+ 実数ã¾ãŸã¯è¤‡ç´ æ•°, 多項å¼, 有ç†æ•°, 文字列, è«–ç†å€¤ã¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™.
+ </para>
+ <para>
+ ベクトルã¯,1è¡Œã¾ãŸã¯1列ã®ã¿ã‚’有ã™ã‚‹è¡Œåˆ—ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+E=[1,2;3,4]
+E=[%T,%F;1==1,1~=1]
+s=poly(0,'s');
+E=[s,s^2;1,1+s]
+E=[1/s,0;s,1/(s+1)]
+E=['A11','A12';'A21','A22']
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="boolean">boolean</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ <member>
+ <link linkend="empty">empty</link>
+ </member>
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/mlist.xml b/modules/data_structures/help/ja_JP/mlist.xml
new file mode 100755
index 000000000..22a0bec78
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/mlist.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="mlist">
+ <refnamediv>
+ <refname>mlist</refname>
+ <refpurpose>Scilab オブジェクト, 型付リスト定義ã«å‘ã„ãŸè¡Œåˆ—.</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>mlist(typ,a1,....an )</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>文字列ã®ãƒ™ã‚¯ãƒˆãƒ«</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ ä»»æ„ã®Scilabオブジェクト (<literal>matrix, list,string...</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>mlist</literal> オブジェクト㯠<link linkend="tlist">tlist</link> オブジェクトã«
+ éžå¸¸ã«è‰¯ãä¼¼ã¦ã„ã¾ã™. 唯一ã®å·®ç•°ã¯,
+ <link linkend="extraction">展開</link> ãŠã‚ˆã³
+ <link linkend="insertion">insertion</link> 挿入ã®æ§‹æ–‡ã§ã™:
+ <literal>M</literal> ㌠mlistã®å ´åˆ, フィールドåã§ãªã„ <literal>i</literal> ã«é–¢ã—ã¦,
+ <literal>M(i)</literal> ã¯ãƒªã‚¹ãƒˆã® <literal>i</literal>番目ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã§ã¯ã‚ã‚Šã¾ã›ã‚“.
+ </para>
+ <para>
+ 展開ãŠã‚ˆã³æŒ¿å…¥ã®æ§‹æ–‡ã®æ„味付ã‘ã¯, <link linkend="overloading">overloading</link>
+ 関数ã§æŒ‡å®šã•ã‚Œã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™.
+ </para>
+ <para>
+ overloading 関数ã®å±•é–‹æ§‹æ–‡ <literal>b=a(i1,...,in)</literal>
+ ã¯ä»¥ä¸‹ã®å‘¼ã³å‡ºã—手順ã¨ãªã‚Šã¾ã™
+ : <literal>b=%&lt;type_of_a&gt;_e_(i1,...,in,a)</literal>
+ </para>
+ <para>ãã—ã¦æ§‹æ–‡
+ <literal>[x1,..,xm]=a(i1,...,in)</literal> ã¯ä»¥ä¸‹ã®å‘¼ã³å‡ºã—手順ã¨ãªã‚Šã¾ã™:
+ <literal>[x1,..,xm]=%&lt;type_of_a&gt;_e_(i1,...,in,a)</literal>
+ </para>
+ <para/>
+ <para>挿入構文ã«é–¢é€£ã™ã‚‹ overloading 関数
+ <literal>a(i1,...,in)=b</literal> ã¯ä»¥ä¸‹ã®å‘¼ã³å‡ºã—手順ã¨ãªã‚Šã¾ã™:
+ <literal>a=%&lt;type_of_b&gt;_i_&lt;type_of_a&gt;(i1,...,in,b,a)</literal>.
+ </para>
+ <para/>
+ <para>mlist フィールドã¯ãれらã®åå‰ã«åŸºã¥ã設計ã•ã‚Œã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™.
+ <literal>getfield</literal> ãŠã‚ˆã³ <literal>setfield</literal>
+ 関数ã«ã‚ˆã‚Šå‡¦ç†ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+//define display
+function %V_p(M),disp(M.name+':'+string(M.value)),endfunction
+//define extraction operation
+function r=%V_e(varargin)
+ M=varargin($)
+ r=mlist(['V','name','value'],M.name(varargin(1:$-1)),M.value(varargin(1:$-1)))
+endfunction
+M(2,:) // the second row of M
+M.value
+//define insertion operations
+function M=%V_i_V(varargin)
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N.value
+ M.name(varargin(1:$-2))=N.name
+endfunction
+M(1,1)=M(2,2)
+function M=%s_i_V(varargin) //insertion of a regular matrix into a V matrix
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N
+ M.name(varargin(1:$-2))=emptystr(N)
+endfunction
+M(1,1)=44
+//tlist case
+M=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+M(2)
+M(2)='a'+string([1 2;3 4])
+M('name')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/null.xml b/modules/data_structures/help/ja_JP/null.xml
new file mode 100755
index 000000000..8cdbf6266
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/null.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="null">
+ <refnamediv>
+ <refname>null</refname>
+ <refpurpose>リストã®è¦ç´ ã‚’削除ã™ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼出ã—手順</title>
+ <synopsis>l(i)=null()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ リスト内ã®ã‚ªãƒ–ジェクトを削除ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,"foo",3);
+l(2)=null() // list(1,3)ã¨ãªã‚‹
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="clear">clear</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/rlist.xml b/modules/data_structures/help/ja_JP/rlist.xml
new file mode 100755
index 000000000..6e91f9890
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/rlist.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="rlist">
+ <refnamediv>
+ <refname>rlist</refname>
+ <refpurpose>Scilab 有ç†é–¢æ•°å®šç¾©</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>rlist()
+ rlist(a1,....an)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>rlist(a1,....an)</literal> ã¯
+ <literal>tlist(['r','num';'den','dt'], a1,....an)</literal>ã¸ã®ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒƒãƒˆã§ã™.
+ </para>
+ <para>
+ <literal>['r','num';'den','dt']</literal>を最åˆã®ã‚¨ãƒ³ãƒˆãƒª,
+ <literal>ai</literal>を次ã®ã‚¨ãƒ³ãƒˆãƒªã¨ã„ã£ãŸã‚ˆã†ãªã‚¨ãƒ³ãƒˆãƒªã‚’有ã™ã‚‹
+ <literal>tlist</literal>を作æˆã—ã¾ã™.
+ <literal>ai</literal>ã®åž‹ã‚‚大ãã•ã‚‚確èªã•ã‚Œã¾ã›ã‚“.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/setfield.xml b/modules/data_structures/help/ja_JP/setfield.xml
new file mode 100755
index 000000000..10a8c22b4
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/setfield.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="setfield">
+ <refnamediv>
+ <refname>setfield</refname>
+ <refpurpose>list フィールドã®æŒ¿å…¥</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>setfield(i,x,l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>ä»»æ„ã®åž‹ã®è¡Œåˆ—</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>list, tlist ã¾ãŸã¯ mlist 変数</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>フィールド添ãˆå­—, 詳細㯠insertion å‚ç…§.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ ã“ã®é–¢æ•°ã¯,フィールド展開を行ã†<literal>l(i)=x</literal>構文ã¨ç­‰ä¾¡ã§ã™ãŒ,
+ 唯一ã®å·®ç•°ã¯,<literal>mlist</literal>オブジェクトã«ã‚‚é©ç”¨å¯èƒ½ãªã“ã¨ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+l(1)='Changed'
+l(0)='Added'
+l(6)=['one more';'added']
+a=hypermat([2,2,2],rand(1:2^3));// hypermatrices are coded using mlists
+setfield(3,1:8,a);a // set the field value to 1:8
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/struct.xml b/modules/data_structures/help/ja_JP/struct.xml
new file mode 100755
index 000000000..fbd331b35
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/struct.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="struct">
+ <refnamediv>
+ <refname>struct</refname>
+ <refpurpose>構造体を作æˆã™ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>st=struct(field1,value1,field2,value2...)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>field1, field2, ..</term>
+ <listitem>
+ <para>フィールドåを表ã™æ–‡å­—列</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>value1, value2, ..</term>
+ <listitem>
+ <para>フィールドã®å€¤ã‚’表ã™ãƒ‡ãƒ¼ã‚¿åž‹ (double, char, int, ...)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>ã“ã®é–¢æ•°ã¯ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å
+ <literal>fields1</literal>, <literal>field2</literal>, ..., を有ã—,
+ ãã®å€¤ãŒ<literal>value1</literal>, <literal>value2</literal>, ...
+ ã¨ãªã‚‹æ§‹é€ ä½“ã‚’è¿”ã—ã¾ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+// create a struct date
+date=struct('day',25,'month' ,'DEC','year',2006)
+//change the month
+date.month='AUG';
+// change the year
+date.year=1973;
+//change the day
+date.day=19;
+// add a new field
+date.semaine=32
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/tlist.xml b/modules/data_structures/help/ja_JP/tlist.xml
new file mode 100755
index 000000000..c4870a41b
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/tlist.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="tlist">
+ <refnamediv>
+ <refname>tlist</refname>
+ <refpurpose>Scilab オブジェクトãŠã‚ˆã³åž‹ä»˜ã®ãƒªã‚¹ãƒˆå®šç¾©. </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>tlist(typ,a1,....an )</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>文字列ã¾ãŸã¯æ–‡å­—列ã®ãƒ™ã‚¯ãƒˆãƒ«</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ Scilabオブジェクト (<literal>行列, リスト,文字列...</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ è¦ç´ <literal>ai</literal>を有ã™ã‚‹
+ <literal>型付ã®ãƒªã‚¹ãƒˆ</literal> を作æˆã—ã¾ã™.
+ <literal>typ</literal>引数ã¯ãƒªã‚¹ãƒˆã®åž‹ã‚’指定ã™ã‚‹å¼•æ•°ã§ã™.
+ ã“ã® <literal>型付ã®ãƒªã‚¹ãƒˆ</literal> ã«ã‚ˆã‚Š
+ ユーザã¯Scilab関数ã«ã‚ˆã‚Šã“れらã®ã‚ªãƒ–ジェクトã§å‹•ä½œã™ã‚‹
+ æ–°ã—ã„処ç†ã‚’定義ã§ãるよã†ã«ãªã‚Šã¾ã™.
+ <literal>型付ã®ãƒªã‚¹ãƒˆ</literal> 㨠<literal>リスト</literal>
+ ã®å”¯ä¸€ã®å·®ã¯åž‹ã®å€¤(15ã§ã¯ãªã16)ã§ã™.
+ </para>
+ <para>
+ <literal>typ(1)</literal> ã¯ãƒªã‚¹ãƒˆã®åž‹ã‚’指定ã—ã¾ã™
+ (ソフトコードã•ã‚ŒãŸå‡¦ç†ã‚’定義ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã‚‹æ–‡å­—列)
+ </para>
+ <para>
+ <literal>typ(i)</literal> ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆ,
+ <literal>i+1</literal>番目ã®å½¢å¼è¦ç´ ã®åå‰ã‚’指定ã—ã¾ã™.
+ </para>
+ <para>
+ <literal>リスト</literal>ã«ãŠã‘る標準処ç†ã¯
+ <literal>型付リスト</literal>ã§ã‚‚類似性ãŒã‚ã‚Šã¾ã™:
+ </para>
+ <para>
+ 展開
+ : <literal>[x,y,z...]=l(v)</literal> ãŸã ã— <literal>v</literal> ã¯æ·»ãˆå­—ã®ãƒ™ã‚¯ãƒˆãƒ«ã§ã™;
+ <literal>[x,y,z]=l(:)</literal> ã¯å…¨ã¦ã®è¦ç´ ã‚’展開ã—ã¾ã™.
+ </para>
+ <para>
+ 挿入
+ : <literal>l(i)=a</literal>
+ </para>
+ <para>
+ 削除
+ : <literal>l(i)=null()</literal> ã¯<literal>tlist l</literal>ã® i番目ã®è¦ç´ ã‚’削除ã—ã¾ã™.
+ </para>
+ <para>
+ 表示
+ </para>
+ <para>
+ æ›´ã«<literal>typ(2:n+1)</literal> ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆ,
+ ユーザã¯åå‰ã§è¦ç´ ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™
+ </para>
+ <para>
+ 以下㫠tlist ã®ä½¿ç”¨ä¾‹ã‚’示ã—ã¾ã™.
+ </para>
+ <para>
+ 線形システムã¯,特定ã®<literal>型付リスト</literal>ã§è¡¨ã•ã‚Œã¾ã™.
+ 例ãˆã°,線形システム <literal>[A,B,C,D]</literal>ã¯
+ tlist <literal>Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')</literal> ã§è¡¨ã•ã‚Œã“ã®ç‰¹åˆ¥ã®ãƒªã‚¹ãƒˆã¯é–¢æ•°<literal>syslin</literal>ã«ã‚ˆã‚Š
+ 作æˆã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™.
+ </para>
+ <para>
+ Sys(2), Sys('A') ã¾ãŸã¯ Sys.A ã¯çŠ¶æ…‹è¡Œåˆ—ã§, Sys('dt') ã¾ãŸã¯ Sys.dt ã¯
+ 時間領域ã§ã™
+ </para>
+ <para>
+ 有ç†è¡Œåˆ— <literal>H</literal> ã¯<literal>型付リスト</literal>
+ <literal>H=rlist(Num,Den,[])</literal>
+ ã«ã‚ˆã‚Šè¡¨ã•ã‚Œã¾ã™.
+ ãŸã ã—,<literal>Num</literal> ãŠã‚ˆã³ <literal>Den</literal>
+ ã¯å¤šé …å¼è¡Œåˆ—ã§ã™.
+ ä¼é”関数行列 <literal>H</literal> を有ã™ã‚‹(連続時間)線形システムã¯
+ <literal>syslin('c',H)</literal>ã§ä½œæˆã§ãã¾ã™.
+ </para>
+ <para>
+ H(2), H('num') ã¾ãŸã¯ H.num ã¯ä¼é”関数行列ã®åˆ†å­ã§ã™.
+ </para>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+// tlist creation
+t = tlist(["listtype","field1","field2"], [], []);
+t.field1(1) = 10;
+t.field1(2) = 20;
+t.field2(1) = "Scilab";
+t.field2(2) = "tlist";
+t.field2(3) = "example";
+// Fields contents display
+disp(t.field1)
+disp(t.field2)
+// Generic tlist display
+disp(t)
+// Overloading display for this type of tlist
+function %listtype_p(mytlist)
+ f = fieldnames(mytlist);
+ // typeof(mytlist) <=> f(1)
+ mprintf("Displaying a tlist of type: %s\n", typeof(mytlist));
+ mprintf("\n");
+ mprintf("-- Field ''%s'' --\n", f(1));
+ mprintf("Contents: %s\n", sci2exp(mytlist(f(1))));
+ mprintf("\n");
+ mprintf("-- Field ''%s'' --\n", f(2));
+ mprintf("Contents: %s\n", sci2exp(mytlist(f(2))));
+endfunction
+// Display using overloading function
+disp(t)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="percent">percent</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/type.xml b/modules/data_structures/help/ja_JP/type.xml
new file mode 100755
index 000000000..ed799c9a4
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/type.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="type">
+ <refnamediv>
+ <refname>type</refname>
+ <refpurpose>変数ã®åž‹ã‚’è¿”ã™</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[i]=type(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Scilab オブジェクト</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>æ•´æ•°</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>type(x)</literal> ã¯,以下ã®ã‚ˆã†ã«
+ <literal>x</literal>ã®åž‹ã®ç¨®é¡žã‚’æ•´æ•°ã§è¿”ã—ã¾ã™ :
+ </para>
+ <para>
+ 1
+ : 実数ã¾ãŸã¯è¤‡ç´ æ•°ã®å®šæ•°è¡Œåˆ—.
+ </para>
+ <para>
+ 2
+ : 多項å¼è¡Œåˆ—.
+ </para>
+ <para>
+ 4
+ : è«–ç†å€¤è¡Œåˆ—.
+ </para>
+ <para>
+ 5
+ : 疎行列.
+ </para>
+ <para>
+ 6
+ : è«–ç†å€¤ç–Žè¡Œåˆ—.
+ </para>
+ <para>
+ 7
+ : Matlab 疎行列.
+ </para>
+ <para>
+ 8
+ : 1 2 ã¾ãŸã¯ 4 ãƒã‚¤ãƒˆã«ä¿å­˜ã•ã‚Œã‚‹æ•´æ•°è¡Œåˆ—.
+ </para>
+ <para>
+ 9
+ : グラフィックãƒãƒ³ãƒ‰ãƒ«ã®è¡Œåˆ—.
+ </para>
+ <para>
+ 10
+ : 文字列ã®è¡Œåˆ—.
+ </para>
+ <para>
+ 11
+ : コンパイルå‰ã®é–¢æ•° (Scilab コード).
+ </para>
+ <para>
+ 13
+ : コンパイル済ã¿ã®é–¢æ•° (Scilab コード).
+ </para>
+ <para>
+ 14
+ : 関数ライブラリ.
+ </para>
+ <para>
+ 15
+ : リスト.
+ </para>
+ <para>
+ 16
+ : 型付リスト (tlist).
+ </para>
+ <para>
+ 17
+ : 行列ã®åž‹ä»˜ãƒªã‚¹ãƒˆ (mlist).
+ </para>
+ <para>
+ 128
+ : ãƒã‚¤ãƒ³ã‚¿ (<link linkend="lufact">lufact</link>å‚ç…§).
+ </para>
+ <para>
+ 129
+ : 添字ã«ä½¿ç”¨ã•ã‚Œã‚‹æš—é»™ã®å¤§ãã•ã®å¤šé …å¼.
+ </para>
+ <para>
+ 130
+ : Scilab 内部コード (C ã¾ãŸã¯ Fortran コード).
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/typename.xml b/modules/data_structures/help/ja_JP/typename.xml
new file mode 100755
index 000000000..d52537c3f
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/typename.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="typename">
+ <refnamediv>
+ <refname>typename</refname>
+ <refpurpose>変数ã®åž‹ã«åå‰ã‚’付ã‘ã‚‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼出ã—手順</title>
+ <synopsis>[types [ [,names]]=typename()
+ typename(name,type)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>types</term>
+ <listitem>
+ <para>整数列ベクトル: å„定義済ã¿ã®ãƒ‡ãƒ¼ã‚¿åž‹ã®åž‹ã‚³ãƒ¼ãƒ‰.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>names</term>
+ <listitem>
+ <para>文字列ã®åˆ—ベクトル: 型コードを指ã™åå‰.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>type</term>
+ <listitem>
+ <para>æ•´æ•°: æ–°ã—ã„データ型ã®åž‹ã‚³ãƒ¼ãƒ‰.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>文字列: 型コードを指ã™åå‰</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ 関数ãŠã‚ˆã³æ¼”ç®—å­ã®ã‚ªãƒ¼ãƒãƒ¼ãƒ­ãƒ¼ãƒ‰ã«ãŠã„ã¦,
+ データ型ã«é–¢é€£ä»˜ã‘られãŸæ±Žç”¨åã‚’
+ オーãƒãƒ¼ãƒ­ãƒ¼ãƒ‰é–¢æ•°ã®åå‰ã‚’作æˆã™ã‚‹éš›ã«æŒ‡å®šã§ãã‚‹
+ ã§ãるよã†ã«ãªã‚Šã¾ã™(オーãƒãƒ¼ãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°å‚ç…§).
+ <literal>typename</literal> ã¯,
+ ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿åž‹ã«é–¢ã—ã¦
+ ã“ã®æ±Žç”¨åを処ç†ã™ã‚‹éš›ã«ä½¿ç”¨ã§ãã¾ã™
+ (<literal>tlist</literal> ã¾ãŸã¯ <literal>mlist</literal>ã«ã‚³ãƒ¼ãƒ‰åŒ–ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿åž‹ã®
+ å ´åˆ,汎用åã¯ä»–ã®æ–¹æ³•ã§å®šç¾©ã•ã‚Œã¾ã™, <literal>overloading</literal>ã‚’å‚ç…§ãã ã•ã„).
+ </para>
+ <para>
+ å³è¾ºã®å¼•æ•°ã‚’指定ã›ãšã«ã‚³ãƒ¼ãƒ«ã•ã‚ŒãŸå ´åˆ, <literal>typename</literal> ã¯
+ 定義済ã¿ã®ãƒ‡ãƒ¼ã‚¿åž‹ã«é–¢ã™ã‚‹æƒ…報を返ã—ã¾ã™.
+ </para>
+ <para>
+ å³è¾ºã®å¼•æ•°ã‚’指定ã—ã¦ã‚³ãƒ¼ãƒ«ã•ã‚Œã‚‹ã¨, <literal>typename</literal> ã¯åå‰ã‚’
+ データ型コードã«é–¢é€£ä»˜ã‘ã¾ã™.
+ </para>
+ <para>
+ <literal>typename('',type)</literal> ã¯,
+ コード <literal>type</literal> ã§æŒ‡å®šã•ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿åž‹ã‚’
+ データ型ã®ãƒ†ãƒ¼ãƒ–ルã‹ã‚‰å‰Šé™¤ã—ã¾ã™.
+ </para>
+ <para>定義済ã¿ã®åž‹ã®æœ€å¤§æ•°ã¯ 50ã§ã™.</para>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ja_JP/typeof.xml b/modules/data_structures/help/ja_JP/typeof.xml
new file mode 100755
index 000000000..3cfb86bf4
--- /dev/null
+++ b/modules/data_structures/help/ja_JP/typeof.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="typeof" xml:lang="ja">
+ <refnamediv>
+ <refname>typeof</refname>
+ <refpurpose>オブジェクトã®åž‹</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>呼ã³å‡ºã—手順</title>
+ <synopsis>[t]=typeof(object)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>パラメータ</title>
+ <variablelist>
+ <varlistentry>
+ <term>object</term>
+ <listitem>
+ <para>Scilabオブジェクト</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>文字列</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>説明</title>
+ <para>
+ <literal>t=typeof(object)</literal> ã¯ä»¥ä¸‹ã®æ–‡å­—列ã®ã©ã‚Œã‹ã‚’è¿”ã—ã¾ã™:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"constant"</term>
+ <listitem>
+ <para>オブジェクトãŒå®Ÿæ•°ã¾ãŸã¯è¤‡ç´ æ•°ã®å®šæ•°è¡Œåˆ—ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"polynomial"</term>
+ <listitem>
+ <para>オブジェクトãŒå¤šé …å¼è¡Œåˆ—ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"function"</term>
+ <listitem>
+ <para>オブジェクトãŒé–¢æ•°ã®å ´åˆ (Scilab コード).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"handle"</term>
+ <listitem>
+ <para>オブジェクトãŒãƒãƒ³ãƒ‰ãƒ«ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"string"</term>
+ <listitem>
+ <para>オブジェクトãŒæ–‡å­—列ã‹ã‚‰ãªã‚‹è¡Œåˆ—ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean"</term>
+ <listitem>
+ <para>オブジェクトãŒè«–ç†å€¤è¡Œåˆ—ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"list"</term>
+ <listitem>
+ <para>オブジェクトãŒãƒªã‚¹ãƒˆã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rational"</term>
+ <listitem>
+ <para>オブジェクトãŒæœ‰ç†è¡Œåˆ—(ä¼é”行列)ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"state-space"</term>
+ <listitem>
+ <para>
+ オブジェクトãŒçŠ¶æ…‹ç©ºé–“モデルã®å ´åˆ(<link linkend="syslin">syslin</link>å‚ç…§).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"sparse"</term>
+ <listitem>
+ <para>オブジェクトãŒ(実数)疎行列ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean sparse"</term>
+ <listitem>
+ <para>オブジェクトãŒè«–ç†å€¤ã®ç–Žè¡Œåˆ—ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"hypermat"</term>
+ <listitem>
+ <para>
+ オブジェクトãŒãƒã‚¤ãƒ‘ー行列ã®å ´åˆ(N &gt;=3 ã®N次元é…列).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"st"</term>
+ <listitem>
+ <para>オブジェクトãŒæ§‹é€ ä½“é…列ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"ce"</term>
+ <listitem>
+ <para>オブジェクトãŒã‚»ãƒ«é…列ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>the first string in the first list entry</term>
+ <listitem>
+ <para>オブジェクトtlistã¾ãŸã¯mlistã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"fptr"</term>
+ <listitem>
+ <para>オブジェクトãŒScilabイントリンシック(Cã¾ãŸã¯Fortranコード)ã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"pointer"</term>
+ <listitem>
+ <para>
+ オブジェクトãŒãƒã‚¤ãƒ³ã‚¿ã®å ´åˆ (<link linkend="lufact">lufact</link> å‚ç…§).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"size implicit"</term>
+ <listitem>
+ <para>
+ オブジェクトãŒ
+ 添字ã«ä½¿ç”¨ã•ã‚Œã‚‹å¤§ãã•ãŒä¸æ˜Žãªå¤šé …å¼ã®å ´åˆ
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"library"</term>
+ <listitem>
+ <para>オブジェクトãŒé–¢æ•°ãƒ©ã‚¤ãƒ–ラリã®å ´åˆ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"int8" ã¾ãŸã¯ "uint8" ã¾ãŸã¯ "int16" ã¾ãŸã¯ "uint16" ã¾ãŸã¯ "int32" ã¾ãŸã¯ "uint32"</term>
+ <listitem>
+ <para>
+ オブジェクト㌠8,16ã¾ãŸã¯32ビットã«ä¿å­˜ã•ã‚Œã‚‹[符å·ãªã—ã®]æ•´æ•°ã®è¡Œåˆ—ã®å ´åˆ.
+ <link linkend="int8">int8</link>å‚ç…§)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>例</title>
+ <programlisting role="example"><![CDATA[
+typeof(1)
+typeof(poly(0,'x'))
+typeof(1/poly(0,'x'))
+typeof(%t)
+w=sprand(100,100,0.001);
+typeof(w)
+typeof(w==w)
+deff('y=f(x)','y=2*x');
+typeof(f)
+L=tlist(['V','a','b'],18,'Scilab');
+typeof(L)
+typeof(corelib)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>å‚ç…§</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="strings">strings</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/addchapter.sce b/modules/data_structures/help/pt_BR/addchapter.sce
new file mode 100755
index 000000000..b41157012
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Estruturas de Dados",SCI+"/modules/data_structures/help/pt_BR",%T);
+
diff --git a/modules/data_structures/help/pt_BR/boolean.xml b/modules/data_structures/help/pt_BR/boolean.xml
new file mode 100755
index 000000000..299b51e5d
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/boolean.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="boolean" xml:lang="en">
+ <refnamediv>
+ <refname>boolean</refname>
+ <refpurpose>objetos Scilab: variáveis booleanas e operadores '&amp;', '|'
+ e '~'
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Uma variável booleana é <literal>%T</literal> (para "true",
+ "verdadeiro") ou <literal>%F</literal> (for "false"). (para
+ "false","falso"). Estas variáveis podem ser usadas para definir matrizes
+ de valores booleanos, com a sintaxe usual. Matrizes de valores booleanos
+ podem ser manipuladas como matrizes ordinárias para extração/inserção de
+ elementos e concatenação. Note que outras operações usuais ( +, *, -, ^,
+ etc.) não são definidas para matrizes de valores booleanos. Três
+ operadores especiais são definidos para estas matrizes:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>~b</term>
+ <listitem>
+ <para>
+ é a negação elemento a elemento de <literal>b</literal>
+ (matriz).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1&amp;b2</term>
+ <listitem>
+ <para>
+ é o <literal>and</literal> ("e") lógico elemento a elemento de
+ <literal>b1</literal> e <literal>b2</literal> (matrizes).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1|b2</term>
+ <listitem>
+ <para>
+ é o <literal>or</literal> ("ou") lógico elemento a elemento de
+ <literal>b1</literal> e <literal>b2</literal> (matrizes).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Variáveis booleanas podem ser usadas para se indexar vetores ou
+ matrizes.
+ </term>
+ <listitem>
+ <para>
+ Por exemplo <literal>a([%T,%F,%T],:)</literal> retorna a
+ submatriz feita das linhas <literal>1</literal> e
+ <literal>3</literal> de <literal>a</literal>. Matrizes esparsas de
+ valores booleanos são suportadas.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+[1,2]==[1,3]
+[1,2]==1
+a=1:5; a(a&gt;2)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="or">or</link>
+ </member>
+ <member>
+ <link linkend="and">and</link>
+ </member>
+ <member>
+ <link linkend="not">not</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/cell.xml b/modules/data_structures/help/pt_BR/cell.xml
new file mode 100755
index 000000000..41d1dab95
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/cell.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="cell" xml:lang="en">
+ <refnamediv>
+ <refname>cell</refname>
+ <refpurpose>cria um cell (célula) de matrizes vazias</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>
+ c=cell()
+ c=cell(m1)
+ c=cell(m1, m2)
+ c=cell(m1, m2, ..., mn)
+ c=cell(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>vetor contendo as dimensões do cell a ser criado</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>m1, m2,..</term>
+ <listitem>
+ <para>dimensões do cell a ser criado</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>retorna um cell de matrizes vazias</para>
+ <variablelist>
+ <varlistentry>
+ <term>cell()</term>
+ <listitem>
+ <para>
+ retorna um cell <literal>(0,0)</literal> de matrizes
+ vazias.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1)</term>
+ <listitem>
+ <para>
+ retorna um cell <literal>(m1,m1)</literal> de matrizes
+ vazias.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1,m2)</term>
+ <listitem>
+ <para>
+ retorna um cell <literal>(m1,m2) </literal>de matrizes
+ vazias.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1,m2,..,mn)</term>
+ <listitem>
+ <para>
+ retorna um cell <literal>(m1,m2,..,mn)</literal> de matrizes
+ vazias.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(x)</term>
+ <listitem>
+ <para>retorna um cell de matrizes vazias com: a primeira dimensão
+ sendo <literal>x(1)</literal>, a segunda sendo <literal>x(2),
+ ...
+ </literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Observações</title>
+ <para>
+ <literal>cell(x) </literal>não possui o mesmo tamanho que
+ <literal>x</literal>.
+ </para>
+ <para>
+ <literal>cell()</literal> é equivalente a
+ <literal>cell(0)</literal>.
+ </para>
+ <para>Se A for um cell, você pode acessar os conteúdos de um elemento de A
+ utilizando <literal>A(m1, m2, ..., mn).entries</literal>. A expressão
+ <literal>A(1,1) = zeros(2,2)</literal> não é válida, a sintaxe correta é
+ <literal>A(1,1).entries = zeros(2,2)</literal>.
+ </para>
+ <para>Se A é um cell, você pode obter suas dimensões através de
+ <literal>A.dims</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+a=cell(3)
+b=cell(3,1)
+c=cell([2,3,4])
+
+// atribuição em entradas do cell
+b=cell(3,1);
+
+// atribuindo o primeiro elemento de b utilizando o campo 'entries'
+b(1).entries=1:3
+
+// atribuindo o segundo elemento de b utilizando o campo 'entries'
+b(2).entries='Scilab'
+
+// atribuindo o terceiro elemento de b utilizando o campo 'entries'
+b(3).entries=poly(1:3,'s')
+
+// atribuição de sub-cells
+X=cell(3,2);
+X(:,1)=b
+
+// extraindo um sub-cell: o resultado é um cell
+b(1)
+b(1:2)
+
+// extraindo o valor de um sub-cell: o resultado é um array
+b(1).entries
+
+// dimensões de b
+b.dims
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="eye">eye</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/definedfields.xml b/modules/data_structures/help/pt_BR/definedfields.xml
new file mode 100755
index 000000000..e0c97ddba
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/definedfields.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="definedfields" xml:lang="en">
+ <refnamediv>
+ <refname>definedfields</refname>
+ <refpurpose>retorna o índice dos campos definidos de uma
+ lista
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>k=definedfields(l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>uma lista, tlist ou mlist </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>um vetor de índices .</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Se <literal>l</literal> é do tipo <literal>list</literal>
+ <literal>tlist</literal> <literal>mlist</literal>
+ <literal>k=definedfields(l)</literal> retorna em <literal>k</literal> os
+ índices dos campos definidos da lista. Esta função é útil porque a
+ indexação de campos indefinidos acarreta erros.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+l=list(1);l(3)=5
+k=definedfields(l)
+
+t=tlist('x');t(5)=4
+definedfields(t)
+
+m=mlist(['m','a','b']);m.b='sdfgfgd'
+definedfields(m)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/getfield.xml b/modules/data_structures/help/pt_BR/getfield.xml
new file mode 100755
index 000000000..e2b626b0e
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/getfield.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getfield" xml:lang="en">
+ <refnamediv>
+ <refname>getfield</refname>
+ <refpurpose>extração de campos de listas</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>[x,...]=getfield(i,l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>matriz de qualquer tipo possível </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>lista, tlist ou mlist </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>índice de campo, ver "extraction" para mais detalhes.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Esta função é equivalente à sintaxe <literal>[x,...]=l(i)</literal>
+ para extração de campos com a única diferença de que também se aplica a
+ objetos <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+[a,b]=getfield([3 2],l)
+
+a=hypermat([2,2,2],rand(1:2^3));// hipermatrizes são codificadas usando-se mlists
+a(1) // a entrada a(1,1,1)
+getfield(1,a) // o primeiro campo do mlist
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/hypermat.xml b/modules/data_structures/help/pt_BR/hypermat.xml
new file mode 100755
index 000000000..1a0c73472
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/hypermat.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="hypermat" xml:lang="en">
+ <refnamediv>
+ <refname>hypermat</refname>
+ <refpurpose>inicializa matrizes n-dimensionais</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>M=hypermat(dims [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims</term>
+ <listitem>
+ <para>vetor de dimensões da hipermatriz </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>vetor de entradas da hipermatriz (valor padrão
+ <literal>zeros(prod(dims),1)</literal>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Incializa uma hipermatriz cujas dimensões são dadas pelo vetor dims
+ e as entradas são dadas pelo argumento opcional
+ <literal>v</literal>
+ </para>
+ <para>A estrutura de dados de M contém o vetor de dimensões da matriz
+ <literal>M('dims')</literal> e o vetor de entradas
+ <literal>M('entries')</literal> tais que os índices subescritos mais à
+ esquerda variam primeiro:
+ <literal>[M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]</literal>
+ </para>
+ <para>
+ Warning: If you build your own <literal>hypermat</literal>, you must be careful. The M('dims') entry must be a row vector whereas the M('entries') must be a column vector.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+M = hypermat([2 3 2 2],1:24)
+disp(size(M('dims')))
+disp(size(M('entries')))
+
+M_own = mlist(['hm','dims','entries']);
+M_own('dims') = [2 3 2 2];
+M_own('entries') = [1:24]';
+disp(size(M_own('dims')))
+disp(size(M_own('entries')))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/hypermatrices.xml b/modules/data_structures/help/pt_BR/hypermatrices.xml
new file mode 100755
index 000000000..c9a08ce91
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/hypermatrices.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="hypermatrices" xml:lang="en">
+ <refnamediv>
+ <refname>hypermatrices</refname>
+ <refpurpose>objeto do Scilab: matrizes n-dimensionais</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrição</title>
+ <para>O tipo hipermatriz ("hypermatrix") permite manipular arrays
+ multidimensionais.
+ </para>
+ <para>Hipermatrizes podem ser definidas por uma extensão das matrizes 2D
+ como segue: a=[1 2;3 4];a(:,:,2)=rand(2,2)
+ </para>
+ <para>
+ ou usando a função <literal>hypermat</literal> diretamente.
+ </para>
+ <para>As entradas podem ser números reais ou complexos, polinômios, razões
+ de polinômios, strings ou valores booleanos.
+ </para>
+ <para>
+ Hipermatrizes são <literal>mlists</literal>:
+ <literal>mlist(['hm','dims','entries'],sz,v)</literal> onde
+ <literal>sz</literal> é o vetor linha de dimensões e <literal>v</literal>
+ é o vetor coluna de entradas (as primeiras dimensões são armazenadas
+ primeiro)
+ </para>
+ <para>NOTAS: O número de dimensões de hipermatrizes com tamanhos mais à
+ direita iguais a 1 é automaticamente reduzido. Uma hipermatriz com apenas
+ duas dimensões é automaticamente trocada por uma matriz regular (tipo
+ 1).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+a(1,1,1,1:2)=[1 2]
+a=[1 2;3 4];a(:,:,2)=rand(2,2)
+a(1,1,:)
+
+size(a)
+
+a(:,:,1) //redução de dimensionalidade
+type(a(:,:,1))
+
+[a a]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermat">hypermat</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/iscell.xml b/modules/data_structures/help/pt_BR/iscell.xml
new file mode 100755
index 000000000..8e447cca7
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/iscell.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscell" xml:lang="en">
+ <refnamediv>
+ <refname>iscell</refname>
+ <refpurpose>verifica se um array é um cell (célula)</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>bool = iscell(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>variável Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>um booleano</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>iscell(x)</literal> retorna %t (verdadeiro) se x é um cell
+ e %f (falso) em caso contrário.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+iscell(1)
+
+iscell(cell())
+
+c = cell(1,2);
+c(1).entries="Scilab";
+c(2).entries=datenum();
+iscell(c)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/iscellstr.xml b/modules/data_structures/help/pt_BR/iscellstr.xml
new file mode 100755
index 000000000..f20cf1909
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/iscellstr.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscellstr" xml:lang="en">
+ <refnamediv>
+ <refname>iscellstr</refname>
+ <refpurpose>verifica se uma variável é um cell array de
+ strings
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>bool = iscellstr(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>variável Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>um booleano</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>iscellstr(x)</literal> retorna verdadeiro se x é um cell
+ array de strings (ou um cell array vazio) e falso em caso
+ contrário.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos </title>
+ <programlisting role="example"><![CDATA[
+iscellstr(1)
+
+iscellstr(cell())
+
+iscellstr(cell(3))
+
+strcell = cell(3,1);
+strcell(1).entries="Scilab";
+strcell(2).entries="iscellstr";
+strcell(3).entries="help";
+iscellstr(strcell)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/isstruct.xml b/modules/data_structures/help/pt_BR/isstruct.xml
new file mode 100755
index 000000000..de14771f9
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/isstruct.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isstruct" xml:lang="en">
+ <refnamediv>
+ <refname>isstruct</refname>
+ <refpurpose>checa se uma variável é um struct array
+ (estrutura)
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>bool = isstruct(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>variável Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>um booleano</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>isstruct(x)</literal> retorna %t (verdadeiro) se x é um
+ struct array e %f em caso contrário.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+isstruct(1)
+
+isstruct(cell())
+
+isstruct(struct("name","Scilab", "version", getversion()))
+
+info.name="Scilab";
+info.function="isstruct";
+info.module="help";
+isstruct(info)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/list.xml b/modules/data_structures/help/pt_BR/list.xml
new file mode 100755
index 000000000..4d680f298
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/list.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="list" xml:lang="en">
+ <refnamediv>
+ <refname>list</refname>
+ <refpurpose>objeto do Scilab e definição de lists ("listas")</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>list(a1,....an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Cria um <literal>list</literal> com elementos
+ <literal>ai</literal>'s que são elementos Scilab arbitrários
+ (<literal>matrix, list,...</literal>). O tipo de objetos
+ <literal>list</literal> é 15. <literal>list()</literal> cria o
+ <literal>list</literal> vazio (0 elementos).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Operações em Listas</title>
+ <variablelist>
+ <varlistentry>
+ <term>extração</term>
+ <listitem>
+ <para>
+ <literal>[x,y,z...]=L(v)</literal> onde <literal>v</literal>
+ é um vetor de índices; <literal>[x,y,z]=L(:)</literal> extrai todos
+ os elementos.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>inserção no índice i</term>
+ <listitem>
+ <para>
+ <literal>L(i)=a</literal> (note que não é errado usar
+ <literal>L(i)=a</literal> com <emphasis>i &gt; 1 +
+ size(L)
+ </emphasis>
+ mas algumas entradas de lista estão então
+ indefinidas e sua extração levanta um erro).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>anexar elemento no fim da lista</term>
+ <listitem>
+ <para>
+ <literal>L($+1)=e</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>anexar elementos no início da lista</term>
+ <listitem>
+ <para>
+ <literal>L(0)=e</literal>. (note que após esta operação e
+ está no índice 1, os elementos iniciais foram movidos para a
+ direita).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>deleção</term>
+ <listitem>
+ <para>
+ <literal>L(i)=null()</literal> remove o i-ésimo elemento da
+ lista <literal>L</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>concatenação de duas listas</term>
+ <listitem>
+ <para>
+ <literal>L3 = lstcat(L1,L2)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>número de elementos de uma lista</term>
+ <listitem>
+ <para>
+ você pode usar tanto <literal>nb_elm = size(L)</literal> ou
+ <literal>nb_elm = length(L)</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>iterações com uma lista</term>
+ <listitem>
+ <para>
+ é possível usar uma lista <literal>L</literal> com um laço
+ ("loop") <link linkend="for">for</link>: <literal>for
+ e=L,...,end
+ </literal>
+ éum laço com <literal>length(L)</literal>
+ iterações, a variável de laço <literal>e</literal> sendo igual a
+ <literal>L(i)</literal> na i-ésima iteração.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Observações </title>
+ <para>
+ O Scilab também possui outros tipos de listas, o tipo <link linkend="tlist">tlist</link> (lista com tipo) e o tipo <link linkend="mlist">mlist</link> que são úteis para definir um novo tipo de
+ dado com o operador <link linkend="overloading">overloading</link>
+ facilities (<link linkend="hypermatrices">hypermatrices</link>
+ (hipermatrizes), que são arrays multi-dimensionais no Scilab, são, na
+ verdade, <emphasis>mlist</emphasis>).
+ </para>
+ <para>
+ <emphasis>struct</emphasis> do Matlab também estão
+ disponíveis.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+l = list(1,["a" "b"])
+l(0) = "foo"
+l($+1) = "olá"
+l(2) = "toto"
+l(3) = rand(1,2)
+l(3) = null()
+lbis = list("gewurtz", "caipirina" ,"debug")
+lter = lstcat(l,lbis)
+size(lter) - size(lbis) - size(l) // deve ser zero
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="lstcat">lstcat</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ <member>
+ <link linkend="extraction">extraction</link>
+ </member>
+ <member>
+ <link linkend="size">size</link>
+ </member>
+ <member>
+ <link linkend="length">length</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/lstcat.xml b/modules/data_structures/help/pt_BR/lstcat.xml
new file mode 100755
index 000000000..6304e5aa5
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/lstcat.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="lstcat" xml:lang="en">
+ <refnamediv>
+ <refname>lstcat</refname>
+ <refpurpose>concatenação de listas</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>lc=lstcat(l1,..ln)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>li</term>
+ <listitem>
+ <para>lista ou qualquer outro tipo de variável </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lc</term>
+ <listitem>
+ <para>uma lista </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>lc=lstcat(l1,..ln)</literal> concatena os componentes das
+ <literal>li</literal> listas em uma única lista. Se os
+ <literal>li</literal> são outros tipos de variáveis, eles simplesmente são
+ adicionados à lista resultante.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+lstcat(list(1,2,3),33,list('foo',%s))
+lstcat(1,2,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/matrices.xml b/modules/data_structures/help/pt_BR/matrices.xml
new file mode 100755
index 000000000..84bfcde05
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/matrices.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="matrices" xml:lang="en">
+ <refnamediv>
+ <refname>matrices</refname>
+ <refpurpose>objeto do Scilab: matrizes</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Descrição</title>
+ <para>Matrizes são objetos básicos definidos no Scilab. Elas podem ser
+ definidas como segue:
+ </para>
+ <programlisting role=""><![CDATA[
+E=[e11,e12,...,e1n;
+ e21,e22,...,e2n;
+ ....
+ em1,em2,...,emn];
+ ]]></programlisting>
+ <para>
+ As entradas <literal>eij</literal> podem ser números reais,
+ complexos, polinômios, razões de polinômios, strings ou booleanos.
+ </para>
+ <para>Vetores são vistos como matrizes de uma linha ou uma coluna.</para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+E=[1,2;3,4]
+E=[%T,%F;1==1,1~=1]
+s=poly(0,'s');
+E=[s,s^2;1,1+s]
+E=[1/s,0;s,1/(s+1)]
+E=['A11','A12';'A21','A22']
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="boolean">boolean</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ <member>
+ <link linkend="empty">empty</link>
+ </member>
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/mlist.xml b/modules/data_structures/help/pt_BR/mlist.xml
new file mode 100755
index 000000000..72c3a9bed
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/mlist.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="mlist" xml:lang="en">
+ <refnamediv>
+ <refname>mlist</refname>
+ <refpurpose>objeto Scilab, definição de listas com tipos orientadas
+ matricialmente
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>mlist(typ,a1,....an )</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>vector of character strings</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ any Scilab object (<literal>matrix,
+ list,string...
+ </literal>
+ ).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Objetos mlist são bastante semelhantes a objetos <link linkend="tlist">tlist</link> objects. A única diferença concerne às
+ sintaxes de extração e inserção (<link linkend="extraction">extraction</link> e <link linkend="insertion">insertion</link>): se <literal>M</literal> é uma
+ mlist, para qualquer índice <literal>i</literal> que não é um campo de
+ nome, <literal>M(i)</literal> não é mais o <literal>i</literal>-ésimo
+ campo da lista
+ </para>
+ <para>A semântica da sintaxe de extração e inserção deve ser dada por uma
+ função de (sobrecarga) <link linkend="overloading">overloading</link>.
+ </para>
+ <para>A função de overloading para sintaxe de extração
+ <literal>b=a(i1,...,in)</literal> tem a seguinte seqüência de chamamento:
+ <literal>b=%&lt;tipo_de_a&gt;_e_(i1,...,in,a)</literal>
+ </para>
+ <para>
+ e a sintaxe <literal>[x1,..,xm]=a(i1,...,in)</literal> tem a
+ seguinte seqüência de chamamento:
+ <literal>[x1,..,xm]=%&lt;type_de_a&gt;_e_(i1,...,in,a)</literal>
+ </para>
+ <para/>
+ <para>A função de overloading associada à sintaxe de inserção
+ <literal>a(i1,...,in)=b</literal> tem a seguinte seqüência de chamamento:
+ <literal>a=%&lt;type_de_b&gt;_i_&lt;type_de_a&gt;(i1,...,in,b,a)</literal>.
+ </para>
+ <para/>
+ <para>Os campos de um mlist devem, então, ser designados por seus nomes.
+ Eles também podem ser manipulados usando-se as funções
+ <literal>getfield</literal> e <literal>setfield</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+//Definindo exibição
+function %V_p(M),disp(M.name+':'+string(M.value)),endfunction
+
+//Definindo operação de extração
+function r=%V_e(varargin)
+ M=varargin($)
+ r=mlist(['V','name','value'],M.name(varargin(1:$-1)),M.value(varargin(1:$-1)))
+endfunction
+M(2,:) // a segunda entrada do vetor M
+M.value
+
+//Definindo operações de inserção
+function M=%V_i_V(varargin)
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N.value
+ M.name(varargin(1:$-2))=N.name
+endfunction
+M(1,1)=M(2,2)
+
+function M=%s_i_V(varargin) //inserção de uma matriz regular em uma matriz V
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N
+ M.name(varargin(1:$-2))=emptystr(N)
+endfunction
+M(1,1)=44
+
+//caso de tlists
+M=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+M(2)
+M(2)='a'+string([1 2;3 4])
+
+M('name')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/null.xml b/modules/data_structures/help/pt_BR/null.xml
new file mode 100755
index 000000000..e5d4b3205
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/null.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="null" xml:lang="en">
+ <refnamediv>
+ <refname>null</refname>
+ <refpurpose>deleta um elemento em uma lista</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>l(i)=null()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrição</title>
+ <para>Deleta objetos dentro de uma lista.</para>
+ </refsection>
+ <refsection>
+ <title> Exemplos </title>
+ <programlisting role="example"><![CDATA[
+l=list(1,"foo",3);
+l(2)=null() // retorna list(1,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="clear">clear</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/rlist.xml b/modules/data_structures/help/pt_BR/rlist.xml
new file mode 100755
index 000000000..014d1c9b2
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/rlist.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="rlist" xml:lang="en">
+ <refnamediv>
+ <refname>rlist</refname>
+ <refpurpose>definição de função racional do Scilab</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>rlist()
+ rlist(a1,....an)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>rlist(a1,....an)</literal> é um atalho para
+ <literal>tlist(['r','num';'den','dt'], a1,....an)</literal>
+ </para>
+ <para>
+ Cria um <literal>tlist</literal> com
+ <literal>['r','num';'den','dt']</literal> como primeira entrada e os
+ <literal>ai</literal>'s como próximas entradas, se tiver algum. Nenhuma
+ verificação de tipo ou tamanho é feita nos <literal>ai</literal>'s.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/setfield.xml b/modules/data_structures/help/pt_BR/setfield.xml
new file mode 100755
index 000000000..209b20fdd
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/setfield.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="setfield" xml:lang="en">
+ <refnamediv>
+ <refname>setfield</refname>
+ <refpurpose>inserção de campos de listas</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>setfield(i,x,l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>matriz de qualquer tipo</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>lista, tlist ou mlist </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>índice de campo, ver "insertion" para mais detalhes.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Esta função é equivalente à sintaxe <literal>l(i)=x</literal> spara
+ inserção de campos, com a única diferença de que também se aplica a
+ objetos <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+l(1)='Modificado'
+l(0)='Adicionado'
+l(6)=['mais um';'adicionado']
+
+a=hypermat([2,2,2],rand(1:2^3));// hipermatrizes são codificadas usando-se mlists
+setfield(3,1:8,a);a // ajusta o valor de campo para 1:8
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="insertion">insertion</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/struct.xml b/modules/data_structures/help/pt_BR/struct.xml
new file mode 100755
index 000000000..967da4ae9
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/struct.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="struct" xml:lang="en">
+ <refnamediv>
+ <refname>struct</refname>
+ <refpurpose>criando um struct (estrutura)</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>st=struct(field1,value1,field2,value2...)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>field1, field2, ..</term>
+ <listitem>
+ <para>strings, representam os nomes dos campos</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>value1, value2, ..</term>
+ <listitem>
+ <para>todos os tipos de dados (double, char, int, ...), representam
+ os valores dos campos
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>Esta função retorna uma estrutura com campos de nomes
+ <literal>fields1</literal>, <literal>field2</literal>, ..., e valores
+ correspondentes <literal>value1</literal>, <literal>value2</literal>,
+ ...
+ </para>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+// criando um dado struct
+date_st=struct('dia',25,'mes' ,'DEZ','ano',2006)
+
+//mudando o mes
+date_st.mes='AGO';
+
+// mudando o ano
+date_st.ano=1973;
+
+//mudando o dia
+date_st.dia=19;
+
+// adicionando um novo campo
+date_st.semana=32
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/tlist.xml b/modules/data_structures/help/pt_BR/tlist.xml
new file mode 100755
index 000000000..63035a32b
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/tlist.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="tlist" xml:lang="en">
+ <refnamediv>
+ <refname>tlist</refname>
+ <refpurpose>objeto do Scilab e definição de listas com tipos ("typed
+ lists")
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>tlist(typ,a1,....an )</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>string ou vetor de strings </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ qualquer objeto Scilab (<literal>matrix,
+ list,string...
+ </literal>
+ ).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ Cria um <literal>typed-list</literal> com elementos
+ <literal>ai</literal>'s. O argumento <literal>typ</literal> especifica o
+ tipo da lista. Tais <literal>typed-list</literal> permitem ao usuário
+ definir novas operações trabalhando nestes objetos através de funções do
+ Scilab. A única diferença entre um <literal>typed-list</literal> e um
+ <literal>list</literal> (lista) é o valor do tipo (16 ao invés de
+ 15).
+ </para>
+ <para>
+ <literal>typ(1)</literal> espeifica o tipo de lista (string usado
+ para definir operações "soft-coded").
+ </para>
+ <para>
+ Se especificado, <literal>typ(i)</literal> pode fornecer o nome
+ formal do <literal>i+1</literal> -ésimo elemento.
+ </para>
+ <para>
+ Operações padrões em <literal>list</literal> operam de modo
+ semelhante para <literal>typed-list</literal>:
+ </para>
+ <para>
+ Extração : <literal>[x,y,z...]=l(v)</literal> onde
+ <literal>v</literal> é o vetor de índices; <literal>[x,y,z]=l(:)</literal>
+ extrai todos os elementos.
+ </para>
+ <para>
+ Inserção: <literal>l(i)=a</literal>
+ </para>
+ <para>
+ Deleção: <literal>l(i)=null()</literal> remove o i-ésimo elemento do
+ <literal>tlist l</literal>.
+ </para>
+ <para>Exibição.</para>
+ <para>
+ Além disso, se <literal>typ(2:n+1)</literal> forem especificados, o
+ usuário pode apontar elementos por seus nomes.
+ </para>
+ <para>Abaixo fornecemos exemplos de onde tlists são usados:</para>
+ <para>Sistemas lineares são representados por
+ <literal>typed-list</literal> específicos, ex.: um sistema linear
+ <literal>[A,B,C,D]</literal> é representado pelo tlist
+ <literal>Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')</literal>
+ e esta lista específica pode ser criada pela função
+ <literal>syslin</literal>.
+ </para>
+ <para>Sys(2), Sys('A') ou Sys.A é a estado-matriz e Sys('dt') ou Sys.dt é
+ o domínio de tempo
+ </para>
+ <para>
+ Uma matriz de razões de polinômios <literal>H</literal> é
+ representada por um <literal>typed-list</literal>
+ <literal>H=rlist(Num,Den,[])</literal> onde
+ <literal>Num</literal> e <literal>Den</literal> são duas matrizes de
+ polinômios e um sistema linear (ex.: de tempo contínuo) com matriz de
+ transferência <literal>H</literal> possivelmente criada por
+ <literal>syslin('c',H)</literal>.
+ </para>
+ <para>H(2), H('num') ou H.num é o numerador da matriz de
+ transferência
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="percent">percent</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/type.xml b/modules/data_structures/help/pt_BR/type.xml
new file mode 100755
index 000000000..f1bd93bbf
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/type.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="type" xml:lang="en">
+ <refnamediv>
+ <refname>type</refname>
+ <refpurpose>tipo de variável</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title> Seqüência de Chamamento </title>
+ <synopsis>[i]=type(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>objeto Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>inteiro</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>type(x)</literal>retorna um inteiro que indica o tipo de
+ <literal>x </literal>como segue:
+ </para>
+ <para> 1 : uma matriz constante de reais ou complexos;</para>
+ <para> 2 : uma matriz de polinômios;</para>
+ <para> 4 : uma matriz de valores booleanos;</para>
+ <para> 5 : uma matriz esparsa;</para>
+ <para> 6 : uma matriz de valores booleanos esparsa;</para>
+ <para> 7 : uma matriz esparsa do Matlab.</para>
+ <para> 8 : uma matriz de inteiros armazenados em 1, 2 ou 4 bytes;</para>
+ <para> 9 : uma matriz de manipuladores gráficos;</para>
+ <para> 10 : uma matriz de strings;</para>
+ <para> 11 : uma função não-compilada (código Scilab);</para>
+ <para> 13 : uma função compilada (código Scilab);</para>
+ <para> 14 : uma biblioteca de funções;</para>
+ <para> 15 : uma lista;</para>
+ <para> 16 : uma lista com tipo ("typed list" ou "tlist");</para>
+ <para> 17 : uma lista com tipo orientada matricialmente (mlist);</para>
+ <para>
+ 128 : um ponteiro (ver <link linkend="lufact">lufact</link>).
+ </para>
+ <para>129 : polinômio de tamanho implícito, usado para indexação.</para>
+ <para>130 : intrínseco do Scilab (código C ou Fortran).</para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="inttype">inttype</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/typename.xml b/modules/data_structures/help/pt_BR/typename.xml
new file mode 100755
index 000000000..8782768f4
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/typename.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="typename" xml:lang="en">
+ <refnamediv>
+ <refname>typename</refname>
+ <refpurpose>associa um nome ao tipo de variável</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>[types [ [,names]]=typename()
+ typename(name,type)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>types</term>
+ <listitem>
+ <para>vetor coluna de inteiros: os códigos dos tipos de cada tipo de
+ dado definido.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>names</term>
+ <listitem>
+ <para>vetor coluna de strings: os nomes associados aos códigos de
+ tipos.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>type</term>
+ <listitem>
+ <para>inteiro: o código de tipo do novo tipo de dado. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>string: o nome associado ao código de tipo </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>O overloading de funções e operadores faz uso de nomes formais
+ associados aos tipos de dados para formar o nome da função de overloading
+ (ver overloading). <literal>typename</literal> pode ser usado para
+ manipular esses nomes formais para tipos de dados "hard-coded" (os nomes
+ formais de tipos de dados codificados de <literal>tlist</literal> ou
+ <literal>mlist</literal> são definidos de outra forma, ver
+ <literal>overloading</literal>).
+ </para>
+ <para>
+ Chamado sem argumento do lado direito, <literal>typename</literal>
+ retorna informações sobre tipos de dados definidos.
+ </para>
+ <para>
+ Chamado com argumento do lado direito, <literal>typename</literal>
+ associa um nome a um código de tipo de dado.
+ </para>
+ <para>
+ <literal>typename('',type)</literal> suprime o tipo de dado
+ fornecido pelo seu código <literal>type</literal> de tabelas de tipos de
+ dados conhecidos.
+ </para>
+ <para>Number max. of defined types is 50.</para>
+ </refsection>
+ <refsection>
+ <title> Ver Também </title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="overloading">overloading</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/pt_BR/typeof.xml b/modules/data_structures/help/pt_BR/typeof.xml
new file mode 100755
index 000000000..5ced03a8e
--- /dev/null
+++ b/modules/data_structures/help/pt_BR/typeof.xml
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="typeof" xml:lang="en">
+ <refnamediv>
+ <refname>typeof</refname>
+ <refpurpose>tipo do objeto</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Seqüência de Chamamento</title>
+ <synopsis>[t]=typeof(object)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Parâmetros</title>
+ <variablelist>
+ <varlistentry>
+ <term>object</term>
+ <listitem>
+ <para>objeto Scilab</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>string</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Descrição</title>
+ <para>
+ <literal>t=typeof(object)</literal> retorna um dos seguintes
+ strings:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"constant"</term>
+ <listitem>
+ <para>se o objeto é uma matriz constante de reais ou
+ complexos
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"polynomial"</term>
+ <listitem>
+ <para>se o objeto é uma matriz de polinômios</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"function"</term>
+ <listitem>
+ <para>se o objeto é uma função (código Scilab).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"handle"</term>
+ <listitem>
+ <para>se o objeto é um manipulador ("alça")</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"string"</term>
+ <listitem>
+ <para>se o objeto é uma matriz de strings</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean"</term>
+ <listitem>
+ <para>se o objeto é uma matriz de valores booleanos</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"list"</term>
+ <listitem>
+ <para>se o objeto é uma lista</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rational"</term>
+ <listitem>
+ <para>se o objeto é a é uma martriz de razões de polinômios (matriz
+ de transferência)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"state-space"</term>
+ <listitem>
+ <para>
+ se o objeto é um modelo de espaço de estados (ver <link linkend="syslin">syslin</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"sparse"</term>
+ <listitem>
+ <para>se o objeto é uma matriz (de reais) esparsa.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean sparse"</term>
+ <listitem>
+ <para>se o objeto é uma matriz de valores booleanos esparsa.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"hypermat"</term>
+ <listitem>
+ <para>se o objeto é uma hipermatriz (array N-dimensional N
+ &gt;=3).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"st"</term>
+ <listitem>
+ <para>se o objeto é um array de estrutura</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"ce"</term>
+ <listitem>
+ <para>se o objeto é um array de células</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>the first string in the first list entry</term>
+ <listitem>
+ <para>se o objeto é um tlist ou mlist</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"fptr"</term>
+ <listitem>
+ <para>se o objeto é intrínseco ao Scilab (código C ou
+ Fortran).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"pointer"</term>
+ <listitem>
+ <para>
+ se o objeto é um ponteiro (ver <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"size implicit"</term>
+ <listitem>
+ <para>se o objeto é um polinômio de tamanho implícito para
+ indexação.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Exemplos</title>
+ <programlisting role="example"><![CDATA[
+typeof(1)
+typeof(poly(0,'x'))
+
+typeof(1/poly(0,'x'))
+typeof(%t)
+
+w=sprand(100,100,0.001);
+typeof(w)
+typeof(w==w)
+
+deff('y=f(x)','y=2*x');
+typeof(f)
+
+L=tlist(['V','a','b'],18,'Scilab');
+typeof(L)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Ver Também</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="strings">strings</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/addchapter.sce b/modules/data_structures/help/ru_RU/addchapter.sce
new file mode 100755
index 000000000..9331d2503
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/addchapter.sce
@@ -0,0 +1,11 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+add_help_chapter("Data Structures",SCI+"/modules/data_structures/help/ru_RU",%T);
+
diff --git a/modules/data_structures/help/ru_RU/boolean.xml b/modules/data_structures/help/ru_RU/boolean.xml
new file mode 100755
index 000000000..8658f8914
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/boolean.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="boolean">
+ <refnamediv>
+ <refname>boolean</refname>
+ <refpurpose>Объекты Scilab'а, логичеÑкие переменные и операторы &amp; | ~
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ ЛогичеÑкими переменными ÑвлÑÑŽÑ‚ÑÑ <constant>%T</constant>, ИСТИÐÐ (англ. "true"), и <constant>%F</constant>, ЛОЖЬ (англ. "false"). Эти переменные могут иÑпользоватьÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ† логичеÑких значений Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ обычного ÑинтакÑиÑа. С матрицами логичеÑких значений можно обращатьÑÑ ÐºÐ°Ðº Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼Ð¸ матрицами Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ/вÑтавки Ñлементов и конкатенации. Заметим, что другие обычные операции(<literal>+</literal>, <literal>*</literal>, <literal>-</literal>, <literal>^</literal> и Ñ‚. д.) не определены Ð´Ð»Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ† логичеÑких значений. Ð”Ð»Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ† логичеÑких значений определены три Ñпециальных оператора:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>~b</term>
+ <listitem>
+ <para>
+ поÑлементное логичеÑкое ÐЕ матрицы <literal>b</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 &amp; b2</term>
+ <listitem>
+ <para>
+ поÑлементное логичеÑкое И матриц <literal>b1</literal> и <literal>b2</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 | b2</term>
+ <listitem>
+ <para>
+ поÑлементное логичеÑкое ИЛИ матриц <literal>b1</literal> и <literal>b2</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ ЛогичеÑкие переменные могут иÑпользоватьÑÑ Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑации матриц и векторов. Ðапример, <code>a([%T, %F, %T],:)</code> возвращает подматрицу, ÑоÑтавленную из Ñтрок <literal>1</literal> и <literal>3</literal> матрицы <literal>a</literal>. ПоддерживаютÑÑ Ñ€Ð°Ð·Ñ€ÐµÐ¶Ñ‘Ð½Ð½Ñ‹Ðµ логичеÑкие матрицы.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+[1,2]==[1,3]
+[1,2]==1
+a=1:5; a(a>2)
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="matrices">матрицы</link>
+ </member>
+ <member>
+ <link linkend="or">or</link>
+ </member>
+ <member>
+ <link linkend="and">and</link>
+ </member>
+ <member>
+ <link linkend="not">not</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/cell.xml b/modules/data_structures/help/ru_RU/cell.xml
new file mode 100755
index 000000000..21b35a20f
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/cell.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2007-2008 - INRIA
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="cell" xml:lang="ru">
+ <refnamediv>
+ <refname>cell</refname>
+ <refpurpose>Ñоздаёт cell-маÑÑив пуÑÑ‚Ñ‹Ñ… матриц</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>
+ c = cell()
+ c = cell(m1)
+ c = cell(m1, m2)
+ c = cell(m1, m2, ..., mn)
+ c = cell(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ целочиÑленный вектор, Ñодержащий размеры cell-маÑÑива, который требуетÑÑ Ñоздать.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>m1, m2, ..., mn</term>
+ <listitem>
+ <para>
+ целые чиÑла: размеры cell-маÑÑива, который
+ требуетÑÑ Ñоздать.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ <function>cell</function> возвращает cell-маÑÑив пуÑÑ‚Ñ‹Ñ… матриц.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>cell()</term>
+ <listitem>
+ <para>
+ возвращает cell-маÑÑив размером <literal>0 x 0</literal> пуÑÑ‚Ñ‹Ñ… матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1)</term>
+ <listitem>
+ <para>
+ возвращает cell-маÑÑив размером <literal>m1 x m1)</literal> пуÑÑ‚Ñ‹Ñ… матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1, m2)</term>
+ <listitem>
+ <para>
+ возвращает cell-маÑÑив размером <literal>m1 x m2</literal> пуÑÑ‚Ñ‹Ñ… матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1, m2, ..., mn)</term>
+ <listitem>
+ <para>
+ Ñоздаёт cell-маÑÑив размером <literal>m1 x m2 x ... x mn</literal> пуÑÑ‚Ñ‹Ñ… матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(x)</term>
+ <listitem>
+ <para>
+ возвращает cell-маÑÑив пуÑÑ‚Ñ‹Ñ… матриц у которого Ð¿ÐµÑ€Ð²Ð°Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð½Ð¾ÑÑ‚ÑŒ равна <literal>x(1)</literal>, Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð½Ð¾ÑÑ‚ÑŒ равна <literal>x(2)</literal> и так далее.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ПримечаниÑ</title>
+ <para>
+ У <code>cell(x)</code> не такой же размер, как у <varname>x</varname>.
+ </para>
+ <para>
+ <code>cell()</code> Ñквивалентна <code>cell(0)</code>.
+ </para>
+ <para>
+ ЕÑли <literal>A</literal> ÑвлÑетÑÑ cell-маÑÑивом, то у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ
+ допуÑк к Ñодержимому Ñлемента <literal>A</literal> Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ
+ <code>A(m1, m2, ..., mn).entries</code>. ИнÑтрукциÑ
+ <code>A(1,1) = zeros(2,2)</code> не допуÑтима, правильным
+ ÑинтакÑиÑом ÑвлÑетÑÑ <code>A(1,1).entries = zeros(2,2)</code>.
+ </para>
+ <para>
+ ЕÑли <literal>A</literal> ÑвлÑетÑÑ cell-маÑÑивом, то вы можете получить его размеры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <code>A.dims</code>, которое возвращает значение типа <literal>int32</literal> и которое Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в качеÑтве индекÑа в cell-маÑÑиве. Ð’ Ñтом Ñлучае лучше вÑего иÑпользовать <code>size(A)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+a=cell(3)
+b=cell(3,1)
+c=cell([2,3,4])
+
+// Определение cell-Ñлементов
+b=cell(3,1);
+
+// ПриÑвоение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¼Ñƒ Ñлементу b Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¿Ð¾Ð»Ñ 'entries'
+b(1).entries=1:3
+
+// ПриÑвоение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð¼Ñƒ Ñлементу b Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¿Ð¾Ð»Ñ 'entries'
+b(2).entries='Scilab'
+
+// ПриÑвоение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÑ‚ÑŒÐµÐ¼Ñƒ Ñлементу b Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¿Ð¾Ð»Ñ 'entries'
+b(3).entries=poly(1:3,'s')
+
+// ПриÑвоение cell-подмаÑÑивов
+X=cell(3,2);
+X(:,1)=b
+
+// Выделение cell-подмаÑÑива: результатом ÑвлÑетÑÑ cell-маÑÑив
+b(1)
+b(1:2)
+
+// Выделение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ cell-подмаÑÑива: результатом ÑвлÑетÑÑ Ð¼Ð°ÑÑив
+b(1).entries
+
+// Размеры b в виде Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ int32 (Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в качеÑтве индекÑа)
+b.dims
+// Размеры b в виде Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ double
+size(b)
+
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="eye">eye</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/definedfields.xml b/modules/data_structures/help/ru_RU/definedfields.xml
new file mode 100755
index 000000000..f50b6f11b
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/definedfields.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="definedfields">
+ <refnamediv>
+ <refname>definedfields</refname>
+ <refpurpose>
+ возвращает Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ñ… полей ÑпиÑков
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>k = definedfields(lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ð¸Ð¿Ð° list, tlist или mlist.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>вектор индекÑов.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ ЕÑли <varname>lst</varname> ÑвлÑетÑÑ ÑпиÑком <literal>list</literal>, типизированным ÑпиÑком
+ <literal>tlist</literal>, матричноориентированным ÑпиÑком <literal>mlist</literal>, то <code>k = definedfields(lst)</code> возвращает в <varname>k</varname> индекÑÑ‹ определённых полей ÑпиÑка. Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°, поÑкольку индекÑÐ°Ñ†Ð¸Ñ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ñ… полей формирует ошибку.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+lst=list(1);lst(3)=5
+k=definedfields(lst)
+
+t=tlist('x');t(5)=4
+definedfields(t)
+
+m=mlist(['m','a','b']);m.b='sdfgfgd'
+definedfields(m)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">вÑтавка</link>
+ </member>
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/fieldnames.xml b/modules/data_structures/help/ru_RU/fieldnames.xml
new file mode 100755
index 000000000..722ce99f1
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/fieldnames.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2010 - Digiteo - Vincent LIARD
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="fieldnames">
+ <refnamediv>
+ <refname>fieldnames</refname>
+ <refpurpose>
+ получает имена полей переменных типа tlist, mlist или struct
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>f = fieldnames(lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>
+ типизированный ÑпиÑок (tlist), матричноориентированный ÑпиÑок (mlist) или Ñтруктура (struct).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>вектор-Ñтолбец имён полей.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ <function>fieldnames</function> возвращает имена полей типизированного ÑпиÑка (tlist), матричноориентированного ÑпиÑка (mlist) или Ñтруктуры (struct). Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ <function>fieldnames</function> не работает Ñ cell-маÑÑивами.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+ fieldnames(tlist(['listtype', 'f1', 'f2'], [], []))
+ fieldnames(mlist(['V', 'ключ', 'значение'], ['a' 'b' ; 'c' 'd'], [1 2 ; 3 4]))
+ fieldnames(struct('день', 7, 'меÑÑц', 'ЯÐÐ’ÐРЬ', 'год', 2007))
+ obj.x = 3;
+ obj.y = 3;
+ fieldnames(obj)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/getfield.xml b/modules/data_structures/help/ru_RU/getfield.xml
new file mode 100755
index 000000000..41277d78d
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/getfield.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="getfield">
+ <refnamediv>
+ <refname>getfield</refname>
+ <refpurpose>выделение Ð¿Ð¾Ð»Ñ ÑпиÑка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>[x,...] = getfield(i, l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>матрица любого вÑевозможного типа.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>
+ ÑпиÑок (list), типизированный ÑпиÑок (tlist) или матричноориентированный ÑпиÑок (mlist).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>
+ целое чиÑло: Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ð»Ñ, Ñм. подробноÑти в документации по <link linkend="extraction">выделению</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ ИнÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ <literal>[x,...] = getfield(i, l)</literal> Ñквивалентна <literal>[x,...] = l(i)</literal> Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ñ Ñ Ñ‚Ð¾Ð¹ лишь разницей, что она может также применÑÑ‚ÑŒÑÑ Ðº объектам типа <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+[a,b]=getfield([3 2],l)
+
+a=hypermat([2,2,2],rand(1:2^3));// гиперматрицы кодируютÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ mlist-Ñ‹
+a(1) // Ñлемент a(1,1,1)
+getfield(1,a) // первое поле mlist-а
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/hypermat.xml b/modules/data_structures/help/ru_RU/hypermat.xml
new file mode 100755
index 000000000..1f8298d42
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/hypermat.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="hypermat">
+ <refnamediv>
+ <refname>hypermat</refname>
+ <refpurpose>инициализирует N-мерную матрицу</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>M = hypermat(dims [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims</term>
+ <listitem>
+ <para>вектор размеров гиперматрицы.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>
+ вектор Ñлементов гиперматрицы (значение по умолчанию <code>zeros(prod(dims),1)</code>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ <function>hypermat</function> инициализирует гиперматрицу, чьи
+ размеры заданы в векторе <varname>dims</varname>, а Ñлементы заданы в
+ необÑзательном аргументе <varname>v</varname>.
+ </para>
+ <para>
+ Структура данных <varname>M</varname> Ñодержит вектор размеров
+ матрицы <code>M('dims')</code> и вектор Ñлементов
+ <code>M('entries')</code> такие, что первыми изменÑÑŽÑ‚ÑÑ Ñамые левые
+ индекÑÑ‹ <literal>[M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]</literal>
+ </para>
+ <para>
+ <warning>
+ ЕÑли вы Ñтроите Ñвою ÑобÑтвенную <function>hypermat</function>, то вы
+ должны быть оÑторожны. Элемент <code>M('dims')</code> должен быть
+ вектор-Ñтрокой, а Ñлемент <code>M('entries')</code> должен быть вектор-Ñтолбцом.
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+M = hypermat([2 3 2 2],1:24)
+disp(size(M('dims')))
+disp(size(M('entries')))
+
+M_own = mlist(['hm','dims','entries']);
+M_own('dims') = [2 3 2 2];
+M_own('entries') = [1:24]';
+disp(size(M_own('dims')))
+disp(size(M_own('entries')))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/hypermatrices.xml b/modules/data_structures/help/ru_RU/hypermatrices.xml
new file mode 100755
index 000000000..e38e77a8f
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/hypermatrices.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="hypermatrices">
+ <refnamediv>
+ <refname>hypermatrices</refname>
+ <refpurpose>объект Scilab'а, N-Ð¼ÐµÑ€Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð° в Scilab'е</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Тип гиперматрицы позволÑет манипулировать многомерными маÑÑивами.
+ </para>
+ <para>
+ Они могут быть определены раÑширением двумерных матриц Ñледующим
+ образом <code>a=[1 2;3 4];a(:,:,2)=rand(2,2)</code> или напрÑмую
+ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <function>hypermat</function>.
+ </para>
+ <para>
+ Элементы могут быть вещеÑтвенными или комплекÑными чиÑлами,
+ полиномами, рациональными чиÑлами, Ñтроковыми и логичеÑкими
+ значениÑми.
+ </para>
+ <para>
+ Гиперматрицы ÑвлÑÑŽÑ‚ÑÑ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ‡Ð½Ð¾Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ ÑпиÑками <literal>mlists</literal>:
+ <code>mlist(['hm','dims','entries'],sz,v)</code>, где
+ <literal>sz</literal> - вектор-Ñтрока размеров, а
+ <literal>v</literal> - вектор-Ñтолбец Ñлементов (перваÑ
+ размерноÑÑ‚ÑŒ ÑохранÑетÑÑ Ð¿ÐµÑ€Ð²Ð¾Ð¹).
+ </para>
+ <para>
+ <note>
+ ЧиÑло размерноÑтей гиперматрицы Ñ Ñамыми правыми размерами,
+ равными 1, автоматичеÑки уменьшаетÑÑ. Гиперматрица, у которой
+ только две размерноÑти, автоматичеÑки менÑетÑÑ Ð½Ð° обычную матрицу
+ (тип 1).
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+a(1,1,1,1:2)=[1 2]
+a=[1 2;3 4];a(:,:,2)=rand(2,2)
+a(1,1,:)
+
+size(a)
+
+a(:,:,1) //уменьшение размерноÑти
+type(a(:,:,1))
+
+[a a]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermat">hypermat</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/iscell.xml b/modules/data_structures/help/ru_RU/iscell.xml
new file mode 100755
index 000000000..812c56021
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/iscell.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscell" xml:lang="ru">
+ <refnamediv>
+ <refname>iscell</refname>
+ <refpurpose>проверÑет: ÑвлÑетÑÑ Ð»Ð¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ cell-маÑÑивом</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>bool = iscell(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>логичеÑкое значение.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <code>iscell(x)</code> возвращает <constant>%t</constant>, еÑли
+ <varname>x</varname> ÑвлÑетÑÑ cell-маÑÑивом, и <constant>%f</constant> - в противном Ñлучае.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+iscell(1)
+
+iscell(cell())
+
+c = cell(1,2);
+c(1).entries="Scilab";
+c(2).entries=datenum();
+iscell(c)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/iscellstr.xml b/modules/data_structures/help/ru_RU/iscellstr.xml
new file mode 100755
index 000000000..c246b3dcc
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/iscellstr.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscellstr" xml:lang="ru">
+ <refnamediv>
+ <refname>iscellstr</refname>
+ <refpurpose>проверÑет: ÑвлÑетÑÑ Ð»Ð¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ cell-маÑÑивом Ñтроковых значений</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>bool = iscellstr(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>логичеÑкое значение.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <code>iscellstr(x)</code> возвращает <constant>%t</constant>,
+ еÑли <varname>x</varname> ÑвлÑÐµÑ‚Ñ cell-маÑÑивом Ñтроковых
+ значений (или пуÑтой cell-маÑÑив), и <constant>%f</constant> - в противном Ñлучае.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+iscellstr(1)
+
+iscellstr(cell())
+
+iscellstr(cell(3))
+
+strcell = cell(3,1);
+strcell(1).entries="Scilab";
+strcell(2).entries="iscellstr";
+strcell(3).entries="help";
+iscellstr(strcell)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/isfield.xml b/modules/data_structures/help/ru_RU/isfield.xml
new file mode 100755
index 000000000..3e44bd659
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/isfield.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="isfield">
+ <refnamediv>
+ <refname>isfield</refname>
+ <refpurpose>проверÑет: ÑущеÑтвует ли поле Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем в Ñтруктуре</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>bool = isfield(s, fieldname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>маÑÑив Ñтруктуры.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fieldname</term>
+ <listitem>
+ <para>матрица Ñтрок.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>матрица логичеÑких значений.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ <constant>%t</constant>, еÑли указаннаÑ
+ Ñтруктура <varname>s</varname> Ñодержит поле Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ <varname>fieldname</varname>, не Ð²Ð·Ð¸Ñ€Ð°Ñ Ð½Ð° его значение.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+s = struct("field_1",123,"field_2",456,"field_4",789)
+
+// Single Fieldname Syntax
+isfield( s , "field_1" )
+
+// Multiple Fieldname Syntax
+isfield( s , [ "field_1" "field_2" ; "field_3" "field_4" ] )
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="definedfields">definedfields</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/isstruct.xml b/modules/data_structures/help/ru_RU/isstruct.xml
new file mode 100755
index 000000000..f6a74477b
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/isstruct.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isstruct" xml:lang="ru">
+ <refnamediv>
+ <refname>isstruct</refname>
+ <refpurpose>проверÑет: ÑвлÑетÑÑ Ð»Ð¸ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¼Ð°ÑÑивом-Ñтруктурой</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>bool = isstruct(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>логичеÑкое значение.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <code>isstruct(x)</code> возвращает <constant>%t</constant>, еÑли
+ <varname>x</varname> ÑвлÑетÑÑ Ð¼Ð°ÑÑивом-Ñтруктурой, и <constant>%f</constant> - в противном Ñлучае.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+isstruct(1)
+
+isstruct(cell())
+
+isstruct(struct("name","Scilab", "version", getversion()))
+
+info.name="Scilab";
+info.function="isstruct";
+info.module="help";
+isstruct(info)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/list.xml b/modules/data_structures/help/ru_RU/list.xml
new file mode 100755
index 000000000..02a9c71cd
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/list.xml
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="list">
+ <refnamediv>
+ <refname>list</refname>
+ <refpurpose>объект Scilab'а и Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑпиÑка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>list(a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Создаёт ÑпиÑок <literal>list</literal> Ñ Ñлементами
+ <varname>ai</varname>, которые ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ объектами Scilab'а (<literal>matrix</literal>,
+ <literal>list</literal>,...). Тип объекта <literal>list</literal> равен 15. <code>list()</code>
+ Ñоздаёт пуÑтой ÑпиÑок (0 Ñлементов).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Операции Ñо ÑпиÑками</title>
+ <variablelist>
+ <varlistentry>
+ <term>выделение</term>
+ <listitem>
+ <para>
+ <literal>[x,y,z,...]=L(v)</literal>, где <literal>v</literal> - вектор индекÑов;
+ <literal>[x,y,z,...]=L(:)</literal> выделÑет вÑе Ñлементы.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>вÑтавка на меÑто индекÑа i</term>
+ <listitem>
+ <para>
+ <code>L(i)=a</code> (заметьте, что Ñто не ошибка иÑпользовать <code>L(i)=a</code> Ñ
+ <code><![CDATA[i > 1 + size(L)]]></code>, но
+ некоторые Ñлементы ÑпиÑка тогда не определены, и их
+ выделение вызовет ошибку).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>добавление Ñлемента в хвоÑÑ‚</term>
+ <listitem>
+ <para>
+ <code>L($+1)=e</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>добавление Ñлемента в начало</term>
+ <listitem>
+ <para>
+ <code>L(0)=e</code>.
+ <note>
+ ПоÑле Ñтой операции <literal>e</literal> имеет Ð¸Ð½Ð´ÐµÐºÑ 1, иÑходные Ñлементы будут Ñдвинуты вправо.
+ </note>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>удаление</term>
+ <listitem>
+ <para>
+ <code>L(i)=null()</code> удалÑет <literal>i</literal>-тый Ñлемент ÑпиÑка <literal>L</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ÐºÐ¾Ð½ÐºÐ°Ñ‚ÐµÐ½Ð°Ñ†Ð¸Ñ Ð´Ð²ÑƒÑ… ÑпиÑков</term>
+ <listitem>
+ <para>
+ <code>L3 = lstcat(L1,L2)</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>чиÑло Ñлементов ÑпиÑка</term>
+ <listitem>
+ <para>
+ вы можете иÑпользовать либо <code>nb_elm = size(L)</code>, либо <code>nb_elm = length(L)</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>итерации Ñо ÑпиÑками</term>
+ <listitem>
+ <para>
+ можно иÑпользовать ÑпиÑок <literal>L</literal> в цикле <link linkend="for">for</link>:
+ <literal>for e=L,...,end</literal> - цикл Ñ Ñ‡Ð¸Ñлом
+ итераций <literal>length(L)</literal>, переменнаÑ
+ цикла <literal>e</literal> будет равна <literal>L(i)</literal>
+ на <literal>i</literal>-той итерации.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ПримечаниÑ</title>
+ <para>
+ Scilab предлагает также другие виды ÑпиÑков, тип <link linkend="tlist">tlist</link> (типизированный ÑпиÑок)
+ и тип <link linkend="mlist">mlist</link>
+ (матричноориентированный ÑпиÑок), которые полезны длÑ
+ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ типа данных Ñ Ð¼ÐµÑ…Ð°Ð½Ð¸Ð·Ð¼Ð¾Ð¼
+ <link linkend="overloading">перегрузки</link> операторов
+ (<link linkend="hypermatrices">гиперматрицы</link>, которые
+ ÑвлÑÑŽÑ‚ÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð¼ÐµÑ€Ð½Ñ‹Ð¼Ð¸ маÑÑивами, в Scilab'е на Ñамом деле
+ имеют тип <emphasis>mlist</emphasis>).
+ </para>
+ <para>
+ Также доÑтупны Ñтруктуры <emphasis>struct</emphasis> Matlab'а.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+l = list(1,["a" "b"]) // объÑвление оÑновного ÑпиÑка Ñ Ñлементом типа
+ // double и вектором двух Ñтроковых значений
+size(l) // размер равен 2
+// l(0) - Ðе ÑущеÑтвует!
+l(1) // доÑтуп к значению типа double
+l(2) // доÑтуп к вектору Ñтроковых значений
+size(l(2)) // размер равен 1,2
+
+l(0) = "foo" // вÑтавка в начало ÑпиÑка
+// l(0) - по-прежнему не ÑущеÑтвует
+l(1) // равно "foo"
+
+l($+1) = "hello" // вÑтавка в конец ÑпиÑка
+l(2) = "toto" // перезапиÑÑŒ моего Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° double
+l(3) = rand(1,2) // перезапиÑÑŒ моего вектора Ñтроковых значений
+
+l(3) = null() // удаление третьего Ñлемента
+
+lbis = list("gewurtz", "caipirina" ,"debug") // объÑвление нового ÑпиÑка
+lter = lstcat(l,lbis) // ÑлиÑние двух ÑпиÑков
+size(lter) - size(lbis) - size(l) // должен быть ноль
+
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="lstcat">lstcat</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">вÑтавка</link>
+ </member>
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ <member>
+ <link linkend="size">size</link>
+ </member>
+ <member>
+ <link linkend="length">length</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/lstcat.xml b/modules/data_structures/help/ru_RU/lstcat.xml
new file mode 100755
index 000000000..8ed489de9
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/lstcat.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="lstcat">
+ <refnamediv>
+ <refname>lstcat</refname>
+ <refpurpose>ÐºÐ¾Ð½ÐºÐ°Ñ‚ÐµÐ½Ð°Ñ†Ð¸Ñ ÑпиÑков</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>lc = lstcat(l1, ..., ln)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>li</term>
+ <listitem>
+ <para>ÑпиÑок или иной тип переменной</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lc</term>
+ <listitem>
+ <para>ÑпиÑок</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ ИнÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ <literal>lc = lstcat(l1, ..., ln)</literal>
+ конкатенирует компоненты ÑпиÑки <varname>li</varname> в
+ единый ÑпиÑок <varname>lc</varname>. ЕÑли
+ <varname>li</varname> ÑвлÑÑŽÑ‚ÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ иного типа,
+ то они проÑто добавлÑÑŽÑ‚ÑÑ Ðº результирующему ÑпиÑку.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+lstcat(list(1,2,3),33,list('foo',%s))
+lstcat(1,2,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/matrices.xml b/modules/data_structures/help/ru_RU/matrices.xml
new file mode 100755
index 000000000..d159ffb4c
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/matrices.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="matrices">
+ <refnamediv>
+ <refname>матрицы</refname>
+ <refpurpose>объект Scilab'а, матрицы в Scilab'е</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Матрицы ÑвлÑÑŽÑ‚ÑÑ Ð¾Ñновными объектами, определёнными в Scilab'е.
+ Они могут определÑÑ‚ÑŒÑÑ Ñледующим образом:
+ </para>
+ <programlisting role="no-scilab-exec"><![CDATA[
+E=[e11,e12,...,e1n;
+ e21,e22,...,e2n;
+ ....
+ em1,em2,...,emn];
+ ]]></programlisting>
+ <para>
+ Элементы <literal>eij</literal> могут быть вещеÑтвенными или комплекÑными чиÑлами,
+ полиномами, рациональными дробÑми, Ñтроками, логичеÑкими значениÑми.
+ </para>
+ <para>
+ Векторы предÑтавлÑÑŽÑ‚ÑÑ ÐºÐ°Ðº матрицы Ñ Ð¾Ð´Ð½Ð¾Ð¹ Ñтрокой или одним Ñтолбцом.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+E=[1,2;3,4]
+E=[%T,%F;1==1,1~=1]
+s=poly(0,'s');
+E=[s,s^2;1,1+s]
+E=[1/s,0;s,1/(s+1)]
+E=['A11','A12';'A21','A22']
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ <member>
+ <link linkend="string">string</link>
+ </member>
+ <member>
+ <link linkend="boolean">boolean</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ <member>
+ <link linkend="empty">empty</link>
+ </member>
+ <member>
+ <link linkend="hypermatrices">гиперматрицы</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/mlist.xml b/modules/data_structures/help/ru_RU/mlist.xml
new file mode 100755
index 000000000..0d61267ac
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/mlist.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="mlist">
+ <refnamediv>
+ <refname>mlist</refname>
+ <refpurpose>объект Scilab'а, определение матричноориентированного типизированного ÑпиÑка
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>mlist(typ, a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>вектор Ñимвольных Ñтрок.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ любой объект Scilab'а (матрица, ÑпиÑок, Ñтрока, ...).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Объект <link linkend="mlist">mlist</link> очень похож на объект <link linkend="tlist">tlist</link>.
+ ЕдинÑтвенное отличие каÑаетÑÑ ÑинтакÑиÑа <link linkend="extraction">выделениÑ</link> и
+ <link linkend="insertion">вÑтавки</link>:
+ еÑли <literal>M</literal> ÑвлÑетÑÑ <literal>mlist</literal>'ом, то Ð´Ð»Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ индекÑа <literal>i</literal>, который не ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ полÑ, <literal>M(i)</literal> более не ÑвлÑетÑÑ <literal>i</literal>-тым полем ÑпиÑка.
+ </para>
+ <para>
+ Семантика ÑинтакÑиÑа Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ вÑтавки должна задаватьÑÑ
+ функцией <link linkend="overloading">перегрузки</link>.
+ </para>
+ <para>
+ Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€ÑƒÐ·ÐºÐ¸ Ð´Ð»Ñ ÑинтакÑиÑа Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ <literal>b=a(i1, ..., in)</literal>
+ имеет Ñледующую поÑледовательноÑÑ‚ÑŒ вызова: <literal>b=%&lt;тип_a&gt;_e_(i1, ..., in, a)</literal>.
+ </para>
+ <para>и ÑинтакÑиÑ
+ <literal>[x1, ..., xm]=a(i1, ..., in)</literal> имеет Ñледующую поÑледовательноÑÑ‚ÑŒ вызова:
+ <literal>[x1, ..., xm]=%&lt;тип_a&gt;_e_(i1, ..., in,a)</literal>.
+ </para>
+ <para/>
+ <para>
+ Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€ÑƒÐ·ÐºÐ¸, ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ ÑинтакÑиÑом вÑтавки
+ <literal>a(i1, ..., in)=b</literal> имеет Ñледующую поÑледовательноÑÑ‚ÑŒ вызова:
+ <literal>a=%&lt;тип_b&gt;_i_&lt;тип_a&gt;(i1, ..., in, b, a)</literal>.
+ </para>
+ <para/>
+ <para>
+ ÐŸÐ¾Ð»Ñ <literal>mlist</literal>'а должны тогда обозначатьÑÑ Ð¿Ð¾ их
+ именам. Они также могут обрабатыватьÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функций
+ <function>getfield</function> и <function>setfield</function>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+
+//определение вывода на Ñкран
+function %V_p(M),disp(M.name+':'+string(M.value)),endfunction
+
+//определение операции выделениÑ
+function r=%V_e(varargin)
+ M=varargin($)
+ r=mlist(['V','name','value'],M.name(varargin(1:$-1)),M.value(varargin(1:$-1)))
+endfunction
+
+M(2,:) // Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñтрока M
+M.value
+
+//определение операции вÑтавки
+function M=%V_i_V(varargin)
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N.value
+ M.name(varargin(1:$-2))=N.name
+endfunction
+M(1,1)=M(2,2)
+
+function M=%s_i_V(varargin) //вÑтавка обычной матрицы в матрицу V
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N
+ M.name(varargin(1:$-2))=emptystr(N)
+endfunction
+M(1,1)=44
+
+// в Ñлучае tlist'а
+M=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+M(2)
+M(2)='a'+string([1 2;3 4])
+
+M('name')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="overloading">перегрузка</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/null.xml b/modules/data_structures/help/ru_RU/null.xml
new file mode 100755
index 000000000..7fad3936c
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/null.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="null">
+ <refnamediv>
+ <refname>null</refname>
+ <refpurpose>удаление Ñлемента в ÑпиÑке</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>l(i)=null()</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Удаление объектов внутри ÑпиÑка.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,"foo",3);
+l(2)=null() // получить list(1,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="clear">clear</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
diff --git a/modules/data_structures/help/ru_RU/rlist.xml b/modules/data_structures/help/ru_RU/rlist.xml
new file mode 100755
index 000000000..b7670b2d9
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/rlist.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="rlist">
+ <refnamediv>
+ <refname>rlist</refname>
+ <refpurpose>
+ определение функции рационального Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Scilab
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>rlist()
+ rlist(a1 ,..., an)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <literal>rlist(a1, ..., an)</literal> - ÑÐ¾ÐºÑ€Ð°Ñ‰Ñ‘Ð½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ длÑ
+ <literal>tlist(['r','num';'den','dt'], a1, ..., an)</literal>.
+ </para>
+ <para>
+ <literal>rlist(a1, ..., an)</literal> Ñоздаёт <literal>tlist</literal> Ñ <literal>['r','num';'den','dt']</literal> в качеÑтве первого Ñлемента и <literal>ai</literal>-тыми в качеÑтве поÑледующих Ñлементов, еÑли они еÑÑ‚ÑŒ. Ðад <literal>ai</literal>-тыми Ñлементами не делаетÑÑ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° ни типа ни размера.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+s=poly(0,'s');
+W=[1/s,1/(s+1)]
+W'*W
+Num=[s,s+2;1,s];
+Den=[s*s,s;s,s*s];
+rlist(Num,Den,[])
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="rational">rational</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/setfield.xml b/modules/data_structures/help/ru_RU/setfield.xml
new file mode 100755
index 000000000..86e2bf6c3
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/setfield.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="setfield">
+ <refnamediv>
+ <refname>setfield</refname>
+ <refpurpose>внеÑение Ð¿Ð¾Ð»Ñ ÑпиÑка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>setfield(i, x, l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>матрица вÑевозможного типа.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>
+ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ð¸Ð¿Ð° <literal>list</literal>, <literal>tlist</literal> или <literal>mlist</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>
+ Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ð»Ñ, Ñм. Ñправку по <link linkend="insertion">вÑтавке</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ ÑвлÑетÑÑ Ñквивалентом ÑинтакÑиÑа <code>l(i)=x</code>
+ Ð´Ð»Ñ Ð²Ñтавки Ð¿Ð¾Ð»Ñ Ñ Ñ‚Ð¾Ð¹ лишь разницей, что она также применима к объектам <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+l(1)='Изменён'
+l(0)='Добавлен'
+l(6)=['ещё один';'добавлен']
+
+a=hypermat([2,2,2],rand(1:2^3));// гиперматрицы кодируютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ mlist-ов
+setfield(3,1:8,a);a // уÑтановка Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ñ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ 1:8
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="insertion">вÑтавка</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/struct.xml b/modules/data_structures/help/ru_RU/struct.xml
new file mode 100755
index 000000000..8dc25680f
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/struct.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="struct">
+ <refnamediv>
+ <refname>struct</refname>
+ <refpurpose>Ñоздаёт Ñтруктуру</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>st = struct(field1, value1, field2, value2, ...)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>field1, field2, ...</term>
+ <listitem>
+ <para>Ñтроки, предÑтавлÑющие имена полей.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>value1, value2, ...</term>
+ <listitem>
+ <para>
+ вÑе типы данных (<literal>double</literal>, <literal>char</literal>, <literal>int</literal>, ...), предÑтавлÑющие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ñтруктуру Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ полей
+ <varname>fields1</varname>, <varname>field2</varname>, ..., и значениÑми полей, ÑоответÑтвенно, <varname>value1</varname>, <varname>value2</varname>, ...
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+//Ñоздадим Ñтруктуру данных
+date_st=struct('day',25,'month' ,'DEC','year',2006)
+
+//изменим меÑÑц
+date_st.month='AUG';
+
+//изменим год
+date_st.year=1973;
+
+//изменим день
+date_st.day=19;
+
+//добавим новое поле
+date_st.semaine=32
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/tlist.xml b/modules/data_structures/help/ru_RU/tlist.xml
new file mode 100755
index 000000000..fff6205bd
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/tlist.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="tlist">
+ <refnamediv>
+ <refname>tlist</refname>
+ <refpurpose>объект Scilab'а и определение типизированного ÑпиÑка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>tlist(typ, a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>
+ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока или вектор Ñимвольных Ñтрок.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ любой объект Scilab'а (<literal>matrix</literal>, <literal>list</literal>,
+ <literal>string</literal>, ...).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <literal>tlist(typ, a1, ..., an)</literal> Ñоздаёт типизированный ÑпиÑок <literal>tlist</literal> Ñ Ñлементами <varname>ai</varname>. Ðргумент <varname>typ</varname> определÑет тип ÑпиÑка. Такой типизированный ÑпиÑок позволÑет пользователю определÑÑ‚ÑŒ новые операции, дейÑтвующие над Ñтими объектами через функции Scilab-а. ЕдинÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ñ€Ð°Ð·Ð½Ð¸Ñ†Ð° между <literal>tlist</literal> и <literal>list</literal> ÑоÑтоит в значении типа (16 вмеÑто 15).
+ </para>
+ <para>
+ <code>typ(1)</code> определÑет тип ÑпиÑка (ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… дейÑтвий).
+ </para>
+ <para>
+ ЕÑли Ñто определено, то <code>typ(i)</code> может дать <literal>(i+1)</literal>-тому Ñлементу формальное имÑ.
+ </para>
+ <para>
+ Стандартные операции, определённые над ÑпиÑками <literal>list</literal> работают и типизированными ÑпиÑками <literal>tlist</literal>:
+ </para>
+ <para>
+ извлечение:
+ </para>
+ <para>
+ <literal>[x, y, z, ...]=l(v)</literal>, где <literal>v</literal> - вектор индекÑов;
+ <literal>[x, y, z]=l(:)</literal> извлекает вÑе Ñлементы.
+ </para>
+ <para>
+ вÑтавка:
+ </para>
+ <para>
+ <literal>l(i)=a</literal>
+ </para>
+ <para>
+ удаление:
+ </para>
+ <para>
+ <code>l(i)=null()</code> удалÑет <literal>i</literal>-тый
+ Ñлемент типизированного ÑпиÑка <literal>l</literal>.
+ <note>
+ Заметьте, что Ñемантика инÑтрукции <code>l.x=null()</code> не определена, а определение может быть дано через механизм <link linkend="overloading">перегрузки</link>.
+ </note>
+ </para>
+ <para>
+ вывод на Ñкран.
+ </para>
+ <para>
+ Более того, еÑли <code>typ(2:n+1)</code> определены, то пользователь может обращатьÑÑ Ðº Ñлементам по их именам.
+ </para>
+ <para>
+ Ðиже приводÑÑ‚ÑÑ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ñ‹, где иÑпользуютÑÑ <literal>tlist</literal>.
+ </para>
+ <para>
+ Линейные ÑиÑтемы предÑтавлÑÑŽÑ‚ÑÑ Ð¾Ñобыми типизированными ÑпиÑками, например, Ð»Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ ÑиÑтема <literal>[A,B,C,D]</literal> предÑтавлÑетÑÑ Ñ‚Ð¸Ð¿Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼ ÑпиÑком <code>Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')</code>
+ и Ñтот оÑобый ÑпиÑок можно Ñоздать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <function>syslin</function>.
+ </para>
+ <para>
+ <code>Sys(2)</code>, <code>Sys('A')</code> или <code>Sys.A</code> ÑвлÑетÑÑ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†ÐµÐ¹ ÑоÑтоÑний, а <code>Sys('dt')</code> или <code>Sys.dt</code> ÑвлÑетÑÑ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½<emphasis role="bold" >о</emphasis>й облаÑтью.
+ </para>
+ <para>
+ Матрица рациональных значений <literal>H</literal> предÑтавлÑетÑÑ Ñ‚Ð¸Ð¿Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼ ÑпиÑком
+ <code>H=rlist(Num,Den,[])</code>, где <literal>Num</literal> и <literal>Den</literal> ÑвлÑÑŽÑ‚ÑÑ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°Ð¼Ð¸ полиномов, а Ð»Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ ÑиÑтема непрерывного времени Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¹ матрицей <literal>H</literal> может быть Ñоздана Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <code>syslin('c',H)</code>.
+ </para>
+ <para>
+ <code>H(2)</code>, <code>H('num')</code> или <code>H.num</code> ÑвлÑетÑÑ Ñ‡Ð¸Ñлителем передаточной матрицы.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+// tlist creation
+t = tlist(["listtype","field1","field2"], [], []);
+t.field1(1) = 10;
+t.field1(2) = 20;
+t.field2(1) = "Scilab";
+t.field2(2) = "tlist";
+t.field2(3) = "пример";
+
+// Отображение Ñодержимого полей
+disp(t.field1)
+disp(t.field2)
+
+// Общее отображение типизированного ÑпиÑка
+disp(t)
+
+// Перегрузка Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñтого типа типизированного ÑпиÑка
+function %listtype_p(mytlist)
+ f = fieldnames(mytlist);
+
+ // typeof(mytlist) <=> f(1)
+ mprintf("Отображение типизированного ÑпиÑка типа: %s\n", typeof(mytlist));
+
+ mprintf("\n");
+
+ mprintf("-- Поле ''%s'' --\n", f(1));
+ mprintf("Содержимое: %s\n", sci2exp(mytlist(f(1))));
+
+ mprintf("\n");
+
+ mprintf("-- Поле ''%s'' --\n", f(2));
+ mprintf("Содержимое: %s\n", sci2exp(mytlist(f(2))));
+endfunction
+
+// Отображение Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции перегрузки
+disp(t)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="percent">процент</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/type.xml b/modules/data_structures/help/ru_RU/type.xml
new file mode 100755
index 000000000..234431f02
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/type.xml
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="type">
+ <refnamediv>
+ <refname>type</refname>
+ <refpurpose>возвращает тип переменной</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>[i]=type(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>объект Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>целое чиÑло.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ <code>type(x)</code> возвращает целое чиÑло, которое равно типу <varname>x</varname>:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>матрица вещеÑтвенных или комплекÑных значений удвоенной точноÑти (double).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ матрица <link linkend="poly">полиномов</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>
+ матрица <link linkend="matrices">логичеÑких</link> значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>5</term>
+ <listitem>
+ <para>
+ <link linkend="sparse">разрежённаÑ</link> матрица.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>6</term>
+ <listitem>
+ <para>
+ <link linkend="sparse">разрежённаÑ</link> матрица логичеÑких значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>Ñ€Ð°Ð·Ñ€ÐµÐ¶Ñ‘Ð½Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð° Matlab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>8</term>
+ <listitem>
+ <para>
+ матрица <link linkend="int8">целочиÑленных</link> значений, хранимых в 1 (<literal>int8</literal>), 2 (<literal>int16</literal>) или 4 (<literal>int32</literal>) байтах.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>9</term>
+ <listitem>
+ <para>
+ матрица <link linkend="graphics_entities">графичеÑких деÑкрипторов</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>10</term>
+ <listitem>
+ <para>
+ матрица <link linkend="strings">Ñимвольных Ñтрок</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>11</term>
+ <listitem>
+ <para>
+ Ð½ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ (Scilab-код). ФункциÑ, ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <link linkend="deff">deff</link> Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ <literal>'n'</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>13</term>
+ <listitem>
+ <para>
+ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ <link linkend="function">функциÑ</link> (Scilab code).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>14</term>
+ <listitem>
+ <para>
+ <link linkend="library">библиотека</link> функций.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>15</term>
+ <listitem>
+ <para>
+ ÑпиÑок (<link linkend="list">list</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>16</term>
+ <listitem>
+ <para>
+ типизированный ÑпиÑок (<link linkend="tlist">tlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>17</term>
+ <listitem>
+ <para>
+ матричноориентированный типизированный ÑпиÑок (<link linkend="mlist">mlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>128</term>
+ <listitem>
+ <para>
+ указатель (иÑпользуетÑÑ Ð² <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>129</term>
+ <listitem>
+ <para>
+ размер неÑвного многочлена, иÑпользуемый Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑации.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>130</term>
+ <listitem>
+ <para>
+ вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Scilab'а, Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ñ‚Ð°ÐºÐ¶Ðµ <emphasis role="italic">шлюзом</emphasis> (код C, C++ или Fortran).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>
+ нуль-переменнаÑ. Она главным образом иÑпользуетÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ Scilab'а. ЕÑли Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ðµ имеет объÑвленных возвращаемых аргументов, как например <function>disp</function>, то, когда она вызываетÑÑ, она возвращает нуль-переменную. ЕÑли Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ñ‹Ð·Ð²Ð°Ð½Ð° Ñ Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð½Ñ‹Ð¼ аргументом в ÑпиÑке аргументов, как например <code>foo(a,,b)</code>, то пропущенный аргумент назначаетÑÑ Ð½ÑƒÐ»ÑŒ-переменной.
+ </para>
+ <para>
+ <note>
+ Заметьте, что, еÑли нуль-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡Ð°ÐµÑ‚ÑÑ Ð¸Ð¼ÐµÐ½Ð¸, то оно удалÑетÑÑ.
+ <code>x=disp(1)</code> удалÑет <varname>x</varname>.
+ </note>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <note>
+ ПожалуйÑта, заметьте, что Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… переменных <function>type</function> вернёт <literal>tlist</literal>
+ или <literal>mlist</literal> в завиÑимоÑти от внутренней Ñтруктуры данных. Это так же Ð´Ð»Ñ ÑÐ»ÑƒÑ‡Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹ Ñ
+ <emphasis role="italic">рациональными</emphasis> значениÑми, матрицы Ñ Ñлементами <emphasis role="italic">проÑтранÑтва ÑоÑтоÑний</emphasis>, <emphasis role="italic">гиперматрицы</emphasis> и <emphasis role="italic">Ñтруктуры</emphasis>. ПожалуйÑта, иÑпользуйте вмеÑто Ñтого <link linkend="typeof">typeof</link>.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+a=42;
+type(a)
+
+b=%t;
+type(b)
+
+c="foo"
+type(c)
+
+d=sparse([1,2;4,5;3,10],[1,2,3]);
+type(d)
+
+e = tlist(["listtype","field1","field2"], [], []);
+type(e)
+
+f=poly(0,"s");
+type(f)
+
+g=int8([1 -120 127 312]);
+type(g)
+
+h=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+type(h)
+
+l = list(1,["a" "b"]);
+type(l)
+
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="inttype">inttype</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/typename.xml b/modules/data_structures/help/ru_RU/typename.xml
new file mode 100755
index 000000000..be4394fbd
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/typename.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="typename">
+ <refnamediv>
+ <refname>typename</refname>
+ <refpurpose>ÑвÑзывает Ð¸Ð¼Ñ Ð¸ тип переменной</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>[types [ [,names]]=typename()
+ typename(name, type)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>types</term>
+ <listitem>
+ <para>вектор-Ñтолбец целочиÑленных значений: коды типов каждого из определённых типов данных.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>names</term>
+ <listitem>
+ <para>вектор-Ñтолбец Ñтрок: имена, ÑвÑзанные Ñ ÐºÐ¾Ð´Ð°Ð¼Ð¸ типов.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>type</term>
+ <listitem>
+ <para>целое чиÑло: код типа нового типа данных.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>Ñтроковое значение: имÑ, ÑвÑзанное Ñ ÐºÐ¾Ð´Ð¾Ð¼ типа.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ Перегрузка функции и оператора позволÑет иÑпользовать формальное имÑ, ÑвÑзанное Ñ Ñ‚Ð¸Ð¿Ð°Ð¼Ð¸ данных Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы формировать Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ перегрузки (Ñм. <link linkend="overloading">перегрузку</link>). Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ <function>typename</function> может быть иÑпользована Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтими формальными именами Ð´Ð»Ñ Ð¶Ñ‘Ñтко запрограммированных типов данных (типы данных, запрограммированных Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <literal>tlist</literal> или <literal>mlist</literal>, определÑÑŽÑ‚ÑÑ Ð¿Ð¾-другому, Ñм. <link linkend="overloading">перегрузку</link>).
+ </para>
+ <para>
+ Ð’ Ñлучае вызова без аргументов Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¹ Ñтороны, Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ <function>typename</function> вернёт информацию по определённым типам данных.
+ </para>
+ <para>
+ Ð’ Ñлучае вызова Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¹ Ñтороны, Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ <function>typename</function> ÑвÑжет Ð¸Ð¼Ñ Ð¸ код типа данных.
+ </para>
+ <para>
+ <code>typename('',type)</code> удалÑет тип данных, указанный по его коду <varname>type</varname> из таблицы извеÑтных типов данных.
+ </para>
+ <para>МакÑимальное чиÑло определённых типов 50.</para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+[typs,nams]=typename();
+disp("Первый тип (double) : " + string(typs(1)) + " / " + nams(1));
+typename("mytype",1024);
+[typs,nams]=typename();
+disp(typs($))
+disp(nams($)) // возвращает mytype
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="overloading">перегрузка</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/help/ru_RU/typeof.xml b/modules/data_structures/help/ru_RU/typeof.xml
new file mode 100755
index 000000000..9e1e0e732
--- /dev/null
+++ b/modules/data_structures/help/ru_RU/typeof.xml
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="typeof" xml:lang="ru">
+ <refnamediv>
+ <refname>typeof</refname>
+ <refpurpose>указывает тип объекта</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>ПоÑледовательноÑÑ‚ÑŒ вызова</title>
+ <synopsis>[t]=typeof(object)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Ðргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>object</term>
+ <listitem>
+ <para>объект Scilab'а</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>Ñтроковое значение</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>ОпиÑание</title>
+ <para>
+ ИнÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ <code>t = typeof(object)</code> возвращает одну из Ñледующих Ñтрок:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"constant"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - матрица вещеÑтвенных или комплекÑных значений удвоенной точноÑти.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"polynomial"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> матрица <link linkend="poly">полиномов</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"function"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="function">функциÑ</link> (Scilab-код). См. также <link linkend="deff">deff</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"handle"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="graphics_entities">деÑкриптор</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"string"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - матрица, ÑоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð¸Ð· <link linkend="strings">Ñимвольных Ñтрок</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="matrices">матрица</link> логичеÑких значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"list"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="list">ÑпиÑок</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rational"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - матрица <link linkend="rational">рациональных чиÑел</link> (Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‚Ð¾Ñ‡Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"state-space"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - модель проÑтранÑтва ÑоÑтоÑний (Ñм.<link linkend="syslin">syslin</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"sparse"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - (вещеÑтвеннаÑ) <link linkend="sparse">Ñ€Ð°Ð·Ñ€ÐµÐ¶Ñ‘Ð½Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean sparse"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="sparse">Ñ€Ð°Ð·Ñ€ÐµÐ¶Ñ‘Ð½Ð½Ð°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°</link> логичеÑких значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"hypermat"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="hypermatrices">гиперматрица</link> (<literal>N</literal>-мерный маÑÑив <literal><![CDATA[N<=3]]></literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"st"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="struct">Ñтруктура</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"ce"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="cell">cell</link>-маÑÑив.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"fptr"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Scilab-функциÑ, Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ñ‚Ð°ÐºÐ¶Ðµ <emphasis role="italic">шлюзом</emphasis> (код C, C++ или Fortran).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"pointer"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - указатель (Ñм. <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"size implicit"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - размер неÑвного полинома, иÑпользуемый Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑации. Это чиÑто внутреннее значение.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"library"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - <link linkend="library">библиотека функций</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"int8" или "uint8" или "int16" или "uint16" или "int32" или "uint32"</term>
+ <listitem>
+ <para>
+ еÑли <varname>object</varname> - матрица [беззнаковых] целых чиÑел, хранимых в 8, 16 или 32 битах. (См. <link linkend="int8">int</link>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <note>
+ Заметьте, что, еÑли объект <varname>object</varname> ÑвлÑетÑÑ <link linkend="tlist">tlist</link> или <link linkend="mlist">mlist</link>, то <function>typeof</function> вернёт первое Ñтроковое значение в первом Ñлементе ÑпиÑка.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+typeof(1)
+typeof(poly(0,'x'))
+
+typeof(1/poly(0,'x'))
+typeof(%t)
+
+w=sprand(100,100,0.001);
+typeof(w)
+typeof(w==w)
+
+deff('y=f(x)','y=2*x');
+typeof(f)
+
+L=tlist(['V','a','b'],18,'Scilab');
+typeof(L)
+
+typeof(corelib)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="strings">strings</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
diff --git a/modules/data_structures/includes/dynlib_data_structures.h b/modules/data_structures/includes/dynlib_data_structures.h
new file mode 100755
index 000000000..c4e191f4b
--- /dev/null
+++ b/modules/data_structures/includes/dynlib_data_structures.h
@@ -0,0 +1,28 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2010 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/
+#ifndef __DYNLIB_DATA_STRUCTURES_H__
+#define __DYNLIB_DATA_STRUCTURES_H__
+
+#ifdef _MSC_VER
+#ifdef DATA_STRUCTURES_EXPORTS
+#define DATA_STRUCTURES_IMPEXP __declspec(dllexport)
+#else
+#define DATA_STRUCTURES_IMPEXP __declspec(dllimport)
+#endif
+#else
+#define DATA_STRUCTURES_IMPEXP
+#endif
+
+#endif /* __DYNLIB_DATA_STRUCTURES_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/includes/gw_data_structures1.h b/modules/data_structures/includes/gw_data_structures1.h
new file mode 100755
index 000000000..be65eee1a
--- /dev/null
+++ b/modules/data_structures/includes/gw_data_structures1.h
@@ -0,0 +1,36 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __GW_DATA_STRUCTURES1__
+#define __GW_DATA_STRUCTURES1__
+/*--------------------------------------------------------------------------*/
+#include "machine.h"
+#include "dynlib_data_structures.h"
+/*--------------------------------------------------------------------------*/
+/* it can be called by fortran mklist.f & mkindx.f */
+DATA_STRUCTURES_IMPEXP int C2F(gwdatastructures1)(void);
+DATA_STRUCTURES_IMPEXP int gw_data_structures1(void);
+/*--------------------------------------------------------------------------*/
+int sci_glist(char *fname, unsigned long fname_len);
+int sci_scilist(char *fname, unsigned long fname_len);
+int sci_lsslist(char *fname, unsigned long fname_len);
+int sci_rlist(char *fname, unsigned long fname_len);
+int sci_scitlist(char *fname, unsigned long fname_len);
+int sci_lstcat(char *fname, unsigned long fname_len);
+int sci_scimlist(char *fname, unsigned long fname_len);
+int sci_definedfields(char *fname, unsigned long fname_len);
+int sci_lstsize(char *fname, unsigned long fname_len);
+/*--------------------------------------------------------------------------*/
+#endif /* __GW_DATA_STRUCTURES1__ */
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/data_structures/includes/gw_data_structures2.h b/modules/data_structures/includes/gw_data_structures2.h
new file mode 100755
index 000000000..fe3cda525
--- /dev/null
+++ b/modules/data_structures/includes/gw_data_structures2.h
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __GW_DATA_STRUCTURES2__
+#define __GW_DATA_STRUCTURES2__
+/*--------------------------------------------------------------------------*/
+#include "dynlib_data_structures.h"
+/*--------------------------------------------------------------------------*/
+DATA_STRUCTURES_IMPEXP int gw_data_structures2(void);
+/*--------------------------------------------------------------------------*/
+int sci_getfield(char *fname, unsigned long fname_len);
+int sci_setfield(char *fname, unsigned long fname_len);
+/*--------------------------------------------------------------------------*/
+#endif /* __GW_DATA_STRUCTURES2__ */
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/data_structures/libdummy-data_structures.la b/modules/data_structures/libdummy-data_structures.la
new file mode 100755
index 000000000..8c96e124d
--- /dev/null
+++ b/modules/data_structures/libdummy-data_structures.la
@@ -0,0 +1,41 @@
+# libdummy-data_structures.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname=''
+
+# Names of this library.
+library_names=''
+
+# The name of the static archive.
+old_library='libdummy-data_structures.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libdummy-data_structures.
+current=
+age=
+revision=
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir=''
diff --git a/modules/data_structures/libscidata_structures-algo.la b/modules/data_structures/libscidata_structures-algo.la
new file mode 100755
index 000000000..0863735d7
--- /dev/null
+++ b/modules/data_structures/libscidata_structures-algo.la
@@ -0,0 +1,41 @@
+# libscidata_structures-algo.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname=''
+
+# Names of this library.
+library_names=''
+
+# The name of the static archive.
+old_library='libscidata_structures-algo.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libscidata_structures-algo.
+current=
+age=
+revision=
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir=''
diff --git a/modules/data_structures/libscidata_structures.la b/modules/data_structures/libscidata_structures.la
new file mode 100755
index 000000000..065665189
--- /dev/null
+++ b/modules/data_structures/libscidata_structures.la
@@ -0,0 +1,41 @@
+# libscidata_structures.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname=''
+
+# Names of this library.
+library_names=''
+
+# The name of the static archive.
+old_library='libscidata_structures.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lpthread -ldl -lcurses -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libscidata_structures.
+current=
+age=
+revision=
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir=''
diff --git a/modules/data_structures/license.txt b/modules/data_structures/license.txt
new file mode 100755
index 000000000..deb07ee52
--- /dev/null
+++ b/modules/data_structures/license.txt
@@ -0,0 +1,23 @@
+Copyright:
+Copyright (c) 2008 - DIGITEO
+Copyright (c) 1989-2008 - INRIA
+Copyright (c) 1989-2007 - ENPC
+
+License:
+This module must be used under the terms of the CeCILL.
+This module file is licensed as described in the file COPYING, which
+you should have received as part of this distribution. The terms
+are also available at
+http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+Misc:
+=====
+
+Files: src/c/hmops.c
+
+Copyright: Bruno Pincon
+
+License:
+CeCILL
+
diff --git a/modules/data_structures/locales/ca_ES.po b/modules/data_structures/locales/ca_ES.po
new file mode 100755
index 000000000..fae504612
--- /dev/null
+++ b/modules/data_structures/locales/ca_ES.po
@@ -0,0 +1,109 @@
+# Catalan translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-04-18 18:56+0000\n"
+"Last-Translator: Marc Coll Carrillo <Unknown>\n"
+"Language-Team: Catalan <ca@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: ca\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Massa arguments a la pila, editeu el stack.h i augmenteu el intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: valors incorrectes del paràmetre d'entrada #%d: els elements han de ser "
+"enters no negatius.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr ""
+"%s: el nombre d'entrades no es correspon amb el producte de les dimensions"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: Nombre incorrecte d'arguments d'entrada: Han de ser %d"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Nombre incorrecte d'arguments d'entrada: Han de ser %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser una cadena "
+"de caràcters.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s: El nombre d'arguments d'entrada és incorrecte: Ha de ser un nombre "
+"senar.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: No podeu utilitzar 'dims' com a nom d'un camp.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: Heu definit dos cops el nom de camp '%s'.\n"
diff --git a/modules/data_structures/locales/cs_CZ.po b/modules/data_structures/locales/cs_CZ.po
new file mode 100755
index 000000000..6a15814ef
--- /dev/null
+++ b/modules/data_structures/locales/cs_CZ.po
@@ -0,0 +1,105 @@
+# Czech translation for scilab
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-09-24 16:55+0000\n"
+"Last-Translator: Zbyněk Schwarz <Unknown>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Nelze pÅ™eÄíst vstupní argument #%d.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: Není více paměti.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr "%s: Nelze vytvořit mlist pomocí vstupního argumentu #%d.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr "%s: Nelze vytvořit tlist pomocí vstupního argumentu #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr "%s: Å patný poÄet vstupních argumentů: OÄekáváno alespoň %d.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr "%s: Å patný poÄet vstupních argumentů: oÄekáváno nejvíce %d.\n"
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr "%s: Neplatný index #%d v extrakci hypermatici. "
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr "%s: Neplatné vložení hypermatice.\n"
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Přílíš mnoho argumentů v zásobníku, upravte stack.h a zvětšete intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: Špatné hodnoty vstupního argumentu #%d: Prvky musí být nezáporná celá "
+"Äísla.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: PoÄet vstupů se neshoduje s produktem rozmÄ›rů"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: Å patný poÄet vstupních argumentů: OÄekáváno %d."
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Å patný poÄet vstupních argumentů: OÄekáván %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+"%s: Å patný typ vstupního argumentu #%d: OÄekáváno pole struktury, tlist nebo "
+"mlist.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: Å patný typ vstupního argumentu #%d: OÄekáván Å™etÄ›zec.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr "%s Å patný poÄet vstupních argumentů : je oÄekáván sudý poÄet.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' nemůže být použito jako jméno pole.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: jméno pole '%s' je urÄeno dvakrát.\n"
diff --git a/modules/data_structures/locales/data_structures.pot b/modules/data_structures/locales/data_structures.pot
new file mode 100755
index 000000000..8bb91fd64
--- /dev/null
+++ b/modules/data_structures/locales/data_structures.pot
@@ -0,0 +1,145 @@
+# Localization of the module data_structures
+# Please see in SCI/tools/localization for localization management
+# Copyright (C) 2007-2008 - INRIA
+# Copyright (C) 2008-2011 - DIGITEO
+# Copyright (C) 2012-2014 - Scilab-Enterprises
+# This file is distributed under the same license as the Scilab package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"Last-Translator: Vincent COUVERT <vincent.couvert@scilab-enterprises.com>\n"
+"Language-Team: Scilab Localization <localization@lists.scilab.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Revision-Date: 2015-03-27 13:54+0100\n"
+
+# File: sci_gateway/c/sci_mlist.c, line: 35
+# File: sci_gateway/c/sci_tlist.c, line: 35
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_mlist.c, line: 48
+# File: sci_gateway/c/sci_tlist.c, line: 48
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_mlist.c, line: 60
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr ""
+
+#
+# File: sci_gateway/c/sci_tlist.c, line: 60
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr ""
+
+#
+# File: src/c/hmops.c, line: 778
+# File: src/c/hmops.c, line: 984
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#
+# File: src/c/hmops.c, line: 784
+# File: src/c/hmops.c, line: 991
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#
+# File: src/c/hmops.c, line: 797
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#
+# File: src/c/hmops.c, line: 825
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#
+# File: src/c/hmops.c, line: 1047
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#
+# File: src/c/hmops.c, line: 1059
+# File: src/c/hmops.c, line: 1077
+# File: src/c/hmops.c, line: 1087
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+#
+# File: src/c/stcreate.c, line: 42
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+
+# File: macros/hypermat.sci, line: 21
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+
+#
+# File: macros/hypermat.sci, line: 36
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr ""
+
+#
+# File: macros/iscellstr.sci, line: 16
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr ""
+
+#
+# File: macros/isfield.sci, line: 22
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+
+#
+# File: macros/isfield.sci, line: 27
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#
+# File: macros/isfield.sci, line: 32
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+
+#
+# File: macros/struct.sci, line: 25
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+
+#
+# File: macros/struct.sci, line: 33
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr ""
+
+#
+# File: macros/struct.sci, line: 36
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr ""
diff --git a/modules/data_structures/locales/de_DE.po b/modules/data_structures/locales/de_DE.po
new file mode 100755
index 000000000..ef75a92d9
--- /dev/null
+++ b/modules/data_structures/locales/de_DE.po
@@ -0,0 +1,107 @@
+# German translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2011-09-01 09:37+0000\n"
+"Last-Translator: Keruskerfuerst <armin_mohring@web.de>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: de\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Zu viele Argumente im Stapel, editieren Sie stack.h und vergrößern Sie "
+"intersiz\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: Falsche Werte für das Eingabeargument #%d: die Elemente müssen positive "
+"ganze Zahlen sein.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr ""
+"%s: Anzahl an Einträgen stimmt nicht mit dem Produkt der Dimensionen überein."
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: Falsche Anzahl von Eingangsargumenten: %d erwartet"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Falsche Anzahl von Eingangsargumenten: %d erwartet.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Falscher Typ für Eingangsargument #%d: eine Zeichenkette erwartet.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr "%s: Falsche Anzahl Eingabeargumente: gerade Anzahl erwartet.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' kann nicht als Feldname verwendet werden.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: Feldname '%s' doppelt definiert.\n"
diff --git a/modules/data_structures/locales/es_ES.po b/modules/data_structures/locales/es_ES.po
new file mode 100755
index 000000000..fbd671393
--- /dev/null
+++ b/modules/data_structures/locales/es_ES.po
@@ -0,0 +1,107 @@
+# Spanish translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2011-09-01 09:39+0000\n"
+"Last-Translator: Scilab.team <Unknown>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: es\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Demasiados argumentos en la pila, edite stack.h y aumente intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: Valores incorrectos para el argumento de entrada #%d: Los elementos "
+"deben ser enteros no negativos.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr ""
+"%s: El número de entradas no coincide con el producto de las dimensiones"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: Número incorrecto de argumentos de entrada: Se esperaban %d"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Número incorrecto de argumento(s) de entrada: Se esperaban %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un string.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s: Número incorrecto de argumentos de entrada: se esperaba un número par.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: No puede usarse 'dims' como nombre de campo.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: el nombre del campo '%s' está definido dos veces.\n"
diff --git a/modules/data_structures/locales/fr_FR.po b/modules/data_structures/locales/fr_FR.po
new file mode 100755
index 000000000..fe53e5df5
--- /dev/null
+++ b/modules/data_structures/locales/fr_FR.po
@@ -0,0 +1,110 @@
+# French translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2014-03-11 09:54+0000\n"
+"Last-Translator: Vincent Couvert <Unknown>\n"
+"Language-Team: French <fr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: fr\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s : Impossible de lire l'argument d'entrée n°%d.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s : Plus de mémoire disponible.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr "%s : Impossible de créer une mlist avec l'argument d'entrée n°%d.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr "%s : Impossible de créer une tlist avec l'argument d'entrée n°%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr "%s : Nombre erroné d'arguments d'entrée : %d au moins attendus.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Une hypermatrice attendue.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr "%s : Nombre erroné d'arguments d'entrée : au plus %d attendus.\n"
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr "%s : Index n°%d invalide à l'extraction d'une hypermatrice. "
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr "%s : Index n°%d invalide à l'insertion dans une hypermatrice.\n"
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr "%s : Insertion invalide dans une hypermatrice.\n"
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Trop d'arguments dans la pile, éditez stack.h et augmentez intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s : Valeurs erronées de l'argument d'entrée n°%d : Les éléments doivent "
+"être des entiers positifs.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: Le nombre d'entrées ne correspond pas au produit des dimensions"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s : Nombre erroné d'arguments d'entrée : %d attendus"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s : Nombre erroné d'argument(s) d'entrée : %d attendu(s).\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Une structure, une tlist ou "
+"une mlist attendue.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s : Type erroné de l'argument d'entrée n°%d : Une chaîne de caractères "
+"attendue.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s : Nombre erroné d'argument d'entrée(s) : Un nombre pair est attendu.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' ne peut etre utilisé comme nom de champs.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s : Le champ nommé '%s' est défini deux fois.\n"
diff --git a/modules/data_structures/locales/it_IT.po b/modules/data_structures/locales/it_IT.po
new file mode 100755
index 000000000..2fa1aad02
--- /dev/null
+++ b/modules/data_structures/locales/it_IT.po
@@ -0,0 +1,120 @@
+# Italian translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2015-02-14 21:10+0000\n"
+"Last-Translator: Carml <mighty.carml@gmail.com>\n"
+"Language-Team: Italian <it@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: it\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Impossibile leggere l'argomento in ingresso #%d.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: Memoria esaurita.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr "%s: Impossibile creare una mlist con l'argomento in ingresso #%d.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr "%s: Impossibile creare una tlist con l'argomento in ingresso #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne erano attesi "
+"almeno %d.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una "
+"ipermatrice.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne erano attesi "
+"almeno %d.\n"
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr "%s: L'indice #%d nella estrazione di ipermatrice non è valido. "
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr "%s: L'indice #%d nell'inserimento della ipermatrice non è valido.\n"
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr "%s: Inserimento di ipermatrice non valido.\n"
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Ci sono troppi argomenti nello stack, modificare il file stack.h e allargare "
+"intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d ha dei valori sbagliati: gli elementi devono "
+"essere interi non negativi.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr ""
+"%s: Il numero degli elementi non coincide col prodotto delle dimensioni."
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr ""
+"%s: Il numero di parametri in ingresso è sbagliato: ne erano attesi %d."
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne erano attesi %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era atteso un vettore "
+"di struct o una tlist o una mlist.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una "
+"stringa.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s: Il numero degli argomenti in ingresso è sbagliato: ne era atteso un "
+"numero pari.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' non può essere usato come nome per un campo.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: il nome del campo '%s' è definito due volte.\n"
diff --git a/modules/data_structures/locales/ja_JP.po b/modules/data_structures/locales/ja_JP.po
new file mode 100755
index 000000000..0642b5b8e
--- /dev/null
+++ b/modules/data_structures/locales/ja_JP.po
@@ -0,0 +1,103 @@
+# Japanese translation for scilab
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2014-03-08 14:01+0000\n"
+"Last-Translator: Rui Hirokawa <Unknown>\n"
+"Language-Team: Japanese <z-saito@guitar.ocn.ne.jp>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"X-Poedit-Country: Japan\n"
+"Language: ja\n"
+"X-Poedit-Language: Japanese\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: 入力引数 #%d を読ã¿è¾¼ã‚ã¾ã›ã‚“.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: メモリä¸è¶³ã§ã™.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr "%s: mlist 入力引数 #%d を指定ã—㦠mlist を作æˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr "%s: mlist 入力引数 #%d を指定ã—㦠tlist を作æˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr "%s: 入力引数ã®æ•°ãŒé–“é•ã£ã¦ã„ã¾ã™: %d 以上ã®å¼•æ•°ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr "%s: 入力引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: ãƒã‚¤ãƒ‘ー行列を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr "%s: 入力引数ã®æ•°ãŒé–“é•ã£ã¦ã„ã¾ã™: 最大ã§ã‚‚%d 個ã¨ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr "%s: ãƒã‚¤ãƒ‘ー行列ã®å±•é–‹æ™‚ã®æ·»å­— #%d ãŒç„¡åŠ¹ã§ã™. "
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr "%s: ãƒã‚¤ãƒ‘ー行列挿入時ã®æ·»å­— #%d ãŒç„¡åŠ¹ã§ã™.\n"
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr "%s: ãƒã‚¤ãƒ‘ー行列ã®æŒ¿å…¥ãŒç„¡åŠ¹ã§ã™.\n"
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr "スタック上ã®å¼•æ•°ãŒå¤šã™ãŽã¾ã™. stack.h を編集ã—,intersiz を大ããã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr "%s: 入力引数 #%d ã®å€¤ãŒé–“é•ã£ã¦ã„ã¾ã™: è¦ç´ ã¯éžè² ã®æ•´æ•°ã¨ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: エントリã®æ•°ãŒæ¬¡å…ƒã®ç©ã«ä¸€è‡´ã—ã¦ã„ã¾ã›ã‚“."
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: 入力引数ã®æ•°ãŒé–“é•ã£ã¦ã„ã¾ã™: %d 個ã®å¼•æ•°ã‚’指定ã—ã¦ãã ã•ã„."
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: 入力引数ã®æ•°ã«èª¤ã‚ŠãŒã‚ã‚Šã¾ã™: %d 個ã®å¼•æ•°ã‚’指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr "%s: 入力引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 構造体é…列ã¾ãŸã¯tlistã¾ãŸã¯mlistを指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: 入力引数 #%d ã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™: 文字列を指定ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr "%s: 入力引数ã®æ•°ãŒé–“é•ã£ã¦ã„ã¾ã™: 引数ã®å€‹æ•°ã¯å¶æ•°ã¨ã—ã¦ãã ã•ã„.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' ã¯é …ç›®åã¨ã—ã¦ä½¿ã†ã“ã¨ãŒã§ãã¾ã›ã‚“。\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: フィールドå '%s' ãŒé‡è¤‡ã—ã¦å®šç¾©ã•ã‚Œã¦ã„ã¾ã™.\n"
diff --git a/modules/data_structures/locales/pl_PL.po b/modules/data_structures/locales/pl_PL.po
new file mode 100755
index 000000000..c07906a49
--- /dev/null
+++ b/modules/data_structures/locales/pl_PL.po
@@ -0,0 +1,106 @@
+# Polish translation for scilab
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-10-25 20:47+0000\n"
+"Last-Translator: Grzegorz Szostek <Unknown>\n"
+"Language-Team: Polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: pl\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Nie można wczytać argumentu wejściowego #%d.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: Brak pamięci.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr "%s: Nie można utworzyć mlisty z argumentem wejściowym #%d.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr "%s: Nie można utworzyć tlisty z argumentem wejściowym #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr "Zbyt wiele parametrów w stosie, edytuj stack.k i zwiększ intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: Niewłaściwe wartości dla parametru wejściowego nr %d: Oczekiwano liczb "
+"całkowitych nieujemnych.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: Liczba wejść nie pasuje do iloczynu wymiarów"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: Nieprawidłowa liczba argumentów wejściowych: oczekiwano %d."
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Nieprawidłowa liczba argumentów wejściowych: oczekiwano %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Nieprawidłowy typ argumentu wejściowego nr %d: Oczekiwano łańcuch.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s: Nieprawidłowa liczba argumentów wejściowych : Oczekiwano liczb "
+"parzystych.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' nie może zostać użyte jako nazwa pola.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: Nazwa pola '%s' zdefiniowana jest dwa razy.\n"
diff --git a/modules/data_structures/locales/pt_BR.po b/modules/data_structures/locales/pt_BR.po
new file mode 100755
index 000000000..b2e527349
--- /dev/null
+++ b/modules/data_structures/locales/pt_BR.po
@@ -0,0 +1,108 @@
+# Brazilian Portuguese translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-05-21 17:37+0000\n"
+"Last-Translator: Rafael Neri <Unknown>\n"
+"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: pt_BR\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Não foi possível ler o argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: Memória esgotada.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr ""
+"%s: Não foi possível criar uma mlist com o argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr ""
+"%s: Não foi possível criar uma tlist com o argumento de entrada #%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Muitos argumentos na pilha. Edite stack.h e aumente o valor de intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: Valores incorretos para o argumento de entrada #%d: os elementos devem "
+"ser inteiros não-negativos.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: A quantidade de entradas não confere com o produto das dimensões"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: Quantidade incorreta de argumentos de entrada: esperava-se %d"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Quantidade incorreta de argumentos de entrada: esperava-se %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um texto.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s: Quantidade incorreta de argumentos: esperava-se uma quantidade par.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' não pode ser usado como um nome de campo.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: o nome de campo '%s' foi definido duas vezes.\n"
diff --git a/modules/data_structures/locales/ru_RU.po b/modules/data_structures/locales/ru_RU.po
new file mode 100755
index 000000000..0c772b683
--- /dev/null
+++ b/modules/data_structures/locales/ru_RU.po
@@ -0,0 +1,111 @@
+# Russian translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2014-03-23 13:52+0000\n"
+"Last-Translator: Stanislav V. Kroter <krotersv@gmail.com>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: ru\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: Ðе могу прочитать входной аргумент â„–%d.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: ÐедоÑтаточно памÑти.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr ""
+"%s: Ðе могу Ñоздать матрично-ориентированный ÑпиÑок (mlist) Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ð¼ "
+"аргументом №%d.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr ""
+"%s: Ðе могу Ñоздать типизированный ÑпиÑок (tlist) Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ð¼ аргументом â„–%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr "%s: Ðеверное количеÑтво входных аргументов: ожидалоÑÑŒ не менее %d.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr "%s: Ðеверный тип входного аргумента â„–%d: ОжидалÑÑ Ñ‚Ð¸Ð¿ hypermatrix.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr "%s: Ðеверное количеÑтво входных аргументов: ожидалоÑÑŒ не более %d.\n"
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr "%s: ÐедопуÑтимый Ð¸Ð½Ð´ÐµÐºÑ â„–%d в извлечении из гиперматрицы. "
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr "%s: ÐедопуÑтимый Ð¸Ð½Ð´ÐµÐºÑ â„–%d при вÑтавке в гиперматрицу.\n"
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr "%s: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð²Ñтавка в гиперматрицу.\n"
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Слишком много параметров в Ñтеке, отредактируйте stack.h и увеличьте "
+"intersiz.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: Ðеверное значение входного параметра â„–%d: Ñлементы должны быть целыми "
+"неотрицательными чиÑлами.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: КоличеÑтво Ñлементов не Ñовпадает Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸ÐµÐ¼ размерноÑтей"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: Ðеверное количеÑтво входных параметров: ожидалоÑÑŒ %d"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: Ðеверное количеÑтво входных параметров: ожидалоÑÑŒ %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+"%s: Ðеверный тип входного аргумента â„–%d: ожидалиÑÑŒ struct или tlist или "
+"mlist.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: Ðеверный тип входного параметра â„–%d: ожидалаÑÑŒ Ñтрока.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s: Ðеверное количеÑтво входных параметров: ожидалоÑÑŒ чётное чиÑло.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: «dims» не может быть иÑпользовано в качеÑтве имени полÑ.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ Â«%s» определено дважды.\n"
diff --git a/modules/data_structures/locales/uk_UA.po b/modules/data_structures/locales/uk_UA.po
new file mode 100755
index 000000000..e113177f2
--- /dev/null
+++ b/modules/data_structures/locales/uk_UA.po
@@ -0,0 +1,115 @@
+# Ukrainian translation for scilab
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the scilab package.
+#
+# Yuri Chornoivan <yurchor@gmail.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2014-03-07 19:53+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
+"Language-Team: Ukrainian <translation@linux.org.ua>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: uk\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ вхідний параметр â„–%d.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: доÑтупну пам’ÑÑ‚ÑŒ вичерпано.\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr "%s: не вдалоÑÑ Ñтворити mlist з вхідним параметром â„–%d.\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr "%s: не вдалоÑÑ Ñтворити tlist з вхідним параметром â„–%d.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+"%s: помилкова кількіÑÑ‚ÑŒ вхідних параметрів: мало бути вказано принаймні %d.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра №%d: мало бути вказано гіперматрицю.\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+"%s: помилкова кількіÑÑ‚ÑŒ вхідних параметрів: Ñлід викориÑтовувати не більше "
+"%d.\n"
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+"%s: некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑу â„–%d у видобуванні даних гіперматриці. "
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr "%s: некоректний Ñ–Ð½Ð´ÐµÐºÑ %d у вÑтавці до гіперматриці.\n"
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr "%s: некоректне вÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð³Ñ–Ð¿ÐµÑ€Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ–.\n"
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr ""
+"Занадто багато параметрів у Ñтеці, збільшіть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ intersiz у stack.h.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr ""
+"%s: помилкові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ параметра â„–%d: елементами мають бути "
+"невід’ємні цілі значеннÑ.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: кількіÑÑ‚ÑŒ запиÑів не дорівнює добутку вимірів"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: помилкова кількіÑÑ‚ÑŒ вхідних параметрів: Ñлід викориÑтовувати %d"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: помилкова кількіÑÑ‚ÑŒ вхідних параметрів: мало бути %d.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра â„–%d: мало бути вказано маÑив Ñтруктур, "
+"tlist або mlist.\n"
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr ""
+"%s: помилковий тип вхідного параметра â„–%d: Ñлід викориÑтовувати тип "
+"«string».\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr ""
+"%s: помилкова кількіÑÑ‚ÑŒ вхідних параметрів: Ñлід було вказати парну "
+"кількіÑÑ‚ÑŒ.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: поле не можна називати «dims».\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: поле з назвою «%s» визначено двічі.\n"
diff --git a/modules/data_structures/locales/zh_CN.po b/modules/data_structures/locales/zh_CN.po
new file mode 100755
index 000000000..0a20f2a9a
--- /dev/null
+++ b/modules/data_structures/locales/zh_CN.po
@@ -0,0 +1,101 @@
+# Simplified Chinese translation for scilab
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the scilab package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2012-05-30 09:06+0000\n"
+"Last-Translator: Wesh <Unknown>\n"
+"Language-Team: Simplified Chinese <zh_CN@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: \n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s:ä¸èƒ½è¯»å–第%d个输入å‚数。\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s:内存ä¸è¶³ã€‚\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr "%s:ä¸èƒ½åˆ›å»ºå¸¦ç¬¬%d个输入å‚æ•°çš„mlist。\n"
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr "%s:ä¸èƒ½åˆ›å»ºå¸¦ç¬¬%d个输入å‚æ•°çš„tlist。\n"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr "栈内å‚数太多,请编辑stack.h并增大intersiz。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr "%s:第%d个输入å‚数的值错误:元素必须是éžè´Ÿæ•´æ•°ã€‚\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s:元素的数目和维数的乘积ä¸åŒ¹é…"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s:输入å‚数的数目错误:应该为%d个。"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s:输入å‚数的数目错误:应该为%d。\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s:输入å‚æ•°#%d的类型错误:应该为一个字符串。\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr "%s:输入å‚数的数目错误:应该为å¶æ•°ä¸ªã€‚\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s:‘dims’ä¸èƒ½ç”¨ä½œå­—段å。\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s:字段å‘%s’定义了两次。\n"
diff --git a/modules/data_structures/locales/zh_TW.po b/modules/data_structures/locales/zh_TW.po
new file mode 100755
index 000000000..7dfab3a86
--- /dev/null
+++ b/modules/data_structures/locales/zh_TW.po
@@ -0,0 +1,97 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Scilab\n"
+"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n"
+"POT-Creation-Date: 2013-04-16 17:44+0100\n"
+"PO-Revision-Date: 2013-05-02 15:09+0000\n"
+"Last-Translator: Alvin Tseng <Unknown>\n"
+"Language-Team: Traditional Chinese <zh_TW@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Launchpad (build 17413)\n"
+"Language: \n"
+"Revision-Date: 2011-04-04 22:09+0100\n"
+
+#, c-format
+msgid "%s: Can not read input argument #%d.\n"
+msgstr "%s: 無法讀å–第 #%d 個輸入åƒæ•¸å€¼.\n"
+
+#, c-format
+msgid "%s: No more memory.\n"
+msgstr "%s: 記憶體空間ä¸è¶³ã€‚\n"
+
+#, c-format
+msgid "%s: Can not create a mlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Can not create a tlist with input argument #%d.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at least %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: An hypermatrix expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong number of input arguments: at most %d expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix extraction. "
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid index #%d in hypermatrix insertion.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid hypermatrix insertion.\n"
+msgstr ""
+
+msgid "Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"
+msgstr "堆疊中太多的åƒæ•¸, 編輯 stack.h 檔案並且加大 intersiz. 變數的數值.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong values for input argument #%d: Elements must be non-negative "
+"integers.\n"
+msgstr "%s: 第 #%d 輸入åƒæ•¸çš„數值錯誤: 元素必需是éžè² å€¼æ•´æ•¸.\n"
+
+#, c-format
+msgid "%s: Number of entries does not match product of dimensions"
+msgstr "%s: 部份的輸入值與矩陣乘ç©æ•¸ä¸å»åˆ"
+
+#, c-format
+msgid "%s: Wrong number of input arguments: %d expected"
+msgstr "%s: 輸入åƒæ•¸çš„個數錯誤: 應該有 %d 個"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s): %d expected.\n"
+msgstr "%s: 輸入åƒæ•¸çš„個數錯誤: 應該有 %d 個.\n"
+
+#, c-format
+msgid ""
+"%s: Wrong type for input argument #%d: struct array or tlist or mlist "
+"expected.\n"
+msgstr ""
+
+#, c-format
+msgid "%s: Wrong type for input argument #%d: A string expected.\n"
+msgstr "%s: 第 %d 個輸入åƒæ•¸åž‹æ…‹éŒ¯èª¤: 應該是字串型態.\n"
+
+#, c-format
+msgid "%s: Wrong number of input argument(s) : an even number is expected.\n"
+msgstr "%s:輸入的åƒæ•¸æœ‰èª¤:å¶æ•¸æ‰å°.\n"
+
+#, c-format
+msgid "%s: 'dims' can not be used as a field name.\n"
+msgstr "%s: 'dims' ä¸èƒ½ç”¨æ–¼æ¬„ä½å稱.\n"
+
+#, c-format
+msgid "%s: field name '%s' defined twice.\n"
+msgstr "%s: 欄ä½å稱 '%s' 定義兩次.\n"
diff --git a/modules/data_structures/macros/%_rlist.bin b/modules/data_structures/macros/%_rlist.bin
new file mode 100755
index 000000000..e80d3774a
--- /dev/null
+++ b/modules/data_structures/macros/%_rlist.bin
Binary files differ
diff --git a/modules/data_structures/macros/%_rlist.sci b/modules/data_structures/macros/%_rlist.sci
new file mode 100755
index 000000000..897c46505
--- /dev/null
+++ b/modules/data_structures/macros/%_rlist.sci
@@ -0,0 +1,12 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Adeline CARNIS
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function r = %_rlist(n, d)
+ r = rlist(n, d, []);
+endfunction
diff --git a/modules/data_structures/macros/buildmacros.bat b/modules/data_structures/macros/buildmacros.bat
new file mode 100755
index 000000000..64bdd6d01
--- /dev/null
+++ b/modules/data_structures/macros/buildmacros.bat
@@ -0,0 +1,11 @@
+rem Scilab ( http://mwww.scilab.org/ ) - This file is part of Scilab
+rem Copyright (C) ????-2008 - INRIA - Allan CORNET
+rem
+rem This file must be used under the terms of the CeCILL.
+rem This source file is licensed as described in the file COPYING, which
+rem you should have received as part of this distribution. The terms
+rem are also available at
+rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+@..\..\..\bin\scilex -nwni -ns -e exec('buildmacros.sce');quit; \ No newline at end of file
diff --git a/modules/data_structures/macros/buildmacros.sce b/modules/data_structures/macros/buildmacros.sce
new file mode 100755
index 000000000..a2f2409e1
--- /dev/null
+++ b/modules/data_structures/macros/buildmacros.sce
@@ -0,0 +1,17 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Allan CORNET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+//------------------------------------
+if (isdef("genlib") == %f) then
+ exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce");
+end
+//------------------------------------
+genlib("data_structureslib","SCI/modules/data_structures/macros",%f,%t);
+//------------------------------------
diff --git a/modules/data_structures/macros/cell.bin b/modules/data_structures/macros/cell.bin
new file mode 100755
index 000000000..1ce3ae0b1
--- /dev/null
+++ b/modules/data_structures/macros/cell.bin
Binary files differ
diff --git a/modules/data_structures/macros/cell.sci b/modules/data_structures/macros/cell.sci
new file mode 100755
index 000000000..98f0c006c
--- /dev/null
+++ b/modules/data_structures/macros/cell.sci
@@ -0,0 +1,29 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function c=cell(varargin)
+
+ dims=0;
+ val=list();
+ if size(varargin)==1 & size(varargin(1),"*")>1 then
+ for kd=1:size(varargin(1),"*"),dims(1,kd)=varargin(1)(kd),end
+ for k=1:prod(dims),val(k)=[],end
+ elseif size(varargin)==1 & size(varargin(1),"*")==1 then
+ dims=[varargin(1) varargin(1)]
+ for k=1:prod(dims),val(k)=[],end
+ elseif size(varargin)>0 then
+ for k=1:size(varargin),dims(1,k)=varargin(k),end
+ for k=1:prod(dims),val(k)=[],end
+ end
+
+ if size(dims,"*")<2 then dims(2)=min(1,dims(1));end
+
+ c=mlist(["ce","dims","entries"],int32(matrix(dims,1,-1)),val)
+endfunction
diff --git a/modules/data_structures/macros/cleanmacros.bat b/modules/data_structures/macros/cleanmacros.bat
new file mode 100755
index 000000000..6294097b5
--- /dev/null
+++ b/modules/data_structures/macros/cleanmacros.bat
@@ -0,0 +1,13 @@
+rem Scilab ( http://mwww.scilab.org/ ) - This file is part of Scilab
+rem Copyright (C) ????-2008 - INRIA - Allan CORNET
+rem
+rem This file must be used under the terms of the CeCILL.
+rem This source file is licensed as described in the file COPYING, which
+rem you should have received as part of this distribution. The terms
+rem are also available at
+rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+@del *.bin 2>NUL
+@del lib 2>NUL
+@del names 2>NUL \ No newline at end of file
diff --git a/modules/data_structures/macros/fieldnames.bin b/modules/data_structures/macros/fieldnames.bin
new file mode 100755
index 000000000..17bff8340
--- /dev/null
+++ b/modules/data_structures/macros/fieldnames.bin
Binary files differ
diff --git a/modules/data_structures/macros/fieldnames.sci b/modules/data_structures/macros/fieldnames.sci
new file mode 100755
index 000000000..af3c97450
--- /dev/null
+++ b/modules/data_structures/macros/fieldnames.sci
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2009 - Serge Steer, INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function f=fieldnames(t)
+ if or(type(t)==[16,17]) then
+ if h5isCompound(t) then
+ f=%H5Object_fieldnames(t);
+ else
+ f=matrix(getfield(1,t),-1,1)
+ if f(1)<>"st" then //ignore type
+ f=f(2:$)
+ else //ignore type and dims
+ f=f(3:$)
+ end
+ end
+ else
+ f=[]
+ end
+endfunction
diff --git a/modules/data_structures/macros/hypermat.bin b/modules/data_structures/macros/hypermat.bin
new file mode 100755
index 000000000..43e6646fb
--- /dev/null
+++ b/modules/data_structures/macros/hypermat.bin
Binary files differ
diff --git a/modules/data_structures/macros/hypermat.sci b/modules/data_structures/macros/hypermat.sci
new file mode 100755
index 000000000..bb438218f
--- /dev/null
+++ b/modules/data_structures/macros/hypermat.sci
@@ -0,0 +1,43 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2000-2010 - INRIA - Serge Steer
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function M=hypermat(dims,v)
+ //initialize an hypermatrix whose dimensions are given in the vector dims
+ // all entries are set to 0
+ //
+ // M data structure contains the vector of matrix dimensions M('dims')
+ // and the vector of entries M('entries') such as the leftmost subcripts vary first
+ // [M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]
+ [lhs,rhs]=argn(0)
+ dims=double(dims)
+ if or(floor(dims)<>dims)|or(dims<0) then
+ error(msprintf(_("%s: Wrong values for input argument #%d: Elements must be non-negative integers.\n"),"hypermat",1));
+ end
+ if dims==[]|or(dims==0) then dims=[0 0],end
+
+ if size(dims,"*")==1 then
+ dims=[1 dims],
+ else
+ //remove last dimensions equal to 1
+ nd=size(dims,"*")
+ while nd>2&dims(nd)==1 then nd=nd-1,end
+ dims=dims(1:nd)
+ end
+
+ if argn(2)<2 then v=zeros(prod(dims),1),end
+ if size(v,"*")<> double(prod(dims)) then
+ error(msprintf(gettext("%s: Number of entries does not match product of dimensions"),"hypermat"));
+ end
+ if size(dims,"*")==2 then
+ M=matrix(v,dims)
+ else
+ M=mlist(["hm","dims","entries"],int32(matrix(dims,1,-1)),matrix(v,-1,1))
+ end
+endfunction
diff --git a/modules/data_structures/macros/iscell.bin b/modules/data_structures/macros/iscell.bin
new file mode 100755
index 000000000..cbd7f870d
--- /dev/null
+++ b/modules/data_structures/macros/iscell.bin
Binary files differ
diff --git a/modules/data_structures/macros/iscell.sci b/modules/data_structures/macros/iscell.sci
new file mode 100755
index 000000000..b81a149de
--- /dev/null
+++ b/modules/data_structures/macros/iscell.sci
@@ -0,0 +1,13 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function r=iscell(S)
+ r=typeof(S)=="ce"
+endfunction
diff --git a/modules/data_structures/macros/iscellstr.bin b/modules/data_structures/macros/iscellstr.bin
new file mode 100755
index 000000000..834d04d69
--- /dev/null
+++ b/modules/data_structures/macros/iscellstr.bin
Binary files differ
diff --git a/modules/data_structures/macros/iscellstr.sci b/modules/data_structures/macros/iscellstr.sci
new file mode 100755
index 000000000..2f27fc22c
--- /dev/null
+++ b/modules/data_structures/macros/iscellstr.sci
@@ -0,0 +1,35 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA - Farid BELAHCENE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function bool=iscellstr(c)
+
+ // This function returns 1 if input argument is a cell of strings, else it returns 0.
+ // F.B
+
+ if argn(2)<>1 then
+ error(msprintf(gettext("%s: Wrong number of input arguments: %d expected"),"iscellstr",1));
+ else
+ if isempty(c) then
+ bool=%F;
+ else
+ if typeof(c)=="ce"
+ bool=%T;
+ for i=1:size(c,"*")
+ if typeof(c(i).entries)<>"string" then
+ bool=%F;
+ break
+ end
+ end
+ else
+ bool=%F;
+ end
+ end
+ end
+
+endfunction
diff --git a/modules/data_structures/macros/isfield.bin b/modules/data_structures/macros/isfield.bin
new file mode 100755
index 000000000..c18021d36
--- /dev/null
+++ b/modules/data_structures/macros/isfield.bin
Binary files differ
diff --git a/modules/data_structures/macros/isfield.sci b/modules/data_structures/macros/isfield.sci
new file mode 100755
index 000000000..a833b6901
--- /dev/null
+++ b/modules/data_structures/macros/isfield.sci
@@ -0,0 +1,51 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2004 - INRIA
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+// Copyright (C) 2013 - Samuel GOUGEON : extension to any mlist and tlist
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// This function returns TRUE if "field" is a field of the struct "s" or of
+// the tlist or mlist "s", FALSE otherwise
+
+function r = isfield(s,field)
+
+ r = [];
+
+ rhs = argn(2);
+
+ if rhs <> 2 then
+ msg = _("%s: Wrong number of input argument(s): %d expected.\n")
+ error(msprintf(msg,"isfield",2));
+ end
+
+ if ~or(type(s)==[16 17]) then
+ msg = _("%s: Wrong type for input argument #%d: struct array or tlist or mlist expected.\n")
+ error(msprintf(msg,"isfield",1));
+ end
+
+ if type(field) <> 10 then
+ msg = _("%s: Wrong type for input argument #%d: A string expected.\n")
+ error(msprintf(msg,"isfield",2));
+ end
+
+ [nr,nc] = size(field);
+ fields = getfield(1,s);
+ if isstruct(s) then
+ cancel = 1:2
+ else
+ cancel = 1
+ end
+ fields(cancel) = [];
+
+ for row=1:nr
+ for line=1:nc
+ r(row,line) = or(fields==field(row,line));
+ end
+ end
+
+endfunction
diff --git a/modules/data_structures/macros/isstruct.bin b/modules/data_structures/macros/isstruct.bin
new file mode 100755
index 000000000..c9653198d
--- /dev/null
+++ b/modules/data_structures/macros/isstruct.bin
Binary files differ
diff --git a/modules/data_structures/macros/isstruct.sci b/modules/data_structures/macros/isstruct.sci
new file mode 100755
index 000000000..f0ea87787
--- /dev/null
+++ b/modules/data_structures/macros/isstruct.sci
@@ -0,0 +1,13 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function r=isstruct(S)
+ r=typeof(S)=="st"
+endfunction
diff --git a/modules/data_structures/macros/lib b/modules/data_structures/macros/lib
new file mode 100755
index 000000000..3a3fcb193
--- /dev/null
+++ b/modules/data_structures/macros/lib
Binary files differ
diff --git a/modules/data_structures/macros/names b/modules/data_structures/macros/names
new file mode 100755
index 000000000..4387aa119
--- /dev/null
+++ b/modules/data_structures/macros/names
@@ -0,0 +1,9 @@
+%_rlist
+cell
+fieldnames
+hypermat
+iscell
+iscellstr
+isfield
+isstruct
+struct
diff --git a/modules/data_structures/macros/struct.bin b/modules/data_structures/macros/struct.bin
new file mode 100755
index 000000000..9c202d285
--- /dev/null
+++ b/modules/data_structures/macros/struct.bin
Binary files differ
diff --git a/modules/data_structures/macros/struct.sci b/modules/data_structures/macros/struct.sci
new file mode 100755
index 000000000..6ae836156
--- /dev/null
+++ b/modules/data_structures/macros/struct.sci
@@ -0,0 +1,77 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA - Vincent COUVERT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function s=struct(varargin)
+ // Equivalent for Matlab struct function
+
+ rhs=argn(2)
+
+ fields=["st","dims"];
+
+ if rhs==0 then
+ // No Matlab equivalent
+ s=mlist(fields,int32([0,0]))
+ return
+ end
+
+ if floor(rhs/2)*2<>rhs then
+ error(msprintf(gettext("%s: Wrong number of input argument(s) : an even number is expected.\n"),"struct"));
+ end
+
+ nbfields=size(varargin)/2
+
+ dims=[]
+ for kf=1:2:size(varargin)
+ if varargin(kf)=="dims" then
+ error(msprintf(gettext("%s: ''dims'' can not be used as a field name.\n"),"struct"));
+ end
+ if or(varargin(kf)==fields(2:$)) then
+ error(msprintf(gettext("%s: field name ''%s'' defined twice.\n"),"struct",varargin(kf)));
+ end
+ fields=[fields varargin(kf)]
+ end
+
+ dims=[1 1]
+ // Search struct size
+ for kf=2:2:size(varargin)
+ if typeof(varargin(kf))=="ce" then
+ if or(double(varargin(kf).dims)<>[1 1]) then
+ dims=varargin(kf).dims
+ break
+ end
+ end
+ end
+ s=mlist(fields,int32(dims))
+
+ // Search if one value is a scalar cell
+ fnb=3
+ for kf=2:2:size(varargin)
+ if typeof(varargin(kf))<>"ce" then
+ value=list()
+ for kk=1:prod(double(dims))
+ value(kk)=varargin(kf)
+ end
+ elseif and(double(varargin(kf).dims)==[1 1]) then
+ value=list()
+ for kk=1:prod(double(dims))
+ value(kk)=varargin(kf).entries
+ end
+ else
+ value=varargin(kf).entries
+ end
+ if prod(double(dims))==1 then
+ setfield(fnb,value(1),s)
+ else
+ setfield(fnb,value,s)
+ end
+ fnb=fnb+1
+ end
+
+endfunction
diff --git a/modules/data_structures/sci_gateway/c/.deps/.dirstamp b/modules/data_structures/sci_gateway/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/.dirstamp
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures1.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures1.Plo
new file mode 100755
index 000000000..49275a2c3
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures1.Plo
@@ -0,0 +1,289 @@
+sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo: \
+ sci_gateway/c/gw_data_structures1.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h \
+ ../../modules/core/includes/callFunctionFromGateway.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/core/includes/callFunctionFromGateway.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures2.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures2.Plo
new file mode 100755
index 000000000..53d7c91b9
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-gw_data_structures2.Plo
@@ -0,0 +1,284 @@
+sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo: \
+ sci_gateway/c/gw_data_structures2.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ includes/gw_data_structures2.h includes/dynlib_data_structures.h \
+ ../../modules/core/includes/callFunctionFromGateway.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_data_structures2.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/core/includes/callFunctionFromGateway.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_definedfields.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_definedfields.Plo
new file mode 100755
index 000000000..588ea6f6d
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_definedfields.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_definedfields.lo: \
+ sci_gateway/c/sci_definedfields.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_getfield.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_getfield.Plo
new file mode 100755
index 000000000..f3f14a8c8
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_getfield.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_getfield.lo: \
+ sci_gateway/c/sci_getfield.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/machine.h includes/gw_data_structures2.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/machine.h:
+
+includes/gw_data_structures2.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_glist.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_glist.Plo
new file mode 100755
index 000000000..e56bcb021
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_glist.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_glist.lo: \
+ sci_gateway/c/sci_glist.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_list.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_list.Plo
new file mode 100755
index 000000000..1302c9e8f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_list.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_list.lo: \
+ sci_gateway/c/sci_list.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lsslist.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lsslist.Plo
new file mode 100755
index 000000000..2b7097c3f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lsslist.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_lsslist.lo: \
+ sci_gateway/c/sci_lsslist.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstcat.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstcat.Plo
new file mode 100755
index 000000000..6553b5191
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstcat.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_lstcat.lo: \
+ sci_gateway/c/sci_lstcat.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstsize.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstsize.Plo
new file mode 100755
index 000000000..7fac98c5f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_lstsize.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_lstsize.lo: \
+ sci_gateway/c/sci_lstsize.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_mlist.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_mlist.Plo
new file mode 100755
index 000000000..1250384a3
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_mlist.Plo
@@ -0,0 +1,293 @@
+sci_gateway/c/libscidata_structures_la-sci_mlist.lo: \
+ sci_gateway/c/sci_mlist.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_rlist.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_rlist.Plo
new file mode 100755
index 000000000..379a92d70
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_rlist.Plo
@@ -0,0 +1,273 @@
+sci_gateway/c/libscidata_structures_la-sci_rlist.lo: \
+ sci_gateway/c/sci_rlist.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_setfield.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_setfield.Plo
new file mode 100755
index 000000000..bd496a49f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_setfield.Plo
@@ -0,0 +1,12 @@
+sci_gateway/c/libscidata_structures_la-sci_setfield.lo: \
+ sci_gateway/c/sci_setfield.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
diff --git a/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_tlist.Plo b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_tlist.Plo
new file mode 100755
index 000000000..d40e10cb2
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.deps/libscidata_structures_la-sci_tlist.Plo
@@ -0,0 +1,293 @@
+sci_gateway/c/libscidata_structures_la-sci_tlist.lo: \
+ sci_gateway/c/sci_tlist.c /usr/include/stdc-predef.h \
+ includes/gw_data_structures1.h ../../modules/core/includes/machine.h \
+ includes/dynlib_data_structures.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_data_structures1.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/data_structures/sci_gateway/c/.dirstamp b/modules/data_structures/sci_gateway/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.dirstamp
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures1.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures1.o
new file mode 100755
index 000000000..e20ea744e
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures1.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures2.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures2.o
new file mode 100755
index 000000000..a68ab37b9
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-gw_data_structures2.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_definedfields.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_definedfields.o
new file mode 100755
index 000000000..97d3bb11c
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_definedfields.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_getfield.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_getfield.o
new file mode 100755
index 000000000..903437064
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_getfield.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_glist.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_glist.o
new file mode 100755
index 000000000..35c50f5dd
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_glist.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_list.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_list.o
new file mode 100755
index 000000000..901c040d3
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_list.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lsslist.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lsslist.o
new file mode 100755
index 000000000..3585b8423
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lsslist.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstcat.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstcat.o
new file mode 100755
index 000000000..e7b6a7c69
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstcat.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstsize.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstsize.o
new file mode 100755
index 000000000..cbe847cb6
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_lstsize.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_mlist.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_mlist.o
new file mode 100755
index 000000000..781f6f3d2
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_mlist.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_rlist.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_rlist.o
new file mode 100755
index 000000000..f3a34e81b
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_rlist.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_setfield.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_setfield.o
new file mode 100755
index 000000000..059494b7b
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_setfield.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_tlist.o b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_tlist.o
new file mode 100755
index 000000000..ef9df8639
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/.libs/libscidata_structures_la-sci_tlist.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/c/gw_data_structures1.c b/modules/data_structures/sci_gateway/c/gw_data_structures1.c
new file mode 100755
index 000000000..ac567034c
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/gw_data_structures1.c
@@ -0,0 +1,57 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_data_structures1.h"
+#include "callFunctionFromGateway.h"
+#include "api_scilab.h"
+#include "MALLOC.h"
+#include "Scierror.h"
+/*--------------------------------------------------------------------------*/
+static gw_generic_table Tab[] =
+{
+ {sci_scilist, "list"},
+ {sci_scitlist, "tlist"},
+ {sci_rlist, "rlist"},
+ {sci_lsslist, "lsslist"},
+ {sci_glist, "glist"},
+ {sci_lstcat, "lstcat"},
+ {sci_scimlist, "mlist"},
+ {sci_definedfields, "definedfields"},
+ {sci_lstsize, "lstsize"}
+};
+/*--------------------------------------------------------------------------*/
+int gw_data_structures1(void)
+{
+ Rhs = Max(Rhs, 0);
+ if (Top - Rhs + Lhs + 1 >= Bot)
+ {
+ SciError(18);
+ return 0;
+ }
+
+ if (pvApiCtx == NULL)
+ {
+ pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx));
+ }
+
+ pvApiCtx->pstName = (char*)Tab[Fin - 1].name;
+ callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab));
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int C2F(gwdatastructures1)(void)
+{
+ return gw_data_structures1();
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/gw_data_structures2.c b/modules/data_structures/sci_gateway/c/gw_data_structures2.c
new file mode 100755
index 000000000..213965177
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/gw_data_structures2.c
@@ -0,0 +1,46 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_data_structures2.h"
+#include "callFunctionFromGateway.h"
+#include "api_scilab.h"
+#include "MALLOC.h"
+#include "Scierror.h"
+/*--------------------------------------------------------------------------*/
+static gw_generic_table Tab[] =
+{
+ {sci_getfield, "getfield"},
+ {sci_setfield, "setfield"}
+};
+/*--------------------------------------------------------------------------*/
+int gw_data_structures2(void)
+{
+ Rhs = Max(Rhs, 0);
+ if (Top - Rhs + Lhs + 1 >= Bot)
+ {
+ static int codeerror = 18;
+ SciError(codeerror);
+ return 0;
+ }
+
+ if (pvApiCtx == NULL)
+ {
+ pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx));
+ }
+
+ pvApiCtx->pstName = (char*)Tab[Fin - 1].name;
+ callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab));
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo
new file mode 100755
index 000000000..4e8f2e0db
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-gw_data_structures1.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-gw_data_structures1.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo
new file mode 100755
index 000000000..9e75f1a86
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-gw_data_structures2.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-gw_data_structures2.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_definedfields.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_definedfields.lo
new file mode 100755
index 000000000..1cf3b75b0
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_definedfields.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_definedfields.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_definedfields.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_getfield.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_getfield.lo
new file mode 100755
index 000000000..9e3b3d0be
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_getfield.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_getfield.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_getfield.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_glist.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_glist.lo
new file mode 100755
index 000000000..dcb345318
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_glist.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_glist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_glist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_list.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_list.lo
new file mode 100755
index 000000000..6b3c90d00
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_list.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_list.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_list.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lsslist.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lsslist.lo
new file mode 100755
index 000000000..ca62e0b40
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lsslist.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_lsslist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_lsslist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstcat.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstcat.lo
new file mode 100755
index 000000000..b0974beba
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstcat.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_lstcat.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_lstcat.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstsize.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstsize.lo
new file mode 100755
index 000000000..efe3ea002
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_lstsize.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_lstsize.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_lstsize.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_mlist.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_mlist.lo
new file mode 100755
index 000000000..0925b2f0d
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_mlist.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_mlist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_mlist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_rlist.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_rlist.lo
new file mode 100755
index 000000000..ab1d914a9
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_rlist.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_rlist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_rlist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_setfield.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_setfield.lo
new file mode 100755
index 000000000..5509013e6
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_setfield.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_setfield.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_setfield.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_tlist.lo b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_tlist.lo
new file mode 100755
index 000000000..d2fff38a1
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/libscidata_structures_la-sci_tlist.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscidata_structures_la-sci_tlist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_la-sci_tlist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/c/sci_definedfields.c b/modules/data_structures/sci_gateway/c/sci_definedfields.c
new file mode 100755
index 000000000..90490260b
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_definedfields.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(definedfields)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_definedfields(char *fname, unsigned long fname_len)
+{
+ C2F(definedfields)();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_getfield.c b/modules/data_structures/sci_gateway/c/sci_getfield.c
new file mode 100755
index 000000000..7696e458e
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_getfield.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "machine.h"
+#include "gw_data_structures2.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intgetfield)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_getfield(char *fname, unsigned long fname_len)
+{
+ C2F(intgetfield)();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_glist.c b/modules/data_structures/sci_gateway/c/sci_glist.c
new file mode 100755
index 000000000..b4557427f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_glist.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(gratyp)(); /* fortran */
+extern int C2F(mtlist)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_glist(char *fname, unsigned long fname_len)
+{
+ C2F(mtlist)(C2F(gratyp));
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_list.c b/modules/data_structures/sci_gateway/c/sci_list.c
new file mode 100755
index 000000000..9b496b26c
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_list.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(scilist)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_scilist(char *fname, unsigned long fname_len)
+{
+ C2F(scilist)(fname, fname_len);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_lsslist.c b/modules/data_structures/sci_gateway/c/sci_lsslist.c
new file mode 100755
index 000000000..fab2c5b3c
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_lsslist.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(lsstyp)(); /* fortran */
+extern int C2F(mtlist)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_lsslist(char *fname, unsigned long fname_len)
+{
+ C2F(mtlist)(C2F(lsstyp));
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_lstcat.c b/modules/data_structures/sci_gateway/c/sci_lstcat.c
new file mode 100755
index 000000000..14b2306f3
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_lstcat.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intlstcat)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_lstcat(char *fname, unsigned long fname_len)
+{
+ C2F(intlstcat)();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_lstsize.c b/modules/data_structures/sci_gateway/c/sci_lstsize.c
new file mode 100755
index 000000000..6cb7ea253
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_lstsize.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intlstsize)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_lstsize(char *fname, unsigned long fname_len)
+{
+ C2F(intlstsize)();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_mlist.c b/modules/data_structures/sci_gateway/c/sci_mlist.c
new file mode 100755
index 000000000..317b7836f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_mlist.c
@@ -0,0 +1,68 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+#include "api_scilab.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(scilist)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_scimlist(char *fname, unsigned long fname_len)
+{
+ if (Rhs >= 1)
+ {
+#define RLIST_FIELDNAME "r"
+ SciErr sciErr;
+ int *piAddressVarOne = NULL;
+
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (isStringType(pvApiCtx, piAddressVarOne))
+ {
+ int m = 0;
+ int n = 0;
+ char **pStrs = NULL;
+ BOOL bIsRfield = FALSE;
+
+ if (getAllocatedMatrixOfString(pvApiCtx, piAddressVarOne, &m, &n, &pStrs) != 0)
+ {
+ Scierror(999, _("%s: No more memory.\n"), fname);
+ return 0;
+ }
+
+ bIsRfield = (BOOL)(strcmp(pStrs[0], RLIST_FIELDNAME) == 0);
+ freeAllocatedMatrixOfString(m, n, pStrs);
+ pStrs = NULL;
+
+ // it is not allowed to create a mlist of type 'r'
+ // 'r' type reserved to rlist
+ if (bIsRfield)
+ {
+ Scierror(999, _("%s: Can not create a mlist with input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+ }
+ }
+ C2F(scilist)(fname, fname_len);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_rlist.c b/modules/data_structures/sci_gateway/c/sci_rlist.c
new file mode 100755
index 000000000..5ff6056f7
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_rlist.c
@@ -0,0 +1,39 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+#include <api_scilab.h>
+/*--------------------------------------------------------------------------*/
+extern int C2F(rattyp)(); /* fortran */
+extern int C2F(mtlist)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_rlist(char *fname, unsigned long fname_len)
+{
+
+ CheckInputArgument(pvApiCtx, 0, 3);
+
+ if (nbInputArgument(pvApiCtx) == 2)
+ {
+ int lw = 0;
+ C2F(overload)(&lw, fname, fname_len);
+ return 0;
+ }
+ else
+ {
+ C2F(mtlist)(C2F(rattyp));
+ return 0;
+ }
+
+
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_setfield.c b/modules/data_structures/sci_gateway/c/sci_setfield.c
new file mode 100755
index 000000000..6d48703e0
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_setfield.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intsetfield)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+int sci_setfield(char *fname, unsigned long fname_len)
+{
+ C2F(intsetfield)();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/c/sci_tlist.c b/modules/data_structures/sci_gateway/c/sci_tlist.c
new file mode 100755
index 000000000..2480519d5
--- /dev/null
+++ b/modules/data_structures/sci_gateway/c/sci_tlist.c
@@ -0,0 +1,68 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#include "gw_data_structures1.h"
+#include "api_scilab.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(scilist)();
+/*--------------------------------------------------------------------------*/
+int sci_scitlist(char *fname, unsigned long fname_len)
+{
+ if (Rhs >= 1)
+ {
+#define RLIST_FIELDNAME "r"
+ SciErr sciErr;
+ int *piAddressVarOne = NULL;
+
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (isStringType(pvApiCtx, piAddressVarOne))
+ {
+ int m = 0;
+ int n = 0;
+ char **pStrs = NULL;
+ BOOL bIsRfield = FALSE;
+
+ if (getAllocatedMatrixOfString(pvApiCtx, piAddressVarOne, &m, &n, &pStrs) != 0)
+ {
+ Scierror(999, _("%s: No more memory.\n"), fname);
+ return 0;
+ }
+
+ bIsRfield = (BOOL)(strcmp(pStrs[0], RLIST_FIELDNAME) == 0);
+ freeAllocatedMatrixOfString(m, n, pStrs);
+ pStrs = NULL;
+
+ // it is not allowed to create a tlist of type 'r'
+ // 'r' type reserved to rlist
+ if (bIsRfield)
+ {
+ Scierror(999, _("%s: Can not create a tlist with input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+ }
+ }
+ C2F(scilist)(fname, fname_len);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/sci_gateway/data_structures_gateway.xml b/modules/data_structures/sci_gateway/data_structures_gateway.xml
new file mode 100755
index 000000000..34b58e3e3
--- /dev/null
+++ b/modules/data_structures/sci_gateway/data_structures_gateway.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Sylvestre LEDRU
+ * Copyright (C) 2007-2008 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd">
+<GATEWAY name="data_structures">
+ <!-- =================== -->
+ <!--
+ Scilab
+ Interface description. In this file, we define the list of the function which
+ will be available into Scilab and the link to the "native" function.
+
+ gatewayId is the position in the hashtable 'Interfaces' defined in the
+ file SCI/modules/core/src/c/callinterf.h
+
+ primitiveId is the position in the hashtable '<module>Table Tab[]' defined
+ in the file modules/<module>/sci_gateway/c/gw_<module>.c
+
+ primitiveName is the name of the Scilab function
+
+ ===================
+ Don't touch if you do not know what you are doing
+-->
+ <!-- =================== -->
+
+ <PRIMITIVE gatewayId="17" primitiveId="1" primitiveName="list" />
+ <PRIMITIVE gatewayId="17" primitiveId="2" primitiveName="tlist" />
+ <PRIMITIVE gatewayId="17" primitiveId="3" primitiveName="rlist" />
+ <PRIMITIVE gatewayId="17" primitiveId="4" primitiveName="lsslist" />
+ <PRIMITIVE gatewayId="17" primitiveId="5" primitiveName="glist" />
+ <PRIMITIVE gatewayId="17" primitiveId="6" primitiveName="lstcat" />
+ <PRIMITIVE gatewayId="17" primitiveId="7" primitiveName="mlist" />
+ <PRIMITIVE gatewayId="17" primitiveId="8" primitiveName="definedfields" />
+ <PRIMITIVE gatewayId="17" primitiveId="9" primitiveName="lstsize" />
+ <PRIMITIVE gatewayId="41" primitiveId="1" primitiveName="getfield" />
+ <PRIMITIVE gatewayId="41" primitiveId="2" primitiveName="setfield" />
+</GATEWAY>
diff --git a/modules/data_structures/sci_gateway/fortran/.deps/.dirstamp b/modules/data_structures/sci_gateway/fortran/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.deps/.dirstamp
diff --git a/modules/data_structures/sci_gateway/fortran/.dirstamp b/modules/data_structures/sci_gateway/fortran/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.dirstamp
diff --git a/modules/data_structures/sci_gateway/fortran/.libs/sci_f_definedfields.o b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_definedfields.o
new file mode 100755
index 000000000..d37b09115
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_definedfields.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/fortran/.libs/sci_f_getfield.o b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_getfield.o
new file mode 100755
index 000000000..a24a89753
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_getfield.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/fortran/.libs/sci_f_list.o b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_list.o
new file mode 100755
index 000000000..1475df3bf
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_list.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/fortran/.libs/sci_f_lstcat.o b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_lstcat.o
new file mode 100755
index 000000000..149b8cac4
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_lstcat.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/fortran/.libs/sci_f_lstsize.o b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_lstsize.o
new file mode 100755
index 000000000..bdf7bff7f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_lstsize.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/fortran/.libs/sci_f_setfield.o b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_setfield.o
new file mode 100755
index 000000000..0d0de9346
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/.libs/sci_f_setfield.o
Binary files differ
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_definedfields.f b/modules/data_structures/sci_gateway/fortran/sci_f_definedfields.f
new file mode 100755
index 000000000..c3d6036c3
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_definedfields.f
@@ -0,0 +1,67 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine definedfields
+c returns index of defined fields of a list
+ include 'stack.h'
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if (rhs .ne. 1) then
+ call error(39)
+ return
+ endif
+ if (lhs .ne. 1) then
+ call error(41)
+ return
+ endif
+c
+ lw=lstk(top+1)
+ il=iadr(lstk(top))
+ ilr=il
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).lt.15.or.istk(il).gt.17) then
+ err=1
+ call error(44)
+ return
+ endif
+ n=istk(il+1)
+
+ err=lw+n-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ il=il+2
+ l=lw
+ do 10 i=1,n
+ if(istk(il+1)-istk(il).gt.0) then
+ stk(l)=i
+ l=l+1
+ endif
+ il=il+1
+ 10 continue
+ n=l-lw
+ l=sadr(ilr+4)
+ if(n.gt.0) then
+ if(l.lt.lw) then
+ call unsfdcopy(n,stk(lw),1,stk(l),1)
+ else
+ call unsfdcopy(n,stk(lw),-1,stk(l),-1)
+ endif
+ endif
+ istk(ilr)=1
+ istk(ilr+1)=min(1,n)
+ istk(ilr+2)=n
+ istk(ilr+3)=0
+ lstk(top+1)=l+n
+ return
+ end
+
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_definedfields.lo b/modules/data_structures/sci_gateway/fortran/sci_f_definedfields.lo
new file mode 100755
index 000000000..1ee197a3f
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_definedfields.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_definedfields.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_definedfields.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_getfield.f b/modules/data_structures/sci_gateway/fortran/sci_f_getfield.f
new file mode 100755
index 000000000..7d2a56b1d
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_getfield.f
@@ -0,0 +1,212 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intgetfield()
+ include 'stack.h'
+ integer vol2,vol1
+ integer strpos
+ external strpos
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if (rhs .lt. 1) then
+ call error(39)
+ return
+ endif
+ lw=lstk(top+1)
+c
+c extraction
+ 10 continue
+ if(rhs.ne.2) then
+ call error(39)
+ return
+ endif
+c arg2(arg1)
+c get arg2
+ il2=iadr(lstk(top))
+ if(istk(il2).lt.0) il2=iadr(istk(il2+1))
+ if(istk(il2).lt.15.or.istk(il2).gt.17) then
+ err=2
+ call error(56)
+ return
+ endif
+ m2=istk(il2+1)
+ id2=il2+3
+ l2=sadr(il2+m2+3)
+c get arg1
+ top=top-1
+ il1=iadr(lstk(top))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ m1=istk(il1+1)
+ ilist=0
+ nlist=0
+ if(istk(il1).eq.15) then
+ ill=il1
+ nlist=m1
+ ll=sadr(ill+3+nlist)
+ ilist=1
+ il1=iadr(ll+istk(ill+1+ilist)-1)
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ m1=istk(il1+1)
+ endif
+c
+ 15 continue
+c
+ if(istk(il1).ne.10) goto 20
+c . arg2(arg1) with arg1 vector of strings
+ ilt=iadr(sadr(il2+istk(il2+1)+3))
+ nt=istk(ilt+1)*istk(ilt+2)
+ if(nt.ne.1) goto 17
+c . Soft coded extraction
+ buf='Soft coded field names not yet implemented'
+ call error(999)
+ return
+
+ 17 continue
+c arg2(arg1) arg1:string, hard coded case
+ if(istk(il1+1).gt.1.and.istk(il1+2).gt.1) then
+ call error(21)
+ return
+ endif
+ n1=istk(il1+1)*istk(il1+2)
+ ili=iadr(lw)
+ lw=sadr(ili+n1)
+ err=lw-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c . look for corresponding index
+ l=il1+5+n1
+ mx=0
+ do 18 i=1,n1
+ nl=istk(il1+4+i)-istk(il1+3+i)
+ n=strpos(istk(ilt+5),nt-1,istk(ilt+5+nt),istk(l),nl)
+ l=l+nl
+ if(n.le.0) then
+ call error(21)
+ return
+ endif
+ n=n+1
+ mx=max(mx,n)
+ istk(ili-1+i)=n
+ 18 continue
+ n=n1
+c end of arg1=string case
+ goto 22
+c begining of standard case
+ 20 if(m1.eq.-1) then
+c . arg2(:)
+ l=lstk(top)
+ if(ilist.ne.nlist) then
+ if(m2.ne.1) then
+ call error(21)
+ return
+ endif
+ endif
+ if(m2.ne.lhs) then
+ call error(41)
+ return
+ endif
+ if(top+1+m2.ge.bot) then
+ call error(18)
+ return
+ endif
+ do 21 i=1,m2
+ vol1=istk(il2+2+i)-istk(il2+1+i)
+ if(vol1.eq.0) then
+ err=i
+ call error(117)
+ return
+ endif
+ lstk(top+1)=lstk(top)+vol1
+ top=top+1
+ 21 continue
+ top=top-1
+ call unsfdcopy(istk(il2+m2+2)-1,stk(l2),1,stk(l),1)
+ goto 99
+ else
+c . arg2(arg1) standard case
+ call indxg(il1,m2,ili,n,mx,lw,1)
+ if(err.gt.0) return
+ endif
+c
+ 22 if(mx.gt.m2) then
+ call error(21)
+ return
+ endif
+c
+ if(ilist.ge.nlist) goto 31
+ if(n.gt.1) then
+ call error(21)
+ return
+ endif
+ lt2=sadr(il2+3+m2)+istk(il2+1+istk(ili))-1
+ ll2=istk(il2+2+istk(ili))-istk(il2+1+istk(ili))
+ il2=iadr(lt2)
+ 23 ilist=ilist+1
+ il1=iadr(ll+istk(ill+1+ilist)-1)
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ m1=istk(il1+1)
+
+ if(istk(il2).eq.15.or.istk(il2).eq.16) goto 26
+ call error(21)
+ return
+
+ 26 continue
+ m2=istk(il2+1)
+ l2=sadr(il2+m2+3)
+ goto 15
+c
+
+ 31 if(n.ne.lhs) then
+ call error(41)
+ return
+ endif
+c
+ if(top+n+1.ge.bot) then
+ call error(18)
+ return
+ endif
+ do 32 i=1,n
+ k=istk(ili-1+i)
+ vol2=istk(il2+2+k)-istk(il2+1+k)
+ if(vol2.eq.0) then
+ err=k
+ call error(117)
+ return
+ endif
+ lstk(top+1)=lstk(top)+vol2
+ top=top+1
+ 32 continue
+ top=top-1
+c
+ ill=iadr(max(lw,lstk(top+1)))
+ lw=sadr(ill+n)
+ err=sadr(ill+n)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ do 34 i=1,n
+ k=istk(ili-1+i)
+ istk(ill-1+i)=istk(il2+1+k)+l2-1
+ 34 continue
+c
+ do 35 i=1,n
+ k=top-n+i
+ call unsfdcopy(lstk(k+1)-lstk(k),stk(istk(ill-1+i)),1,
+ $ stk(lstk(k)),1)
+ 35 continue
+ goto 99
+
+ 99 return
+ end
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_getfield.lo b/modules/data_structures/sci_gateway/fortran/sci_f_getfield.lo
new file mode 100755
index 000000000..292f6ac26
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_getfield.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_getfield.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_getfield.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_list.f b/modules/data_structures/sci_gateway/fortran/sci_f_list.f
new file mode 100755
index 000000000..691c86774
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_list.f
@@ -0,0 +1,70 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine scilist(fname)
+
+ character*(*) fname
+ include 'stack.h'
+ integer ltyp
+ integer iadr,sadr
+
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+
+ 01 lf=lstk(top+1)
+ top=top+1-rhs
+ ld=lstk(top)
+c
+ n=rhs
+ err=lf+sadr(n+3)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+
+ if(fin.eq.2) then
+c typed list
+c check if first element is a string
+ if (istk(iadr(ld)).ne.10) then
+ err=1
+ call error(55)
+ return
+ endif
+ ltyp=16
+ elseif(fin.eq.7) then
+c typed list
+c check if first element is a string
+ if (istk(iadr(ld)).ne.10) then
+ err=1
+ call error(55)
+ return
+ endif
+ ltyp=17
+ else
+c c untyped list
+ ltyp=15
+ endif
+
+ il=iadr(ld)
+ l=sadr(il+n+3)
+ call unsfdcopy(lf-ld,stk(ld),-1,stk(l),-1)
+
+ istk(il)=ltyp
+ istk(il+1)=n
+ istk(il+2)=1
+ if(n.ne.0) then
+ do 10 i=1,n
+ istk(il+2+i)=istk(il+1+i)+lstk(top+i)-lstk(top-1+i)
+ 10 continue
+ endif
+ lstk(top+1)=l+lf-ld
+ goto 99
+
+ 99 return
+ end
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_list.lo b/modules/data_structures/sci_gateway/fortran/sci_f_list.lo
new file mode 100755
index 000000000..f3de06d09
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_list.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_list.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_list.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_lstcat.f b/modules/data_structures/sci_gateway/fortran/sci_f_lstcat.f
new file mode 100755
index 000000000..423c16262
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_lstcat.f
@@ -0,0 +1,106 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine intlstcat
+c catenate two or more lists
+ include 'stack.h'
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if (rhs .lt. 1) then
+ call error(39)
+ return
+ endif
+ if (lhs .gt. 1) then
+ call error(41)
+ return
+ endif
+c
+ if(rhs.eq.1) return
+c
+ lw=lstk(top+1)
+ nel=0
+ n1=0
+ do 10 i=rhs-1,0,-1
+ il=iadr(lstk(top-i))
+ if(istk(il).ne.15.and.istk(il).ne.16.and.istk(il).ne.17) then
+ nel=nel+1
+ n1=n1+1
+ else
+ nel=nel+istk(il+1)
+ endif
+ 10 continue
+ if(istk(il).ne.15.and.istk(il).ne.16.and.istk(il).ne.17) n1=n1+3
+c computes table of entry sizes istk(ilp+i),total size isz
+ ilp=iadr(lw)+n1
+ iln=ilp+nel
+ err=sadr(iln)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ ill=ilp-1
+ isz=0
+ do 12 i=rhs-1,0,-1
+ il=iadr(lstk(top-i))
+ if(istk(il).ne.15.and.istk(il).ne.16.and.istk(il).ne.17) then
+ ill=ill+1
+ istk(ill)=lstk(top-i+1)-lstk(top-i)
+ isz=isz+istk(ill)
+ else
+ if(istk(il+1).gt.0) then
+ do 11 j=1,istk(il+1)
+ ill=ill+1
+ istk(ill)=istk(il+2+j)-istk(il+1+j)
+ isz=isz+istk(ill)
+ 11 continue
+ endif
+ endif
+ 12 continue
+c copy entries
+ ln=sadr(iln+3+nel)
+ le=ln+isz
+ err=le-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ ill=ilp+nel
+ do 20 i=1,rhs
+ l=lstk(top+1-i)
+ il=iadr(l)
+ if(istk(il).ne.15.and.istk(il).ne.16.and.istk(il).ne.17) then
+ lo=l
+ ill=ill-1
+ n=istk(ill)
+ else
+ ill=ill-istk(il+1)
+ lo=sadr(il+3+istk(il+1))
+ n=istk(il+2+istk(il+1))-1
+ endif
+ if(n.gt.0) then
+ le=le-n
+ call unsfdcopy(n,stk(lo),1,stk(le),1)
+ endif
+ 20 continue
+ top=top-rhs+1
+ il=iadr(lstk(top))
+ istk(il)=15
+ istk(il+1)=nel
+ istk(il+2)=1
+ do 21 i=1,nel
+ istk(il+2+i)=istk(il+1+i)+istk(ilp-1+i)
+ 21 continue
+ l=sadr(il+3+nel)
+ call unsfdcopy(isz,stk(ln),1,stk(l),1)
+ lstk(top+1)=l+isz
+ return
+ end
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_lstcat.lo b/modules/data_structures/sci_gateway/fortran/sci_f_lstcat.lo
new file mode 100755
index 000000000..54ca514bf
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_lstcat.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_lstcat.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_lstcat.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_lstsize.f b/modules/data_structures/sci_gateway/fortran/sci_f_lstsize.f
new file mode 100755
index 000000000..4901779b1
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_lstsize.f
@@ -0,0 +1,47 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intlstsize
+c WARNING : argument of this interface may be passed by reference
+ include 'stack.h'
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ il=iadr(lstk(top))
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(istk(il).lt.15.or.istk(il).gt.17) then
+ err=1
+ call error(56)
+ return
+ endif
+ n=istk(il+1)
+
+ if(lhs*rhs.ne.1) then
+ err=1
+ call error(39)
+ return
+ endif
+ ilr=iadr(lstk(top))
+ l=sadr(ilr+4)
+ err=l+1-lstk(bot)
+ if (err.gt.0) then
+ call error(17)
+ return
+ endif
+ istk(ilr)=1
+ istk(ilr+1)=1
+ istk(ilr+2)=1
+ istk(ilr+3)=0
+ l=sadr(ilr+4)
+ stk(l)=dble(n)
+ lstk(top+1)=l+1
+c
+ return
+ end
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_lstsize.lo b/modules/data_structures/sci_gateway/fortran/sci_f_lstsize.lo
new file mode 100755
index 000000000..0c671c001
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_lstsize.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_lstsize.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_lstsize.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_setfield.f b/modules/data_structures/sci_gateway/fortran/sci_f_setfield.f
new file mode 100755
index 000000000..8ca54d050
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_setfield.f
@@ -0,0 +1,64 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intsetfield()
+ include 'stack.h'
+ integer typs,topk
+ logical eptover
+c
+ integer iadr
+c
+ iadr(l)=l+l-1
+c
+ if (rhs .ne. 3) then
+ call error(39)
+ return
+ endif
+
+ if ( eptover(1,psiz)) return
+ rstk(pt)=0
+ call putid(ids(1,pt),idstk(1,top))
+ il3r=iadr(lstk(top))
+ if(istk(il3r).lt.0) then
+ if(abs(istk(il3r)).lt.15.or.abs(istk(il3r)).gt.17) then
+ call error(44)
+ return
+ endif
+ typs=abs(istk(il3r))
+ il3=iadr(istk(il3r+1))
+ if(typs.eq.17) then
+c change type to tlist
+ istk(il3r)=-16
+ istk(il3)=16
+ endif
+ else
+ err=3
+ call error(118)
+ return
+ endif
+ call intl_i
+c reset the proper variable type
+ pt=pt-1
+ if (fin.lt.0) call error(21)
+ if(err.gt.0) then
+ istk(il3)=typs
+ return
+ endif
+ il=iadr(lstk(top))
+ if(istk(il).ne.-1.or.istk(il+1).ne.-1) then
+ buf='Inexpected error, please report'
+ call error(8881)
+ endif
+ topk=istk(il+2)
+ ilk=iadr(lstk(topk))
+ istk(ilk)=typs
+c return an null variable
+ istk(il)=0
+ return
+ end
+
diff --git a/modules/data_structures/sci_gateway/fortran/sci_f_setfield.lo b/modules/data_structures/sci_gateway/fortran/sci_f_setfield.lo
new file mode 100755
index 000000000..c8e027839
--- /dev/null
+++ b/modules/data_structures/sci_gateway/fortran/sci_f_setfield.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/sci_f_setfield.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/sci_f_setfield.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/c/.deps/.dirstamp b/modules/data_structures/src/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/src/c/.deps/.dirstamp
diff --git a/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-hmops.Plo b/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-hmops.Plo
new file mode 100755
index 000000000..41c1f9ca7
--- /dev/null
+++ b/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-hmops.Plo
@@ -0,0 +1,221 @@
+src/c/libscidata_structures_algo_la-hmops.lo: src/c/hmops.c \
+ /usr/include/stdc-predef.h /usr/include/math.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/stdlib.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/stack2.h src/c/hmops.h \
+ includes/dynlib_data_structures.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/math.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/stdlib.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/stack2.h:
+
+src/c/hmops.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
diff --git a/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-stcreate.Plo b/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-stcreate.Plo
new file mode 100755
index 000000000..8e72c8f3d
--- /dev/null
+++ b/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-stcreate.Plo
@@ -0,0 +1,220 @@
+src/c/libscidata_structures_algo_la-stcreate.lo: src/c/stcreate.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h src/c/stcreate.h \
+ includes/dynlib_data_structures.h ../../modules/string/includes/cvstr.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/string/includes/dynlib_string.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/c/stcreate.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/string/includes/cvstr.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/string/includes/dynlib_string.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
diff --git a/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-strpos.Plo b/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-strpos.Plo
new file mode 100755
index 000000000..1c2431130
--- /dev/null
+++ b/modules/data_structures/src/c/.deps/libscidata_structures_algo_la-strpos.Plo
@@ -0,0 +1,58 @@
+src/c/libscidata_structures_algo_la-strpos.lo: src/c/strpos.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ includes/dynlib_data_structures.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/dynlib_data_structures.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/data_structures/src/c/.dirstamp b/modules/data_structures/src/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/src/c/.dirstamp
diff --git a/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-hmops.o b/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-hmops.o
new file mode 100755
index 000000000..8c569a735
--- /dev/null
+++ b/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-hmops.o
Binary files differ
diff --git a/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-stcreate.o b/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-stcreate.o
new file mode 100755
index 000000000..52113830e
--- /dev/null
+++ b/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-stcreate.o
Binary files differ
diff --git a/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-strpos.o b/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-strpos.o
new file mode 100755
index 000000000..a469a16b3
--- /dev/null
+++ b/modules/data_structures/src/c/.libs/libscidata_structures_algo_la-strpos.o
Binary files differ
diff --git a/modules/data_structures/src/c/DllmainData_structures.c b/modules/data_structures/src/c/DllmainData_structures.c
new file mode 100755
index 000000000..d3d8175b4
--- /dev/null
+++ b/modules/data_structures/src/c/DllmainData_structures.c
@@ -0,0 +1,34 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Allan CORNET <allan.cornet@inria.fr>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include <windows.h>
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../../../bin/libintl.lib")
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ case DLL_THREAD_ATTACH:
+ break;
+ case DLL_THREAD_DETACH:
+ break;
+ }
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/data_structures/src/c/Linpack_f_Import.def b/modules/data_structures/src/c/Linpack_f_Import.def
new file mode 100755
index 000000000..b1f215fce
--- /dev/null
+++ b/modules/data_structures/src/c/Linpack_f_Import.def
@@ -0,0 +1,9 @@
+LIBRARY linpack_f.dll
+
+
+EXPORTS
+; ---------------------------------------
+; linpack_f
+; ---------------------------------------
+icopy_
+
diff --git a/modules/data_structures/src/c/Polynomials_f_Import.def b/modules/data_structures/src/c/Polynomials_f_Import.def
new file mode 100755
index 000000000..b718a5814
--- /dev/null
+++ b/modules/data_structures/src/c/Polynomials_f_Import.def
@@ -0,0 +1,8 @@
+LIBRARY polynomials_f.dll
+
+
+EXPORTS
+; ---------------------------------------
+; polynomials_f
+; ---------------------------------------
+ddmpev_
diff --git a/modules/data_structures/src/c/core_Import.def b/modules/data_structures/src/c/core_Import.def
new file mode 100755
index 000000000..80154712c
--- /dev/null
+++ b/modules/data_structures/src/c/core_Import.def
@@ -0,0 +1,25 @@
+ LIBRARY core.dll
+
+
+EXPORTS
+;
+;core
+;
+iop_
+callFunctionFromGateway
+stack_
+vstk_
+createcvar_
+putlhsvar_
+intersci_
+createvar_
+com_
+getrhsvar_
+gettype_
+createlistcvarfrom_
+createlistvarfrom_
+createlistvarfromptr_
+creimati_
+MyHeapAlloc
+MyHeapFree
+overload_
diff --git a/modules/data_structures/src/c/data_structures.rc b/modules/data_structures/src/c/data_structures.rc
new file mode 100755
index 000000000..396ca1912
--- /dev/null
+++ b/modules/data_structures/src/c/data_structures.rc
@@ -0,0 +1,95 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "data_structures module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "data_structures module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "data_structures.dll"
+ VALUE "ProductName", "data_structures module"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/data_structures/src/c/data_structures.vcxproj b/modules/data_structures/src/c/data_structures.vcxproj
new file mode 100755
index 000000000..3e0161d76
--- /dev/null
+++ b/modules/data_structures/src/c/data_structures.vcxproj
@@ -0,0 +1,266 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B7A168A0-DFC0-4C6D-B0CC-6079912A4A76}</ProjectGuid>
+ <RootNamespace>data_structures</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../string/includes;../../../core/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../dynamic_link/src/c;../../../localization/includes;../../../core/src/c;../../../../libs/intl;../../../data_structures/includes;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;data_structures_f.lib;polynomials_f.lib;linpack_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../string/includes;../../../core/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../dynamic_link/src/c;../../../localization/includes;../../../core/src/c;../../../../libs/intl;../../../data_structures/includes;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;data_structures_f.lib;polynomials_f.lib;linpack_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../string/includes;../../../core/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../dynamic_link/src/c;../../../localization/includes;../../../core/src/c;../../../../libs/intl;../../../data_structures/includes;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;data_structures_f.lib;polynomials_f.lib;linpack_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>.;../../includes;../../../string/includes;../../../core/includes;../../../output_stream/includes;../../../dynamic_link/includes;../../../dynamic_link/src/c;../../../localization/includes;../../../core/src/c;../../../../libs/intl;../../../data_structures/includes;../../../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Make dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)polynomials_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)polynomials_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>core.lib;data_structures_f.lib;polynomials_f.lib;linpack_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="DllmainData_structures.c" />
+ <ClCompile Include="..\..\sci_gateway\c\gw_data_structures1.c" />
+ <ClCompile Include="..\..\sci_gateway\c\gw_data_structures2.c" />
+ <ClCompile Include="hmops.c">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Disabled</Optimization>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_definedfields.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_getfield.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_glist.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_list.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_lsslist.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_lstcat.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_lstsize.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_mlist.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_rlist.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_setfield.c" />
+ <ClCompile Include="..\..\sci_gateway\c\sci_tlist.c" />
+ <ClCompile Include="strpos.c" />
+ <ClCompile Include="stcreate.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\dynlib_data_structures.h" />
+ <ClInclude Include="..\..\includes\gw_data_structures1.h" />
+ <ClInclude Include="..\..\includes\gw_data_structures2.h" />
+ <ClInclude Include="hmops.h" />
+ <ClInclude Include="stcreate.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\locales\data_structures.pot" />
+ <None Include="data_structures_f_Import.def" />
+ <None Include="core_import.def" />
+ <None Include="..\..\data_structures.iss" />
+ <None Include="..\..\sci_gateway\data_structures_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="Linpack_f_Import.def" />
+ <None Include="Polynomials_f_Import.def" />
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="data_structures.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
+ <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj">
+ <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\integer\src\c\integer.vcxproj">
+ <Project>{c7865caa-ec7c-41eb-8324-2b81c384ca20}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj">
+ <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\string\src\c\string.vcxproj">
+ <Project>{8d45767a-9b03-4905-97f6-d2f3f79141ea}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/data_structures/src/c/data_structures.vcxproj.filters b/modules/data_structures/src/c/data_structures.vcxproj.filters
new file mode 100755
index 000000000..ff491fd09
--- /dev/null
+++ b/modules/data_structures/src/c/data_structures.vcxproj.filters
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{05ef4b36-4c2d-4bf3-8f24-584e5e3582db}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{f6bf4dd2-40d2-4386-873d-a1b55184f5e0}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="localization">
+ <UniqueIdentifier>{816e684c-644d-4e86-b826-3dfe6c3de8f8}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies">
+ <UniqueIdentifier>{0ff84f53-bdcb-4e1e-a91b-d3fc839bc408}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies\Imports">
+ <UniqueIdentifier>{2f42bca6-61fa-46d0-abff-a655dbfcecb6}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Resource File">
+ <UniqueIdentifier>{1f56de43-fc1c-4e6d-8c5d-0f91a3c34106}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="DllmainData_structures.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\gw_data_structures1.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\gw_data_structures2.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="hmops.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_definedfields.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_getfield.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_glist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_list.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_lsslist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_lstcat.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_lstsize.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_mlist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_rlist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_setfield.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\c\sci_tlist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="stcreate.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="strpos.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\includes\dynlib_data_structures.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\gw_data_structures1.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\includes\gw_data_structures2.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="hmops.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="stcreate.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="data_structures_f_Import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="core_import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="..\..\data_structures.iss" />
+ <None Include="..\..\sci_gateway\data_structures_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="Polynomials_f_Import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="Linpack_f_Import.def">
+ <Filter>Libraries Dependencies\Imports</Filter>
+ </None>
+ <None Include="..\..\locales\data_structures.pot">
+ <Filter>localization</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="data_structures.rc">
+ <Filter>Resource File</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/data_structures/src/c/data_structures_f_Import.def b/modules/data_structures/src/c/data_structures_f_Import.def
new file mode 100755
index 000000000..a24911527
--- /dev/null
+++ b/modules/data_structures/src/c/data_structures_f_Import.def
@@ -0,0 +1,17 @@
+LIBRARY data_structures_f.dll
+
+
+EXPORTS
+; ---------------------------------------
+; data_structures_f
+; ---------------------------------------
+intlstsize_
+intlstcat_
+intsetfield_
+intgetfield_
+definedfields_
+rattyp_
+lsstyp_
+scilist_
+mtlist_
+gratyp_
diff --git a/modules/data_structures/src/c/hmops.c b/modules/data_structures/src/c/hmops.c
new file mode 100755
index 000000000..65804c4e5
--- /dev/null
+++ b/modules/data_structures/src/c/hmops.c
@@ -0,0 +1,1224 @@
+/*
+ * hmdops.c
+ *
+ * PURPOSE
+ * codes to accelerate scilab hypermatrices operations
+ * like extraction / insertion / creation
+ *
+ * AUTHOR
+ * Bruno Pincon (Bruno.Pincon@iecn.u-nancy.fr)
+ *
+ * exportation de C2F(ishm)
+ * C2F(intehm)
+ * C2F(intihm)
+ * modifications pour le champs dim en int32 maintenant
+ */
+
+
+#include <math.h>
+#include <stdlib.h>
+#include "stack-c.h"
+#include "stack2.h"
+#include "hmops.h"
+#include "Scierror.h"
+#include "core_math.h"
+#include "localization.h"
+
+#define sign(a) ((a) < 0 ? -1 : 1)
+
+/* SCI_IMPLICIT_POLY is not used elsewhere in C code ... maybe fortran */
+#define SCI_IMPLICIT_POLY 129
+#define NOT_REAL_or_CMPLX_or_BOOL_or_INT -1
+#define OLD_HYPERMAT -2
+
+
+typedef struct hypermat
+{
+ int type; /* type of the (elements of the) hyper matrix */
+ int it; /* sub type (in case of type=1 or type=8) */
+ int dimsize; /* number of dimensions of the hyper matrix */
+ int size; /* total number of elements : size = dims[0]x... x dims[dimsize-1] */
+ int *dims; /* number of elements in each dimension */
+ double *R, *I; /* in case of type=1 points to the elements (I being used if it=1) */
+ void *P; /* in case of type=4 or 8 points to the elements */
+} HyperMat;
+
+typedef struct sci_bool_sparse
+{
+ int m;
+ int n;
+ int nel;
+ int *mnel;
+ int *jcol;
+} SciBoolSparse;
+
+
+
+extern int C2F(ddmpev)();
+#ifdef _MSC_VER
+int C2F(createlistcvarfrom)();
+#endif
+
+static int get_length(int num)
+{
+ int il;
+ il = iadr(*Lstk( num + Top - Rhs ));
+ return(*istk(il + 1));
+}
+
+static void get_length_and_pointer(int num, int *n, int **t)
+{
+ int il;
+ il = iadr(*Lstk( num + Top - Rhs ));
+ *n = *istk(il + 1);
+ *t = istk(il + 4);
+}
+
+#define GetHMat(pos,H) if (! get_hmat(pos,H)) { return 0;}
+
+static int get_hmat(int num, HyperMat *H)
+{
+ int il, il1, il2, il3,/* it,*/ lw;
+
+ lw = num + Top - Rhs;
+ il = iadr(*Lstk( lw ));
+ if ( *istk(il) < 0 )
+ {
+ il = iadr(*istk(il + 1));
+ }
+
+ if ( *istk(il) != sci_mlist )
+ {
+ return 0;
+ }
+ else if ( *istk(il + 1) != 3 ) /* a hm mlist must have 3 fields */
+ {
+ return 0;
+ }
+
+ /* get the pointers for the 3 fields */
+ il1 = sadr(il + 6);
+ il2 = il1 + *istk(il + 3) - 1;
+ il3 = il1 + *istk(il + 4) - 1;
+ il1 = iadr(il1);
+ il2 = iadr(il2);
+ il3 = iadr(il3);
+
+ /* test if the first field is a matrix string with 3 components
+ * and that the first is "hm" (ie 17 22 in scilab char code)
+ */
+ if ( (*istk(il1) != sci_strings) | ((*istk(il1 + 1)) * (*istk(il1 + 2)) != 3) )
+ {
+ return 0;
+ }
+ else if ( *istk(il1 + 5) - 1 != 2 ) /* 1 str must have 2 chars */
+ {
+ return 0;
+ }
+ else if ( *istk(il1 + 8) != 17 || *istk(il1 + 9) != 22 )
+ {
+ return 0;
+ }
+
+
+ /* get the 2d field */
+ if ( *istk(il2) == sci_matrix && *istk(il2 + 3) == 0 )
+ {
+ /* this is an old hypermat (the dim field is an array of doubles) */
+ H->type = OLD_HYPERMAT;
+ H->it = -1;
+ H->size = -1;
+ H->P = (void *) istk(il3);
+ return 2;
+ }
+
+ if ( (*istk(il2) != sci_ints) | (*istk(il2 + 3) != I_INT32) )
+ {
+ return 0;
+ }
+
+
+ H->dimsize = (*istk(il2 + 1)) * (*istk(il2 + 2));
+ H->dims = istk(il2 + 4);
+
+ /* needed for Jpc stuff (putlhsvar) */
+ Nbvars = Max(Nbvars, num);
+ C2F(intersci).ntypes[num - 1] = '$';
+ C2F(intersci).iwhere[num - 1] = *Lstk(lw);
+ C2F(intersci).lad[num - 1] = 0; /* a voir ? */
+
+ /* get the 3d field */
+ switch ( *istk(il3) )
+ {
+ case (sci_matrix):
+ H->size = (*istk(il3 + 1)) * (*istk(il3 + 2));
+ H->type = sci_matrix;
+ H->it = *istk(il3 + 3);
+ H->R = stk(sadr(il3 + 4));
+ if ( H->it == 1 )
+ {
+ H->I = H->R + H->size;
+ }
+ return 1;
+
+ case (sci_boolean):
+ H->size = (*istk(il3 + 1)) * (*istk(il3 + 2));
+ H->type = sci_boolean;
+ H->it = 0; /* not used */
+ H->P = (void *) istk(il3 + 3);
+ return 1;
+
+ case (sci_ints):
+ H->size = (*istk(il3 + 1)) * (*istk(il3 + 2));
+ H->type = sci_ints;
+ H->it = *istk(il3 + 3);
+ H->P = (void *) istk(il3 + 4);
+ return 1;
+
+ default:
+ H->type = NOT_REAL_or_CMPLX_or_BOOL_or_INT;
+ H->it = -1;
+ H->size = -1;
+ H->P = (void *) istk(il3);
+ return 2;
+ }
+}
+
+int C2F(ishm)()
+{
+ /* teste si l'argument en Top est une hypermatrice */
+ int il, il1;
+ il = iadr(*Lstk( Top ));
+ if ( *istk(il) < 0 )
+ {
+ il = iadr(*istk(il + 1));
+ }
+
+ if ( *istk(il) != sci_mlist )
+ {
+ return 0;
+ }
+ else if ( *istk(il + 1) != 3 ) /* a hm mlist must have 3 fields */
+ {
+ return 0;
+ }
+
+ /* get the pointer of the first and second fields */
+ il1 = sadr(il + 6);
+ il1 = iadr(il1);
+
+ /* test if the first field is a matrix string with 3 components
+ * and that the first is "hm" (ie 17 22 in scilab char code)
+ */
+ if ( (*istk(il1) != sci_strings) | ((*istk(il1 + 1)) * (*istk(il1 + 2)) != 3) )
+ {
+ return 0;
+ }
+ else if ( *istk(il1 + 5) - 1 != 2 ) /* 1 str must have 2 chars */
+ {
+ return 0;
+ }
+ else if ( *istk(il1 + 8) != 17 || *istk(il1 + 9) != 22 )
+ {
+ return 0;
+ }
+
+ return 1;
+}
+
+static int get_mat_as_hmat(int num, HyperMat *H)
+{
+ int il, type, lw;
+ static int dims[2];
+
+ lw = num + Top - Rhs;
+ il = iadr(*Lstk( lw ));
+ if ( *istk(il) < 0 )
+ {
+ il = iadr(*istk(il + 1));
+ }
+
+ type = *istk(il);
+
+ if (type == sci_matrix || type == sci_boolean || type == sci_ints)
+ {
+
+ /* needed for Jpc stuff (putlhsvar) ? */
+ Nbvars = Max(Nbvars, num);
+ C2F(intersci).ntypes[num - 1] = '$';
+ C2F(intersci).iwhere[num - 1] = *Lstk(lw);
+ C2F(intersci).lad[num - 1] = 0; /* a voir ? */
+
+ H->type = type;
+ H->dimsize = 2;
+ dims[0] = *istk(il + 1);
+ dims[1] = *istk(il + 2);
+ H->size = dims[0] * dims[1];
+ H->dims = dims;
+ if (type == sci_matrix)
+ {
+ H->it = *istk(il + 3);
+ H->R = stk(sadr(il + 4));
+ if (H->it == 1)
+ {
+ H->I = H->R + H->size;
+ }
+ }
+ else if (type == sci_boolean)
+ {
+ H->it = 0;
+ H->P = (void *) istk(il + 3);
+ }
+ else /* type = sci_ints */
+ {
+ H->it = *istk(il + 3);
+ H->P = (void *) istk(il + 4);
+ }
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+#define CreateHMat(pos,H) if (! cre_hmat(pos,H)) { return 0;}
+
+static int cre_hmat(int pos, HyperMat *H)
+{
+ /* dans cette version, seuls les champs dimsize, size et it sont definis
+ * et on alloue alors la memoire des champs dims, R (et I si it=1) dans
+ * la pile scilab (juste � la place occupee par la variable).
+ */
+ static char *Str[] = { "hm", "dims", "entries"};
+ int m1 = 1, n1 = 3;
+ int mL = 3, nL = 1, lL, one = 1, lr, lc, lar, lac;
+ CreateVar(pos, MATRIX_ORIENTED_TYPED_LIST_DATATYPE, &mL, &nL, &lL);
+ CreateListVarFromPtr(pos, 1, MATRIX_OF_STRING_DATATYPE, &m1, &n1, Str);
+ lr = 4;
+ lar = -1;
+ CreateListVarFrom(pos, 2, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, &one, &H->dimsize, &lr, &lar);
+ H->dims = istk(lr);
+
+ lar = -1;
+ lac = -1;
+
+ switch (H->type)
+ {
+ case (sci_matrix):
+ CreateListCVarFrom(pos, 3, MATRIX_OF_DOUBLE_DATATYPE, &H->it, &H->size, &one , &lr, &lc, &lar, &lac);
+ H->R = stk(lr);
+ if ( H->it == 1)
+ {
+ H->I = stk(lc);
+ }
+ return 1;
+
+ case (sci_boolean):
+ CreateListVarFrom(pos, 3, MATRIX_OF_BOOLEAN_DATATYPE, &H->size, &one, &lr, &lar);
+ H->P = (void *) istk(lr);
+ return 1;
+
+ case (sci_ints):
+ lr = H->it;
+ CreateListVarFrom(pos, 3, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, &H->size, &one, &lr, &lar);
+ H->P = (void *) istk(lr);
+ return 1;
+ }
+
+ /* Ajout Allan CORNET Correction Warning */
+ /* warning C4715: 'cre_hmat' : not all control paths return a value */
+ return 1;
+
+
+}
+
+
+#define GetSciBoolSparse(pos,M) if (! get_sci_bool_sparse(pos,M)) { return 0;}
+
+static int get_sci_bool_sparse(int num, SciBoolSparse *M)
+{
+ int il, lw;
+
+ lw = num + Top - Rhs;
+ il = iadr(*Lstk(lw));
+ if ( *istk(il) < 0 )
+ {
+ il = iadr(*istk(il + 1));
+ }
+
+ if ( *istk(il) != sci_boolean_sparse )
+ {
+ return 0;
+ }
+
+ /* needed for Jpc stuff (putlhsvar) */
+ Nbvars = Max(Nbvars, num);
+ C2F(intersci).ntypes[num - 1] = '$';
+ C2F(intersci).iwhere[num - 1] = *Lstk(lw);
+ C2F(intersci).lad[num - 1] = 0; /* a voir ? */
+
+ M->m = *istk(il + 1);
+ M->n = *istk(il + 2);
+ M->nel = *istk(il + 4);
+ M->mnel = istk(il + 5);
+ M->jcol = istk(il + 5 + M->m);
+ return 1;
+}
+
+
+#define ReshapeHMat(pos,H,new_dimsize) if (! reshape_hmat(pos,H,new_dimsize)) { return 0;}
+
+static int reshape_hmat(int pos, HyperMat *H, int new_dimsize)
+{
+ /*
+ * This utility routine is used when an hypermatrix H
+ * is indexed with fewer indices vectors than its dimsize
+ * (for instance the profil of H is n1 x n2 x n3 but
+ * an expression like H(v1,v2) is used). So we have to
+ * reconsidered the profil of H for this operation (in
+ * my example H is then considered with the profil
+ * n1 x (n2*n3) ). For that (as H is passed by reference)
+ * we create a new variable at position pos, recompute
+ * the new profil in this var and then H->dims will points to it.
+ *
+ */
+ int *new_dims;
+ int k, one = 1, l;
+
+ l = I_INT32;
+ CreateVar(pos, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, &new_dimsize, &one, &l);
+ new_dims = istk(l);
+ for ( k = 0 ; k < new_dimsize ; k++)
+ {
+ new_dims[k] = H->dims[k];
+ }
+ for ( k = new_dimsize ; k < H->dimsize ; k++ )
+ {
+ new_dims[new_dimsize - 1] *= H->dims[k];
+ }
+ H->dimsize = new_dimsize;
+ H->dims = new_dims;
+ return 1;
+}
+
+static int cmpint(const void *pn1, const void *pn2)
+{
+ int *n1 = (int *)pn1, *n2 = (int *)pn2;
+ return (*n1 - *n2);
+}
+
+static int index_convert(double *td, int * ti, int mn, int *ind_max)
+{
+ /* convert a scilab vector of indices (which are integers but
+ * stored as double) in an int vector together with
+ * detecting the max index
+ */
+ int k, val;
+ *ind_max = 0;
+ for ( k = 0 ; k < mn ; k++ )
+ {
+ val = (int) td[k];
+ if ( val <= 0 )
+ {
+ return 0;
+ }
+ if ( val > *ind_max )
+ {
+ *ind_max = val;
+ }
+ ti[k] = val - 1;
+ }
+ return 1;
+}
+
+static int create_index_vector(int pos, int pos_ind, int *mn,
+ int nmax, int *ind_max)
+{
+ /*
+ * convertit une "structure" scilab d'indicage en un vecteur d'indices
+ *
+ * pos : position de la variable initiale
+ * pos_ind : position de la variable resultante (le vecteur d'indice)
+ * mn : taille du vecteur d'indice resultant
+ * ind_max : max de ce vecteur
+ * nmax : utilise pour les descriptions implicites, aussi ind_max ne
+ * doit pas lui etre superieur
+ */
+ /* code based on SCI/modules/core/src/fortran/indxg.f */
+
+ int m, n, l, li, one = 1, trois = 3, *ti,/* val,*/ il, k, i, j, ideb, ipas, ifin, *P;
+ double *td, px[3], x;
+ HyperMat H;
+ SciBoolSparse B;
+ SciIntMat IV;
+
+ switch ( GetType(pos) )
+ {
+ case (sci_matrix):
+
+ GetRhsVar(pos, MATRIX_OF_DOUBLE_DATATYPE, &m, &n, &l);
+ if ( m == -1 ) /* implicit index : */
+ {
+ *mn = nmax;
+ *ind_max = nmax;
+ li = 4;
+ CreateVar(pos_ind, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, mn, &one, &li);
+ ti = istk(li);
+ for ( k = 0 ; k < *mn ; k++ )
+ {
+ ti[k] = k;
+ }
+ return 1;
+ }
+ else if ( m == 0 ) /* index is the void matrix [] */
+ {
+ *mn = 0;
+ *ind_max = 0;
+ return 1;
+ }
+ else /* "normal" index */
+ {
+ td = stk(l);
+ *mn = m * n;
+ *ind_max = 0;
+ li = 4;
+ CreateVar(pos_ind, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, mn, &one, &li);
+ ti = istk(li);
+ return ( index_convert(td, ti, *mn, ind_max) );
+ }
+
+ case (sci_ints):
+
+ GetRhsVar(pos, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, &m, &n, (int *)&IV);
+
+ if ( m <= 0 ) /* normaly not possible */
+ {
+ return 0;
+ }
+ else /* "normal" index */
+ {
+ *mn = m * n;
+ *ind_max = 0;
+ li = 4;
+ CreateVar(pos_ind, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, mn, &one, &li);
+ ti = istk(li);
+ li = 4;
+ C2F(tpconv)(&(IV.it), &li, mn, IV.D, &one, (void *) ti, &one); /* convert to usual int */
+
+ for ( i = 0 ; i < *mn ; i++ )
+ {
+ if ( ti[i] <= 0 )
+ {
+ return 0;
+ }
+ if ( ti[i] > *ind_max )
+ {
+ *ind_max = ti[i];
+ }
+ ti[i]--;
+ }
+ return 1;
+ }
+
+ case (sci_poly):
+
+ il = iadr( *Lstk( pos + Top - Rhs ) );
+ if ( *istk(il) < 0 )
+ {
+ il = iadr( *istk(il + 1) );
+ }
+ m = *istk(il + 1);
+ n = *istk(il + 2);
+ if ( *istk(il + 3) != 0 )
+ {
+ return 0;
+ }
+ *mn = m * n;
+ l = sadr(il + 9 + *mn);
+ CreateVar( pos_ind, MATRIX_OF_DOUBLE_DATATYPE, mn, &one, &li);
+ td = stk(li);
+ x = (double) nmax;
+ C2F(ddmpev)( stk(l), istk(il + 8), &one, &x, td, &one, &one, mn);
+ ti = (int *)td;
+ return ( index_convert(td, ti, *mn, ind_max) );
+
+ case (sci_implicit_poly ): /* p1:p2:p3 */
+
+ il = iadr( *Lstk( pos + Top - Rhs ) );
+ if ( *istk(il) < 0 )
+ {
+ il = iadr( *istk(il + 1) );
+ }
+ l = sadr( il + 12 );
+ x = (double) nmax;
+ C2F(ddmpev)( stk(l), istk(il + 8), &one, &x, px, &one, &one, &trois);
+ ideb = (int) px[0];
+ ipas = (int) px[1];
+ ifin = (int) px[2];
+ if ( ipas == 0 || (ifin - ideb)*sign(ipas) < 0 ) /* index is finaly [] */
+ {
+ *mn = 0;
+ *ind_max = -1;
+ return 1;
+ }
+ else if ( (ipas < 0 && ifin <= 0) || (ipas > 0 && ideb <= 0) )
+ {
+ return 0; /* at least one index will be <= 0 => error */
+ }
+ else
+ {
+ int ind_min;
+ *mn = (abs(ifin - ideb)) / abs(ipas) + 1;
+ if ( ipas > 0 )
+ {
+ ind_min = ideb;
+ *ind_max = ideb + (*mn - 1) * ipas;
+ }
+ else /* ipas < 0 (the case ipas==0 is treated before) */
+ {
+ *ind_max = ideb;
+ ind_min = ideb + (*mn - 1) * ipas; /* Bug 4015 fix: flip left to right for hypermatrices */
+ }
+ if ( ind_min <= 0 )
+ {
+ return 0; /* at least one index is <= 0 => error */
+ }
+
+ li = 4;
+ CreateVar(pos_ind, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, mn, &one, &li);
+ ti = istk(li);
+ ti[0] = ideb - 1; /* -1 to get 0-based indices */
+ for ( k = 1 ; k < *mn ; k++ )
+ {
+ ti[k] = ti[k - 1] + ipas;
+ }
+ return 1;
+ }
+
+ case (sci_boolean) :
+
+ GetRhsVar(pos, MATRIX_OF_BOOLEAN_DATATYPE, &m, &n, &l);
+ if ( m*n != nmax )
+ {
+ return 0;
+ }
+ *mn = 0;
+ for ( k = 0 ; k < nmax ; k++ )
+ if ( *istk(l + k) != 0 )
+ {
+ (*mn)++;
+ }
+ if ( *mn == 0 )
+ {
+ *ind_max = 0;
+ return 1;
+ }
+ li = 4;
+ CreateVar(pos_ind, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, mn, &one, &li);
+ ti = istk(li);
+ i = 0;
+ for ( k = 0 ; k < nmax ; k++ )
+ if ( *istk(l + k) != 0 )
+ {
+ ti[i] = k;
+ i++;
+ }
+ *ind_max = ti[*mn - 1] + 1;
+ return 1;
+
+ case (sci_mlist) : /* Try if it is an hypermat of BOOLEANS */
+
+ GetHMat(pos, &H);
+ if ( H.type != sci_boolean || H.size != nmax)
+ {
+ return 0;
+ }
+ P = (int *) H.P;
+ *ind_max = 0;
+ *mn = 0;
+ for ( k = 0 ; k < nmax ; k++ )
+ if ( P[k] != 0 )
+ {
+ (*mn)++;
+ }
+ if ( *mn == 0 )
+ {
+ *ind_max = 0;
+ return 1;
+ }
+ li = 4;
+ CreateVar(pos_ind, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, mn, &one, &li);
+ ti = istk(li);
+ i = 0;
+ for ( k = 0 ; k < nmax ; k++ )
+ if ( P[k] != 0 )
+ {
+ ti[i] = k;
+ i++;
+ }
+ *ind_max = ti[*mn - 1] + 1;
+ return 1;
+
+
+ case (sci_boolean_sparse) :
+
+ GetSciBoolSparse(pos, &B);
+ if ( B.m*B.n != nmax )
+ {
+ return 0;
+ }
+
+ if ( B.nel == 0 ) /* false sparse matrix => index is [] */
+ {
+ *mn = 0;
+ *ind_max = 0;
+ return 1;
+ }
+
+ *mn = B.nel;
+ li = 4;
+ CreateVar(pos_ind, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, mn, &one, &li);
+ ti = istk(li);
+ if ( B.m == 1 )
+ {
+ for ( k = 0 ; k < B.nel ; k++ )
+ {
+ ti[k] = B.jcol[k] - 1;
+ }
+ }
+ else if ( B.n == 1 )
+ {
+ i = 0;
+ for ( k = 0 ; k < B.m ; k++ )
+ if ( B.mnel[k] != 0 )
+ {
+ ti[i] = k;
+ i++;
+ }
+ }
+ else
+ {
+ k = 0;
+ for ( i = 0 ; i < B.m ; i++ )
+ for ( l = 0 ; l < B.mnel[i] ; l++ )
+ {
+ j = B.jcol[k] - 1;
+ ti[k] = j * B.m + i;
+ k++;
+ }
+ qsort((void *)ti, (size_t) B.nel, sizeof(int), cmpint);
+ }
+ *ind_max = ti[*mn - 1] + 1;
+ return 1;
+
+ default :
+ return 0;
+ }
+}
+
+
+static void compute_indices(int dec, int dimsize, int dims[], int j[])
+{
+ /*
+ * from an indexing (i0,i1,i2,...) of an hypermatrix of size
+ * dims[0] x dims[1] x dims[2] x.... computes the "real" one
+ * dimensional indices (hypermatrices have the fortran order).
+ */
+
+ int nd, i, k, K, Knew, m, p, temp;
+ int *id;
+
+ get_length_and_pointer(dec + dimsize, &nd, &id);
+ K = nd;
+ for ( k = 0 ; k < K ; k++ )
+ {
+ j[k] = id[k];
+ }
+
+ for ( i = dimsize - 1 ; i > 0 ; i-- )
+ {
+ get_length_and_pointer(dec + i, &nd, &id);
+ Knew = K * nd;
+ m = Knew - 1;
+ for ( k = K - 1 ; k >= 0 ; k--)
+ {
+ temp = dims[i - 1] * j[k];
+ for ( p = nd - 1 ; p >= 0 ; p-- )
+ {
+ j[m] = id[p] + temp;
+ m--;
+ }
+ }
+ K = Knew;
+ }
+}
+
+
+int C2F(intehm)()
+{
+ /*
+ * Extraction routine for an hypermatrix of type REAL_OR_COMPLEX, BOOLEAN
+ * and INTEGER (the 6 types of scilab ints)
+ *
+ * He = ehm ( v_1, v_2, ..., v_nb_iv, H )
+ *
+ */
+ HyperMat H, He;
+ int dec, i, k, l, m, n, mn, ntot, ind_max;
+ int *j, ier, one = 1, zero = 0, ltot, nb_index_vectors, final_dimsize, lr, lc;
+ int *P, *Pe;
+ short int *siP, *siPe;
+ char *cP, *cPe;
+
+ /* CheckLhs(minlhs,maxlhs); */
+
+ if ( Rhs < 2 )
+ {
+ Scierror(999, _("%s: Wrong number of input arguments: at least %d expected.\n"), "hmops", 2);
+ return(0);
+ };
+
+ if ( ! get_hmat(Rhs, &H) )
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: An hypermatrix expected.\n"), "hmops", Rhs);
+ return 0;
+ }
+ else if ( H.type == NOT_REAL_or_CMPLX_or_BOOL_or_INT || H.type == OLD_HYPERMAT )
+ {
+ /* do the extraction with the macro %hm_e */
+ Fin = -Fin;
+ return 0;
+ }
+
+ nb_index_vectors = Rhs - 1;
+ if ( H.dimsize < nb_index_vectors )
+ {
+ Scierror(999, _("%s: Wrong number of input arguments: at most %d expected.\n"), "hmops", H.dimsize);
+ return 0;
+ }
+ else if ( H.dimsize > nb_index_vectors ) /* reshape H */
+ {
+ ReshapeHMat(Rhs + 1, &H, nb_index_vectors );
+ dec = Rhs + 1;
+ }
+ else
+ {
+ dec = Rhs;
+ }
+
+ if ( H.size == 0 ) /* the hypermat is empty => return an empty matrix ? */
+ {
+ CreateVar(dec + 1, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l);
+ LhsVar(1) = dec + 1;
+ PutLhsVar();
+ return 0;
+ }
+
+
+ ntot = 1; /* will be the nb of elts of the extracted hmat or mat */
+ for ( i = 1 ; i <= nb_index_vectors ; i++ )
+ {
+ ier = create_index_vector(i, dec + i, &mn, H.dims[i - 1], &ind_max);
+ if ( ier == 0 || ind_max > H.dims[i - 1] )
+ {
+ Scierror(999, _("%s: Invalid index #%d in hypermatrix extraction. "), "hmops", i);
+ return 0;
+ }
+ if ( mn == 0 ) /* the vector index is [] => we return an empty matrix */
+ {
+ CreateVar(dec + i + 1, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l);
+ LhsVar(1) = dec + i + 1;
+ PutLhsVar();
+ return 0;
+ }
+ ntot *= mn;
+ }
+
+ /* For the Matlab compatibility : an hypermatrix of profil n1 x ... x nj x ... x nk
+ * with nj > 1 and nj+1 = ... = nk = 1 becomes an hypermatrix of profil n1 x ... x nj
+ * Moreover, in scilab, if nj <= 2, we get in fact a matrix.
+ */
+ final_dimsize = nb_index_vectors;
+ while (final_dimsize > 1 && get_length(dec + final_dimsize) == 1)
+ {
+ final_dimsize--;
+ }
+ if ( final_dimsize > 2 ) /* we create an hypermatrix for the extraction result */
+ {
+ He.dimsize = final_dimsize;
+ He.size = ntot;
+ He.it = H.it;
+ He.type = H.type;
+ CreateHMat(dec + Rhs, &He);
+ for ( k = 0 ; k < final_dimsize ; k++ )
+ {
+ He.dims[k] = get_length(dec + k + 1);
+ }
+ }
+ else /* we create a matrix for the extraction result */
+ {
+ m = get_length(dec + 1);
+ if (final_dimsize > 1)
+ {
+ n = get_length(dec + 2);
+ }
+ else
+ {
+ n = 1;
+ }
+ switch (H.type)
+ {
+ case (sci_matrix):
+ CreateCVar(dec + Rhs, MATRIX_OF_DOUBLE_DATATYPE, &(H.it), &m, &n, &lr, &lc);
+ He.R = stk(lr);
+ if ( H.it == 1 )
+ {
+ He.I = stk(lc);
+ }
+ break;
+ case (sci_boolean):
+ CreateVar(dec + Rhs, MATRIX_OF_BOOLEAN_DATATYPE, &m, &n, &lr);
+ He.P = (void *) istk(lr);
+ break;
+ case (sci_ints):
+ lr = H.it;
+ CreateVar(dec + Rhs, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, &m, &n, &lr);
+ He.P = (void *) istk(lr);
+ break;
+ }
+ }
+
+ /* indices computing */
+ ltot = 4;
+ CreateVar(dec + Rhs + 1, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, &ntot, &one, &ltot);
+ j = istk(ltot);
+ compute_indices(dec, nb_index_vectors, H.dims, j);
+
+ /* fill the resulting hypermatrix or matrix */
+ switch ( H.type )
+ {
+ case (sci_matrix) :
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ He.R[k] = H.R[j[k]];
+ }
+ if (H.it == 1)
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ He.I[k] = H.I[j[k]];
+ }
+ break;
+
+ case (sci_boolean) : /* (sci_boolean stored with 4 bytes) */
+ Pe = (int *) He.P ;
+ P = (int *) H.P;
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ Pe[k] = P[j[k]];
+ }
+ break;
+
+ case (sci_ints) :
+ if ( H.it == I_INT32 || H.it == I_UINT32 )
+ {
+ Pe = (int *) He.P;
+ P = (int *) H.P;
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ Pe[k] = P[j[k]];
+ }
+ }
+ else if ( H.it == I_INT16 || H.it == I_UINT16 )
+ {
+ siPe = (short int *) He.P;
+ siP = (short int *) H.P;
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ siPe[k] = siP[j[k]];
+ }
+ }
+ else /* SCI_INT8 and SCI_UINT8 : 1 Byte int */
+ {
+ cPe = (char *) He.P;
+ cP = (char *) H.P;
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ cPe[k] = cP[j[k]];
+ }
+ }
+ break;
+ }
+
+ LhsVar(1) = dec + Rhs;
+ PutLhsVar();
+ return 0;
+}
+
+
+int C2F(intihm)()
+{
+ /*
+ une routine d'insertion pour hypermatrice : cas le plus
+ simple : A( vi1, ..., vik ) = B
+
+ ihm ( vi1, vi2, ..., vik, B, A )
+
+ avec des vecteurs d'indices classiques vi1, vi2, ....
+ et B une hypermatrice ou bien une matrice
+ */
+
+ HyperMat A, B;
+ int i, k,/* l, li, m, n,*/ ntot, mn,/* err_neg,*/ iconf, ind_max;
+ int nb_index_vectors, B_is_scalar;
+ int *j,/* nd,*/ one = 1, ltot, il, dec/*, Top_save*/;
+ int *PA, *PB;
+ short int *siPA, *siPB;
+ char *cPA, *cPB;
+ int ilp, topk;
+
+ /* CheckLhs(minlhs,maxlhs); */
+
+ if ( Rhs < 3 )
+ {
+ Scierror(999, _("%s: Wrong number of input arguments: at least %d expected.\n"), "hmops", 3);
+ return 0;
+ };
+ nb_index_vectors = Rhs - 2;
+
+ if ( ! get_hmat(Rhs, &A) )
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: An hypermatrix expected.\n"), "hmops", Rhs);
+ return 0;
+ }
+ else if ( A.type == NOT_REAL_or_CMPLX_or_BOOL_or_INT || A.type == OLD_HYPERMAT )
+ {
+ /* do the job by the %x_i_hm macro family */
+ Fin = -Fin;
+ return 0;
+ }
+
+ if ( ! get_hmat(Rhs - 1, &B) ) /* B is not an hypermat => try if it is a matrix */
+ if ( ! get_mat_as_hmat(Rhs - 1, &B) ) /* it is not a matrix of type 1, 4 or 8 */
+ {
+ /* it stays some authorized possibilities like A(....) = B with B a polynomial
+ * matrix and A a real hypermatrix => try the %x_i_hm macro family
+ */
+ Fin = -Fin;
+ return 0;
+ }
+
+
+ if ( A.type != B.type || A.it != B.it || B.size == 0 || A.dimsize < nb_index_vectors )
+ {
+ /* do the job by the %x_i_hm macro family */
+ Fin = -Fin;
+ return 0;
+ }
+
+ if ( B.size == 1 )
+ {
+ B_is_scalar = 1;
+ }
+ else
+ {
+ B_is_scalar = 0;
+ }
+
+
+ if ( A.dimsize > nb_index_vectors )
+ {
+ ReshapeHMat(Rhs + 1, &A, nb_index_vectors);
+ dec = Rhs + 1;
+ }
+ else
+ {
+ dec = Rhs;
+ }
+
+
+ /* get the index vectors */
+ ntot = 1;
+ iconf = 0;
+ for ( i = 1 ; i <= nb_index_vectors ; i++ )
+ {
+ if (! create_index_vector(i, dec + i, &mn, A.dims[i - 1], &ind_max))
+ {
+ Scierror(999, _("%s: Invalid index #%d in hypermatrix insertion.\n"), "hmops", i);
+ return 0;
+ }
+ if ( mn == 0 ) /* the i th index vector is [] */
+ {
+ if ( B_is_scalar )
+ /* nothing append (strange but reproduces the Matlab behavior) */
+ {
+ goto the_end;
+ }
+ else /* B have at least 2 elts */
+ {
+ Scierror(999, _("%s: Invalid hypermatrix insertion.\n"), "hmops");
+ return 0;
+ }
+ }
+ else if ( ind_max > A.dims[i - 1] )
+ {
+ /* we have to enlarge the hypermat : do the job by the %x_i_hm macro family */
+ Fin = -Fin;
+ return 0;
+ }
+ else if ( !B_is_scalar && mn != 1 ) /* do the conformity test */
+ {
+ while ( iconf < B.dimsize && B.dims[iconf] == 1 )
+ {
+ iconf++;
+ }
+ if ( iconf >= B.dimsize || B.dims[iconf] != mn )
+ {
+ Scierror(999, _("%s: Invalid hypermatrix insertion.\n"), "hmops");
+ return 0;
+ }
+ iconf++;
+ }
+ ntot *= mn;
+ }
+ /* to finish the conformity test */
+ if ( !B_is_scalar && ntot != B.size )
+ {
+ Scierror(999, _("%s: Invalid hypermatrix insertion.\n"), "hmops");
+ return 0;
+ }
+
+ /* indices computing */
+ ltot = 4;
+ CreateVar(dec + Rhs - 1, MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE, &ntot, &one, &ltot);
+ j = istk(ltot);
+ compute_indices(dec, nb_index_vectors, A.dims, j);
+
+
+ /* modify in place the hypermatrix A */
+ switch ( A.type )
+ {
+ case (sci_matrix) :
+ if ( B_is_scalar )
+ {
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ A.R[j[k]] = B.R[0];
+ }
+ if (A.it == 1)
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ A.I[j[k]] = B.I[0];
+ }
+ }
+ else
+ {
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ A.R[j[k]] = B.R[k];
+ }
+ if (A.it == 1)
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ A.I[j[k]] = B.I[k];
+ }
+ }
+ break;
+
+ case (sci_boolean) :
+ PA = (int *) A.P ;
+ PB = (int *) B.P;
+ if ( B_is_scalar )
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ PA[j[k]] = PB[0];
+ }
+ else
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ PA[j[k]] = PB[k];
+ }
+ break;
+
+ case (sci_ints) :
+ if ( A.it == I_INT32 || A.it == I_UINT32 )
+ {
+ PA = (int *) A.P ;
+ PB = (int *) B.P;
+ if ( B_is_scalar )
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ PA[j[k]] = PB[0];
+ }
+ else
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ PA[j[k]] = PB[k];
+ }
+ }
+ else if ( A.it == I_INT16 || A.it == I_UINT16 )
+ {
+ siPA = (short int *) A.P;
+ siPB = (short int *) B.P;
+ if ( B_is_scalar )
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ siPA[j[k]] = siPB[0];
+ }
+ else
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ siPA[j[k]] = siPB[k];
+ }
+ }
+ else /* 1 Byte int */
+ {
+ cPA = (char *) A.P;
+ cPB = (char *) B.P;
+ if ( B_is_scalar )
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ cPA[j[k]] = cPB[0];
+ }
+ else
+ for ( k = 0 ; k < ntot ; k++ )
+ {
+ cPA[j[k]] = cPB[k];
+ }
+ }
+ break;
+ }
+
+ /*
+ * ici j'essaie de faire le boulot de putlhsvar
+ * le code se base sur setref (SCI/system/createref.f)
+ * on met une variable speciale "en Top" (le nouveau
+ * Top = Top-Rhs+1) qui indique en fait que l'on a
+ * modifi� "en place" la variable topk.
+ * Les instructions LhsVar(1) = 0; et Nbvars = 0;
+ * permettent a priori de sortir "convenablement"
+ * de putlhsvar.
+ */
+the_end:
+ il = iadr(*Lstk(Top));
+ topk = *istk(il + 2);
+ Top = Top - Rhs + 1;
+ ilp = iadr(*Lstk(Top));
+ *istk(ilp) = -1;
+ *istk(ilp + 1) = -1;
+ *istk(ilp + 2) = topk;
+ if ( topk > 0 )
+ {
+ *istk(ilp + 3) = *Lstk(topk + 1) - *Lstk(topk);
+ }
+ else
+ {
+ *istk(ilp + 3) = 0;
+ }
+ *Lstk(Top + 1) = sadr(ilp + 4);
+
+ LhsVar(1) = 0;
+ Nbvars = 0;
+
+ return 0;
+}
diff --git a/modules/data_structures/src/c/hmops.h b/modules/data_structures/src/c/hmops.h
new file mode 100755
index 000000000..c32a4176e
--- /dev/null
+++ b/modules/data_structures/src/c/hmops.h
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Sylvestre LEDRU
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __HMOPS_H__
+#define __HMOPS_H__
+
+#include "dynlib_data_structures.h"
+
+DATA_STRUCTURES_IMPEXP int C2F(ishm)(void);
+
+DATA_STRUCTURES_IMPEXP int C2F(intehm)(void);
+
+DATA_STRUCTURES_IMPEXP int C2F(intihm)(void);
+
+#endif /* __HMOPS_H__ */
diff --git a/modules/data_structures/src/c/libscidata_structures_algo_la-hmops.lo b/modules/data_structures/src/c/libscidata_structures_algo_la-hmops.lo
new file mode 100755
index 000000000..0ba0a205a
--- /dev/null
+++ b/modules/data_structures/src/c/libscidata_structures_algo_la-hmops.lo
@@ -0,0 +1,12 @@
+# src/c/libscidata_structures_algo_la-hmops.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_algo_la-hmops.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/c/libscidata_structures_algo_la-stcreate.lo b/modules/data_structures/src/c/libscidata_structures_algo_la-stcreate.lo
new file mode 100755
index 000000000..cde1c123c
--- /dev/null
+++ b/modules/data_structures/src/c/libscidata_structures_algo_la-stcreate.lo
@@ -0,0 +1,12 @@
+# src/c/libscidata_structures_algo_la-stcreate.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_algo_la-stcreate.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/c/libscidata_structures_algo_la-strpos.lo b/modules/data_structures/src/c/libscidata_structures_algo_la-strpos.lo
new file mode 100755
index 000000000..cdf29e42b
--- /dev/null
+++ b/modules/data_structures/src/c/libscidata_structures_algo_la-strpos.lo
@@ -0,0 +1,12 @@
+# src/c/libscidata_structures_algo_la-strpos.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscidata_structures_algo_la-strpos.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/c/stcreate.c b/modules/data_structures/src/c/stcreate.c
new file mode 100755
index 000000000..c728d5794
--- /dev/null
+++ b/modules/data_structures/src/c/stcreate.c
@@ -0,0 +1,200 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) ????-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include <string.h>
+#include "stack-c.h"
+#include "stcreate.h"
+#include "cvstr.h"
+#include "Scierror.h"
+#include "localization.h"
+
+#define memused(it,mn) ((((mn)*( it % 10))/sizeof(int))+1)
+
+/* Table of constant values */
+static int c1 = 1;
+static int c4 = 4;
+
+
+int C2F(stcreate)(int *lw, int *nz, int *sz, int *nf, char *fnames[], int *retval)
+{
+ int next, k, lr, nels;
+
+ static int l;
+ static int l0, n1, il;
+
+ *retval = 0;
+ l0 = *Lstk(*lw);
+
+ C2F(intersci).ntypes[*lw - Top + Rhs - 1] = '$';
+ C2F(intersci).iwhere[*lw - Top + Rhs - 1] = *Lstk(*lw);
+
+ if (*lw > intersiz)
+ {
+ Scierror(998, _("Too many arguments in the stack, edit stack.h and enlarge intersiz.\n"));
+ return 1;
+ }
+ sttyp(&n1, "size", nf, fnames);
+
+ *retval = 1;
+ /* create the mlist header */
+ il = iadr(l0);
+ Err = sadr(il + 6) + n1 - *Lstk(Bot);
+ if (Err > 0)
+ {
+ SciError(17);
+ return 1;
+ }
+ *istk(il) = 17;
+ *istk(il + 1) = 2 + *nf;
+ *istk(il + 2) = 1;
+ /* set mlist type ["st","dims","field1",...,"fieldnf"] */
+ l = sadr(il + 5 + *nf);
+ sttyp(istk(iadr(l)), "set", nf, fnames);
+ *istk(il + 3) = *istk(il + 2) + n1;
+ l += n1;
+ /* set dims entry (int32 matrix) */
+ /* if (!C2F(creimati)("stcreate", &l, &c4, nz, &c1, &lr, &c1, 12L)) return 1; FD comment*/
+ if (!C2F(creimati)("stcreate", &l, &c4, &c1, nz, &lr, &c1, 12L))
+ {
+ return 1;
+ }
+ C2F(icopy)(nz, sz, &c1, istk(lr), &c1);
+ n1 = sadr(iadr(l) + 4) + memused(c4, *nz) - l;
+ *istk(il + 4) = *istk(il + 3) + n1;
+ l += n1;
+
+ /* set struct fields */
+ nels = 1;
+ for (k = 0; k < *nz; k++)
+ {
+ nels = nels * sz[k];
+ }
+ if (nels == 1)
+ {
+ for (k = 0; k < *nf; k++)
+ {
+ creonevoid(&l, &next);
+ n1 = next - l;
+ l += n1;
+ *istk(il + 5 + k) = *istk(il + 4 + k) + n1;
+ }
+ }
+ else
+ {
+ for (k = 0; k < *nf; k++)
+ {
+ crelistofvoids(&l, &next, &nels);
+ n1 = next - l;
+ l += n1;
+ *istk(il + 5 + k) = *istk(il + 4 + k) + n1;
+ }
+ }
+ *Lstk(*lw + 1) = l;
+ return 1;
+}
+
+int creonevoid(int *slw, int *lw)
+{
+ int il;
+ il = iadr(*slw);
+ *istk(il ) = 1;
+ *istk(il + 1) = 0;
+ *istk(il + 2) = 0;
+ *istk(il + 3) = 0;
+ il += 4;
+ *lw = sadr(il);
+ return 0;
+}
+
+int crelistofvoids(int *slw, int *lw, int *nels)
+{
+ int il, k;
+ il = iadr(*slw);
+ *istk(il) = 15;
+ *istk(il + 1) = *nels;
+ *istk(il + 2) = 1;
+ for (k = 0; k < *nels; k++)
+ {
+ *istk(il + 3 + k) = *istk(il + 2 + k) + 2;
+ }
+ il += 3 + *nels;
+ il = iadr(sadr(il));
+ for (k = 0; k < *nels; k++)
+ {
+ *istk(il ) = 1;
+ *istk(il + 1) = 0;
+ *istk(il + 2) = 0;
+ *istk(il + 3) = 0;
+ il += 4;
+ };
+ if ( ((il - iadr(*slw)) % 2) )
+ {
+ il += 1;
+ }
+ *lw = sadr(il);
+ return 0;
+}
+
+int sttyp(int *ivt, char *job, int *nf, char *fnames[])
+{
+ static int l;
+ int ls, k, shft, stp, Job;
+
+ if (strcmp(job, "size") == 0)
+ {
+ /* size of header = ["st","dims","f_1",...,"f_nf"] */
+ ls = 0;
+ for ( k = 0; k < *nf; k++)
+ {
+ ls += (int)strlen(fnames[k]);
+ }
+ ivt[0] = 4 + (2 + *nf) + 1 + 2 + 4 + ls; /* 2 + *nf strings */
+ /* if (ivt[0] % 2) ivt[0]++; */
+ }
+ else
+ {
+ /* header = row vector made of 2 + *nf strings */
+ ivt[0] = sci_strings;
+ ivt[1] = 1;
+ ivt[2] = 2 + *nf;
+ ivt[3] = 0;
+ ivt[4] = 1;
+ stp = 4;
+ l = 5 + (2 + *nf);
+ /* string 1 = "st" */
+ shft = 2;
+ ivt[l] = 28; /* "s" */
+ ivt[l + 1] = 29; /* "t" */
+ ivt[stp + 1] = ivt[stp] + shft;
+ l += shft;
+ stp++;
+ /* string 2 = "dims" */
+ shft = 4;
+ ivt[l] = 13; /* "d" */
+ ivt[l + 1] = 18; /* "i" */
+ ivt[l + 2] = 22; /* "m" */
+ ivt[l + 3] = 28; /* "s" */
+ ivt[stp + 1] = ivt[stp] + shft;
+ l += shft;
+ stp++;
+ /* strings 3:2+nf = ["field_1","field_2","field_nf"] */
+ for (k = 0; k < *nf; k++)
+ {
+ shft = (int)strlen(fnames[k]);
+ C2F(cvstr)(&shft, &ivt[l], fnames[k], (Job = 0, &Job), shft);
+ ivt[stp + 1] = ivt[stp] + shft;
+ l += shft;
+ stp++;
+ }
+ }
+ return 0;
+}
diff --git a/modules/data_structures/src/c/stcreate.h b/modules/data_structures/src/c/stcreate.h
new file mode 100755
index 000000000..1ddd9c25c
--- /dev/null
+++ b/modules/data_structures/src/c/stcreate.h
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Sylvestre LEDRU
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __STCREATE_H__
+#define __STCREATE_H__
+
+#include "dynlib_data_structures.h"
+
+DATA_STRUCTURES_IMPEXP int C2F(stcreate)(int *lw, int *nz, int *sz, int *nf, char *fnames[], int *retval);
+
+DATA_STRUCTURES_IMPEXP int sttyp(int *ivt, char *job, int *nf, char *fnames[]);
+
+DATA_STRUCTURES_IMPEXP int creonevoid(int *slw, int *lw);
+
+DATA_STRUCTURES_IMPEXP int crelistofvoids(int *slw, int *lw, int *nels);
+
+#endif /* __STCREATE_H__ */
diff --git a/modules/data_structures/src/c/strpos.c b/modules/data_structures/src/c/strpos.c
new file mode 100755
index 000000000..fe2c3781b
--- /dev/null
+++ b/modules/data_structures/src/c/strpos.c
@@ -0,0 +1,36 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "dynlib_data_structures.h"
+#include "machine.h"
+/*--------------------------------------------------------------------------*/
+DATA_STRUCTURES_IMPEXP int C2F(strpos)(const int *ptr, const int *ns, const int *chars, const int *str, const int *n)
+{
+ int i = 0;
+
+ for (i = 1; i <= *ns; ++i)
+ {
+ int k = ptr[i - 1];
+ int l = ptr[i];
+
+ if ((l - k) == *n)
+ {
+ if (memcmp(str, &chars[k - 1], sizeof(int) * (*n)) == 0)
+ {
+ return i;
+ }
+ }
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/data_structures/src/fortran/.deps/.dirstamp b/modules/data_structures/src/fortran/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/src/fortran/.deps/.dirstamp
diff --git a/modules/data_structures/src/fortran/.dirstamp b/modules/data_structures/src/fortran/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/data_structures/src/fortran/.dirstamp
diff --git a/modules/data_structures/src/fortran/.libs/extractfields.o b/modules/data_structures/src/fortran/.libs/extractfields.o
new file mode 100755
index 000000000..2ac656759
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/extractfields.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/followpath.o b/modules/data_structures/src/fortran/.libs/followpath.o
new file mode 100755
index 000000000..eb6f5a7be
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/followpath.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/forcerhs.o b/modules/data_structures/src/fortran/.libs/forcerhs.o
new file mode 100755
index 000000000..45f015d4b
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/forcerhs.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/gratyp.o b/modules/data_structures/src/fortran/.libs/gratyp.o
new file mode 100755
index 000000000..c7cb7c4f2
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/gratyp.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/insertfield.o b/modules/data_structures/src/fortran/.libs/insertfield.o
new file mode 100755
index 000000000..6c99c9f62
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/insertfield.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/intl_i.o b/modules/data_structures/src/fortran/.libs/intl_i.o
new file mode 100755
index 000000000..3b4cd316b
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/intl_i.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/libdummy_data_structures_la-intl_e.o b/modules/data_structures/src/fortran/.libs/libdummy_data_structures_la-intl_e.o
new file mode 100755
index 000000000..acf87563f
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/libdummy_data_structures_la-intl_e.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/lsstyp.o b/modules/data_structures/src/fortran/.libs/lsstyp.o
new file mode 100755
index 000000000..f5e61af1c
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/lsstyp.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/lstops.o b/modules/data_structures/src/fortran/.libs/lstops.o
new file mode 100755
index 000000000..65fdcfebd
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/lstops.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/mlist.o b/modules/data_structures/src/fortran/.libs/mlist.o
new file mode 100755
index 000000000..9b3bcee2a
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/mlist.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/rattyp.o b/modules/data_structures/src/fortran/.libs/rattyp.o
new file mode 100755
index 000000000..63ffbec69
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/rattyp.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/.libs/udptr.o b/modules/data_structures/src/fortran/.libs/udptr.o
new file mode 100755
index 000000000..fa277076e
--- /dev/null
+++ b/modules/data_structures/src/fortran/.libs/udptr.o
Binary files differ
diff --git a/modules/data_structures/src/fortran/Core_f_Import.def b/modules/data_structures/src/fortran/Core_f_Import.def
new file mode 100755
index 000000000..ee810cb37
--- /dev/null
+++ b/modules/data_structures/src/fortran/Core_f_Import.def
@@ -0,0 +1,19 @@
+ LIBRARY core_f.dll
+
+
+EXPORTS
+;
+;core_f
+;
+indxg_
+putid_
+eptover_
+createref_
+ptover_
+createref1_
+mklist_
+copyvar_
+stackp_
+defmat_
+lst2vars_
+setref_
diff --git a/modules/data_structures/src/fortran/Elementary_functions_Import.def b/modules/data_structures/src/fortran/Elementary_functions_Import.def
new file mode 100755
index 000000000..48ccbfe5d
--- /dev/null
+++ b/modules/data_structures/src/fortran/Elementary_functions_Import.def
@@ -0,0 +1,8 @@
+ LIBRARY elementary_functions.dll
+
+
+EXPORTS
+;
+;elementary_functions
+;
+unsfdcopy_ \ No newline at end of file
diff --git a/modules/data_structures/src/fortran/Elementary_functions_f_Import.def b/modules/data_structures/src/fortran/Elementary_functions_f_Import.def
new file mode 100755
index 000000000..13d99e77f
--- /dev/null
+++ b/modules/data_structures/src/fortran/Elementary_functions_f_Import.def
@@ -0,0 +1,8 @@
+ LIBRARY elementary_functions_f.dll
+
+
+EXPORTS
+;
+;elementary_functions_f
+;
+iset_ \ No newline at end of file
diff --git a/modules/data_structures/src/fortran/Linpack_f_Import.def b/modules/data_structures/src/fortran/Linpack_f_Import.def
new file mode 100755
index 000000000..dd2fed484
--- /dev/null
+++ b/modules/data_structures/src/fortran/Linpack_f_Import.def
@@ -0,0 +1,8 @@
+ LIBRARY linpack_f.dll
+
+
+EXPORTS
+;
+;linpack_f
+;
+icopy_ \ No newline at end of file
diff --git a/modules/data_structures/src/fortran/Output_stream_Import.def b/modules/data_structures/src/fortran/Output_stream_Import.def
new file mode 100755
index 000000000..d5537e973
--- /dev/null
+++ b/modules/data_structures/src/fortran/Output_stream_Import.def
@@ -0,0 +1,9 @@
+ LIBRARY Output_stream.dll
+
+
+EXPORTS
+;
+;Output_stream
+;
+error_
+basout_ \ No newline at end of file
diff --git a/modules/data_structures/src/fortran/core_Import.def b/modules/data_structures/src/fortran/core_Import.def
new file mode 100755
index 000000000..b09c8e4b2
--- /dev/null
+++ b/modules/data_structures/src/fortran/core_Import.def
@@ -0,0 +1,18 @@
+ LIBRARY core.dll
+
+
+EXPORTS
+;
+;core
+;
+adre_
+intersci_
+iop_
+stack_
+com_
+cha1_
+recu_
+vstk_
+errgst_
+gettype_
+
diff --git a/modules/data_structures/src/fortran/data_structures_Import.def b/modules/data_structures/src/fortran/data_structures_Import.def
new file mode 100755
index 000000000..2c1035d69
--- /dev/null
+++ b/modules/data_structures/src/fortran/data_structures_Import.def
@@ -0,0 +1,8 @@
+LIBRARY data_structures.dll
+
+
+EXPORTS
+intihm_
+intehm_
+ishm_
+strpos_ \ No newline at end of file
diff --git a/modules/data_structures/src/fortran/data_structures_f.rc b/modules/data_structures/src/fortran/data_structures_f.rc
new file mode 100755
index 000000000..fc25f7647
--- /dev/null
+++ b/modules/data_structures/src/fortran/data_structures_f.rc
@@ -0,0 +1,95 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "elementary_functions_f module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "elementary_functions_f module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "elementary_functions_f.dll"
+ VALUE "ProductName", "elementary_functions_f module"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/data_structures/src/fortran/data_structures_f.vfproj b/modules/data_structures/src/fortran/data_structures_f.vfproj
new file mode 100755
index 000000000..918d55efc
--- /dev/null
+++ b/modules/data_structures/src/fortran/data_structures_f.vfproj
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VisualStudioProject ProjectType="typeDynamicLibrary" ProjectCreator="Intel Fortran" Keyword="Dll" Version="11.0" ProjectIdGuid="{8091E9B6-4C08-4218-A63D-742867CCFE9F}">
+ <Platforms>
+ <Platform Name="Win32"/>
+ <Platform Name="x64"/></Platforms>
+ <Configurations>
+ <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="data_structures_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib output_stream.lib elementary_functions.lib data_structures.lib linpack_f.lib elementary_functions_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="data_structures_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib output_stream.lib elementary_functions.lib data_structures.lib linpack_f.lib elementary_functions_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="data_structures_f.def" GenerateDebugInformation="true" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib output_stream.lib elementary_functions.lib data_structures.lib linpack_f.lib elementary_functions_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
+ <Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)bin\" IntermediateDirectory="$(ProjectDir)$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.dll;$(TargetPath)" ConfigurationType="typeDynamicLibrary">
+ <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" Optimization="optimizeDisabled" AdditionalIncludeDirectories="../../../core/includes" PreprocessorDefinitions="WIN32;FORDLL" AlternateParameterSyntax="false" F77RuntimeCompatibility="true" FPS4Libs="false" CallingConvention="callConventionCRef" ExternalNameUnderscore="true" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
+ <Tool Name="VFLinkerTool" OutputFile="$(SolutionDir)bin\$(ProjectName).dll" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" ModuleDefinitionFile="data_structures_f.def" SubSystem="subSystemWindows" ImportLibrary="$(SolutionDir)bin\$(ProjectName).lib" LinkDLL="true" AdditionalDependencies="../../../../bin/blasplus.lib ../../../../bin/lapack.lib core.lib output_stream.lib elementary_functions.lib data_structures.lib linpack_f.lib elementary_functions_f.lib core_f.lib"/>
+ <Tool Name="VFResourceCompilerTool"/>
+ <Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
+ <Tool Name="VFCustomBuildTool"/>
+ <Tool Name="VFPreLinkEventTool" CommandLine="setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+&quot;$(SolutionDir)bin\dumpexts&quot; -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd .." Description="Build $(ProjectName).def"/>
+ <Tool Name="VFPreBuildEventTool" CommandLine="lib /DEF:&quot;$(InputDir)core_import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)data_structures_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)data_structures.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)output_stream_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)output_stream.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)linpack_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linpack_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)elementary_functions_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)elementary_functions_f.lib&quot; 1&gt;NUL 2&gt;NUL
+lib /DEF:&quot;$(InputDir)core_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)core_f.lib&quot; 1&gt;NUL 2&gt;NUL" Description="Build Dependencies"/>
+ <Tool Name="VFPostBuildEventTool"/>
+ <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
+ <Files>
+ <Filter Name="Header Files" Filter="fi;fd"/>
+ <Filter Name="Library Dependencies">
+ <File RelativePath=".\Core_f_Import.def"/>
+ <File RelativePath=".\core_import.def"/>
+ <File RelativePath=".\data_structures_Import.def"/>
+ <File RelativePath=".\Elementary_functions_f_Import.def"/>
+ <File RelativePath=".\Elementary_functions_Import.def"/>
+ <File RelativePath=".\Linpack_f_Import.def"/>
+ <File RelativePath=".\Output_stream_Import.def"/></Filter>
+ <Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ <File RelativePath=".\data_structures_f.rc"/></Filter>
+ <Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
+ <File RelativePath=".\extractfields.f"/>
+ <File RelativePath=".\followpath.f"/>
+ <File RelativePath=".\forcerhs.f"/>
+ <File RelativePath=".\gratyp.f"/>
+ <File RelativePath=".\insertfield.f"/>
+ <File RelativePath=".\intl_e.f"/>
+ <File RelativePath=".\intl_i.f"/>
+ <File RelativePath=".\lsstyp.f"/>
+ <File RelativePath=".\lstops.f"/>
+ <File RelativePath=".\mlist.f"/>
+ <File RelativePath=".\rattyp.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_definedfields.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_getfield.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_list.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_lstcat.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_lstsize.f"/>
+ <File RelativePath="..\..\sci_gateway\fortran\sci_f_setfield.f"/>
+ <File RelativePath=".\udptr.f"/></Filter>
+ <File RelativePath="..\..\sci_gateway\data_structures_gateway.xml"/>
+ <File RelativePath="..\..\Makefile.am"/></Files>
+ <Globals/></VisualStudioProject>
diff --git a/modules/data_structures/src/fortran/data_structures_f2c.vcxproj b/modules/data_structures/src/fortran/data_structures_f2c.vcxproj
new file mode 100755
index 000000000..08fe7c88e
--- /dev/null
+++ b/modules/data_structures/src/fortran/data_structures_f2c.vcxproj
@@ -0,0 +1,331 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>data_structures_f</ProjectName>
+ <ProjectGuid>{8091E9B6-4C08-4218-A63D-742867CCFE9F}</ProjectGuid>
+ <RootNamespace>data_structures_f2c</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v110</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="..\..\..\..\Visual-Studio-settings\f2c.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>core.lib;output_stream.lib;elementary_functions.lib;elementary_functions_f.lib;data_structures.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>data_structures_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>core.lib;output_stream.lib;elementary_functions.lib;elementary_functions_f.lib;data_structures.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>data_structures_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <ClCompile>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>core.lib;output_stream.lib;elementary_functions.lib;elementary_functions_f.lib;data_structures.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>data_structures_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <PreBuildEvent>
+ <Message>Build Dependencies</Message>
+ <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)data_structures_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)data_structures.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)output_stream_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)output_stream.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)linpack_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)linpack_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
+lib /DEF:"$(ProjectDir)core_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core_f.lib" 1&gt;NUL 2&gt;NUL</Command>
+ </PreBuildEvent>
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DATA_STRUCTURES_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <WarningLevel>Level3</WarningLevel>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ </ClCompile>
+ <PreLinkEvent>
+ <Message>Build $(ProjectName).def</Message>
+ <Command>setlocal EnableDelayedExpansion
+cd $(ConfigurationName)
+set LIST_OBJ=
+for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
+"$(SolutionDir)bin\dumpexts" -o $(ProjectName).def $(ProjectName).dll %LIST_OBJ%
+copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
+del *.def &gt;nul
+cd ..
+</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>core.lib;output_stream.lib;elementary_functions.lib;elementary_functions_f.lib;data_structures.lib;linpack_f.lib;core_f.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <ModuleDefinitionFile>data_structures_f.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX64</TargetMachine>
+ <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_definedfields.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_getfield.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_list.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_lstcat.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_lstsize.c" />
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_setfield.c" />
+ <ClCompile Include="extractfields.c" />
+ <ClCompile Include="followpath.c" />
+ <ClCompile Include="forcerhs.c" />
+ <ClCompile Include="gratyp.c" />
+ <ClCompile Include="insertfield.c" />
+ <ClCompile Include="intl_e.c" />
+ <ClCompile Include="intl_i.c" />
+ <ClCompile Include="lsstyp.c" />
+ <ClCompile Include="lstops.c" />
+ <ClCompile Include="mlist.c" />
+ <ClCompile Include="rattyp.c" />
+ <ClCompile Include="udptr.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_definedfields.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_getfield.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_list.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_lstcat.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_lstsize.f" />
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_setfield.f" />
+ <f2c_rule Include="extractfields.f" />
+ <f2c_rule Include="followpath.f" />
+ <f2c_rule Include="forcerhs.f" />
+ <f2c_rule Include="gratyp.f" />
+ <f2c_rule Include="insertfield.f" />
+ <f2c_rule Include="intl_e.f" />
+ <f2c_rule Include="intl_i.f" />
+ <f2c_rule Include="lsstyp.f" />
+ <f2c_rule Include="lstops.f" />
+ <f2c_rule Include="mlist.f" />
+ <f2c_rule Include="rattyp.f" />
+ <f2c_rule Include="udptr.f" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Core_f_Import.def" />
+ <None Include="data_structures_Import.def" />
+ <None Include="Elementary_functions_f_Import.def" />
+ <None Include="Elementary_functions_Import.def" />
+ <None Include="core_import.def" />
+ <None Include="Linpack_f_Import.def" />
+ <None Include="Output_stream_Import.def" />
+ <None Include="..\..\sci_gateway\data_structures_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
+ <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ <Import Project="..\..\..\..\Visual-Studio-settings\f2c.targets" />
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/modules/data_structures/src/fortran/data_structures_f2c.vcxproj.filters b/modules/data_structures/src/fortran/data_structures_f2c.vcxproj.filters
new file mode 100755
index 000000000..3d3279f5c
--- /dev/null
+++ b/modules/data_structures/src/fortran/data_structures_f2c.vcxproj.filters
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ <Filter Include="Fortran files">
+ <UniqueIdentifier>{c9677443-5750-4772-8f51-85e88469ccc7}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Libraries Dependencies">
+ <UniqueIdentifier>{ce2c3e1f-830d-4b48-b08c-5ef418829bc3}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="extractfields.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="followpath.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="forcerhs.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="gratyp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="insertfield.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="intl_e.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="intl_i.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="lsstyp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="lstops.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mlist.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="rattyp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="udptr.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_definedfields.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_getfield.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_list.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_lstcat.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_lstsize.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\sci_gateway\fortran\sci_f_setfield.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <f2c_rule Include="extractfields.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="followpath.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="forcerhs.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="gratyp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="insertfield.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="intl_e.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="intl_i.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="lsstyp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="lstops.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="mlist.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="rattyp.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="udptr.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_definedfields.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_getfield.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_list.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_lstcat.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_lstsize.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ <f2c_rule Include="..\..\sci_gateway\fortran\sci_f_setfield.f">
+ <Filter>Fortran files</Filter>
+ </f2c_rule>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="data_structures_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="Elementary_functions_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="core_import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="Output_stream_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="..\..\sci_gateway\data_structures_gateway.xml" />
+ <None Include="..\..\Makefile.am" />
+ <None Include="Linpack_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="Elementary_functions_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ <None Include="Core_f_Import.def">
+ <Filter>Libraries Dependencies</Filter>
+ </None>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/modules/data_structures/src/fortran/extractfields.f b/modules/data_structures/src/fortran/extractfields.f
new file mode 100755
index 000000000..69939e6b2
--- /dev/null
+++ b/modules/data_structures/src/fortran/extractfields.f
@@ -0,0 +1,121 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine extractfields(illist,ind,n,lw)
+c
+c given a list beginning at istk(illist), a vector of n indexes ind
+c extractfields creates n variables corresponding to the n fields
+c
+c if n==-1 all fieds are extracted
+c
+
+ include 'stack.h'
+ integer ind(*)
+c
+ integer vol2
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(n.eq.-1) then
+c . L(:)
+ n=istk(illist+1)
+ llist=sadr(illist+3+n)
+c . Check lhs
+ if(lhs.le.1) then
+ if(n.ne.lhs) then
+ call forcerhs(n,ierr)
+ if(ierr.ne.0) then
+ call error(41)
+ return
+ endif
+ endif
+ else
+ if(n.ne.lhs) then
+ call error(41)
+ return
+ endif
+ endif
+c . check if it is possible to create n new variables
+ if(top+1+n.ge.bot) then
+ call error(18)
+ return
+ endif
+c . create table of pointers on new variables
+ do 31 i=1,n
+ vol2=istk(illist+2+i)-istk(illist+1+i)
+ if(vol2.eq.0) then
+ err=i
+ call error(117)
+ return
+ endif
+ lstk(top+1)=lstk(top)+vol2
+ top=top+1
+ 31 continue
+ top=top-1
+c . copy the fields
+ l=lstk(top-n+1)
+ call unsfdcopy(istk(illist+n+2)-1,stk(llist),1,stk(l),1)
+ else
+c . L([....])
+ llist=sadr(illist+3+istk(illist+1))
+ if(n.ne.lhs) then
+ call forcerhs(n,ierr)
+ if(ierr.ne.0) then
+ call error(41)
+ return
+ endif
+ endif
+c . check if it is possible to create n new variables
+ if(top+n+1.ge.bot) then
+ call error(18)
+ return
+ endif
+c . create table of pointers on new variables
+ do 52 i=1,n
+ k=ind(i)
+ if(k.le.0.or.k.gt.istk(illist+1)) then
+ call error(21)
+ return
+ endif
+ vol2=istk(illist+2+k)-istk(illist+1+k)
+ if(vol2.eq.0) then
+ err=k
+ call error(117)
+ return
+ endif
+ lstk(top+1)=lstk(top)+vol2
+ top=top+1
+ 52 continue
+ top=top-1
+
+c . preserve fields adress (newly created variables may
+c . overwrite beginining of the given list)
+ ill=iadr(max(lw,lstk(top+1)))
+ lw=sadr(ill+n)
+ err=sadr(ill+n)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+
+ do 54 i=1,n
+ k=ind(i)
+ istk(ill-1+i)=istk(illist+1+k)+llist-1
+ 54 continue
+c . copy the fields
+ do 55 i=1,n
+ k=top-n+i
+ call unsfdcopy(lstk(k+1)-lstk(k),stk(istk(ill-1+i)),1,
+ $ stk(lstk(k)),1)
+ 55 continue
+ endif
+ return
+ end
diff --git a/modules/data_structures/src/fortran/extractfields.lo b/modules/data_structures/src/fortran/extractfields.lo
new file mode 100755
index 000000000..b6d8232bf
--- /dev/null
+++ b/modules/data_structures/src/fortran/extractfields.lo
@@ -0,0 +1,12 @@
+# src/fortran/extractfields.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/extractfields.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/followpath.f b/modules/data_structures/src/fortran/followpath.f
new file mode 100755
index 000000000..a8385530e
--- /dev/null
+++ b/modules/data_structures/src/fortran/followpath.f
@@ -0,0 +1,235 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine followpath(indtop,listtop,ilindi,voli,ilp,voll,ind,
+ $ count,info,lwork,job)
+c =============================================================
+c given
+c - a path stored in a "linear" index list ind stored in the
+c variable number indtop
+c and
+c - a list L begining at position stored in the
+c variable number listtop
+
+c - a current pointer on index list entries count
+
+c returns:
+c - the pointer ilp on the deapest sublist of L on the path indtop
+c available just by following the list structure of L.
+c i.e. ilp is the pointer on the sublist of L pointed to by
+c the path indtop(1:count)
+c - the vector of numerical indexes corresponding to indtop(1:count)
+
+c - voll (in stk worlds) of the designed sublist,
+c and the size (in stk worlds) voli of the designed subindex
+c
+c lw is a pointer on the beginning of the free area in stk
+c info
+c 1 : unknown named field
+c 2 : current index is a matrix index of an mlist
+c 3 : current index is not a single number
+c 4 : current index points to a leaf of the L list
+c 5 : end of index list reached
+c 6 : current index is 0 or greater than current sublist # of
+c fields
+c job
+c if job is true and end of index list is reached, the last index is
+c a name and the parent of the deapest object is a tlist or an mlist
+c the procedure returns the pointer and path of the parent instead
+c of the object itself (null insertion).
+
+c =============================================================
+c
+ include 'stack.h'
+c
+ logical job
+ integer indtop,listtop,ind(*)
+ integer typi,count,oldcount,voll,voli
+
+ integer strpos
+ external strpos
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ oldcount=count
+c
+ ilind=iadr(lstk(indtop))
+ if(istk(ilind).lt.0) then
+ itop=istk(ilind+2)
+ voli=istk(ilind+3)
+ ilind=iadr(istk(ilind+1))
+ else
+ itop=indtop
+ voli=lstk(itop+1)-lstk(itop)
+ endif
+c
+ illist=iadr(lstk(listtop))
+ if(istk(ilind).ne.15) then
+c . special case if ind is not a list
+ nlist=1
+ count=1
+ ilindi=ilind
+ ilindir=ilindi
+ illistir=illist
+ if(istk(illist).lt.0) illist=iadr(istk(illist+1))
+ illisti=illist
+ goto 12
+
+ endif
+
+c nlist is the size of the path index list
+ nlist=istk(ilind+1)
+ ll=sadr(ilind+3+nlist)
+
+ illistir=illist
+ illisti=illistir
+ if(istk(illisti).lt.0) illisti=iadr(istk(illisti+1))
+c
+ 10 continue
+c next index
+ count=count+1
+c move pointer to next entry in index list
+ ilindi=iadr(ll+istk(ilind+1+count)-1)
+ voli=istk(ilind+2+count)-istk(ilind+1+count)
+ ilindir=ilindi
+ if(istk(ilindi).lt.0) ilindi=iadr(istk(ilindi+1))
+c extract infos out of the current sublist
+ 12 typi=istk(illisti)
+ mi=istk(illisti+1)
+ llisti=sadr(illisti+mi+3)
+ voll=istk(illisti+mi+2)-1+sadr(3+mi)
+c go ahead along the path
+
+ if(typi.eq.13.or.typi.eq.11.or.typi.eq.130) then
+c . not an extraction but a function call
+ info=2
+ goto 50
+ endif
+
+c
+ if(istk(ilindi).eq.10) then
+c . current element index is a name
+ if (istk(ilindi+1)*istk(ilindi+2).ne.1) then
+ info=3
+ goto 50
+c call error(21)
+c return
+ endif
+ ilname=ilindi+6
+ nname=istk(ilindi+5)-istk(ilindi+4)
+c . check if it is an explicit field name
+ if (typi.ne.16.and.typi.ne.17) then
+c . list with no explicit fields names
+ info=1
+ goto 50
+ else
+c . first field may contain the fields names
+ ilfn=iadr(llisti)
+ nn=istk(ilfn+1)*istk(ilfn+2)
+ ilptr=ilfn+5
+ lfn=ilptr+nn
+c . look for corresponding index if any
+ n=strpos(istk(ilptr),nn-1,istk(lfn),istk(ilname),nname)
+ if(n.le.0) then
+c . no such name in the field names
+ info=1
+ goto 50
+ elseif(job.and.count.eq.nlist) then
+c . null assignment into a named sublist of an tlist or mlist
+ info=1
+ goto 50
+ endif
+ n=n+1
+ endif
+ elseif(istk(ilindi).eq.15) then
+c . current index is a multi dimensional matrix index
+ info=2
+ goto 50
+ else
+c . current index is a standard index
+ if(typi.eq.17.or.(typi.ne.15.and.typi.ne.16)) then
+c . matrix index
+c . can be improved for some special mlist types for which
+c . matrix entry addressing is predefined
+ info=2
+ goto 50
+ endif
+ lw=lwork
+ call indxg(ilindi,mi,ili,nl,mx,lw,10)
+ if(err.gt.0) return
+ if(nl.ne.1) then
+c . index is a vector or []
+ info=3
+ goto 50
+ endif
+ n=istk(ili)
+ if(n.lt.0) then
+ call error(21)
+ return
+ endif
+ endif
+c n is the numerical index of the sublist
+
+ if(n.eq.0.or.n.gt.mi) then
+ if (typi.eq.15.and.count.lt.nlist) then
+c . current index is out of definable list indices and is not the
+C . last of the index list
+ call error(21)
+ return
+ endif
+ ind(count)=n
+ info=6
+ goto 50
+ endif
+
+c move pointer to indexed sub-list of L
+ lti=sadr(illisti+3+mi)+istk(illisti+1+n)-1
+ voll=istk(illisti+2+n)-istk(illisti+n+1)
+ illisti=iadr(lti)
+ illistir=illisti
+c if(voll.eq.0) then
+c . undefined field found
+c info=7
+c goto 50
+c
+c endif
+ if(istk(illisti).lt.0) then
+ kk=istk(illisti+2)
+c voll=lstk(kk+1)-lstk(kk)
+ illisti=iadr(istk(illisti+1))
+ endif
+c
+ ind(count)=n
+ if(count+1.gt.nlist) then
+c . end of index list reached
+ info=5
+ goto 50
+ endif
+ if(istk(illisti).ge.15.and.istk(illisti).le.17) goto 10
+
+c a leaf of L has been found
+c move pointer to next entry in index list
+ count=count+1
+ ilindi=iadr(ll+istk(ilind+1+count)-1)
+ voli=istk(ilind+2+count)-istk(ilind+1+count)
+ ilindir=ilindi
+ if(istk(ilindi).lt.0) ilindi=iadr(istk(ilindi+1))
+ typi=istk(illisti)
+ info=4
+ goto 50
+
+
+ 50 continue
+c end
+ ilp=illistir
+ ilindi=ilindir
+
+ return
+ end
diff --git a/modules/data_structures/src/fortran/followpath.lo b/modules/data_structures/src/fortran/followpath.lo
new file mode 100755
index 000000000..add8e6a47
--- /dev/null
+++ b/modules/data_structures/src/fortran/followpath.lo
@@ -0,0 +1,12 @@
+# src/fortran/followpath.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/followpath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/forcerhs.f b/modules/data_structures/src/fortran/forcerhs.f
new file mode 100755
index 000000000..c978a5214
--- /dev/null
+++ b/modules/data_structures/src/fortran/forcerhs.f
@@ -0,0 +1,38 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine forcerhs(n,ierr)
+c this routine allows to change the apparent lhs of a list
+c extraction when it extraction appears in an input argument
+c list. The lhs is changed from 1 to the number of extracted
+c variables.
+c
+ integer n,ierr
+ include 'stack.h'
+
+ ierr=0
+c write(6,'(''forcerhs'',i5)') n
+ if(rstk(pt-1).eq.617) then
+c in a compiled function
+ pstk(pt-1)=pstk(pt-1)+n-1
+ elseif(rstk(pt-1).eq.501) then
+c in a compiled function retained for 2.4.1 compatiblity
+ ids(5,pt-1)=ids(5,pt-1)+n-1
+ elseif(pt.ge.4) then
+ if(rstk(pt-3).eq.307.or.rstk(pt-3).eq.702) then
+ pstk(pt-3)=pstk(pt-3)-1+n
+ else
+ ierr=1
+ endif
+ else
+ ierr=1
+ endif
+ return
+ end
+
diff --git a/modules/data_structures/src/fortran/forcerhs.lo b/modules/data_structures/src/fortran/forcerhs.lo
new file mode 100755
index 000000000..a487962b4
--- /dev/null
+++ b/modules/data_structures/src/fortran/forcerhs.lo
@@ -0,0 +1,12 @@
+# src/fortran/forcerhs.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/forcerhs.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/gratyp.f b/modules/data_structures/src/fortran/gratyp.f
new file mode 100755
index 000000000..14852408e
--- /dev/null
+++ b/modules/data_structures/src/fortran/gratyp.f
@@ -0,0 +1,436 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine gratyp(ivt,job)
+c set the type
+c ['graph','name','directed','node_number','tail','head','node_name',..
+c 'node_type','node_x','node_y','node_color','node_diam','node_border',..
+c 'node_font_size','node_demand','edge_name','edge_color','edge_width',..
+c 'edge_hi_width','edge_font_size','edge_length','edge_cost',..
+c 'edge_min_cap','edge_max_cap','edge_q_weight','edge_q_orig',..
+c 'edge_weight','default_node_diam','default_node_border',..
+c 'default_edge_width','default_edge_hi_width','default_font_size',..
+c 'node_label','edge_label']
+
+ integer ivt(*)
+ character*(*) job
+ if(job.eq.'size') then
+ ivt(1)=407
+ else
+ ivt(1)=10
+ ivt(2)=1
+ ivt(3)=34
+ ivt(4)=0
+ ivt(5)=1
+ ivt(6)=6
+ ivt(7)=10
+ ivt(8)=18
+ ivt(9)=29
+ ivt(10)=33
+ ivt(11)=37
+ ivt(12)=46
+ ivt(13)=55
+ ivt(14)=61
+ ivt(15)=67
+ ivt(16)=77
+ ivt(17)=86
+ ivt(18)=97
+ ivt(19)=111
+ ivt(20)=122
+ ivt(21)=131
+ ivt(22)=141
+ ivt(23)=151
+ ivt(24)=164
+ ivt(25)=178
+ ivt(26)=189
+ ivt(27)=198
+ ivt(28)=210
+ ivt(29)=222
+ ivt(30)=235
+ ivt(31)=246
+ ivt(32)=257
+ ivt(33)=274
+ ivt(34)=293
+ ivt(35)=311
+ ivt(36)=332
+ ivt(37)=349
+ ivt(38)=359
+ ivt(39)=369
+ ivt(40)=16
+ ivt(41)=27
+ ivt(42)=10
+ ivt(43)=25
+ ivt(44)=17
+ ivt(45)=23
+ ivt(46)=10
+ ivt(47)=22
+ ivt(48)=14
+ ivt(49)=13
+ ivt(50)=18
+ ivt(51)=27
+ ivt(52)=14
+ ivt(53)=12
+ ivt(54)=29
+ ivt(55)=14
+ ivt(56)=13
+ ivt(57)=23
+ ivt(58)=24
+ ivt(59)=13
+ ivt(60)=14
+ ivt(61)=36
+ ivt(62)=23
+ ivt(63)=30
+ ivt(64)=22
+ ivt(65)=11
+ ivt(66)=14
+ ivt(67)=27
+ ivt(68)=29
+ ivt(69)=10
+ ivt(70)=18
+ ivt(71)=21
+ ivt(72)=17
+ ivt(73)=14
+ ivt(74)=10
+ ivt(75)=13
+ ivt(76)=23
+ ivt(77)=24
+ ivt(78)=13
+ ivt(79)=14
+ ivt(80)=36
+ ivt(81)=23
+ ivt(82)=10
+ ivt(83)=22
+ ivt(84)=14
+ ivt(85)=23
+ ivt(86)=24
+ ivt(87)=13
+ ivt(88)=14
+ ivt(89)=36
+ ivt(90)=29
+ ivt(91)=34
+ ivt(92)=25
+ ivt(93)=14
+ ivt(94)=23
+ ivt(95)=24
+ ivt(96)=13
+ ivt(97)=14
+ ivt(98)=36
+ ivt(99)=33
+ ivt(100)=23
+ ivt(101)=24
+ ivt(102)=13
+ ivt(103)=14
+ ivt(104)=36
+ ivt(105)=34
+ ivt(106)=23
+ ivt(107)=24
+ ivt(108)=13
+ ivt(109)=14
+ ivt(110)=36
+ ivt(111)=12
+ ivt(112)=24
+ ivt(113)=21
+ ivt(114)=24
+ ivt(115)=27
+ ivt(116)=23
+ ivt(117)=24
+ ivt(118)=13
+ ivt(119)=14
+ ivt(120)=36
+ ivt(121)=13
+ ivt(122)=18
+ ivt(123)=10
+ ivt(124)=22
+ ivt(125)=23
+ ivt(126)=24
+ ivt(127)=13
+ ivt(128)=14
+ ivt(129)=36
+ ivt(130)=11
+ ivt(131)=24
+ ivt(132)=27
+ ivt(133)=13
+ ivt(134)=14
+ ivt(135)=27
+ ivt(136)=23
+ ivt(137)=24
+ ivt(138)=13
+ ivt(139)=14
+ ivt(140)=36
+ ivt(141)=15
+ ivt(142)=24
+ ivt(143)=23
+ ivt(144)=29
+ ivt(145)=36
+ ivt(146)=28
+ ivt(147)=18
+ ivt(148)=35
+ ivt(149)=14
+ ivt(150)=23
+ ivt(151)=24
+ ivt(152)=13
+ ivt(153)=14
+ ivt(154)=36
+ ivt(155)=13
+ ivt(156)=14
+ ivt(157)=22
+ ivt(158)=10
+ ivt(159)=23
+ ivt(160)=13
+ ivt(161)=14
+ ivt(162)=13
+ ivt(163)=16
+ ivt(164)=14
+ ivt(165)=36
+ ivt(166)=23
+ ivt(167)=10
+ ivt(168)=22
+ ivt(169)=14
+ ivt(170)=14
+ ivt(171)=13
+ ivt(172)=16
+ ivt(173)=14
+ ivt(174)=36
+ ivt(175)=12
+ ivt(176)=24
+ ivt(177)=21
+ ivt(178)=24
+ ivt(179)=27
+ ivt(180)=14
+ ivt(181)=13
+ ivt(182)=16
+ ivt(183)=14
+ ivt(184)=36
+ ivt(185)=32
+ ivt(186)=18
+ ivt(187)=13
+ ivt(188)=29
+ ivt(189)=17
+ ivt(190)=14
+ ivt(191)=13
+ ivt(192)=16
+ ivt(193)=14
+ ivt(194)=36
+ ivt(195)=17
+ ivt(196)=18
+ ivt(197)=36
+ ivt(198)=32
+ ivt(199)=18
+ ivt(200)=13
+ ivt(201)=29
+ ivt(202)=17
+ ivt(203)=14
+ ivt(204)=13
+ ivt(205)=16
+ ivt(206)=14
+ ivt(207)=36
+ ivt(208)=15
+ ivt(209)=24
+ ivt(210)=23
+ ivt(211)=29
+ ivt(212)=36
+ ivt(213)=28
+ ivt(214)=18
+ ivt(215)=35
+ ivt(216)=14
+ ivt(217)=14
+ ivt(218)=13
+ ivt(219)=16
+ ivt(220)=14
+ ivt(221)=36
+ ivt(222)=21
+ ivt(223)=14
+ ivt(224)=23
+ ivt(225)=16
+ ivt(226)=29
+ ivt(227)=17
+ ivt(228)=14
+ ivt(229)=13
+ ivt(230)=16
+ ivt(231)=14
+ ivt(232)=36
+ ivt(233)=12
+ ivt(234)=24
+ ivt(235)=28
+ ivt(236)=29
+ ivt(237)=14
+ ivt(238)=13
+ ivt(239)=16
+ ivt(240)=14
+ ivt(241)=36
+ ivt(242)=22
+ ivt(243)=18
+ ivt(244)=23
+ ivt(245)=36
+ ivt(246)=12
+ ivt(247)=10
+ ivt(248)=25
+ ivt(249)=14
+ ivt(250)=13
+ ivt(251)=16
+ ivt(252)=14
+ ivt(253)=36
+ ivt(254)=22
+ ivt(255)=10
+ ivt(256)=33
+ ivt(257)=36
+ ivt(258)=12
+ ivt(259)=10
+ ivt(260)=25
+ ivt(261)=14
+ ivt(262)=13
+ ivt(263)=16
+ ivt(264)=14
+ ivt(265)=36
+ ivt(266)=26
+ ivt(267)=36
+ ivt(268)=32
+ ivt(269)=14
+ ivt(270)=18
+ ivt(271)=16
+ ivt(272)=17
+ ivt(273)=29
+ ivt(274)=14
+ ivt(275)=13
+ ivt(276)=16
+ ivt(277)=14
+ ivt(278)=36
+ ivt(279)=26
+ ivt(280)=36
+ ivt(281)=24
+ ivt(282)=27
+ ivt(283)=18
+ ivt(284)=16
+ ivt(285)=14
+ ivt(286)=13
+ ivt(287)=16
+ ivt(288)=14
+ ivt(289)=36
+ ivt(290)=32
+ ivt(291)=14
+ ivt(292)=18
+ ivt(293)=16
+ ivt(294)=17
+ ivt(295)=29
+ ivt(296)=13
+ ivt(297)=14
+ ivt(298)=15
+ ivt(299)=10
+ ivt(300)=30
+ ivt(301)=21
+ ivt(302)=29
+ ivt(303)=36
+ ivt(304)=23
+ ivt(305)=24
+ ivt(306)=13
+ ivt(307)=14
+ ivt(308)=36
+ ivt(309)=13
+ ivt(310)=18
+ ivt(311)=10
+ ivt(312)=22
+ ivt(313)=13
+ ivt(314)=14
+ ivt(315)=15
+ ivt(316)=10
+ ivt(317)=30
+ ivt(318)=21
+ ivt(319)=29
+ ivt(320)=36
+ ivt(321)=23
+ ivt(322)=24
+ ivt(323)=13
+ ivt(324)=14
+ ivt(325)=36
+ ivt(326)=11
+ ivt(327)=24
+ ivt(328)=27
+ ivt(329)=13
+ ivt(330)=14
+ ivt(331)=27
+ ivt(332)=13
+ ivt(333)=14
+ ivt(334)=15
+ ivt(335)=10
+ ivt(336)=30
+ ivt(337)=21
+ ivt(338)=29
+ ivt(339)=36
+ ivt(340)=14
+ ivt(341)=13
+ ivt(342)=16
+ ivt(343)=14
+ ivt(344)=36
+ ivt(345)=32
+ ivt(346)=18
+ ivt(347)=13
+ ivt(348)=29
+ ivt(349)=17
+ ivt(350)=13
+ ivt(351)=14
+ ivt(352)=15
+ ivt(353)=10
+ ivt(354)=30
+ ivt(355)=21
+ ivt(356)=29
+ ivt(357)=36
+ ivt(358)=14
+ ivt(359)=13
+ ivt(360)=16
+ ivt(361)=14
+ ivt(362)=36
+ ivt(363)=17
+ ivt(364)=18
+ ivt(365)=36
+ ivt(366)=32
+ ivt(367)=18
+ ivt(368)=13
+ ivt(369)=29
+ ivt(370)=17
+ ivt(371)=13
+ ivt(372)=14
+ ivt(373)=15
+ ivt(374)=10
+ ivt(375)=30
+ ivt(376)=21
+ ivt(377)=29
+ ivt(378)=36
+ ivt(379)=15
+ ivt(380)=24
+ ivt(381)=23
+ ivt(382)=29
+ ivt(383)=36
+ ivt(384)=28
+ ivt(385)=18
+ ivt(386)=35
+ ivt(387)=14
+ ivt(388)=23
+ ivt(389)=24
+ ivt(390)=13
+ ivt(391)=14
+ ivt(392)=36
+ ivt(393)=21
+ ivt(394)=10
+ ivt(395)=11
+ ivt(396)=14
+ ivt(397)=21
+ ivt(398)=14
+ ivt(399)=13
+ ivt(400)=16
+ ivt(401)=14
+ ivt(402)=36
+ ivt(403)=21
+ ivt(404)=10
+ ivt(405)=11
+ ivt(406)=14
+ ivt(407)=21
+ endif
+ return
+ end
+
diff --git a/modules/data_structures/src/fortran/gratyp.lo b/modules/data_structures/src/fortran/gratyp.lo
new file mode 100755
index 000000000..9953f2eef
--- /dev/null
+++ b/modules/data_structures/src/fortran/gratyp.lo
@@ -0,0 +1,12 @@
+# src/fortran/gratyp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/gratyp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/insertfield.f b/modules/data_structures/src/fortran/insertfield.f
new file mode 100755
index 000000000..a59dec342
--- /dev/null
+++ b/modules/data_structures/src/fortran/insertfield.f
@@ -0,0 +1,324 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine insertfield(ilfrom,volfrom,iltos,ind,nind,lrn,lw,info)
+c insert a field (from) in a sublist "to" of a list "tos"
+c
+c ilfrom points on the first entry of the "from" data structure in
+c istk. data structure is contained in istk(ilfrom:ilfrom-1+2*volfrom)
+
+c ilto points on the first entry of the "to" data structure in istk
+c iltos points on the first entry of the "tos" data structure in istk
+c ind(1:nind) is the path of to in tos
+c
+c is the position of the result,if info<>0
+c info
+c if 0 list has been updated "in place"
+c if 1 list needs to be stored
+ include 'stack.h'
+c
+ integer volfrom,voltos,volto,dvol,ind(*)
+ integer typfrom,typto
+
+ integer subptr
+ external subptr
+
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(istk(ilfrom).lt.0) ilfrom=iadr(istk(ilfrom+1))
+ typfrom=istk(ilfrom)
+ lfromt=sadr(ilfrom)
+c
+ if(istk(iltos).lt.0) iltos=iadr(istk(iltos+1))
+ mtos=istk(iltos+1)
+c voltos is the memory used to store all fields of tos
+ voltos=istk(iltos+2+mtos)-1
+c ltos points on the first entry of the "tos" fields in stk
+ ltos=sadr(iltos+mtos+3)
+c
+c get pointer on the inner-most modified sublist
+ n=ind(nind)
+ il=iltos
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ mi=istk(il+1)
+ if(nind.gt.1) then
+ do 05 k1=1,nind-1
+ il=iadr(sadr(il+3+mi)+istk(il+1+ind(k1))-1)
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ mi=istk(il+1)
+ 05 continue
+ endif
+c
+ ilto=il
+ typto=istk(ilto)
+ mto=istk(ilto+1)
+c volto is the memory used to store all fields of to
+ volto=istk(ilto+2+mto)-1
+ lto=sadr(ilto+mto+3)
+c
+
+ if(n.eq.0) then
+c . add a new element "on the left"
+ if(typfrom.eq.0) then
+c . null element : nothing added, "to" variable is returned as it
+ info=0
+ return
+ endif
+
+c . get memory to install the resulting list (May be improved to avoid
+c . copy when "to" list is at the top of the stack).
+ info=1
+ lrn=lw
+ iln=iadr(lrn)
+ lw1=sadr(iadr(lrn)+3+(mtos+1))+voltos+volfrom
+ err=lw1-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+
+ if(iltos.ne.ilto) then
+c . copy the beginning of "tos" up to the beginning of the modified sub-list.
+ ltod=sadr(iltos)
+ ltto=sadr(ilto)
+ call unsfdcopy(ltto-ltod,stk(ltod),1,stk(lrn),1)
+c . lrn points to the beginning of the new entry
+ lrn=lrn+ltto-ltod
+ endif
+
+c . create new sublist:
+c . header
+ ilr=iadr(lrn)
+ istk(ilr)=typto
+ istk(ilr+1)=mto+1
+ istk(ilr+2)=1
+ istk(ilr+3)=1+volfrom
+ do 10 i=1,mto
+ istk(ilr+3+i)=istk(ilr+2+i)+istk(ilto+2+i)-istk(ilto+1+i)
+ 10 continue
+c . added field
+ lr=sadr(ilr+4+mto)
+ call unsfdcopy(volfrom,stk(lfromt),1,stk(lr),1)
+c . copy old sublist fields
+ lr=lr+volfrom
+ call unsfdcopy(volto,stk(lto),1,stk(lr),1)
+ lr=lr+volto
+ dvol=(lr-lrn)-(lto+volto-sadr(ilto))
+
+c . update new data structure pointers recursively
+ call updptr(iln,ind,nind-1,dvol)
+c . copy the rest of data structure
+ if(nind.gt.1) then
+ ind(nind-1)=ind(nind-1)+1
+ ltto=sadr(subptr(iltos,ind,nind-1))
+ call unsfdcopy(ltos+voltos-ltto,stk(ltto),1,stk(lr),1)
+ lr=lr+ltos+voltos-ltto
+ endif
+c . put the result in place
+ lrn=sadr(iln)
+c call unsfdcopy(lr-lrn,stk(lrn),1,stk(lstk(top)),1)
+c lstk(top+1)=lstk(top)+lr-lrn
+ info=1
+ elseif(n.gt.mto) then
+c . add a new elements "on the right" of the sublist
+ if(typfrom.eq.0) then
+c . from is a null element : nothing added
+ info=0
+ return
+ endif
+
+c . get memory to install the resulting list (May be improved to avoid
+c . copy when "to" list is at the top of the stack).
+ lrn=lw
+ iln=iadr(lrn)
+ lw1=sadr(iln+3+mtos+n-mto)+voltos+volfrom
+ info=1
+ err=lw1-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+
+ if(ilto.ne.iltos) then
+c . copy the beginning of "tos" up to the beginning of the modified sub-list.
+ ltod=sadr(iltos)
+ ltto=sadr(ilto)
+ err=lrn+ltto-ltod-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(ltto-ltod,stk(ltod),1,stk(lrn),1)
+c . lrn points to the beginning of the new entry
+ lrn=lrn+ltto-ltod
+ endif
+
+c . copy the beginning of the sublist header
+ ilr=iadr(lrn)
+ lr=sadr(ilr+3+n)
+ err=lr+volto+volfrom-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call icopy(mto+3,istk(ilto),1,istk(ilr),1)
+c . update fields number
+ istk(ilr+1)=n
+c . set pointers on added fields (some can be empty)
+ call iset(n-mto,istk(ilr+mto+2),istk(ilr+mto+3),1)
+ istk(ilr+n+2)=istk(ilr+n+1)+volfrom
+
+c . copy old fields values
+ call unsfdcopy(volto,stk(lto),1,stk(lr),1)
+ lr=lr+volto
+c . copy added field value
+ call unsfdcopy(volfrom,stk(lfromt),1,stk(lr),1)
+ lr=lr+volfrom
+c
+ dvol=(lr-lrn)-(lto+volto-sadr(ilto))
+c . update new data structure pointers recursively
+ call updptr(iln,ind,nind-1,dvol)
+c . copy the rest of data structure
+c??? ind(nind-1)=ind(nind-1)+n-mto
+ ind(nind-1)=ind(nind-1)+1
+ ltto=sadr(subptr(iltos,ind,nind-1))
+ if(ltos+voltos-ltto.gt.0) then
+ err=(lr+ltos+voltos-ltto)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call unsfdcopy(ltos+voltos-ltto,stk(ltto),1,stk(lr),1)
+ lr=lr+ltos+voltos-ltto
+ endif
+
+c . store result ????
+ lrn=sadr(iln)
+ return
+ else
+c . replace or delete an intermediate field of the sublist
+ if(typfrom.ne.0) then
+c . replace the specified field
+ if (istk(ilto+2+n)-istk(ilto+1+n).eq.volfrom) then
+c . old and new fields have the same size,
+c . field is replaced in place
+ lr=lto+istk(ilto+1+n)-1
+ call unsfdcopy(volfrom,stk(lfromt),1,stk(lr),1)
+ info=0
+ return
+ else
+c . get memory to install the resulting list
+c . (May be improved to avoid copy when "to" list is at the
+c . top of the stack).
+ iln=iadr(lw)
+ lrn=lw
+
+ info=1
+c . dvol the size variation of modified sub-element (-old+new)
+ dvol=-(istk(ilto+2+n)-istk(ilto+1+n))+volfrom
+ lw1=sadr(iln+3+mtos)+voltos+dvol
+ err=lw1-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c . lr,ilr points to the entry to be replaced
+ lr=lto+istk(ilto+1+n)-1
+ ilr=iadr(lr)
+c . change list type if necessary (tlist and mlist are
+c . changed to simple list)
+c . copy the beginning of "to" up to field to be replaced
+ ltod=sadr(iltos)
+ call unsfdcopy(lr-ltod,stk(ltod),1,stk(lrn),1)
+ if(nind.eq.1.and.n.eq.1.and.typfrom.ne.10) istk(iln)=15
+
+c . lrn points to the beginning of the new field
+ lrn=lrn+lr-ltod
+c . set new value of the entry
+ call unsfdcopy(volfrom,stk(lfromt),1,stk(lrn),1)
+ lrn=lrn+volfrom
+c . copy last field of "to"
+c . iltol points to the end of "to" data structure
+ ltol=ltos+voltos
+ lto=lto+istk(ilto+2+n)-1
+ call unsfdcopy(ltol-lto,stk(lto),1,stk(lrn),1)
+ lrn=lrn+ltol-lto
+c . update new data structure pointers recursively
+ call updptr(iln,ind,nind,dvol)
+c . store result
+ lrn=lw
+ return
+ endif
+ else
+c . suppress the specified entry
+c . get memory to install the resulting list
+c . (May be improved to avoid copy when "to" list is at the
+c . top of the stack).
+ lrn=lw
+ info=1
+ iln=iadr(lrn)
+ lw1=sadr(iln+3+mtos)+voltos-(istk(ilto+2+n)-istk(ilto+1+n))
+ err=lw1-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+c . if necessary,copy the "to" list data structure up to the
+c . beginning of the modified sub-list
+ if(ilto.ne.iltos) then
+c . copy the beginning of "to" up to the modified sub-list
+ ltod=sadr(iltos)
+ ltto=sadr(ilto)
+ call unsfdcopy(ltto-ltod,stk(ltod),1,stk(lrn),1)
+c . lrn points to the beginning of the new entry
+ lrn=lrn+ltto-ltod
+ endif
+c . update sub_list
+c . ---------------
+ il=iadr(lrn)
+ lfrom=lto-1+istk(ilto+2+n)
+c . copy variable header and n-1 first pointers
+ call icopy(2+n,istk(ilto),1,istk(il),1)
+ if(n.eq.1) istk(il)=15
+c . reduce list size
+ istk(il+1)=istk(il+1)-1
+c . modify last pointers
+ do 20 i=n,mto
+ istk(il+i+2)=istk(il+i+1)+istk(ilto+i+3)-istk(ilto+i+2)
+ 20 continue
+c . copy first n-1 elements
+ l=sadr(il+2+mto)
+ call unsfdcopy(istk(il+n+1)-1,stk(lto),1,stk(l),1)
+ l=l+istk(il+n+1)-1
+c . dvol the size variation of modified sub-element (-old+new)
+ dvol=(l-sadr(il))-(lfrom-sadr(ilto))
+c . copy last elements
+ call unsfdcopy(istk(il+1+mto)-istk(il+1+n),stk(lfrom),1,
+ $ stk(l),1)
+ l=l+istk(il+1+mto)-istk(il+1+n)
+c . update new data structure pointers recursively
+ call updptr(iln,ind,nind-1,dvol)
+c . copy the rest of data structure
+ if(nind.gt.1) then
+ ind(nind-1)=ind(nind-1)+1
+ ltto=sadr(subptr(iltos,ind,nind-1))
+ call unsfdcopy(ltos+voltos-ltto,stk(ltto),1,stk(l),1)
+ l=l+ltos+voltos-ltto
+ endif
+c . store result
+ lrn=sadr(iln)
+ info=1
+ return
+ endif
+ endif
+ return
+ end
+
diff --git a/modules/data_structures/src/fortran/insertfield.lo b/modules/data_structures/src/fortran/insertfield.lo
new file mode 100755
index 000000000..e762ac96e
--- /dev/null
+++ b/modules/data_structures/src/fortran/insertfield.lo
@@ -0,0 +1,12 @@
+# src/fortran/insertfield.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/insertfield.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/intl_e.f b/modules/data_structures/src/fortran/intl_e.f
new file mode 100755
index 000000000..0768c8a86
--- /dev/null
+++ b/modules/data_structures/src/fortran/intl_e.f
@@ -0,0 +1,377 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intl_e()
+c =============================================================
+c extraction pour les list tlist, mlist
+c =============================================================
+c
+c Copyright INRIA
+ include 'stack.h'
+c
+c
+ integer rhs1,vol1,vol2,vol
+ integer top1,top2
+
+ integer strpos
+ external strpos
+ logical ptover
+ integer iadr,sadr
+c
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ icall=0
+c
+ if(rstk(pt).eq.403) goto 45
+ if(rstk(pt).eq.405) goto 35
+ if(rstk(pt).eq.404) goto 36
+
+
+ rhs1=rhs
+ top0=top
+ fun=0
+ if(rhs.gt.2) then
+ fin=-fin
+ return
+ endif
+
+ if(rhs.le.0) then
+ call error(39)
+ return
+ endif
+ icount=0
+c arg2(arg1)
+c ==========
+
+c get arg2
+ 10 continue
+ lw=lstk(top+1)
+c
+ top2=top
+c get arg1
+ top=top-1
+ top1=top
+ il1=iadr(lstk(top))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+
+ if(istk(il1).eq.15.and.istk(il1+1).eq.0) then
+c . arg2(list()) -->arg2
+ il2=iadr(lstk(top2))
+ if(istk(il2).lt.0) top2=istk(il2+2)
+ call unsfdcopy(lstk(top2+1)-lstk(top2),stk(lstk(top2)),1,
+ & stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+lstk(top2+1)-lstk(top2)
+ return
+ endif
+
+c
+ ilind=iadr(lw)
+
+ if(istk(il1).ne.15) then
+ lw=lw+1
+ m1=1
+ else
+ m1=istk(il1+1)
+ lw=sadr(ilind+m1)
+ endif
+c go ahead along the path
+ call followpath(top1,top2,il1ir,vol1,il2ir,vol2,istk(ilind),
+ $ icount,info,lw,.false.)
+ if(err.gt.0) return
+ if(vol2.eq.0) then
+c empty field found
+ err=istk(ilind-1+icount)
+ call error(117)
+ return
+ endif
+ il1i=il1ir
+ if(istk(il1i).lt.0) il1i=iadr(istk(il1i+1))
+ il2i=il2ir
+ if(istk(il2i).lt.0) il2i=iadr(istk(il2i+1))
+ if(info.eq.2.or.info.eq.4) then
+c . syntax is arg2(...)(i,j,..)(...)
+c . matrix index (i,..) syntax
+ lstk(top+2)=lw
+ if (istk(il1i).eq.15) then
+c . more than one index
+c . transform index list(i,j,...) in the list in sequence of variables
+c . at the top of the stack
+ m1i=istk(il1i+1)
+ ll1=sadr(il1i+m1i+3)
+ top=top2+1
+ call unsfdcopy(istk(il1i+m1i+2)-1,stk(ll1),1,
+ $ stk(lstk(top)),1)
+ do 16 k1=1,m1i
+ lstk(top+1)=lstk(top)+istk(il1i+2+k1)-istk(il1i+1+k1)
+ top=top+1
+ 16 continue
+ top=top-1
+ rhs=1+m1i
+ m2i=istk(il2i+1)
+ else
+c . a matrix index
+ if(m1.gt.icount.and.info.eq.4) then
+c . arg2(...)(i,j,..)(...)
+ if(istk(il2i).ne.9) then
+c . too many indices in index list
+ call error(21)
+ return
+ endif
+ endif
+c . arg2(...)(i,j,..) a matrix single index,
+c . use standard extraction to finish the job
+
+c . copy index at the top of the stack
+ top=top2
+ call copyvar(il1ir,vol1)
+ rhs=2
+ endif
+ goto 30
+ elseif(info.eq.3) then
+c . current list index is not a single index (multiple extraction)
+ if(icount.ne.m1) then
+c . only final index handled
+ call error(43)
+ return
+ endif
+ if(istk(il1i).eq.10) then
+ if(istk(il2i).ne.16.and.istk(il2i).ne.17) then
+ call error(21)
+ return
+ endif
+c . named indexes
+ ilfn=iadr(sadr(il2i+istk(il2i+1)+3))
+ nn=istk(ilfn+1)*istk(ilfn+2)
+ ilptr=ilfn+5
+ lfn=ilfn+5+nn
+ ili=iadr(lw)
+ lw=sadr(ili+nn)
+ nind=istk(il1i+1)*istk(il1i+2)
+ do 20 k=1,nind
+ nname=istk(il1i+4+k)-istk(il1i+3+k)
+ ilname=il1i+4+nind+istk(il1i+3+k)
+c . look for corresponding index if any
+ ipos=strpos(istk(ilptr),nn-1,istk(lfn),istk(ilname),
+ $ nname)
+ if(ipos.le.0) then
+c . no such name in the field names
+ if(icount.eq.1.and.m1.eq.1) then
+c . syntax is arg2('xxx')
+ fin=-fin
+ top=top2
+ rhs1=rhs
+ return
+ else
+c . syntax is arg2(...)('xxx')(...)
+c . set the index
+ top=top2
+ call copyvar(il1ir,vol1)
+ rhs=2
+ goto 30
+ endif
+ else
+ istk(ili+k-1)=ipos+1
+ endif
+ 20 continue
+ call extractfields(il2i,istk(ili),nind,lw)
+ else
+ m2i=istk(il2i+1)
+ call indxg(il1i,m2i,ili,n,mx,lw,10)
+ call extractfields(il2i,istk(ili),n,lw)
+ endif
+ return
+ elseif(info.eq.5) then
+c . end of arg1 list (index list) reached
+c . copy the designed sublist at the top of the stack
+ top=top-1
+ if (rstk(pt-1).eq.314.and.
+ $ (istk(il2ir).eq.11.or.istk(il2ir).eq.13)) then
+ call createref(il2ir,0,vol2)
+ else
+ call copyvar(il2ir,vol2)
+ endif
+ return
+ elseif(info.eq.6) then
+c . index is out of bounds
+ call error(21)
+ return
+ elseif(info.eq.1) then
+c . current index is a name which is not an explicit field name
+
+ if(icount.eq.1.and.m1.eq.1) then
+c . syntax is arg2.xxx
+ fin=-fin
+ top=top2
+ rhs1=rhs
+ return
+ else
+c . syntax is arg2(...).xxx(...)
+c . set the index
+ top=top2
+ call copyvar(il1ir,vol1)
+ rhs=2
+ goto 30
+ endif
+ endif
+
+
+ 30 continue
+c escape from standard list algorithm to handle special cases:
+c (matrix/vector extraction, method..)
+
+ if(istk(il2i).ge.15.and.istk(il2i).le.17) goto 40
+c
+c standard matrix extraction
+ call createref(il2i,0,vol2)
+c
+ fin=3
+c back to allops for standard extraction
+ if (ptover(1,psiz)) return
+ icall=4
+ ids(1,pt)=icount
+ ids(2,pt)=m1
+ ids(4,pt)=lhs
+
+ rstk(pt)=405
+c *call* allops
+ return
+ 35 continue
+ icall=0
+
+ if(err1.ne.0) then
+ pt=pt-1
+ return
+ endif
+ icount=ids(1,pt)
+ m1=ids(2,pt)
+ lhs=ids(4,pt)
+ pt=pt-1
+ if (m1.le.icount) then
+c . nothing more to do here but to move results at its correct location
+ top=top-2-lhs
+ do ii=1,lhs
+ top=top+1
+ vol=lstk(top+3)-lstk(top+2)
+ call unsfdcopy(vol,stk(lstk(top+2)),1,stk(lstk(top)),1)
+ lstk(top+1)=lstk(top)+vol
+ enddo
+ fin=0
+ return
+ endif
+
+c m1 > icount handle, ... case
+c finish extraction using overloading
+
+c build new index list using the remaining entries of the
+c original index list
+ ilind=iadr(lstk(top-2))
+ if(istk(ilind).lt.0) ilind=iadr(istk(ilind+1))
+ nlist=istk(ilind+1)
+ ll=sadr(ilind+3+nlist)
+ if(m1-icount.eq.1) then
+ il1i=iadr(ll+istk(ilind+1+icount+1)-1)
+ if (istk(il1i).ne.15) then
+ vol=istk(ilind+2+icount+1)-istk(ilind+1+icount+1)
+ call copyvar(il1i,vol)
+ rhs=2
+ else
+c . transform index list(i,j,...) in the list in sequence of variables
+c . at the top of the stack
+ m1i=istk(il1i+1)
+ ll1=sadr(il1i+m1i+3)
+ call unsfdcopy(istk(il1i+m1i+2)-1,stk(ll1),1,
+ $ stk(lstk(top+1)),1)
+ do k1=1,m1i
+ top=top+1
+ lstk(top+1)=lstk(top)+istk(il1i+2+k1)-istk(il1i+1+k1)
+ enddo
+ rhs=1+m1i
+ m2i=istk(il2i+1)
+ endif
+ else
+ do i=1,m1-icount
+ ilindi=iadr(ll+istk(ilind+1+icount+i)-1)
+ vol=istk(ilind+2+icount+i)-istk(ilind+1+icount+i)
+ call copyvar(ilindi,vol)
+ enddo
+ if(m1-icount.gt.1) call mklist(m1-icount)
+ rhs=2
+ endif
+c create a reference on the handle
+ call createref1(top-rhs+1)
+ if (ptover(1,psiz)) return
+ fun=0
+ fin=3
+ icall=4
+ rstk(pt)=404
+c *call* allops
+ return
+
+ 36 continue
+ pt=pt-1
+c move results at its correct location
+ vol=lstk(top+1)-lstk(top)
+ call unsfdcopy(vol,stk(lstk(top)),1,stk(lstk(top-3)),1)
+ top=top-3
+ lstk(top+1)=lstk(top)+vol
+ fin=0
+ return
+
+
+ 40 continue
+c list mlist or tlist coded matrix extraction or other method
+c . form the sublist
+ call copyvar(il2i,vol2)
+ if (ptover(1,psiz)) return
+ ids(1,pt)=icount
+ ids(2,pt)=m1
+ ids(4,pt)=lhs
+c only last index may select many lhs elements
+ if (icount.ne.m1) lhs=1
+ fun=0
+ fin=-fin
+ rstk(pt)=403
+c *call* macro or matfns
+ return
+
+ 45 continue
+c restore context
+ if(err1.ne.0) then
+ pt=pt-1
+ return
+ endif
+ icount=ids(1,pt)
+ m1=ids(2,pt)
+ lhs=ids(4,pt)
+ fin=3
+ pt=pt-1
+ if(icount.eq.m1) then
+c . put the result at the top of the stack and return
+ vol=lstk(top+1)-lstk(top-lhs+1)
+ im=lstk(top-lhs+1)-lstk(top-lhs-1)
+ call unsfdcopy(vol,stk(lstk(top-lhs+1)),1,
+ $ stk(lstk(top-lhs-1)),1)
+ top=top-2
+ do 46 k=1,lhs
+ lstk(top-lhs+k+1)=lstk(top-lhs+k+3)-im
+ 46 continue
+ return
+ else
+c . move result ajust after the index
+ ll2=lstk(top+1)-lstk(top)
+ call unsfdcopy(ll2,stk(lstk(top)),1,stk(lstk(top-1)),1)
+ lstk(top)=lstk(top-1)+ll2
+ top=top-1
+c . goto back to the standard list algorithm
+ goto 10
+ endif
+c
+ end
+
diff --git a/modules/data_structures/src/fortran/intl_i.f b/modules/data_structures/src/fortran/intl_i.f
new file mode 100755
index 000000000..262391bcb
--- /dev/null
+++ b/modules/data_structures/src/fortran/intl_i.f
@@ -0,0 +1,571 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intl_i
+c =============================================================
+c list insertions arg3(arg1)=arg2
+c =============================================================
+c
+c Copyright INRIA
+ include 'stack.h'
+c
+ character tmpbuf * (bsiz)
+ integer vol1,vol2,vol3,volv
+ integer top3,top2,top1
+
+ logical ptover
+ integer iadr,sadr
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if (ddt .eq. 4) then
+ write(tmpbuf(1:8),'(2i4)') pt,rstk(pt)
+ call basout(io,wte,' intl_i pt:'//tmpbuf(1:4)//' rstk(pt):'
+ & //buf(5:8))
+ endif
+c
+ 01 icall=0
+c handle recursion
+ if(rstk(pt).eq.406.or.rstk(pt).eq.407) then
+ if(err1.ne.0) then
+ pt=pt-1
+ return
+ endif
+ ilrec=pstk(pt)
+ il1i=istk(ilrec+1)
+ ilind=istk(ilrec+2)
+ icount=istk(ilrec+3)
+ top1=istk(ilrec+4)
+ il3i=istk(ilrec+5)
+ vol3=istk(ilrec+6)
+ goto(35,45,65,55,81,84) istk(ilrec)
+ endif
+ fun=0
+ 05 lw=lstk(top+1)
+c
+ if(rhs.ge.4) then
+c . l(i,j,..)
+ fin=-fin
+ return
+ endif
+ ltop=lstk(top+1)
+
+
+
+c get arg3
+ top3=top
+ il3=iadr(lstk(top))
+ if(abs(istk(il3)).lt.14.or.abs(istk(il3)).gt.17) then
+c . arg3 is not a list
+ fin=-fin
+ return
+ endif
+c
+c get arg2
+ top=top-1
+ top2=top
+ il2=iadr(lstk(top))
+ il2r=il2
+ if(istk(il2).lt.0) then
+ vol2=istk(il2+3)
+ il2=iadr(istk(il2+1))
+ else
+ vol2=lstk(top+1)-lstk(top)
+ endif
+
+c
+c get arg1
+ top=top-1
+ top1=top
+ il1=iadr(lstk(top))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ m1=istk(il1+1)
+ if (abs(istk(il1)).eq.1.and.m1.eq.0) then
+c . arg3([])=arg2 -->overloading
+ top=top3
+ fin=-fin
+ return
+ endif
+ ilind=iadr(lw)
+c
+c get room for index list
+ if(istk(il1).ne.15) then
+ lw=lw+1
+ else
+ lw=sadr(ilind+m1)
+ endif
+c protect index list
+ lstk(top3+1)=lw
+
+c go ahead along the path
+ icount=0
+ call followpath(top1,top3,il1ir,vol1,il3ir,vol3,
+ $ istk(ilind),icount,info,lw,istk(il2).eq.0)
+ if(err.gt.0) return
+ il1i=il1ir
+ if(istk(il1i).lt.0) il1i=iadr(istk(il1i+1))
+ il3i=il3ir
+ if(istk(il3i).lt.0) il3i=iadr(istk(il3i+1))
+
+c get room for recursion data
+ ilrec=iadr(lw)
+ lw=sadr(ilrec+7)
+c protect recursion data
+ lstk(top3+1)=lw
+
+ istk(ilrec+1)=il1i
+ istk(ilrec+2)=ilind
+ istk(ilrec+3)=icount
+ istk(ilrec+4)=top1
+ istk(ilrec+5)=il3i
+ istk(ilrec+6)=vol3
+
+ if(info.eq.5.or.info.eq.6) then
+c . end of arg1 list reached
+c . replace designed sublist of arg3 by arg2
+ call insertfield(il2,vol2,il3,istk(ilind),icount,lrn,lw,info)
+ if(err.gt.0) return
+ goto 90
+ elseif(info.eq.3) then
+c . current list index is not a single index (multiple insertion)
+ call error(43)
+ return
+ elseif(info.eq.2.or.info.eq.4) then
+c . syntax is arg3(...)(i,j,..)(...)=arg2
+c . matrix index (i,..) syntax
+ if(istk(il3i).eq.17.or.istk(il3i).eq.16) then
+ if(icount.eq.1.and.abs(m1).eq.1) then
+c . syntax is arg3('xxx')=arg2 or arg3(i)=arg2
+ fin=-2
+ top=top3
+ rhs=3
+ lstk(top+1)=ltop
+ return
+ else
+ goto 40
+ endif
+ elseif(istk(il3i).eq.9) then
+c . handle case
+ goto 80
+ else
+ goto 30
+ endif
+ elseif(info.eq.1) then
+c . current index is a name which is not an explicit field name
+ top=top3
+ rhs=3
+ if(icount.eq.1.and.m1.eq.1) then
+c if(icount.eq.1) then
+c . syntax is arg3('xxx')=arg2
+ fin=-2
+ lstk(top+1)=ltop
+ return
+ else
+c . syntax is arg3(...)('xxx')(...)=arg1
+c . set the index
+c call copyvar(il1ir,vol1)
+c if(err.gt.0) return
+ goto 40
+ endif
+ endif
+
+ 30 continue
+c last index points on a matrix, use standard matrix insertion
+c to finish
+ top=top3
+ if (istk(il1i).eq.15) then
+c . more than one index
+c . transform index list(i,j,...) in the list in sequence of
+c . variables at the top of the stack
+ call lst2vars(il1i,m1i)
+ if(err.gt.0) return
+ rhs=2+m1i
+ else
+c . a matrix single index
+ if(m1.gt.icount) then
+c . arg3(...)(i,j,..)(...)=arg2 :too many indices in index list
+ call error(21)
+ return
+ endif
+c . arg3(...)(i,j,..)=arg2: a matrix single index
+c . copy it at the top of the stack (may be possible to put a pointer)
+ call copyvar(il1ir,vol1)
+ if(err.gt.0) return
+ rhs=3
+ endif
+
+c create a pointer on arg2
+ call createref(il2,top2,vol2)
+ if(err.gt.0) return
+
+c create a pointer on the designed matrix (part of arg3)
+ if(vol3.gt.0) then
+ call createref(il3i,0,vol3)
+ if(err.gt.0) return
+ else
+c . the list entry is undefined
+ call defmat
+ if(err.gt.0) return
+ endif
+c call allops for standard insertion
+ fin=2
+ if (ptover(1,psiz)) return
+
+ icall=4
+ istk(ilrec)=1
+
+ pstk(pt)=ilrec
+ rstk(pt)=406
+c *call* allops
+ return
+ 35 continue
+ ilv=iadr(lstk(top))
+ if(istk(ilv).lt.0.or.istk(il3i).eq.9) then
+c . matrix or handle has been modified in place, nothing more to be done
+ top=top-3
+ pt=pt-1
+ info=0
+ goto 90
+ else
+c . insert the matrix in main list
+ volv=lstk(top+1)-lstk(top)
+ lw=lstk(top+1)
+ il3=iadr(lstk(top1+2))
+ call insertfield(ilv,volv,il3,istk(ilind),icount-1,lrn,lw,info)
+ if(err.gt.0) return
+ pt=pt-1
+ top=top-3
+ goto 90
+ endif
+
+
+ 40 continue
+c mlist or tlist coded matrix insertion or other method
+c if k+1<n then
+c A3(i1)..(ik)(ik+1)(ik+2)..(in)=A2 is decomposed as follow
+c . Temp1=A3(i1)..(ik)
+c . Temp2=Temp1(ik+1)
+c . Temp2(ik+2)..(in)=A2
+c . Temp1(ik+1)=Temp2
+c . A3(i1)..(ik)=Temp1
+c else
+c A3(i1)..(ik)(ik+1)=A2 is decomposed as follow
+c . Temp1=A3(i1)..(ik)
+c . Temp1(ik+1)=A2
+c . A3(i1)..(ik)=Temp1
+
+c top of stack contains [A1, A2, A3]
+ k=icount-1
+ top=top3
+c put ik+1 in the stack for further use
+ if (istk(il1i).ne.15) then
+ ill=iadr(sadr(il1+3+m1)+istk(il1+1+(k+1))-1)
+ call copyvar(ill,istk(il1+2+(k+1))-istk(il1+1+(k+1)))
+ if(err.gt.0) return
+ rhs=3
+ else
+c . more than one index
+c . transform index list(i,j,...) in the list in sequence of
+c . variables at the top of the stack
+ call lst2vars(il1i,m1i)
+ if(err.gt.0) return
+ rhs=2+m1i
+ endif
+
+ if(k+1.lt.m1) then
+c put (ik+2)..(in) in the stack for further use
+ ll=sadr(il1+3+m1)+istk(il1+1+(k+2))-1
+ volv=istk(il1+2+m1)-istk(il1+3+k)
+ if(k+2.eq.m1) then
+c il suffirait de mettre un ptr ici
+ call copyvar(iadr(ll),volv)
+ if(err.gt.0) return
+ else
+ top=top+1
+ ilv=iadr(lstk(top))
+ istk(ilv)=15
+ istk(ilv+1)=m1-(k+1)
+ istk(ilv+2)=1
+ ilv=ilv+2
+ do 42 i=1,m1-(k+1)
+ ilv=ilv+1
+ istk(ilv)=istk(ilv-1)+istk(il1+3+k+i)-istk(il1+2+k+i)
+ 42 continue
+ call unsfdcopy(volv,stk(ll),1,stk(sadr(ilv+1)),1)
+ lstk(top+1)=sadr(ilv+1)+volv
+ endif
+ endif
+
+c put a pointer to A2 in the stack for further use
+ call createref(il2,top2,vol2)
+ if(err.gt.0) return
+
+ if(k+1.eq.m1) goto 56
+
+c Temp2=Temp1(ik+1) extraction:
+c - form index ik+1
+ if (istk(il1i).ne.15) then
+ ill=iadr(sadr(il1+3+m1)+istk(il1+1+(k+1))-1)
+ call copyvar(ill,istk(il1+2+(k+1))-istk(il1+1+(k+1)))
+ if(err.gt.0) return
+ rhs=2
+ else
+c . more than one index
+c . transform index list(i,j,...) in the list in sequence of
+c . variables at the top of the stack
+ call lst2vars(il1i,m1i)
+ if(err.gt.0) return
+ rhs=1+m1i
+ endif
+c - form the sublist Temp1=A3(i1)..(ik)
+ call copyvar(il3i,vol3)
+ if(err.gt.0) return
+c top of stack contains [A1, A2, A3,ik+1, (ik+2)..(in),&a2,ik+1,Temp1]
+c - save context for recursion
+ if (ptover(1,psiz)) return
+ pstk(pt)=ilrec
+ istk(ilrec)=2
+ fun=0
+ fin=-5
+ rstk(pt)=406
+c *call* allops
+ return
+
+ 45 continue
+c - top variable contains Temp2
+
+c - restore context
+ lw=lstk(top+1)
+ ltop=lw
+
+ k=icount-1
+ il1=iadr(lstk(top1))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ m1=istk(il1+1)
+c
+c re-enter intl_i to realize Temp2(ik+2)..(in)=A2 insertion
+c top of stack contains : [A1, A2, A3,ik+1,(ik+2)..(in), &A2, Temp2]
+c
+c pt=pt-1
+c if (ptover(1,psiz)) return
+c save context for recursion
+ istk(ilrec)=4
+ rstk(pt)=407
+ rhs=3
+ fin=2
+ if (istk(iadr(lstk(top))).eq.1) then
+c . insertion in an empty matrix
+c . get the type of the inserted variable
+ ityp=abs(istk(iadr(lstk(top-1))))
+ if(ityp.ne.15.and.ityp.ne.16.and.ityp.ne.17) then
+c . not a list, *call* allops
+ icall=4
+ return
+ endif
+ endif
+c *call* intl_i
+ goto 05
+ 55 continue
+c top variable contains new Temp2 value
+ pt=pt-1
+c put Temp1=A3(i1)..(ik) at the top of the stack
+ 56 call copyvar(il3i,vol3)
+ if(err.gt.0) return
+c top of stack contains : [A1, A2, A3, ik+1,Temp2,Temp1]
+
+c return to parser for Temp1(ik+1)=Temp2 insertion
+
+ if (ptover(1,psiz)) return
+c save context for recursion
+ pstk(pt)=ilrec
+ istk(ilrec)=3
+ rhs=3
+ if (istk(il1i).eq.15) rhs=2+istk(il1i+1)
+c *call* intl_i
+ fun=0
+ fin=-2
+ rstk(pt)=406
+c *call* macro or matfns
+ return
+
+ 65 continue
+c top of stack contains : [A1, A2, A3, Temp1]
+c restore context
+ pt=pt-1
+ lw=lstk(top+1)
+ k=icount-1
+ if(k.eq.0) then
+c . temp1 contains the result
+ lrn=lstk(top)
+ top=top-3
+ info=1
+ goto 90
+ endif
+
+c
+c realize insertion A3(i1)..(ik)=Temp1
+ ilv=iadr(lstk(top))
+ volv=lstk(top+1)-lstk(top)
+ il3=iadr(lstk(top1+2))
+ call insertfield(ilv,volv,il3,istk(ilind),icount-1,lrn,lw,info)
+ if(err.gt.0) return
+ top=top-3
+ goto 90
+
+ 80 continue
+c special case for property assignation of a handle field of a list
+c handle case ...h.property...=arg2
+c or ...h(i,j).property...=arg2
+c change the property value of the entity pointed to by
+c handle and does not change the list
+c
+ top=top3
+c case ...h(i,j).property...=arg2 or ...h(i).property...=arg2
+c first extract the handle or sub handle
+
+ if (istk(il1i).eq.10) then
+c . handle case ...h.property...=arg2
+ icount=icount-1
+ call createref(il3i,0,vol3)
+ goto 82
+ elseif (istk(il1i).eq.15) then
+c . sub handle case ...h(i,j).property...=arg2
+ call lst2vars(il1i,m1i)
+ if(err.gt.0) return
+ rhs=1+m1i
+ else
+c . sub handle case ...h(i).property...=arg2
+ call copyvar(il1ir,vol1)
+ rhs=2
+ endif
+c create a pointer on the matrix of handle
+ call createref(il3i,0,vol3)
+ fin=3
+c back to allops for h(i) or h(i,j) extraction
+ if (ptover(1,psiz)) return
+ icall=4
+ pstk(pt)=ilrec
+ istk(ilrec)=5
+ rstk(pt)=406
+c *call* allops
+ return
+c
+ 81 continue
+
+ icall=0
+ if(err1.ne.0) then
+ pt=pt-1
+ return
+ endif
+ il1=iadr(lstk(top1))
+ if(istk(il1).lt.0) il1=iadr(istk(il1+1))
+ m1=istk(il1+1)
+ top2=top1+1
+ top3=top2+1
+ pt=pt-1
+
+ 82 continue
+c change handle property
+c build new index list using the remaining entries of the
+c original index list
+ ll=sadr(il1+3+m1)
+
+ do i=1,m1-icount
+ ilindi=iadr(ll+istk(il1+1+icount+i)-1)
+ volv=istk(il1+2+icount+i)-istk(il1+1+icount+i)
+ call copyvar(ilindi,volv)
+ enddo
+
+ if (m1-icount.gt.1) call mklist(m1-icount)
+ rhs=3
+ call createref1(top2)
+
+ call createref1(top3+1)
+ fun=0
+ fin=-2
+ if (ptover(1,psiz)) return
+ istk(ilrec)=6
+ pstk(pt)=ilrec
+ rstk(pt)=406
+c *call* allops
+ return
+
+ 84 continue
+ pt=pt-1
+ top3=top1+2
+c notify that result has already been stored
+ k1=istk(iadr(lstk(top3))+2)
+ top=top3-3
+ call setref(k1)
+ fin=2
+ return
+
+ 90 continue
+
+ if(info.eq.0) then
+c . insertion has been done in place,
+ top3=top1+2
+ if(rstk(pt).eq.407) then
+ il3=iadr(lstk(top3))
+ top=top-1
+ call copyvar(il3,lstk(top3+1)-lstk(top3))
+ if(err.gt.0) return
+ goto 01
+ else
+c . notify that result has already been stored
+ k1=istk(iadr(lstk(top3))+2)
+ top=top-1
+ call setref(k1)
+ fin=2
+ return
+ endif
+ elseif(info.eq.1) then
+c . insertfield has created the result at adress lrn. stored it
+ if(rstk(pt).eq.407) then
+ il1=iadr(lrn)
+ m=istk(il1+1)
+ top=top-1
+ call copyvar(il1,sadr(4+m)+(istk(il1+2+m)-1))
+ if(err.gt.0) return
+ goto 01
+ else
+c . set lstk pointers to the newly created variable
+
+ lt=lstk(top)
+ lstk(top)=lrn
+ il1=iadr(lrn)
+ m=istk(il1+1)
+ lstk(top+1)=sadr(il1+3+m)+(istk(il1+2+m)-1)
+c . store it
+ lhs=1
+c . modification according to those in run.f 22/08/00
+ if(rstk(pt).eq.607) then
+c . called by run
+ call stackp(istk(pstk(pt)),0)
+ elseif(rstk(pt).eq.601) then
+c . called by run version 2.7 and earlier
+ call stackp(istk(pstk(pt)+1),0)
+ else
+c . called by parse
+ call stackp(ids(1,pt),0)
+ endif
+ if(err.gt.0) return
+ lstk(top+1)=lt
+c . notify that result has already been stored
+ call setref(fin)
+ return
+ endif
+
+ endif
+c
+ return
+
+ end
+
+
diff --git a/modules/data_structures/src/fortran/intl_i.lo b/modules/data_structures/src/fortran/intl_i.lo
new file mode 100755
index 000000000..44e909592
--- /dev/null
+++ b/modules/data_structures/src/fortran/intl_i.lo
@@ -0,0 +1,12 @@
+# src/fortran/intl_i.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intl_i.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/libdummy_data_structures_la-intl_e.lo b/modules/data_structures/src/fortran/libdummy_data_structures_la-intl_e.lo
new file mode 100755
index 000000000..702f3a5bc
--- /dev/null
+++ b/modules/data_structures/src/fortran/libdummy_data_structures_la-intl_e.lo
@@ -0,0 +1,12 @@
+# src/fortran/libdummy_data_structures_la-intl_e.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libdummy_data_structures_la-intl_e.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/lsstyp.f b/modules/data_structures/src/fortran/lsstyp.f
new file mode 100755
index 000000000..710a5605b
--- /dev/null
+++ b/modules/data_structures/src/fortran/lsstyp.f
@@ -0,0 +1,42 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine lsstyp(ivt,job)
+c set the type
+ integer ivt(*)
+ character*(*) job
+ if(job.eq.'size') then
+ ivt(1)=23
+ else
+ ivt(1)=10
+ ivt(2)=1
+ ivt(3)=7
+ ivt(4)=0
+ ivt(5)=1
+ ivt(6)=4
+ ivt(7)=5
+ ivt(8)=6
+ ivt(9)=7
+ ivt(10)=8
+ ivt(11)=10
+ ivt(12)=12
+ ivt(13)=21
+ ivt(14)=28
+ ivt(15)=28
+ ivt(16)=-10
+ ivt(17)=-11
+ ivt(18)=-12
+ ivt(19)=-13
+ ivt(20)=-33
+ ivt(21)=0
+ ivt(22)=13
+ ivt(23)=29
+ endif
+ return
+ end
+
diff --git a/modules/data_structures/src/fortran/lsstyp.lo b/modules/data_structures/src/fortran/lsstyp.lo
new file mode 100755
index 000000000..19618b297
--- /dev/null
+++ b/modules/data_structures/src/fortran/lsstyp.lo
@@ -0,0 +1,12 @@
+# src/fortran/lsstyp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/lsstyp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/lstops.f b/modules/data_structures/src/fortran/lstops.f
new file mode 100755
index 000000000..59613451b
--- /dev/null
+++ b/modules/data_structures/src/fortran/lstops.f
@@ -0,0 +1,67 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine lstops
+c ==================================
+c elementary operations on lists
+c ==================================
+c
+c Copyright INRIA
+ include 'stack.h'
+c
+c
+ character tmpbuf * (bsiz)
+ logical ishm
+ integer insert,extrac, toto, gettype
+ data insert/2/,extrac/3/
+
+
+c handle recursion
+ if(rstk(pt).ge.403.and.rstk(pt).le.405) goto 11
+ if(rstk(pt).eq.406.or.rstk(pt).eq.407) goto 21
+c
+ if (ddt .eq. 4) then
+ write(tmpbuf(1:4),'(i4)') fin
+ call basout(io,wte,' lstops '//tmpbuf(1:4))
+ endif
+c
+
+ if(fin.eq.extrac) goto 10
+ if(fin.eq.insert) goto 20
+c
+c undefined operations (look for function-defined operation)
+ icall = 0
+ fun = 0
+ fin = -fin
+ return
+c
+c extraction
+ 10 continue
+ toto = gettype(top-1)
+ if ( ishm() .and. toto.ne.10 .and. toto.ne.15) then
+ call intehm()
+ return
+ endif
+
+ 11 call intl_e()
+ return
+c
+c insertion
+ 20 continue
+ toto = gettype(top-2)
+ if ( ishm() .and. toto.ne.10 .and. toto.ne.15) then
+ call intihm()
+ if(err.gt.0) return
+ return
+ endif
+
+ 21 call intl_i()
+ if(err.gt.0) return
+ return
+c
+ end
diff --git a/modules/data_structures/src/fortran/lstops.lo b/modules/data_structures/src/fortran/lstops.lo
new file mode 100755
index 000000000..2bb9ce8dc
--- /dev/null
+++ b/modules/data_structures/src/fortran/lstops.lo
@@ -0,0 +1,12 @@
+# src/fortran/lstops.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/lstops.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/mlist.f b/modules/data_structures/src/fortran/mlist.f
new file mode 100755
index 000000000..8e2334fe7
--- /dev/null
+++ b/modules/data_structures/src/fortran/mlist.f
@@ -0,0 +1,49 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine mtlist(typdsc)
+c create a tlist whose type description is given by external
+c function typdsc
+c
+ include 'stack.h'
+ integer iadr,sadr
+ external typdsc
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ lf=lstk(top+1)
+ top=top+1-rhs
+ ld=lstk(top)
+c get the size of type description variable
+ call typdsc(n1,'size')
+
+ err=lf+sadr(rhs+4+n1)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ il=iadr(ld)
+ l1=sadr(il+rhs+4)
+ ilt=iadr(l1)
+ l=sadr(ilt+n1)
+ call unsfdcopy(lf-ld,stk(ld),-1,stk(l),-1)
+ istk(il)=16
+ istk(il+1)=rhs+1
+c set the type
+ call typdsc(istk(ilt),'set')
+ nt=sadr(ilt+n1)-l1
+c set the pointers
+ istk(il+2)=1
+ istk(il+3)=nt+1
+ do 41 i=1,rhs
+ istk(il+3+i)=istk(il+2+i)+lstk(top+i)-lstk(top-1+i)
+ 41 continue
+ lstk(top+1)=l+lf-ld
+ return
+ end
diff --git a/modules/data_structures/src/fortran/mlist.lo b/modules/data_structures/src/fortran/mlist.lo
new file mode 100755
index 000000000..1baaf5cad
--- /dev/null
+++ b/modules/data_structures/src/fortran/mlist.lo
@@ -0,0 +1,12 @@
+# src/fortran/mlist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/mlist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/rattyp.f b/modules/data_structures/src/fortran/rattyp.f
new file mode 100755
index 000000000..a12851de2
--- /dev/null
+++ b/modules/data_structures/src/fortran/rattyp.f
@@ -0,0 +1,37 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine rattyp(ivt,job)
+c set the type ['r','num','den','dt']
+ integer ivt(*)
+c
+ character*(*) job
+ if(job.eq.'size') then
+ ivt(1)=18
+ else
+ ivt(1)=10
+ ivt(2)=1
+ ivt(3)=4
+ ivt(4)=0
+ ivt(5)=1
+ ivt(6)=2
+ ivt(7)=5
+ ivt(8)=8
+ ivt(9)=10
+ ivt(10)=27
+ ivt(11)=23
+ ivt(12)=30
+ ivt(13)=22
+ ivt(14)=13
+ ivt(15)=14
+ ivt(16)=23
+ ivt(17)=13
+ ivt(18)=29
+ endif
+ return
+ end
diff --git a/modules/data_structures/src/fortran/rattyp.lo b/modules/data_structures/src/fortran/rattyp.lo
new file mode 100755
index 000000000..1070d38bb
--- /dev/null
+++ b/modules/data_structures/src/fortran/rattyp.lo
@@ -0,0 +1,12 @@
+# src/fortran/rattyp.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/rattyp.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/src/fortran/udptr.f b/modules/data_structures/src/fortran/udptr.f
new file mode 100755
index 000000000..677f602c2
--- /dev/null
+++ b/modules/data_structures/src/fortran/udptr.f
@@ -0,0 +1,70 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) ????-2008 - INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+ subroutine updptr(ilt,ind,nind,dvol)
+c!purpose
+c update new data structure pointers recursively for nested lists
+c!parameters
+c ilt : pointer to the beginning of the list
+c ind : vector of indexes giving modified entry path.
+c nind: size of the path
+c dvol: difference of the old and new sizes of the modified entry
+c!
+ integer ind(*),dvol
+ integer iadr,sadr
+ include 'stack.h'
+
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ il=ilt
+ if(nind.le.0) return
+c
+ do 20 k=1,nind
+c . m : sub-list size
+ m=istk(il+1)
+ mi=ind(k)
+c . update pointers to entries following the mi sub list entry
+ do 10 i=mi,m
+ istk(il+i+2)=istk(il+i+2)+dvol
+ 10 continue
+c . il pointer to ind(k) sub-list entry
+ il=iadr(sadr(il+3+m)+istk(il+1+mi)-1)
+ 20 continue
+ end
+
+ integer function subptr(ilt,ind,nind)
+c !purpose
+c get pointer to an entry of a nested list
+c !parameters
+c ilt : pointer to the beginning of the list
+c ind : vector of indexes giving modified entry path.
+c nind: size of the path
+c !
+ integer ind(nind)
+ integer iadr,sadr
+ include 'stack.h'
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ il=ilt
+ if(istk(il).lt.0) il=iadr(istk(il+1))
+ if(nind.le.0) goto 30
+c
+ do 20 k=1,nind
+c . m : sub-list size
+ m=istk(il+1)
+c . il pointer to ind(k) sub-list entry
+ il=iadr(sadr(il+3+m)+istk(il+1+ind(k))-1)
+ 20 continue
+ 30 subptr=il
+ end
+
diff --git a/modules/data_structures/src/fortran/udptr.lo b/modules/data_structures/src/fortran/udptr.lo
new file mode 100755
index 000000000..fd47cf095
--- /dev/null
+++ b/modules/data_structures/src/fortran/udptr.lo
@@ -0,0 +1,12 @@
+# src/fortran/udptr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/udptr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/data_structures/tests/benchmarks/arguments.tst b/modules/data_structures/tests/benchmarks/arguments.tst
new file mode 100755
index 000000000..9b51c70c9
--- /dev/null
+++ b/modules/data_structures/tests/benchmarks/arguments.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Clement DAVID
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+//==============================================================================
+// Pass raw values as rhs / lhs
+//==============================================================================
+
+// <-- BENCH NB RUN : 10 -->
+
+stacksize("max");
+
+foo1 = zeros(4096,4096);
+foo2 = zeros(4096,4096);
+foo3 = zeros(4096,4096);
+
+function foo3=computation(foo1, foo2)
+ foo3 = foo1 + foo2
+endfunction
+
+// <-- BENCH START -->
+foo3 = computation(foo1, foo2);
+// <-- BENCH END -->
+
diff --git a/modules/data_structures/tests/benchmarks/arguments_resize.tst b/modules/data_structures/tests/benchmarks/arguments_resize.tst
new file mode 100755
index 000000000..dbadb5456
--- /dev/null
+++ b/modules/data_structures/tests/benchmarks/arguments_resize.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Clement DAVID
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+//==============================================================================
+// Pass raw values as rhs / lhs
+//==============================================================================
+
+// <-- BENCH NB RUN : 10 -->
+
+stacksize("max");
+
+foo1 = zeros(4096,4096);
+foo2 = zeros(4096,4096);
+foo3 = [];
+
+function foo3=computation(foo1, foo2)
+ foo3 = foo1 + foo2
+endfunction
+
+// <-- BENCH START -->
+foo3 = computation(foo1, foo2);
+// <-- BENCH END -->
+
diff --git a/modules/data_structures/tests/benchmarks/arguments_tlist.tst b/modules/data_structures/tests/benchmarks/arguments_tlist.tst
new file mode 100755
index 000000000..87cc82b97
--- /dev/null
+++ b/modules/data_structures/tests/benchmarks/arguments_tlist.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Clement DAVID
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+//==============================================================================
+// Pass tlist as rhs / lhs, let scilab reuse the allocated space
+//==============================================================================
+
+// <-- BENCH NB RUN : 10 -->
+
+stacksize("max");
+
+data = tlist(["mydata" "foo1" "foo2" "foo3"], [], [], []);
+
+data.foo1 = zeros(4096,4096);
+data.foo2 = zeros(4096,4096);
+data.foo3 = zeros(4096,4096);
+
+function data=computation(data)
+ data.foo3 = data.foo1 + data.foo2
+endfunction
+
+// <-- BENCH START -->
+data = computation(data);
+// <-- BENCH END -->
+
diff --git a/modules/data_structures/tests/benchmarks/arguments_tlist_resize.tst b/modules/data_structures/tests/benchmarks/arguments_tlist_resize.tst
new file mode 100755
index 000000000..b0c9304fc
--- /dev/null
+++ b/modules/data_structures/tests/benchmarks/arguments_tlist_resize.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Clement DAVID
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+//==============================================================================
+// Pass tlist as rhs / lhs
+//==============================================================================
+
+// <-- BENCH NB RUN : 10 -->
+
+stacksize("max");
+
+data = tlist(["mydata" "foo1" "foo2" "foo3"], [], [], []);
+
+data.foo1 = zeros(4096,4096);
+data.foo2 = zeros(4096,4096);
+
+function data=computation(data)
+ data.foo3 = data.foo1 + data.foo2
+endfunction
+
+// <-- BENCH START -->
+data = computation(data);
+// <-- BENCH END -->
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_10830.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_10830.dia.ref
new file mode 100755
index 000000000..cee9da903
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_10830.dia.ref
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 10830 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10830
+//
+// <-- Short Description -->
+// Hypermatrix insertion with a negative index gives a wrong error message.
+A=rand(2,2,2);
+errmsg = msprintf(gettext("%s: Invalid index #%d in hypermatrix insertion.\n"),"hmops",3);
+execstr("A(:,:,0)=[1,2;3,4]","errcatch");
+assert_checktrue(lasterror()==errmsg);
+errmsg = msprintf(gettext("%s: Invalid index #%d in hypermatrix insertion.\n"),"hmops",2);
+execstr("A(:,0,1)=[1;2]", "errcatch");
+assert_checktrue(lasterror()==errmsg);
+errmsg = msprintf(gettext("%s: Invalid index #%d in hypermatrix insertion.\n"),"hmops",1);
+execstr("A(0,:,1)=[1 2]", "errcatch");
+assert_checktrue(lasterror()==errmsg);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_10830.tst b/modules/data_structures/tests/nonreg_tests/bug_10830.tst
new file mode 100755
index 000000000..08125f03d
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_10830.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 10830 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10830
+//
+// <-- Short Description -->
+// Hypermatrix insertion with a negative (or null) index gives a wrong error message.
+
+A=rand(2,2,2);
+errmsg = msprintf(gettext("%s: Invalid index #%d in hypermatrix insertion.\n"),"hmops",3);
+execstr("A(:,:,0)=[1,2;3,4]","errcatch");
+assert_checktrue(lasterror()==errmsg);
+errmsg = msprintf(gettext("%s: Invalid index #%d in hypermatrix insertion.\n"),"hmops",2);
+execstr("A(:,0,1)=[1;2]", "errcatch");
+assert_checktrue(lasterror()==errmsg);
+errmsg = msprintf(gettext("%s: Invalid index #%d in hypermatrix insertion.\n"),"hmops",1);
+execstr("A(0,:,1)=[1 2]", "errcatch");
+assert_checktrue(lasterror()==errmsg);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11076.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_11076.dia.ref
new file mode 100755
index 000000000..e362ef734
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11076.dia.ref
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 11076 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11076
+//
+// <-- Short Description -->
+// mlist('r'), tlist('r') returned a wrong error message
+msgerr = msprintf(gettext("%s: Can not create a mlist with input argument #%d.\n"), "mlist", 1);
+assert_checkerror ("mlist(''r'')", msgerr );
+msgerr = msprintf(gettext("%s: Can not create a tlist with input argument #%d.\n"), "tlist", 1);
+assert_checkerror ("tlist(''r'')", msgerr );
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11076.tst b/modules/data_structures/tests/nonreg_tests/bug_11076.tst
new file mode 100755
index 000000000..d4babfc64
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11076.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 11076 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11076
+//
+// <-- Short Description -->
+// mlist('r'), tlist('r') returned a wrong error message
+
+msgerr = msprintf(gettext("%s: Can not create a mlist with input argument #%d.\n"), "mlist", 1);
+assert_checkerror ("mlist(''r'')", msgerr );
+
+msgerr = msprintf(gettext("%s: Can not create a tlist with input argument #%d.\n"), "tlist", 1);
+assert_checkerror ("tlist(''r'')", msgerr ); \ No newline at end of file
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11077.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_11077.dia.ref
new file mode 100755
index 000000000..4f2228e62
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11077.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 11077 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11077
+//
+// <-- Short Description -->
+// rlist() returned an error
+rlist()
+ ans =
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11077.tst b/modules/data_structures/tests/nonreg_tests/bug_11077.tst
new file mode 100755
index 000000000..a62b2fb2e
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11077.tst
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 11077 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11077
+//
+// <-- Short Description -->
+// rlist() returned an error
+
+
+rlist()
+
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11227.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_11227.dia.ref
new file mode 100755
index 000000000..0f55a952a
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11227.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 11227 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11227
+//
+// <-- Short Description -->
+// Scilab crashed when trying to use a structure with a non-existing field name containing "%"
+// Existing field name
+a = struct();
+a("toto%")=2;
+assert_checkequal(a("toto%"), 2);
+clear a
+// Non-existing field name
+refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: not a valid field name.\n"),"%st_e",1);
+a = struct();
+assert_checkerror("a(""toto%"")", refMsg);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11227.tst b/modules/data_structures/tests/nonreg_tests/bug_11227.tst
new file mode 100755
index 000000000..251fd28f6
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11227.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 11227 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11227
+//
+// <-- Short Description -->
+// Scilab crashed when trying to use a structure with a non-existing field name containing "%"
+
+// Existing field name
+a = struct();
+a("toto%")=2;
+assert_checkequal(a("toto%"), 2);
+
+clear a
+
+// Non-existing field name
+refMsg = msprintf(gettext("%s: Wrong value for input argument #%d: not a valid field name.\n"),"%st_e",1);
+a = struct();
+assert_checkerror("a(""toto%"")", refMsg);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11396.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_11396.dia.ref
new file mode 100755
index 000000000..9658c0ce1
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11396.dia.ref
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 11396 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11396
+//
+// <-- Short Description -->
+// Operation toto([])=[] with toto being an mlist fails.
+function a=%s_i_toto(i,b,a),
+ if i<>[]&b<>[] then error("Invalid index");end;
+endfunction
+A=mlist(["toto","a"],1:4);
+B=A;
+A([])=[];
+assert_checkequal(A,B);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_11396.tst b/modules/data_structures/tests/nonreg_tests/bug_11396.tst
new file mode 100755
index 000000000..5b66c6f5b
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_11396.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 11396 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11396
+//
+// <-- Short Description -->
+// Operation toto([])=[] with toto being an mlist fails.
+
+
+function a=%s_i_toto(i,b,a),
+ if i<>[]&b<>[] then error("Invalid index");end;
+endfunction
+
+
+
+A=mlist(["toto","a"],1:4);
+B=A;
+A([])=[];
+assert_checkequal(A,B);
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1322.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_1322.dia.ref
new file mode 100755
index 000000000..6835e48eb
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1322.dia.ref
@@ -0,0 +1,40 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 1322 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1322
+//
+// <-- Short Description -->
+//if on call a function stored in tlist to produce more than one output
+//argument the containing tlist is damaged when the function returns.
+//simple test
+function [d, s,p] = data_sum_1(val);d=val; s=argn(1);p=88;endfunction;
+tlist1 = tlist(['x';'data';'fn'], 5, data_sum_1);
+[d1,s1,p1] = tlist1.fn(4);
+if d1<>4|s1<>3|p1<>88 then bugmes();quit;end
+[d1,s1] = tlist1.fn(4);
+if d1<>4|s1<>2 then bugmes();quit;end
+d1 = tlist1.fn(4);
+if d1<>4 then bugmes();quit;end
+//complex test
+function tlst = set_data(tlst, num),tlst.data = num;endfunction;
+function [tlst, d] = get_data(tlst),d = tlst.data;endfunction;
+function [tlst, s] = data_sum_2(tlst),
+ [tlst.tlist_data, s1] =tlst.tlist_data.get_fn(tlst.tlist_data);
+ s = s1 + tlst.data;
+ tlst.data = s;
+endfunction;
+//initialization of tlist objects containing references to functions
+tlist2 = tlist(['x';'data';'set_fn';'get_fn'], [], set_data,get_data);
+tlist1 = tlist(['x';'tlist_data';'data';'sum_fn'], tlist2, 5,data_sum_2);
+tlist1.tlist_data =tlist1.tlist_data.set_fn(tlist1.tlist_data, 3);
+tlist_data=tlist1.tlist_data;
+//problem when executing the member function directly
+[tlist1, tot2] = tlist1.sum_fn(tlist1);
+if tot2<>8|tlist1.data<>8 then bugmes();quit;end
+if or(tlist1.tlist_data<>tlist_data) then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1322.tst b/modules/data_structures/tests/nonreg_tests/bug_1322.tst
new file mode 100755
index 000000000..38063e2cd
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1322.tst
@@ -0,0 +1,50 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+
+// <-- Non-regression test for bug 1322 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1322
+//
+// <-- Short Description -->
+//if on call a function stored in tlist to produce more than one output
+//argument the containing tlist is damaged when the function returns.
+
+//simple test
+
+function [d, s,p] = data_sum_1(val);d=val; s=argn(1);p=88;endfunction;
+tlist1 = tlist(['x';'data';'fn'], 5, data_sum_1);
+[d1,s1,p1] = tlist1.fn(4);
+if d1<>4|s1<>3|p1<>88 then pause,end
+[d1,s1] = tlist1.fn(4);
+if d1<>4|s1<>2 then pause,end
+
+d1 = tlist1.fn(4);
+if d1<>4 then pause,end
+
+//complex test
+
+function tlst = set_data(tlst, num),tlst.data = num;endfunction;
+function [tlst, d] = get_data(tlst),d = tlst.data;endfunction;
+function [tlst, s] = data_sum_2(tlst),
+ [tlst.tlist_data, s1] =tlst.tlist_data.get_fn(tlst.tlist_data);
+ s = s1 + tlst.data;
+ tlst.data = s;
+endfunction;
+
+//initialization of tlist objects containing references to functions
+tlist2 = tlist(['x';'data';'set_fn';'get_fn'], [], set_data,get_data);
+tlist1 = tlist(['x';'tlist_data';'data';'sum_fn'], tlist2, 5,data_sum_2);
+
+tlist1.tlist_data =tlist1.tlist_data.set_fn(tlist1.tlist_data, 3);
+tlist_data=tlist1.tlist_data;
+//problem when executing the member function directly
+[tlist1, tot2] = tlist1.sum_fn(tlist1);
+if tot2<>8|tlist1.data<>8 then pause,end
+if or(tlist1.tlist_data<>tlist_data) then pause,end
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1604.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_1604.dia.ref
new file mode 100755
index 000000000..493c028a7
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1604.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Non-regression test for bug 1604 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1604
+//
+// <-- Short Description -->
+//Bug in parser while manipulating tlist inside list.
+//Note that the bug is only visible/reproducible in release mode under
+//Windows. It should also happen in debug but can't be easily seen...
+t=list(gca());//create the data
+R = t(1).data_bounds(:,1); //crash
+if R<> [0;1] then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1604.tst b/modules/data_structures/tests/nonreg_tests/bug_1604.tst
new file mode 100755
index 000000000..33f66c866
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1604.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Non-regression test for bug 1604 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1604
+//
+// <-- Short Description -->
+//Bug in parser while manipulating tlist inside list.
+//Note that the bug is only visible/reproducible in release mode under
+//Windows. It should also happen in debug but can't be easily seen...
+
+
+t=list(gca());//create the data
+R = t(1).data_bounds(:,1); //crash
+if R<> [0;1] then pause,end
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1712.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_1712.dia.ref
new file mode 100755
index 000000000..cbfe66d94
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1712.dia.ref
@@ -0,0 +1,34 @@
+// <-- Non-regression test for bug 1712 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1712
+//
+// <-- Short Description -->
+// Logical binary operations &,| with hypermatrices fail, as shown in the
+// following examples. (The unary operation ~ succeeds.)
+//
+// -->hm=hypermat([2 2 2],1:8)
+//
+// -->hm>min(hm) & hm<max(hm)
+// !--error 4
+// undefined variable : %l_h_l
+//
+// -->hm==min(hm) | hm==max(hm)
+// !--error 4
+// undefined variable : %l_g_l
+//
+// -->~(hm==min(hm))
+// ans =
+//
+// (:,:,1)
+//
+// ! F T !
+// ! T T !
+// ...
+// Copyright INRIA
+// Scilab Project - Pierre MARECHAL
+// Copyright INRIA 2005
+// Date : 6 fevrier 2005
+//hm = hypermat([2 2 2],1:8);
+//if execstr('hm>min(hm) & hm<max(hm)','errcatch') <>0 then bugmes();quit;end
+//if execstr('hm==min(hm) | hm==max(hm)','errcatch') <>0 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1712.tst b/modules/data_structures/tests/nonreg_tests/bug_1712.tst
new file mode 100755
index 000000000..a160f3094
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1712.tst
@@ -0,0 +1,38 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 1712 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1712
+//
+// <-- Short Description -->
+// Logical binary operations &,| with hypermatrices fail, as shown in the
+// following examples. (The unary operation ~ succeeds.)
+//
+// -->hm=hypermat([2 2 2],1:8)
+//
+// -->hm>min(hm) & hm<max(hm)
+// !--error 4
+// undefined variable : %l_h_l
+//
+// -->hm==min(hm) | hm==max(hm)
+// !--error 4
+// undefined variable : %l_g_l
+//
+// -->~(hm==min(hm))
+// ans =
+//
+// (:,:,1)
+//
+// ! F T !
+// ! T T !
+// ...
+
+//hm = hypermat([2 2 2],1:8);
+//if execstr('hm>min(hm) & hm<max(hm)','errcatch') <>0 then pause,end
+//if execstr('hm==min(hm) | hm==max(hm)','errcatch') <>0 then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1772.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_1772.dia.ref
new file mode 100755
index 000000000..35f66df03
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1772.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 1772 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1772
+//
+// <-- Short Description -->
+// There is a problem while inserting an object of type list in an undefined struct
+// field
+S.x=1;
+if execstr("S.y.z=list();","errcatch") <> 0 then bugmes();quit;end
+if S.y.z<>list() then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1772.tst b/modules/data_structures/tests/nonreg_tests/bug_1772.tst
new file mode 100755
index 000000000..ef847fe17
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1772.tst
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 1772 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1772
+//
+// <-- Short Description -->
+// There is a problem while inserting an object of type list in an undefined struct
+// field
+
+S.x=1;
+if execstr("S.y.z=list();","errcatch") <> 0 then pause,end
+if S.y.z<>list() then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1784.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_1784.dia.ref
new file mode 100755
index 000000000..1dfcf90de
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1784.dia.ref
@@ -0,0 +1,20 @@
+// <-- Non-regression test for bug 1784 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1784
+//
+// <-- Short Description -->
+// Problem while inserting a matrix in an N-D matrix
+// Copyright INRIA
+// Scilab Project - Serge Steer
+// Copyright INRIA 2005
+// Date : 23 janvier 2006
+A = hypermat([3,3,2]);
+try
+ A(1,1:3,1:3)=[1 2 3;4 5 6;7 8 9];
+catch
+ if %T then bugmes();quit;end
+ return;
+end
+if or(A<>hypermat([3,3,3],[1;0;0;4;0;0;7;0;0;2;0;0;5;0;0;8;0;0;3;0;0; ...
+ 6;0;0;9;0;0])) then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1784.tst b/modules/data_structures/tests/nonreg_tests/bug_1784.tst
new file mode 100755
index 000000000..e1bf9e1a4
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1784.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 1784 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1784
+//
+// <-- Short Description -->
+// Problem while inserting a matrix in an N-D matrix
+
+A = hypermat([3,3,2]);
+
+try
+ A(1,1:3,1:3)=[1 2 3;4 5 6;7 8 9];
+catch
+ if %T then pause,end
+ return;
+end
+
+if or(A<>hypermat([3,3,3],[1;0;0;4;0;0;7;0;0;2;0;0;5;0;0;8;0;0;3;0;0; ...
+ 6;0;0;9;0;0])) then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1956.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_1956.dia.ref
new file mode 100755
index 000000000..8347d9a1f
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1956.dia.ref
@@ -0,0 +1,27 @@
+// <-- Non-regression test for bug 1956 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1956
+//
+// <-- Short Description -->
+// this works for example:
+// a=10; // a constant
+// for i=1:2
+// d(i)=a;
+// end
+// but it doesn't work if 'a' is a structure.
+// I find a solution for a structure:
+// a.b=[1 2 3];
+// a.c=[4 5 6]
+// but it's not smart and clear code...
+// Copyright INRIA
+// Scilab Project - Serge Steer
+// Copyright INRIA 2006
+// Date : 4 mai 2006
+clear a d
+a.b = [1 2 3];
+d(1) = a;
+if or(d<>a) then bugmes();quit;end
+d(2)=a;
+if or(d(1)<>a) then bugmes();quit;end
+if or(d(2)<>a) then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_1956.tst b/modules/data_structures/tests/nonreg_tests/bug_1956.tst
new file mode 100755
index 000000000..61ec5bff9
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_1956.tst
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 1956 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1956
+//
+// <-- Short Description -->
+// this works for example:
+// a=10; // a constant
+// for i=1:2
+// d(i)=a;
+// end
+// but it doesn't work if 'a' is a structure.
+// I find a solution for a structure:
+// a.b=[1 2 3];
+// a.c=[4 5 6]
+// but it's not smart and clear code...
+
+clear a d
+a.b = [1 2 3];
+d(1) = a;
+if or(d<>a) then pause,end
+
+d(2)=a;
+if or(d(1)<>a) then pause,end
+if or(d(2)<>a) then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_2081.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_2081.dia.ref
new file mode 100755
index 000000000..92cb2b2ce
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_2081.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2081 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2081
+//
+// <-- Short Description -->
+//impossible matrix insertion into hypermatrix element of a tlist
+tl = tlist(["test","cube"],[]);
+tl.cube = hypermat([2,2,2],[1:8]);
+tl.cube(:,:,1) = ones(2,2);
+if or(tl.cube(:)<>[1;1;1;1;5;6;7;8]) then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_2081.tst b/modules/data_structures/tests/nonreg_tests/bug_2081.tst
new file mode 100755
index 000000000..8640f07ec
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_2081.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+
+// <-- Non-regression test for bug 2081 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2081
+//
+// <-- Short Description -->
+//impossible matrix insertion into hypermatrix element of a tlist
+
+
+tl = tlist(["test","cube"],[]);
+tl.cube = hypermat([2,2,2],[1:8]);
+tl.cube(:,:,1) = ones(2,2);
+if or(tl.cube(:)<>[1;1;1;1;5;6;7;8]) then pause,end
+
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_2588.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_2588.dia.ref
new file mode 100755
index 000000000..f57669a66
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_2588.dia.ref
@@ -0,0 +1,49 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2009 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2588 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2588
+//
+// <-- Short Description -->
+//Calling a function with no input arugment contained in an mlist
+//generates an error
+// <-- ENGLISH IMPOSED -->
+M=[];
+function y=foo(a)
+ if argn(2)==0 then
+ y=%s
+ else
+ y=a
+ end
+endfunction
+M.fun=foo;
+if M.fun()+1<>%s+1 then bugmes();quit;end
+if M.fun(33)+1<>34 then bugmes();quit;end
+clear foo;
+function [x,y]=foo(a,b)
+ x=a*b
+ y=a-b
+endfunction
+M.fun=foo;
+[u,v]=M.fun(2,3);
+if u<>2*3|v<>2-3 then bugmes();quit;end
+[u]=M.fun(2,3);
+if u<>2*3 then bugmes();quit;end
+N=[];
+N.x=M;
+if N.x.fun(2,3)<>2*3 then bugmes();quit;end
+%fptr_i_s=generic_i_s;
+M.fun=sin;
+if M.fun(%pi)<>sin(%pi) then bugmes();quit;end;
+%fptr_i_s=generic_i_s;M=[];
+ieee(0);
+M.fun=ieee;
+if M.fun()<>0 then bugmes();quit;end
+A=rand(2,2);
+M.fun=A;
+if M.fun()<>A then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_2588.tst b/modules/data_structures/tests/nonreg_tests/bug_2588.tst
new file mode 100755
index 000000000..c71d2af1b
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_2588.tst
@@ -0,0 +1,60 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2009 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 2588 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2588
+//
+// <-- Short Description -->
+//Calling a function with no input arugment contained in an mlist
+//generates an error
+// <-- ENGLISH IMPOSED -->
+
+M=[];
+function y=foo(a)
+ if argn(2)==0 then
+ y=%s
+ else
+ y=a
+ end
+endfunction
+M.fun=foo;
+if M.fun()+1<>%s+1 then pause,end
+if M.fun(33)+1<>34 then pause,end
+clear foo;
+function [x,y]=foo(a,b)
+ x=a*b
+ y=a-b
+endfunction
+M.fun=foo;
+[u,v]=M.fun(2,3);
+if u<>2*3|v<>2-3 then pause,end
+[u]=M.fun(2,3);
+if u<>2*3 then pause,end
+
+N=[];
+N.x=M;
+if N.x.fun(2,3)<>2*3 then pause,end
+
+
+
+%fptr_i_s=generic_i_s;
+M.fun=sin;
+if M.fun(%pi)<>sin(%pi) then pause,end;
+
+%fptr_i_s=generic_i_s;M=[];
+ieee(0);
+M.fun=ieee;
+if M.fun()<>0 then pause,end
+
+
+A=rand(2,2);
+M.fun=A;
+if M.fun()<>A then pause,end
+
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_3005.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_3005.dia.ref
new file mode 100755
index 000000000..511941844
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_3005.dia.ref
@@ -0,0 +1,15 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 3005 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3005
+//
+// <-- Short Description -->
+//can't modify a hypermatrix stored into a list.
+a = list(33,ones(2,2,2));
+if execstr('a(2)(2,2,2) = 3','errcatch')<>0 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_3005.tst b/modules/data_structures/tests/nonreg_tests/bug_3005.tst
new file mode 100755
index 000000000..7032b11ba
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_3005.tst
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 3005 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3005
+//
+// <-- Short Description -->
+//can't modify a hypermatrix stored into a list.
+a = list(33,ones(2,2,2));
+if execstr('a(2)(2,2,2) = 3','errcatch')<>0 then pause,end
+
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_3135.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_3135.dia.ref
new file mode 100755
index 000000000..32631acb1
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_3135.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 3135 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3135
+//
+// <-- Short Description -->
+//Problem with extraction and hypermatrices, especially when using patterns with a dollar
+a=hypermat([3,15,10]);
+for i=1:15
+ if or(size(a(:,i:3:$,:))<>size(a(:,i:3:15,:))) then bugmes();quit;end
+end
+for i=1:15
+ if or(size(a(:,i:2:$,:))<>size(a(:,i:2:15,:))) then bugmes();quit;end
+end
+for i=1:15
+ if or(size(a(:,i:$,:))<>size(a(:,i:15,:))) then bugmes();quit;end
+end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_3135.tst b/modules/data_structures/tests/nonreg_tests/bug_3135.tst
new file mode 100755
index 000000000..7de476d43
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_3135.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Serge STEER
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+
+// <-- Non-regression test for bug 3135 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3135
+//
+// <-- Short Description -->
+//Problem with extraction and hypermatrices, especially when using patterns with a dollar
+
+a=hypermat([3,15,10]);
+for i=1:15
+ if or(size(a(:,i:3:$,:))<>size(a(:,i:3:15,:))) then pause,end
+end
+for i=1:15
+ if or(size(a(:,i:2:$,:))<>size(a(:,i:2:15,:))) then pause,end
+end
+for i=1:15
+ if or(size(a(:,i:$,:))<>size(a(:,i:15,:))) then pause,end
+end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_3459.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_3459.dia.ref
new file mode 100755
index 000000000..997490aef
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_3459.dia.ref
@@ -0,0 +1,57 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 3459 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3459
+//
+// <-- Short Description -->
+// -->l(2).row1(2)=M.row1(1)
+// l =
+//
+// list with entries:
+// 1: 1
+// !--error 246
+// Function not defined for given argument type(s).
+function M=%to_e(varargin)
+ M = varargin($),
+ select varargin(1)
+ case 'row2' then
+ M.N = M.N(2, eye())
+ M.V = M.V(2, eye())
+ case 'row1' then
+ M.N = M.N(1, eye())
+ M.V = M.V(1, eye())
+ else
+ M.N = M.N(varargin(1:$ - 1))
+ M.V = M.V(varargin(1:$ - 1))
+ end
+endfunction
+%to_6=%to_e
+ %to_6 =
+
+[M]=%to_6(varargin)
+function M=%to_i_to(varargin)
+ M=varargin($);N=varargin($-1)
+ select varargin(1)
+ case 'row2'
+ M.N(2,:)=N.N
+ M.V(2,:)=N.V
+ case 'row1'
+ M.N(1,:)=N.N
+ M.V(1,:)=N.V
+ else
+ M.N(varargin(1:$-2))=N.N
+ M.V(varargin(1:$-2))=N.V
+ end
+endfunction
+M = mlist(['to','V','N'],[1 2 3;4 5 6],['a','b','c';'d','e','f']);
+M.row1(2) = M.row2(1);
+l = list(1,M,2);
+l(2).row1(2) = M.row1(1);
+if ~and(l(2).row1(2) == M.row1(1)) then bugmes();quit;end
+if ~and(M.row1(2) == M.row2(1)) then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_3459.tst b/modules/data_structures/tests/nonreg_tests/bug_3459.tst
new file mode 100755
index 000000000..ce8ab8564
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_3459.tst
@@ -0,0 +1,63 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+
+// <-- Non-regression test for bug 3459 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3459
+//
+// <-- Short Description -->
+// -->l(2).row1(2)=M.row1(1)
+// l =
+//
+// list with entries:
+// 1: 1
+// !--error 246
+// Function not defined for given argument type(s).
+
+
+function M=%to_e(varargin)
+ M = varargin($),
+ select varargin(1)
+ case 'row2' then
+ M.N = M.N(2, eye())
+ M.V = M.V(2, eye())
+ case 'row1' then
+ M.N = M.N(1, eye())
+ M.V = M.V(1, eye())
+ else
+ M.N = M.N(varargin(1:$ - 1))
+ M.V = M.V(varargin(1:$ - 1))
+ end
+endfunction
+
+
+%to_6=%to_e
+
+function M=%to_i_to(varargin)
+ M=varargin($);N=varargin($-1)
+ select varargin(1)
+ case 'row2'
+ M.N(2,:)=N.N
+ M.V(2,:)=N.V
+ case 'row1'
+ M.N(1,:)=N.N
+ M.V(1,:)=N.V
+ else
+ M.N(varargin(1:$-2))=N.N
+ M.V(varargin(1:$-2))=N.V
+ end
+endfunction
+
+M = mlist(['to','V','N'],[1 2 3;4 5 6],['a','b','c';'d','e','f']);
+M.row1(2) = M.row2(1);
+l = list(1,M,2);
+l(2).row1(2) = M.row1(1);
+
+if ~and(l(2).row1(2) == M.row1(1)) then pause,end
+if ~and(M.row1(2) == M.row2(1)) then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_4015.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_4015.dia.ref
new file mode 100755
index 000000000..ddb94c909
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_4015.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 4015 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4015
+//
+// <-- Short Description -->
+// "Flip left to right" x = x(:,$:-1:1,:) no longer works on hypermatrices.
+// This used to work in version 4.
+x=matrix(1:24,[2 3 4]);
+ierr = execstr("x = x(:,$:-1:1,:);","errcatch");
+if ierr<>0 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_4015.tst b/modules/data_structures/tests/nonreg_tests/bug_4015.tst
new file mode 100755
index 000000000..6a43945f7
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_4015.tst
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+
+// <-- Non-regression test for bug 4015 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4015
+//
+// <-- Short Description -->
+// "Flip left to right" x = x(:,$:-1:1,:) no longer works on hypermatrices.
+// This used to work in version 4.
+
+x=matrix(1:24,[2 3 4]);
+ierr = execstr("x = x(:,$:-1:1,:);","errcatch");
+if ierr<>0 then pause; end
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_424.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_424.dia.ref
new file mode 100755
index 000000000..21bee8ada
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_424.dia.ref
@@ -0,0 +1,14 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 424 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=424
+//
+// <-- Short Description -->
+// hypermatrix insertion problem
+if execstr("S=[];for k=1:5,S(1:2,1:3,k)=rand(2,3);end","errcatch")<>0 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_424.tst b/modules/data_structures/tests/nonreg_tests/bug_424.tst
new file mode 100755
index 000000000..95020e453
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_424.tst
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 424 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=424
+//
+// <-- Short Description -->
+// hypermatrix insertion problem
+
+if execstr("S=[];for k=1:5,S(1:2,1:3,k)=rand(2,3);end","errcatch")<>0 then pause; end
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_475.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_475.dia.ref
new file mode 100755
index 000000000..19a872db1
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_475.dia.ref
@@ -0,0 +1,31 @@
+// <-- Non-regression test for bug 475 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=475
+//
+// <-- Short Description -->
+// Bug Report Id: 120442003624175150
+// m=min(a) and m=max(a) give correct results
+//
+//
+// On Scilab CVS with " min(), max() " function
+// The Error Messages are:
+// !--error 59
+// incorrect # of outputs in the function
+// arguments are :
+// x
+//
+// Commands: a=hypermat([3,3,1],uint16(1:9)); [m,k]=max(a)
+//
+// or
+//
+// a=hypermat([3,3,1],uint16(1:9)); [m,k]=min(a)
+//
+// Enrico Segre on Linux version RH9 distribution with gnome as window manager
+// Israel July 24, 2003 at 17:51:50
+a = hypermat([3,3,1],uint16(1:9));
+result = execstr("[m,k]=max(a)","errcatch","n");
+if result <> 0 then bugmes();quit;end
+if result == 0 then
+ if execstr("[m,k]=min(a)","errcatch","n") <> 0 then bugmes();quit;end
+end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_475.tst b/modules/data_structures/tests/nonreg_tests/bug_475.tst
new file mode 100755
index 000000000..904fcb147
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_475.tst
@@ -0,0 +1,42 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 475 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=475
+//
+// <-- Short Description -->
+// Bug Report Id: 120442003624175150
+// m=min(a) and m=max(a) give correct results
+//
+//
+// On Scilab CVS with " min(), max() " function
+// The Error Messages are:
+// !--error 59
+// incorrect # of outputs in the function
+// arguments are :
+// x
+//
+// Commands: a=hypermat([3,3,1],uint16(1:9)); [m,k]=max(a)
+//
+// or
+//
+// a=hypermat([3,3,1],uint16(1:9)); [m,k]=min(a)
+//
+// Enrico Segre on Linux version RH9 distribution with gnome as window manager
+// Israel July 24, 2003 at 17:51:50
+
+a = hypermat([3,3,1],uint16(1:9));
+
+result = execstr("[m,k]=max(a)","errcatch","n");
+
+if result <> 0 then pause,end
+
+if result == 0 then
+ if execstr("[m,k]=min(a)","errcatch","n") <> 0 then pause,end
+end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_476.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_476.dia.ref
new file mode 100755
index 000000000..6693b7758
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_476.dia.ref
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 476 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=476
+//
+// <-- Short Description -->
+// Bug Report Id: 120442003624185651
+//
+//
+// On Scilab CVS with " %hm_find " function
+// The Error Messages are:
+// wrong result
+// Commands: -->a=hypermat([3,3,1],int8(1:9));
+//
+// -->[i,j]=find(a==5)
+// j =
+//
+// 1.
+// i =
+//
+// 0.
+//
+// -->[i,j,k]=find(a==5)
+// k =
+//
+// 1.
+// ...
+//correct=%F
+a = hypermat([3,3,1],int8(1:9));
+[i,j] = find(a==5);
+[k,l,m] = find(a==5);
+assert_checkequal(m, 1);
+assert_checkfalse((i==k)<>(j==l));
diff --git a/modules/data_structures/tests/nonreg_tests/bug_476.tst b/modules/data_structures/tests/nonreg_tests/bug_476.tst
new file mode 100755
index 000000000..94d2fb214
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_476.tst
@@ -0,0 +1,42 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 476 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=476
+//
+// <-- Short Description -->
+// Bug Report Id: 120442003624185651
+//
+//
+// On Scilab CVS with " %hm_find " function
+// The Error Messages are:
+// wrong result
+// Commands: -->a=hypermat([3,3,1],int8(1:9));
+//
+// -->[i,j]=find(a==5)
+// j =
+//
+// 1.
+// i =
+//
+// 0.
+//
+// -->[i,j,k]=find(a==5)
+// k =
+//
+// 1.
+// ...
+
+//correct=%F
+a = hypermat([3,3,1],int8(1:9));
+[i,j] = find(a==5);
+[k,l,m] = find(a==5);
+
+assert_checkequal(m, 1);
+assert_checkfalse((i==k)<>(j==l));
diff --git a/modules/data_structures/tests/nonreg_tests/bug_477.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_477.dia.ref
new file mode 100755
index 000000000..38b533e18
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_477.dia.ref
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 477 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=477
+//
+// <-- Short Description -->
+// Bug Report Id: 12044200362419444
+// %hm_maxi and %hm_mini are indeed currently defined with a _single_ return argument. IMHO they should be extended analogously to max, min and %hm_find, returning optionally either a vector of indices of the max/min.
+//
+// On Scilab CVS with " %hm_maxi, %hm_mini " function
+// The Error Messages are:
+// -->a=hypermat([3,3,1],1:9);
+//
+// -->[m]=max(a)
+// i =
+//
+// 9.
+//
+// -->[m,i]=max(a)
+// !--error 59
+// incorrect # of outputs in the function
+// arguments are :
+// x
+//
+// -->[m,i,j,k]=max(a)
+// !--error 78
+// ...
+a = hypermat([1,3,3],1:9);
+assert_checkequal(max(a), 9);
+result = execstr("[n,i]=max(a)","errcatch","n");
+assert_checkequal(result, 0);
+assert_checkequal(n, 9);
+assert_checkfalse(or(i<>[1,3,3]));
+errmsg=msprintf(_("%s: Wrong number of output argument(s): %d to %d expected.\n"), "max", 1, 2);
+assert_checkerror("[m,i,j,k]=max(a)", errmsg, 78);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_477.tst b/modules/data_structures/tests/nonreg_tests/bug_477.tst
new file mode 100755
index 000000000..646775940
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_477.tst
@@ -0,0 +1,44 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 477 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=477
+//
+// <-- Short Description -->
+// Bug Report Id: 12044200362419444
+// %hm_maxi and %hm_mini are indeed currently defined with a _single_ return argument. IMHO they should be extended analogously to max, min and %hm_find, returning optionally either a vector of indices of the max/min.
+//
+// On Scilab CVS with " %hm_maxi, %hm_mini " function
+// The Error Messages are:
+// -->a=hypermat([3,3,1],1:9);
+//
+// -->[m]=max(a)
+// i =
+//
+// 9.
+//
+// -->[m,i]=max(a)
+// !--error 59
+// incorrect # of outputs in the function
+// arguments are :
+// x
+//
+// -->[m,i,j,k]=max(a)
+// !--error 78
+// ...
+
+a = hypermat([1,3,3],1:9);
+assert_checkequal(max(a), 9);
+
+result = execstr("[n,i]=max(a)","errcatch","n");
+assert_checkequal(result, 0);
+assert_checkequal(n, 9);
+assert_checkfalse(or(i<>[1,3,3]));
+errmsg=msprintf(_("%s: Wrong number of output argument(s): %d to %d expected.\n"), "max", 1, 2);
+assert_checkerror("[m,i,j,k]=max(a)", errmsg, 78);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_480.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_480.dia.ref
new file mode 100755
index 000000000..97748f257
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_480.dia.ref
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 480 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=480
+//
+// <-- Short Description -->
+// Bug Report Id: 12070200362710754
+// [u]intN() and iconvert() do not handle hypermatrices. It would be nice if they would.
+// There is a workaround -
+// hypermat(a.dims,int8(a.entries)) - but it is somehow a detour.
+//
+// On Scilab CVS with " intN(), iconvert() " function
+// The Error Messages are:
+// -->a=hypermat([3,3,1],1:9);
+//
+// -->int8(a)
+// !--error 53
+// invalid input (waiting for real or complex matrix)
+//
+// Commands:
+//
+// Enrico Segre on Linux version distribution RH9 with as window manager
+// Israel July 27, 2003 at 10:7:54
+a=hypermat([1,3,3],1:9);
+assert_checktrue(execstr("int8(a)", "errcatch")==0)
+ ans =
+
+ T
+toto = (hypermat(a.dims,int8(a.entries)) == int8(a));
+assert_checkfalse(~(and(toto(:,:,1))));
diff --git a/modules/data_structures/tests/nonreg_tests/bug_480.tst b/modules/data_structures/tests/nonreg_tests/bug_480.tst
new file mode 100755
index 000000000..7d3b4f3dc
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_480.tst
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 480 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=480
+//
+// <-- Short Description -->
+// Bug Report Id: 12070200362710754
+// [u]intN() and iconvert() do not handle hypermatrices. It would be nice if they would.
+// There is a workaround -
+// hypermat(a.dims,int8(a.entries)) - but it is somehow a detour.
+//
+// On Scilab CVS with " intN(), iconvert() " function
+// The Error Messages are:
+// -->a=hypermat([3,3,1],1:9);
+//
+// -->int8(a)
+// !--error 53
+// invalid input (waiting for real or complex matrix)
+//
+// Commands:
+//
+// Enrico Segre on Linux version distribution RH9 with as window manager
+// Israel July 27, 2003 at 10:7:54
+
+a=hypermat([1,3,3],1:9);
+assert_checktrue(execstr("int8(a)", "errcatch")==0)
+toto = (hypermat(a.dims,int8(a.entries)) == int8(a));
+assert_checkfalse(~(and(toto(:,:,1))));
diff --git a/modules/data_structures/tests/nonreg_tests/bug_5588.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_5588.dia.ref
new file mode 100755
index 000000000..213f3dfeb
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_5588.dia.ref
@@ -0,0 +1,63 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 5588 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5588
+//
+// <-- Short Description -->
+// null() of a tlist() field shifts all remaining values with respect to
+// field names.
+// tlist null assignment indexed by a name
+clear %0_i_a %0_i_A
+t=tlist(["a","b","c"],10,"foo");
+if execstr("t.b=null()","errcatch")==0 then bugmes();quit;end
+function t=%0_i_a(i,void,t)
+ f=getfield(1,t);
+ k=find(f==i);
+ if k<>[] then
+ f(k)=[];
+ setfield(k,null(),t);
+ setfield(1,f,t);
+ end
+endfunction
+if execstr("t.b=null()","errcatch")<>0 then bugmes();quit;end
+if or(t<>tlist(["a","c"],"foo")) then bugmes();quit;end
+// tlist null assignment indexed by a number
+t=tlist(["a","b","c"],10,"foo");
+if execstr("t(2)=null()","errcatch")<>0 then bugmes();quit;end
+if or(t<>tlist(["a","b","c"],"foo")) then bugmes();quit;end
+//struct null assignment indexed by a name
+T.x="foo";T.y=33;
+if execstr("T.dims=null()","errcatch")==0 then bugmes();quit;end
+if execstr("T(1,1)=null()","errcatch")==0 then bugmes();quit;end
+if execstr("T.x=null()","errcatch")<>0 then bugmes();quit;end
+T1.y=33;
+if or(T<>T1) then bugmes();quit;end
+T1.x="foo";
+if execstr("T(1)=null()","errcatch")==0 then bugmes();quit;end
+//cell null assignment
+c=makecell([1,2],1,"xyz");
+if execstr("c(1,1)=null()","errcatch")==0 then bugmes();quit;end
+if execstr("c.dims=null()","errcatch")==0 then bugmes();quit;end
+//sublist null assigment indexed by a name
+L=tlist(["foo","x","y"],mlist(["A","b","c"],10,"zoo"),1:5);
+if execstr("L.x.b=null()","errcatch")==0 then bugmes();quit;end
+%0_i_A=%0_i_a;
+if execstr("L.x.b=null()","errcatch")<>0 then bugmes();quit;end
+if or(L<>tlist(["foo","x","y"],mlist(["A","c"],"zoo"),1:5)) then bugmes();quit;end
+//sublist null assigment indexed by a number
+clear %0_i_A
+L=mlist(["foo","x","y"],tlist(["A","b","c"],10,"zoo"),1:5);
+if execstr("L.x(2)=null()","errcatch")<>0 then bugmes();quit;end
+if or(L<>mlist(["foo","x","y"],tlist(["A","b","c"],"zoo"),1:5)) then bugmes();quit;end
+//try a more complex context
+L=tlist(["foo","x","y"],list(33,mlist(["A","b","c"],10,"zoo")),1:5);
+%0_i_A=%0_i_a;
+if execstr("L.x(2).b=null()","errcatch")<>0 then bugmes();quit;end
+if or(L<>tlist(["foo","x","y"],list(33,mlist(["A","c"],"zoo")),1:5)) then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_5588.tst b/modules/data_structures/tests/nonreg_tests/bug_5588.tst
new file mode 100755
index 000000000..7ee951a49
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_5588.tst
@@ -0,0 +1,75 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 5588 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5588
+//
+// <-- Short Description -->
+// null() of a tlist() field shifts all remaining values with respect to
+// field names.
+
+// tlist null assignment indexed by a name
+clear %0_i_a %0_i_A
+t=tlist(["a","b","c"],10,"foo");
+if execstr("t.b=null()","errcatch")==0 then pause,end
+function t=%0_i_a(i,void,t)
+ f=getfield(1,t);
+ k=find(f==i);
+ if k<>[] then
+ f(k)=[];
+ setfield(k,null(),t);
+ setfield(1,f,t);
+ end
+endfunction
+if execstr("t.b=null()","errcatch")<>0 then pause,end
+if or(t<>tlist(["a","c"],"foo")) then pause,end
+
+// tlist null assignment indexed by a number
+t=tlist(["a","b","c"],10,"foo");
+if execstr("t(2)=null()","errcatch")<>0 then pause,end
+if or(t<>tlist(["a","b","c"],"foo")) then pause,end
+
+//struct null assignment indexed by a name
+T.x="foo";T.y=33;
+if execstr("T.dims=null()","errcatch")==0 then pause,end
+if execstr("T(1,1)=null()","errcatch")==0 then pause,end
+
+if execstr("T.x=null()","errcatch")<>0 then pause,end
+T1.y=33;
+if or(T<>T1) then pause,end
+T1.x="foo";
+if execstr("T(1)=null()","errcatch")==0 then pause,end
+
+
+//cell null assignment
+c=makecell([1,2],1,"xyz");
+if execstr("c(1,1)=null()","errcatch")==0 then pause,end
+if execstr("c.dims=null()","errcatch")==0 then pause,end
+
+//sublist null assigment indexed by a name
+L=tlist(["foo","x","y"],mlist(["A","b","c"],10,"zoo"),1:5);
+if execstr("L.x.b=null()","errcatch")==0 then pause,end
+%0_i_A=%0_i_a;
+if execstr("L.x.b=null()","errcatch")<>0 then pause,end
+if or(L<>tlist(["foo","x","y"],mlist(["A","c"],"zoo"),1:5)) then pause,end
+
+//sublist null assigment indexed by a number
+clear %0_i_A
+L=mlist(["foo","x","y"],tlist(["A","b","c"],10,"zoo"),1:5);
+if execstr("L.x(2)=null()","errcatch")<>0 then pause,end
+if or(L<>mlist(["foo","x","y"],tlist(["A","b","c"],"zoo"),1:5)) then pause,end
+
+//try a more complex context
+L=tlist(["foo","x","y"],list(33,mlist(["A","b","c"],10,"zoo")),1:5);
+%0_i_A=%0_i_a;
+if execstr("L.x(2).b=null()","errcatch")<>0 then pause,end
+
+if or(L<>tlist(["foo","x","y"],list(33,mlist(["A","c"],"zoo")),1:5)) then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_5612.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_5612.dia.ref
new file mode 100755
index 000000000..487b86d36
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_5612.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 5612 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5612
+//
+// <-- Short Description -->
+// There is no way for deleting a structure field.
+s = struct("txt","Hello","num",%pi,"pol",%z^2+1);
+if or(getfield(1,s)<>["st", "dims", "txt", "num", "pol"]) then bugmes();quit;end
+// Delete the field called 'num'
+s.num = null();
+// Check that 'num' field has been deleted
+if or(getfield(1,s)<>["st", "dims", "txt", "pol"]) then bugmes();quit;end
+// Check that remaining fields have the right value
+if s.txt<>"Hello" then bugmes();quit;end
+if s.pol<>%z^2+1 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_5612.tst b/modules/data_structures/tests/nonreg_tests/bug_5612.tst
new file mode 100755
index 000000000..ec4a44e4b
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_5612.tst
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 5612 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5612
+//
+// <-- Short Description -->
+// There is no way for deleting a structure field.
+
+s = struct("txt","Hello","num",%pi,"pol",%z^2+1);
+
+if or(getfield(1,s)<>["st", "dims", "txt", "num", "pol"]) then pause; end
+
+// Delete the field called 'num'
+s.num = null();
+
+// Check that 'num' field has been deleted
+if or(getfield(1,s)<>["st", "dims", "txt", "pol"]) then pause; end
+
+// Check that remaining fields have the right value
+if s.txt<>"Hello" then pause; end
+if s.pol<>%z^2+1 then pause; end
+
+
diff --git a/modules/data_structures/tests/nonreg_tests/bug_568.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_568.dia.ref
new file mode 100755
index 000000000..fcfe9a9be
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_568.dia.ref
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 568 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=568
+//
+// <-- Short Description -->
+// when I have defined a variable like this :
+// -->aa=zeros(4,4,11);
+// I can't insert a part of this hypermatrix in a indexed
+// undefined variable bb.
+// -->bb(1,1,:)=aa(1,1,:) ;
+// This appears in all operating system and version 2.7, 2.7.2
+// and 2.8 alpha
+//
+// fixed in CVS version
+// exec( "/home/huynh/poubelle/testNonReg/bug568.sce");
+// exec("e:\testNonReg\bug568.sce");
+aa=zeros(4,4,11);
+if execstr('bb(1,1,:)=aa(1,1,:)','errcatch') <> 15 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_568.tst b/modules/data_structures/tests/nonreg_tests/bug_568.tst
new file mode 100755
index 000000000..79aa138da
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_568.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 568 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=568
+//
+// <-- Short Description -->
+// when I have defined a variable like this :
+// -->aa=zeros(4,4,11);
+// I can't insert a part of this hypermatrix in a indexed
+// undefined variable bb.
+// -->bb(1,1,:)=aa(1,1,:) ;
+// This appears in all operating system and version 2.7, 2.7.2
+// and 2.8 alpha
+//
+// fixed in CVS version
+
+
+// exec( "/home/huynh/poubelle/testNonReg/bug568.sce");
+// exec("e:\testNonReg\bug568.sce");
+
+aa=zeros(4,4,11);
+if execstr('bb(1,1,:)=aa(1,1,:)','errcatch') <> 15 then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_570.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_570.dia.ref
new file mode 100755
index 000000000..a7e6b2029
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_570.dia.ref
@@ -0,0 +1,15 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 570 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=570
+//
+// <-- Short Description -->
+// missing overload for string hypermatrix insertion?
+// See bug 566
+if execstr('a(2,3,2)=''x''','errcatch') <> 0 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_570.tst b/modules/data_structures/tests/nonreg_tests/bug_570.tst
new file mode 100755
index 000000000..72557fdb5
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_570.tst
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 570 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=570
+//
+// <-- Short Description -->
+// missing overload for string hypermatrix insertion?
+// See bug 566
+
+
+if execstr('a(2,3,2)=''x''','errcatch') <> 0 then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_6639.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_6639.dia.ref
new file mode 100755
index 000000000..d1b09d85e
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_6639.dia.ref
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 6639 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6639
+//
+// <-- Short Description -->
+// "hypermat" did not remove higher dimensions equal to 1
+a=hypermat([3,2,1]);
+if type(a)<>1 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_6639.tst b/modules/data_structures/tests/nonreg_tests/bug_6639.tst
new file mode 100755
index 000000000..a66a50aa7
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_6639.tst
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 6639 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6639
+//
+// <-- Short Description -->
+// "hypermat" did not remove higher dimensions equal to 1
+a=hypermat([3,2,1]);
+if type(a)<>1 then pause,end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_6792.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_6792.dia.ref
new file mode 100755
index 000000000..9cfd2c609
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_6792.dia.ref
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA -Serge.Steer@inria.fr
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 6792 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6792
+//
+// <-- Short Description -->
+// mis-interpretation of macro arguments when the macro call appears in an list extraction
+function [x,y]=fun(varargin), x=varargin,y=size(varargin),endfunction
+function y=%foo_e(name,ml),y=fun,endfunction
+function y=%bar_e(name,ml),y=type,endfunction
+M=mlist(['foo']);
+N=mlist(['bar']);
+M1=mlist(['foo','meth'],fun);
+[x,y]=M.meth(['hello' 'world']);
+if or(x<>list(['hello' 'world']))|y<>1 then bugmes();quit;end
+[x,y]=M1.meth(['hello' 'world']);
+if or(x<>list(['hello' 'world']))|y<>1 then bugmes();quit;end
+[x,y]=M.meth('xx',list(1,2,3));
+if or(x<>list('xx',list(1,2,3)))|y<>2 then bugmes();quit;end
+[x,y]=M1.meth('xx',list(1,2,3));
+if or(x<>list('xx',list(1,2,3)))|y<>2 then bugmes();quit;end
+[x,y]=M.meth('xx',1,2,3);
+if or(x<>list('xx',1,2,3))|y<>4 then bugmes();quit;end
+[x,y]=M1.meth('xx',1,2,3);
+if or(x<>list('xx',1,2,3))|y<>4 then bugmes();quit;end
+// extraction returns a built-in
+t=N.foo(123);
+if (t<>1) then bugmes();quit;end
+t=N.foo(['a' 'b']);
+if (t<>10) then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_6792.tst b/modules/data_structures/tests/nonreg_tests/bug_6792.tst
new file mode 100755
index 000000000..cc9866d15
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_6792.tst
@@ -0,0 +1,44 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - INRIA -Serge.Steer@inria.fr
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 6792 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6792
+//
+// <-- Short Description -->
+// mis-interpretation of macro arguments when the macro call appears in an list extraction
+function [x,y]=fun(varargin), x=varargin,y=size(varargin),endfunction
+function y=%foo_e(name,ml),y=fun,endfunction
+function y=%bar_e(name,ml),y=type,endfunction
+
+M=mlist(['foo']);
+N=mlist(['bar']);
+M1=mlist(['foo','meth'],fun);
+
+[x,y]=M.meth(['hello' 'world']);
+if or(x<>list(['hello' 'world']))|y<>1 then pause,end
+[x,y]=M1.meth(['hello' 'world']);
+if or(x<>list(['hello' 'world']))|y<>1 then pause,end
+
+[x,y]=M.meth('xx',list(1,2,3));
+if or(x<>list('xx',list(1,2,3)))|y<>2 then pause,end
+
+[x,y]=M1.meth('xx',list(1,2,3));
+if or(x<>list('xx',list(1,2,3)))|y<>2 then pause,end
+
+[x,y]=M.meth('xx',1,2,3);
+if or(x<>list('xx',1,2,3))|y<>4 then pause,end
+
+[x,y]=M1.meth('xx',1,2,3);
+if or(x<>list('xx',1,2,3))|y<>4 then pause,end
+
+// extraction returns a built-in
+t=N.foo(123);
+if (t<>1) then pause, end
+t=N.foo(['a' 'b']);
+if (t<>10) then pause, end \ No newline at end of file
diff --git a/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref
new file mode 100755
index 000000000..974c15d8d
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 6988 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6988
+//
+// <-- Short Description -->
+// Error messages in modules/data_structures/src/c/hmops.c are not standard.
+M = hypermat([2 3 2 2],1:24)
+ M =
+
+(:,:,1,1)
+
+ 1. 3. 5.
+ 2. 4. 6.
+(:,:,2,1)
+
+ 7. 9. 11.
+ 8. 10. 12.
+(:,:,1,2)
+
+ 13. 15. 17.
+ 14. 16. 18.
+(:,:,2,2)
+
+ 19. 21. 23.
+ 20. 22. 24.
+errmsg1=msprintf(_("%s: Wrong number of input arguments: at most %d expected.\n"),"hmops",4);
+assert_checkerror("M(:,:,1,2,3)",errmsg1);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_6988.tst b/modules/data_structures/tests/nonreg_tests/bug_6988.tst
new file mode 100755
index 000000000..5ab5daf3f
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_6988.tst
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 6988 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6988
+//
+// <-- Short Description -->
+// Error messages in modules/data_structures/src/c/hmops.c are not standard.
+
+M = hypermat([2 3 2 2],1:24)
+errmsg1=msprintf(_("%s: Wrong number of input arguments: at most %d expected.\n"),"hmops",4);
+assert_checkerror("M(:,:,1,2,3)",errmsg1);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_7181.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_7181.dia.ref
new file mode 100755
index 000000000..42829599f
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_7181.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 7181 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7181
+//
+// <-- Short Description -->
+// The display of a struct having no fields does not work.
+// Create a struct
+s = struct("txt","Hello","num",%pi,"pol",%z^2+1);
+// Remove all fields
+s.txt = null();
+s.num = null();
+s.pol = null();
+disp(s)
+
+1x1 struct array with no fields.
diff --git a/modules/data_structures/tests/nonreg_tests/bug_7181.tst b/modules/data_structures/tests/nonreg_tests/bug_7181.tst
new file mode 100755
index 000000000..94fbee954
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_7181.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 7181 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7181
+//
+// <-- Short Description -->
+// The display of a struct having no fields does not work.
+
+// Create a struct
+s = struct("txt","Hello","num",%pi,"pol",%z^2+1);
+
+// Remove all fields
+s.txt = null();
+s.num = null();
+s.pol = null();
+
+disp(s) \ No newline at end of file
diff --git a/modules/data_structures/tests/nonreg_tests/bug_7525.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_7525.dia.ref
new file mode 100755
index 000000000..fde047699
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_7525.dia.ref
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 7525 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7525
+//
+// <-- Short Description -->
+// Scilab failed to assign 2-d matrices into 3-d matrices, on Windows.
+x = zeros(2, 2, 3);
+if execstr("x(:, :, 1) = [1 0; 0 1];", "errcatch") <> 0 then bugmes();quit;end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_7525.tst b/modules/data_structures/tests/nonreg_tests/bug_7525.tst
new file mode 100755
index 000000000..078871c6b
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_7525.tst
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 7525 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7525
+//
+// <-- Short Description -->
+// Scilab failed to assign 2-d matrices into 3-d matrices, on Windows.
+
+x = zeros(2, 2, 3);
+if execstr("x(:, :, 1) = [1 0; 0 1];", "errcatch") <> 0 then pause, end
diff --git a/modules/data_structures/tests/nonreg_tests/bug_8856.dia.ref b/modules/data_structures/tests/nonreg_tests/bug_8856.dia.ref
new file mode 100755
index 000000000..514d81056
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_8856.dia.ref
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 8856 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8856
+//
+// <-- Short Description -->
+// [k,l,m,...]=find(a==5) works if a is a matrix (not an hypermat)
+a = rand(2,2);
+[i,j,k]=find(a>0.5);
+assert_checkequal(and(k), %t);
diff --git a/modules/data_structures/tests/nonreg_tests/bug_8856.tst b/modules/data_structures/tests/nonreg_tests/bug_8856.tst
new file mode 100755
index 000000000..e68be593e
--- /dev/null
+++ b/modules/data_structures/tests/nonreg_tests/bug_8856.tst
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 8856 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8856
+//
+// <-- Short Description -->
+// [k,l,m,...]=find(a==5) works if a is a matrix (not an hypermat)
+
+a = rand(2,2);
+[i,j,k]=find(a>0.5);
+assert_checkequal(and(k), %t);
diff --git a/modules/data_structures/tests/unit_tests/fieldnames.dia.ref b/modules/data_structures/tests/unit_tests/fieldnames.dia.ref
new file mode 100755
index 000000000..1679d9069
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/fieldnames.dia.ref
@@ -0,0 +1,38 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - INRIA - Serge.Steer@inria.fr
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- CLI SHELL MODE -->
+// unit tests for fieldnames function
+// =============================================================================
+if fieldnames(1)<>[] then bugmes();quit;end
+my_struct = struct("field_1",123,"field_2",456);
+if or(fieldnames(my_struct)<>["field_1";"field_2"]) then bugmes();quit;end
+clear T;
+T.a=rand(2,2);
+T.b='s';
+if or(fieldnames(T)<>["a";"b"]) then bugmes();quit;end
+if or(fieldnames(1/%s)<>["num";"den";"dt"]) then bugmes();quit;end
+M=mlist(['foo','A','B','C'],[],[],[])
+ M =
+
+
+ M(1)
+
+!foo A B C !
+
+ M(2)
+
+ []
+
+ M(3)
+
+ []
+
+ M(4)
+
+ []
+if or(fieldnames(M)<>['A';'B';'C']) then bugmes();quit;end
diff --git a/modules/data_structures/tests/unit_tests/fieldnames.tst b/modules/data_structures/tests/unit_tests/fieldnames.tst
new file mode 100755
index 000000000..ea1bb42d4
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/fieldnames.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - INRIA - Serge.Steer@inria.fr
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- CLI SHELL MODE -->
+
+// unit tests for fieldnames function
+// =============================================================================
+
+if fieldnames(1)<>[] then pause,end
+
+my_struct = struct("field_1",123,"field_2",456);
+if or(fieldnames(my_struct)<>["field_1";"field_2"]) then pause,end
+
+clear T;
+T.a=rand(2,2);
+T.b='s';
+if or(fieldnames(T)<>["a";"b"]) then pause,end
+
+
+if or(fieldnames(1/%s)<>["num";"den";"dt"]) then pause,end
+
+M=mlist(['foo','A','B','C'],[],[],[])
+if or(fieldnames(M)<>['A';'B';'C']) then pause,end
diff --git a/modules/data_structures/tests/unit_tests/hypermat.dia.ref b/modules/data_structures/tests/unit_tests/hypermat.dia.ref
new file mode 100755
index 000000000..ccff88902
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/hypermat.dia.ref
@@ -0,0 +1,115 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//extraction
+Data=list(1:12,(1:12)+rand(1,12)*%i,int32(1:12),(1:12)+%s,rand(1,12)>0.5,string(1:12));
+test=1;
+msg='Problem with extraction for hypermatrix of type %s in test %d.%d \n';
+for k=1:size(Data)
+ data=Data(k);td=typeof(data);
+ h=hypermat([2 3 2],data);
+ if h(2,3,2)<>data(12) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h(2,:,2)<>data([8 10 12])) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h($,:,2)<>data([8 10 12])) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h(:,3,2)<>matrix(data([11 12]),-1,1)) then mprintf(msg,test,k); bugmes();quit;end
+ if or(h(1:2)<>matrix(data([1 2]),-1,1)) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h(1:3)<>matrix(data([1 2 3]),-1,1)) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h(1,2:3)<>data([3 5])) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h(1,4:5)<>data([7 9])) then mprintf(msg,td,test,k); bugmes();quit;end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+end
+ test1.1 completed
+ test1.2 completed
+ test1.3 completed
+ test1.4 completed
+ test1.5 completed
+ test1.6 completed
+//insertion of []
+test=2;
+for k=1:size(Data)
+ data=Data(k);td=typeof(data);
+ h=hypermat([2 3 2],data);h1=h;
+ h(2,:,:)=[];
+ if or(size(h)<>[1 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h<>h1(1,:,:)) then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);h1=h;
+ h(:,1:2,:)=[];
+ if or(size(h)<>[2 1 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h<>h1(:,3,:)) then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);
+ h(:,:,:)=[];
+ if h<>[] then mprintf(msg,td,test,k); bugmes();quit;end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+end
+ test2.1 completed
+ test2.2 completed
+ test2.3 completed
+ test2.4 completed
+ test2.5 completed
+ test2.6 completed
+msg='Problem with insertion for hypermatrix of type %s in test %d.%d \n';
+//insertion of a single element
+test=3;
+for k=1:size(Data)
+ data=Data(k);td=typeof(data);
+ I=data(1);
+ h=hypermat([2 3 2],data);
+ h(2,3,2)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if h(2,3,2)<>I then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);
+ h(2,3)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if h(2,3,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);
+ h(2)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if h(2,1,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);
+ h(3)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if h(1,2,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);
+ h(3)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if h(1,2,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);
+ h([3,7])=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if h(1,2,1)<>I|h(1,1,2)<>I then mprintf(msg,td,test,k); bugmes();quit;end
+ h=hypermat([2 3 2],data);
+ h(13:15)=I;
+ if type(h)<>type(data) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(size(h)<>[15,1]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if or(h(13:15)<>I) then mprintf(msg,td,test,k); bugmes();quit;end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+end
+ test3.1 completed
+ test3.2 completed
+ test3.3 completed
+ test3.4 completed
+ test3.5 completed
+ test3.6 completed
+//extension of a 2D matrix to a 3D one
+test=4;
+for k=1:size(Data)
+ data=matrix(Data(k),3,-1);td=typeof(data);
+ I=data(1,1);
+ h=data;
+ h(3,4,2)=I;
+ if or(size(h)<>[3 4 2]) then mprintf(msg,td,test,k); bugmes();quit;end
+ if h(:,:,1)<>data then mprintf(msg,td,test,k); bugmes();quit;end
+ d=[];d(3,4)=I;
+ if h(:,:,2)<>d then mprintf(msg,td,test,k); bugmes();quit;end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+end
+ test4.1 completed
+ test4.2 completed
+ test4.3 completed
+ test4.4 completed
+ test4.5 completed
+ test4.6 completed
diff --git a/modules/data_structures/tests/unit_tests/hypermat.tst b/modules/data_structures/tests/unit_tests/hypermat.tst
new file mode 100755
index 000000000..ecda38b23
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/hypermat.tst
@@ -0,0 +1,109 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+
+//extraction
+Data=list(1:12,(1:12)+rand(1,12)*%i,int32(1:12),(1:12)+%s,rand(1,12)>0.5,string(1:12));
+
+test=1;
+msg='Problem with extraction for hypermatrix of type %s in test %d.%d \n';
+for k=1:size(Data)
+ data=Data(k);td=typeof(data);
+ h=hypermat([2 3 2],data);
+ if h(2,3,2)<>data(12) then mprintf(msg,td,test,k); pause,end
+ if or(h(2,:,2)<>data([8 10 12])) then mprintf(msg,td,test,k); pause,end
+ if or(h($,:,2)<>data([8 10 12])) then mprintf(msg,td,test,k); pause,end
+ if or(h(:,3,2)<>matrix(data([11 12]),-1,1)) then mprintf(msg,test,k); pause,end
+ if or(h(1:2)<>matrix(data([1 2]),-1,1)) then mprintf(msg,td,test,k); pause,end
+ if or(h(1:3)<>matrix(data([1 2 3]),-1,1)) then mprintf(msg,td,test,k); pause,end
+ if or(h(1,2:3)<>data([3 5])) then mprintf(msg,td,test,k); pause,end
+ if or(h(1,4:5)<>data([7 9])) then mprintf(msg,td,test,k); pause,end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+end
+//insertion of []
+test=2;
+for k=1:size(Data)
+ data=Data(k);td=typeof(data);
+ h=hypermat([2 3 2],data);h1=h;
+ h(2,:,:)=[];
+ if or(size(h)<>[1 3 2]) then mprintf(msg,td,test,k); pause,end
+ if or(h<>h1(1,:,:)) then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);h1=h;
+ h(:,1:2,:)=[];
+ if or(size(h)<>[2 1 2]) then mprintf(msg,td,test,k); pause,end
+ if or(h<>h1(:,3,:)) then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);
+ h(:,:,:)=[];
+ if h<>[] then mprintf(msg,td,test,k); pause,end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+
+end
+
+
+msg='Problem with insertion for hypermatrix of type %s in test %d.%d \n';
+//insertion of a single element
+test=3;
+for k=1:size(Data)
+ data=Data(k);td=typeof(data);
+ I=data(1);
+ h=hypermat([2 3 2],data);
+ h(2,3,2)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); pause,end
+ if h(2,3,2)<>I then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);
+ h(2,3)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); pause,end
+ if h(2,3,1)<>I then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);
+ h(2)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); pause,end
+ if h(2,1,1)<>I then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);
+ h(3)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); pause,end
+ if h(1,2,1)<>I then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);
+ h(3)=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); pause,end
+ if h(1,2,1)<>I then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);
+ h([3,7])=I;
+ if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); pause,end
+ if h(1,2,1)<>I|h(1,1,2)<>I then mprintf(msg,td,test,k); pause,end
+
+ h=hypermat([2 3 2],data);
+ h(13:15)=I;
+ if type(h)<>type(data) then mprintf(msg,td,test,k); pause,end
+ if or(size(h)<>[15,1]) then mprintf(msg,td,test,k); pause,end
+ if or(h(13:15)<>I) then mprintf(msg,td,test,k); pause,end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+
+end
+
+//extension of a 2D matrix to a 3D one
+test=4;
+for k=1:size(Data)
+ data=matrix(Data(k),3,-1);td=typeof(data);
+ I=data(1,1);
+ h=data;
+ h(3,4,2)=I;
+ if or(size(h)<>[3 4 2]) then mprintf(msg,td,test,k); pause,end
+ if h(:,:,1)<>data then mprintf(msg,td,test,k); pause,end
+ d=[];d(3,4)=I;
+ if h(:,:,2)<>d then mprintf(msg,td,test,k); pause,end
+ msgToPrint=msprintf(' test%d.%d completed\n',test,k);write(%io(2),msgToPrint);
+end
+
+
+
diff --git a/modules/data_structures/tests/unit_tests/isfield.dia.ref b/modules/data_structures/tests/unit_tests/isfield.dia.ref
new file mode 100755
index 000000000..a14a4146d
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/isfield.dia.ref
@@ -0,0 +1,48 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+// Copyright (C) 2011 - DIGITEO - Vincent COUVERT <vincent.couvert@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// unit tests for isfield function
+// =============================================================================
+my_struct = struct("field_1",123,"field_2",456);
+// syntax
+ierr = execstr("isfield()","errcatch");
+if ierr == 0 then bugmes();quit;end
+if lasterror() <> msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"isfield",2) then bugmes();quit;end
+ierr = execstr("isfield(my_struct)","errcatch");
+if ierr == 0 then bugmes();quit;end
+if lasterror() <> msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"isfield",2) then bugmes();quit;end
+ierr = execstr("isfield(my_struct,''field_1'',''field_2'')","errcatch");
+if ierr == 0 then bugmes();quit;end
+ierr = execstr("isfield(my_struct,2)","errcatch");
+if ierr == 0 then bugmes();quit;end
+if lasterror() <> msprintf(gettext("%s: Wrong type for input argument #%d: A string expected.\n"),"isfield",2) then bugmes();quit;end
+my_struct = ["field_1","field_2"];
+ierr = execstr("isfield(my_struct,''field_1'')","errcatch");
+if ierr == 0 then bugmes();quit;end
+if lasterror() <> msprintf(gettext("%s: Wrong type for input argument #%d: struct array or tlist or mlist expected.\n"),"isfield",1) then bugmes();quit;end
+// Fonctionnality
+my_struct = struct("field_1",123,"field_2",456,"field_4",789);
+if ~ isfield(my_struct,"field_1") then bugmes();quit;end
+if ~ isfield(my_struct,"field_2") then bugmes();quit;end
+if isfield(my_struct,"field_3") then bugmes();quit;end
+if ~ isfield(my_struct,"field_4") then bugmes();quit;end
+fields = [ "field_1" "field_2" ; "field_3" "field_4" ; "field_3" "field_4" ];
+ref = [ %T %T ; %F %T ; %F %T ];
+if or( isfield( my_struct , fields ) <> ref ) then bugmes();quit;end
+fields = [ "field_1" "field_2" "field_3" "field_4" "field_3" "field_4" ];
+ref = [ %T %T %F %T %F %T ];
+if or( isfield( my_struct , fields ) <> ref ) then bugmes();quit;end
+fields = [ "field_1" ; "field_2" ; "field_3" ; "field_4" ; "field_3" ; "field_4" ];
+ref = [ %T ; %T ; %F ; %T ; %F ; %T ];
+if or( isfield( my_struct , fields ) <> ref ) then bugmes();quit;end
+fields = [ "field_1" "field_2" "field_3" ; "field_4" "field_3" "field_4" ];
+ref = [ %T %T %F ; %T %F %T ];
+if or( isfield( my_struct , fields ) <> ref ) then bugmes();quit;end
+s = tlist(["test" "t" "n","","p"], "Hello", %pi, "anonymous", (1-%z)^3);
+a=isfield(s, ["b" "t" ""]);
+assert_checkequal(a, [%f %t %t]);
diff --git a/modules/data_structures/tests/unit_tests/isfield.tst b/modules/data_structures/tests/unit_tests/isfield.tst
new file mode 100755
index 000000000..1d1a5c2d7
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/isfield.tst
@@ -0,0 +1,71 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+// Copyright (C) 2011 - DIGITEO - Vincent COUVERT <vincent.couvert@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// unit tests for isfield function
+// =============================================================================
+
+my_struct = struct("field_1",123,"field_2",456);
+
+// syntax
+
+ierr = execstr("isfield()","errcatch");
+if ierr == 0 then pause,end
+if lasterror() <> msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"isfield",2) then pause, end
+
+ierr = execstr("isfield(my_struct)","errcatch");
+if ierr == 0 then pause,end
+if lasterror() <> msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"isfield",2) then pause, end
+
+ierr = execstr("isfield(my_struct,''field_1'',''field_2'')","errcatch");
+if ierr == 0 then pause,end
+
+ierr = execstr("isfield(my_struct,2)","errcatch");
+if ierr == 0 then pause,end
+if lasterror() <> msprintf(gettext("%s: Wrong type for input argument #%d: A string expected.\n"),"isfield",2) then pause, end
+
+my_struct = ["field_1","field_2"];
+
+ierr = execstr("isfield(my_struct,''field_1'')","errcatch");
+if ierr == 0 then pause,end
+if lasterror() <> msprintf(gettext("%s: Wrong type for input argument #%d: struct array or tlist or mlist expected.\n"),"isfield",1) then pause, end
+
+// Fonctionnality
+
+my_struct = struct("field_1",123,"field_2",456,"field_4",789);
+
+if ~ isfield(my_struct,"field_1") then pause, end
+if ~ isfield(my_struct,"field_2") then pause, end
+if isfield(my_struct,"field_3") then pause, end
+if ~ isfield(my_struct,"field_4") then pause, end
+
+fields = [ "field_1" "field_2" ; "field_3" "field_4" ; "field_3" "field_4" ];
+ref = [ %T %T ; %F %T ; %F %T ];
+if or( isfield( my_struct , fields ) <> ref ) then pause, end
+
+
+fields = [ "field_1" "field_2" "field_3" "field_4" "field_3" "field_4" ];
+ref = [ %T %T %F %T %F %T ];
+if or( isfield( my_struct , fields ) <> ref ) then pause, end
+
+
+fields = [ "field_1" ; "field_2" ; "field_3" ; "field_4" ; "field_3" ; "field_4" ];
+ref = [ %T ; %T ; %F ; %T ; %F ; %T ];
+if or( isfield( my_struct , fields ) <> ref ) then pause, end
+
+
+fields = [ "field_1" "field_2" "field_3" ; "field_4" "field_3" "field_4" ];
+ref = [ %T %T %F ; %T %F %T ];
+if or( isfield( my_struct , fields ) <> ref ) then pause, end
+
+
+s = tlist(["test" "t" "n","","p"], "Hello", %pi, "anonymous", (1-%z)^3);
+a=isfield(s, ["b" "t" ""]);
+assert_checkequal(a, [%f %t %t]);
+
diff --git a/modules/data_structures/tests/unit_tests/list.dia.ref b/modules/data_structures/tests/unit_tests/list.dia.ref
new file mode 100755
index 000000000..0375d599c
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/list.dia.ref
@@ -0,0 +1,61 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014-2014 - Scilab Enterprises - Bruno JOFRET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// test de creation des listes avec des elements null()
+l = list(,);
+m = l(1);
+n = l(2);
+assert_checkfalse(isdef("m"));
+assert_checkfalse(isdef("n"));
+l = list(1,);
+n = l(2);
+assert_checkfalse(isdef("n"));
+assert_checkequal(l(1), 1);
+l = list(,1);
+m = l(1);
+assert_checkfalse(isdef("m"));
+assert_checkequal(l(2), 1);
+l = list(,,);
+m = l(1);
+n = l(2);
+p = l(3);
+assert_checkfalse(isdef("m"));
+assert_checkfalse(isdef("n"));
+assert_checkfalse(isdef("p"));
+l = list(1,,);
+n = l(2);
+p = l(3);
+assert_checkequal(l(1), 1);
+assert_checkfalse(isdef("n"));
+assert_checkfalse(isdef("p"));
+l = list(,1,);
+m = l(1);
+p = l(3);
+assert_checkfalse(isdef("m"));
+assert_checkequal(l(2), 1);
+assert_checkfalse(isdef("p"));
+l = list(,,1);
+m = l(1);
+n = l(2);
+assert_checkfalse(isdef("m"));
+assert_checkfalse(isdef("n"));
+assert_checkequal(l(3), 1);
+l = list(1,1,);
+p = l(3);
+assert_checkequal(l(1), 1);
+assert_checkequal(l(2), 1);
+assert_checkfalse(isdef("p"));
+l = list(1,,1);
+n = l(2);
+assert_checkequal(l(1), 1);
+assert_checkfalse(isdef("n"));
+assert_checkequal(l(3), 1);
+l = list(,1,1);
+m = l(1);
+assert_checkfalse(isdef("m"));
+assert_checkequal(l(2), 1);
+assert_checkequal(l(3), 1);
diff --git a/modules/data_structures/tests/unit_tests/list.tst b/modules/data_structures/tests/unit_tests/list.tst
new file mode 100755
index 000000000..3971a428d
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/list.tst
@@ -0,0 +1,72 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014-2014 - Scilab Enterprises - Bruno JOFRET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+
+// test de creation des listes avec des elements null()
+
+l = list(,);
+m = l(1);
+n = l(2);
+assert_checkfalse(isdef("m"));
+assert_checkfalse(isdef("n"));
+
+l = list(1,);
+n = l(2);
+assert_checkfalse(isdef("n"));
+assert_checkequal(l(1), 1);
+
+l = list(,1);
+m = l(1);
+assert_checkfalse(isdef("m"));
+assert_checkequal(l(2), 1);
+
+l = list(,,);
+m = l(1);
+n = l(2);
+p = l(3);
+assert_checkfalse(isdef("m"));
+assert_checkfalse(isdef("n"));
+assert_checkfalse(isdef("p"));
+
+l = list(1,,);
+n = l(2);
+p = l(3);
+assert_checkequal(l(1), 1);
+assert_checkfalse(isdef("n"));
+assert_checkfalse(isdef("p"));
+
+l = list(,1,);
+m = l(1);
+p = l(3);
+assert_checkfalse(isdef("m"));
+assert_checkequal(l(2), 1);
+assert_checkfalse(isdef("p"));
+
+l = list(,,1);
+m = l(1);
+n = l(2);
+assert_checkfalse(isdef("m"));
+assert_checkfalse(isdef("n"));
+assert_checkequal(l(3), 1);
+
+l = list(1,1,);
+p = l(3);
+assert_checkequal(l(1), 1);
+assert_checkequal(l(2), 1);
+assert_checkfalse(isdef("p"));
+
+l = list(1,,1);
+n = l(2);
+assert_checkequal(l(1), 1);
+assert_checkfalse(isdef("n"));
+assert_checkequal(l(3), 1);
+
+l = list(,1,1);
+m = l(1);
+assert_checkfalse(isdef("m"));
+assert_checkequal(l(2), 1);
+assert_checkequal(l(3), 1); \ No newline at end of file
diff --git a/modules/data_structures/tests/unit_tests/listextraction.dia.ref b/modules/data_structures/tests/unit_tests/listextraction.dia.ref
new file mode 100755
index 000000000..4dcc9bf84
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/listextraction.dia.ref
@@ -0,0 +1,78 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// test des insertions dans les listes
+a=1,b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+ a =
+
+ 1.
+h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
+l=list(a);if l(1)<>a then bugmes();quit;end
+l=list(a);if l(1)(1)<>a(1) then bugmes();quit;end
+l=list(a);if l(1)(1,1)<>a(1,1) then bugmes();quit;end
+l=list(a,d,b);if l(2)<>d then bugmes();quit;end
+l=list(a,d,b);if l(2)(1:2)<>d(1:2) then bugmes();quit;end
+l=list(a,d,b);if l(2)(1,2)<>d(1,2) then bugmes();quit;end
+//
+l=list(a,list(b,c,d));if l(2)(3)<>d then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(3)<>d(3) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
+//
+l=list(a,list(b,c,d),h);if l(2)(3)<>d then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(3)<>d(3) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
+//
+l=list(a,1/%s);if l(2)<>1/%s then bugmes();quit;end
+l=list(a,1/%s);if l(2)('num')<>1 then bugmes();quit;end
+l=list(a,1/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
+l=list(a,1/%s,g);if l(2)<>1/%s then bugmes();quit;end
+l=list(a,1/%s,g);if l(2)('num')<>1 then bugmes();quit;end
+l=list(a,1/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
+a=1:10,b=3:2:33;c=(-10:0)';d=[1 2+%s 3];e=['1';'2';'3';'4'];
+ a =
+
+ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
+f=[%t %t %f];g=['12345','abcdefghijk'];
+h=rand(3,3);i=eye(10,10);a0=10+%s;c0=20;b0=sparse(eye(30,30));
+l=list(a);if l(1)<>a then bugmes();quit;end
+l=list(a);if l(1)(1)<>a(1) then bugmes();quit;end
+l=list(a);if l(1)(1,1)<>a(1,1) then bugmes();quit;end
+l=list(a,d,b);if l(2)<>d then bugmes();quit;end
+l=list(a,d,b);if l(2)(1:2)<>d(1:2) then bugmes();quit;end
+l=list(a,d,b);if l(2)(1,2)<>d(1,2) then bugmes();quit;end
+//
+l=list(a,list(b,c,d));if l(2)(3)<>d then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(3)<>d(3) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
+l=list(a,list(b,c,d));if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
+//
+l=list(a,list(b,c,d),h);if l(2)(3)<>d then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(3)<>d(3) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
+l=list(a,list(b,c,d),h);if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
+//
+N=[1 2 3];
+l=list(a,N/%s);if l(2)<>N/%s then bugmes();quit;end
+l=list(a,N/%s);if l(2)('num')<>N then bugmes();quit;end
+l=list(a,N/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
+l=list(a,N/%s,g);if l(2)<>N/%s then bugmes();quit;end
+l=list(a,N/%s,g);if l(2)('num')<>N then bugmes();quit;end
+l=list(a,N/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
diff --git a/modules/data_structures/tests/unit_tests/listextraction.tst b/modules/data_structures/tests/unit_tests/listextraction.tst
new file mode 100755
index 000000000..0f5c30853
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/listextraction.tst
@@ -0,0 +1,79 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+
+// test des insertions dans les listes
+a=1,b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
+
+
+l=list(a);if l(1)<>a then pause,end
+l=list(a);if l(1)(1)<>a(1) then pause,end
+l=list(a);if l(1)(1,1)<>a(1,1) then pause,end
+l=list(a,d,b);if l(2)<>d then pause,end
+l=list(a,d,b);if l(2)(1:2)<>d(1:2) then pause,end
+l=list(a,d,b);if l(2)(1,2)<>d(1,2) then pause,end
+//
+l=list(a,list(b,c,d));if l(2)(3)<>d then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(3)<>d(3) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)([3 1])<>d([3 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(1,[3 1])<>d(1,[3 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(:,[3 1])<>d(:,[3 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)($,[$ 1])<>d($,[$ 1]) then pause,end
+//
+l=list(a,list(b,c,d),h);if l(2)(3)<>d then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(3)<>d(3) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)([3 1])<>d([3 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(1,[3 1])<>d(1,[3 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[3 1])<>d(:,[3 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)($,[$ 1])<>d($,[$ 1]) then pause,end
+//
+l=list(a,1/%s);if l(2)<>1/%s then pause,end
+l=list(a,1/%s);if l(2)('num')<>1 then pause,end
+l=list(a,1/%s,g);if l(2)('den')(1,1)<>%s then pause,end
+l=list(a,1/%s,g);if l(2)<>1/%s then pause,end
+l=list(a,1/%s,g);if l(2)('num')<>1 then pause,end
+l=list(a,1/%s,g);if l(2)('den')(1,1)<>%s then pause,end
+
+
+a=1:10,b=3:2:33;c=(-10:0)';d=[1 2+%s 3];e=['1';'2';'3';'4'];
+f=[%t %t %f];g=['12345','abcdefghijk'];
+h=rand(3,3);i=eye(10,10);a0=10+%s;c0=20;b0=sparse(eye(30,30));
+
+l=list(a);if l(1)<>a then pause,end
+l=list(a);if l(1)(1)<>a(1) then pause,end
+l=list(a);if l(1)(1,1)<>a(1,1) then pause,end
+l=list(a,d,b);if l(2)<>d then pause,end
+l=list(a,d,b);if l(2)(1:2)<>d(1:2) then pause,end
+l=list(a,d,b);if l(2)(1,2)<>d(1,2) then pause,end
+//
+l=list(a,list(b,c,d));if l(2)(3)<>d then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(3)<>d(3) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)([3 1])<>d([3 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(1,[3 1])<>d(1,[3 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(:,[3 1])<>d(:,[3 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then pause,end
+l=list(a,list(b,c,d));if l(2)(3)($,[$ 1])<>d($,[$ 1]) then pause,end
+//
+l=list(a,list(b,c,d),h);if l(2)(3)<>d then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(3)<>d(3) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)([3 1])<>d([3 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(1,[3 1])<>d(1,[3 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[3 1])<>d(:,[3 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then pause,end
+l=list(a,list(b,c,d),h);if l(2)(3)($,[$ 1])<>d($,[$ 1]) then pause,end
+//
+N=[1 2 3];
+l=list(a,N/%s);if l(2)<>N/%s then pause,end
+l=list(a,N/%s);if l(2)('num')<>N then pause,end
+l=list(a,N/%s,g);if l(2)('den')(1,1)<>%s then pause,end
+l=list(a,N/%s,g);if l(2)<>N/%s then pause,end
+l=list(a,N/%s,g);if l(2)('num')<>N then pause,end
+l=list(a,N/%s,g);if l(2)('den')(1,1)<>%s then pause,end
+
diff --git a/modules/data_structures/tests/unit_tests/listinsertion.dia.ref b/modules/data_structures/tests/unit_tests/listinsertion.dia.ref
new file mode 100755
index 000000000..5900291fc
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/listinsertion.dia.ref
@@ -0,0 +1,349 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// test des insertions dans les listes
+a=1;b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
+l=list();l(0)=a;if l<>list(a) then bugmes();quit;end
+l=list();l(1)=a;if l<>list(a) then bugmes();quit;end
+l=list(a);l(2)=b;if l<>list(a,b) then bugmes();quit;end
+l=list(a);l(0)=b;if l<>list(b,a) then bugmes();quit;end
+l=list(a);l(1)=c;if l<>list(c) then bugmes();quit;end
+l=list(a);l(1)=d;if l<>list(d) then bugmes();quit;end
+l=list(d);l(1)=a;if l<>list(a) then bugmes();quit;end
+l=list(a);l(1)=null();if l<>list() then bugmes();quit;end
+l=list(a,c);l(1)=null();if l<>list(c) then bugmes();quit;end
+l=list(a,c);l(2)=null();if l<>list(a) then bugmes();quit;end
+l=list(a,c,b);l(2)=null();if l<>list(a,b) then bugmes();quit;end
+l=list(a,c,b);l(2)=e;if l<>list(a,e,b) then bugmes();quit;end
+l=list(a,e,b);l(2)=a;if l<>list(a,c,b) then bugmes();quit;end
+l=list();l(0)=null();if l<>list() then bugmes();quit;end
+l=list();l(1)=null();if l<>list() then bugmes();quit;end
+//
+l=list(a);l(0)=list(c,b);if l<>list(list(c,b),a) then bugmes();quit;end
+l=list(a);l(2)=list(c,b);if l<>list(a,list(c,b)) then bugmes();quit;end
+l=list(a,list(c,b));l(3)=i;if l<>list(a,list(c,b),i) then bugmes();quit;end
+l=list(a,list(c,b),i);l(1)=null();if l<>list(list(c,b),i) then bugmes();quit;end
+l=list(a,list(c,b),i);l(2)=null();if l<>list(a,i) then bugmes();quit;end
+l=list(a,list(c,b),i);l(3)=null();if l<>list(a,list(c,b)) then bugmes();quit;end
+//
+l=list(a,list(c,b,i),h);l(2)(2)=a0;if l<>list(a,list(c,a0,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(2)=f;if l<>list(a,list(c,f,i),h) then bugmes();quit;end
+l=list(a,list(c,f,i),h);l(2)(2)=b;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(3)=a0;if l<>list(a,list(c,b,a0),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(3)=f;if l<>list(a,list(c,b,f),h) then bugmes();quit;end
+l=list(a,list(c,b,f),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(0)=a;if l<>list(a,list(a,c,b),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(2)=null();if l<>list(a,list(c,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(1)=null();if l<>list(a,list(b,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(3)=null();if l<>list(a,list(c,b),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(3)=g;if l<>list(a,list(c,b,g),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(0)=e;if l<>list(a,list(e,c,b),h) then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=0;if l<>list(a,list(c,list(0,c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=null();if l<>list(a,list(c,list(c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=g;if l<>list(a,list(c,list(g,c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(0)=g;if l<>list(a,list(c,list(g,a0,c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=g;if l<>list(a,list(c,list(a0,c0,g),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=null();if l<>list(a,list(c,list(a0,c0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(4)=g;if l<>list(a,list(c,list(a0,c0,b0,g),b),h); then
+bugmes();quit;end
+l=list();l(5)=33;
+ll=l;
+l=list(a,1/%s);l(2)('num')=33;if l<>list(a,33/%s) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1)=33;if l<>list(a,33/%s) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1,1)=33;if l<>list(a,33/%s) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1,1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')=33;if l<>list(a,33/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1,1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1,1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1,2)=33;l(2)('den')(1,2)=%s+1;
+if l<>list(a,[1 33]./[%s %s+1],g) then bugmes();quit;end
+//a=1;b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+//h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
+l=list(a);l(1)(1)=3;x=a;x(1)=3;if l<>list(x) then bugmes();quit;end
+l=list(e);l(1)(2)=[];x=e;x(2)=[];if l<>list(x) then bugmes();quit;end
+l=list(a);l(1)(1,1)=3;x=a;x(1,1)=3;if l<>list(x) then bugmes();quit;end
+l=list(e);l(1)(1,2)=[];x=e;x(1,2)=[];if l<>list(x) then bugmes();quit;end
+l=list(a);l(1)(5,5)=3;x=a;x(5,5)=3;if l<>list(x) then bugmes();quit;end
+l=list(g0);l(1)(2,3)=3;x=g0;x(2,3)=3;if l<>list(x) then bugmes();quit;end
+l=list(b,a);l(2)(1)=3;x=a;x(1)=3;if l<>list(b,x) then bugmes();quit;end
+l=list(b,e);l(2)(2)=[];x=e;x(2)=[];if l<>list(b,x) then bugmes();quit;end
+l=list(b,a);l(2)(1,1)=3;x=a;x(1,1)=3;if l<>list(b,x) then bugmes();quit;end
+l=list(b,e);l(2)(1,2)=[];x=e;x(1,2)=[];if l<>list(b,x) then bugmes();quit;end
+l=list(b,a);l(2)(5,5)=3;x=a;x(5,5)=3;if l<>list(b,x) then bugmes();quit;end
+l=list(b,g0);l(2)(2,3)=3;x=g0;x(2,3)=3;if l<>list(b,x) then bugmes();quit;end
+l=list(b,g0);l(2)(2,2:3)=[1 3];x=g0;x(2,2:3)=[1 3];if l<>list(b,x) then bugmes();quit;end
+a=1:10;b=3:2:33;c=(-10:0)';d=[1 2+%s 3];e=['1';'2';'3';'4'];
+f=[%t %t %f];g=['12345','abcdefghijk'];
+h=rand(3,3);i=eye(10,10);a0=10+%s;c0=20;b0=sparse(eye(30,30));
+l=list();l(0)=a;if l<>list(a) then bugmes();quit;end
+l=list();l(1)=a;if l<>list(a) then bugmes();quit;end
+l=list(a);l(2)=b;if l<>list(a,b) then bugmes();quit;end
+l=list(a);l(0)=b;if l<>list(b,a) then bugmes();quit;end
+l=list(a);l(1)=c;if l<>list(c) then bugmes();quit;end
+l=list(a);l(1)=d;if l<>list(d) then bugmes();quit;end
+l=list(d);l(1)=a;if l<>list(a) then bugmes();quit;end
+l=list(a);l(1)=null();if l<>list() then bugmes();quit;end
+l=list(a,c);l(1)=null();if l<>list(c) then bugmes();quit;end
+l=list(a,c);l(2)=null();if l<>list(a) then bugmes();quit;end
+l=list(a,c,b);l(2)=null();if l<>list(a,b) then bugmes();quit;end
+l=list(a,c,b);l(2)=e;if l<>list(a,e,b) then bugmes();quit;end
+l=list(a,e,b);l(2)=a;if l<>list(a,c,b) then bugmes();quit;end
+l=list();l(0)=null();if l<>list() then bugmes();quit;end
+l=list();l(1)=null();if l<>list() then bugmes();quit;end
+//
+l=list(a);l(0)=list(c,b);if l<>list(list(c,b),a) then bugmes();quit;end
+l=list(a);l(2)=list(c,b);if l<>list(a,list(c,b)) then bugmes();quit;end
+l=list(a,list(c,b));l(3)=i;if l<>list(a,list(c,b),i) then bugmes();quit;end
+l=list(a,list(c,b),i);l(1)=null();if l<>list(list(c,b),i) then bugmes();quit;end
+l=list(a,list(c,b),i);l(2)=null();if l<>list(a,i) then bugmes();quit;end
+l=list(a,list(c,b),i);l(3)=null();if l<>list(a,list(c,b)) then bugmes();quit;end
+//
+l=list(a,list(c,b,i),h);l(2)(2)=a0;if l<>list(a,list(c,a0,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(2)=f;if l<>list(a,list(c,f,i),h) then bugmes();quit;end
+l=list(a,list(c,f,i),h);l(2)(2)=b;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(3)=a0;if l<>list(a,list(c,b,a0),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(3)=f;if l<>list(a,list(c,b,f),h) then bugmes();quit;end
+l=list(a,list(c,b,f),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(0)=a;if l<>list(a,list(a,c,b),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(2)=null();if l<>list(a,list(c,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(1)=null();if l<>list(a,list(b,i),h) then bugmes();quit;end
+l=list(a,list(c,b,i),h);l(2)(3)=null();if l<>list(a,list(c,b),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(3)=g;if l<>list(a,list(c,b,g),h) then bugmes();quit;end
+l=list(a,list(c,b),h);l(2)(0)=e;if l<>list(a,list(e,c,b),h) then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=0;if l<>list(a,list(c,list(0,c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=null();if l<>list(a,list(c,list(c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=g;if l<>list(a,list(c,list(g,c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(0)=g;if l<>list(a,list(c,list(g,a0,c0,b0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=g;if l<>list(a,list(c,list(a0,c0,g),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=null();if l<>list(a,list(c,list(a0,c0),b),h); then bugmes();quit;end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(4)=g;if l<>list(a,list(c,list(a0,c0,b0,g),b),h); then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')=33;if l<>list(a,33/%s) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1)=33;if l<>list(a,33/%s) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1,1)=33;if l<>list(a,33/%s) then bugmes();quit;end
+l=list(a,1/%s);l(2)('num')(1,1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
+l=list(a,1/%s);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')=33;if l<>list(a,33/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1,1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1,1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
+l=list(a,1/%s,g);l(2)('num')(1,2)=33;l(2)('den')(1,2)=%s+1;
+if l<>list(a,[1 33]./[%s %s+1],g) then bugmes();quit;end
+//test with field names not defined in the structure here row1 and row2
+function M=%to_e(varargin)
+ M = varargin($),
+ select varargin(1)
+ case 'row2' then
+ M.N = M.N(2, eye())
+ M.V = M.V(2, eye())
+ case 'row1' then
+ M.N = M.N(1, eye())
+ M.V = M.V(1, eye())
+ else
+ M.N = M.N(varargin(1:$ - 1))
+ M.V = M.V(varargin(1:$ - 1))
+ end
+endfunction
+%to_6=%to_e;
+function M=%to_i_to(varargin)
+ M=varargin($);N=varargin($-1)
+ select varargin(1)
+ case 'row2'
+ M.N(2,:)=N.N
+ M.V(2,:)=N.V
+ case 'row1'
+ M.N(1,:)=N.N
+ M.V(1,:)=N.V
+ else
+ M.N(varargin(1:$-2))=N.N
+ M.V(varargin(1:$-2))=N.V
+ end
+endfunction
+M=mlist(['to','V','N'],[1 2 3;4 5 6],['a','b','c';'d','e','f']);
+M.row1(2)=M.row2(1);
+assert_checkequal(M.V, [1 4 3;4 5 6]);
+assert_checkequal(M.N, ['a','d','c';'d','e','f']);
+l=list(1,M,2);
+l(2).row1(2)=M.row1(1);
+assert_checkequal(l(1), 1);
+assert_checkequal(l(2).V, [1 1 3;4 5 6]);
+assert_checkequal(l(2).N, ['a','a','c';'d','e','f']);
+assert_checkequal(M.V, [1 4 3;4 5 6]);
+assert_checkequal(M.N, ['a','d','c';'d','e','f']);
+l(1)="foo";
+assert_checkequal(l(1), "foo");
+//test of insertion in structs (a particular mlist)
+clear S;
+S.a=11;
+S(2).a=12;
+assert_checkequal(S.a, list(11,12));
+clear S;
+S.a=11;
+S.a(2,2)=12;
+assert_checkequal(S.a, diag([11,12]));
+clear S;
+S.a=11;
+S(2).b=12;
+assert_checkequal(S.a, list(11,[]));
+assert_checkequal(S.b, list([],12));
+clear S S1 S2;
+S.a=11;
+S(2).b=12;
+S1.a=33;
+S1.b='toto';
+S(1)=S1;
+assert_checkequal(S.a, list(33,[]));
+assert_checkequal(S.b, list("toto",12));
+S(2,2)=S1;
+assert_checkequal(S.a, list(33,[],[],33));
+assert_checkequal(S.b, list("toto",12,[],"toto"));
+S2.a=-5;
+S2.c=8;
+S(2,2,2)=S2;
+assert_checkequal(S.a, list(33,[],[],33,[],[],[],-5));
+assert_checkequal(S.b, list("toto",12,[],"toto",[],[],[],[]));
+assert_checkequal(S.c, list([],[],[],[],[],[],[],8));
+S1=S(:,1,1);
+assert_checkequal(S1.a, list(33,[]));
+assert_checkequal(S1.b, list("toto",12));
+assert_checkequal(S1.c, list([],[]));
+S1=S(1:2,1,1);
+assert_checkequal(S1.a, list(33,[]));
+assert_checkequal(S1.b, list("toto",12));
+assert_checkequal(S1.c, list([],[]));
+S1=S([1 1],1,1);
+assert_checkequal(S1.a, list(33,33));
+assert_checkequal(S1.b, list("toto","toto"));
+assert_checkequal(S1.c, list([],[]));
+S1=S([1 2 1],1,1);
+assert_checkequal(S1.a, list(33,[],33));
+assert_checkequal(S1.b, list("toto",12,"toto"));
+assert_checkequal(S1.c, list([],[],[]));
+S1=S(1,:,1);
+assert_checkequal(S1.a, list(33,[]));
+assert_checkequal(S1.b, list("toto",[]));
+assert_checkequal(S1.c, list([],[]));
+S1=S(:,:);
+assert_checkequal(S1.a, list(33,[],[],33,[],[],[],-5));
+assert_checkequal(S1.b, list("toto",12,[],"toto",[],[],[],[]));
+assert_checkequal(S1.c, list([],[],[],[],[],[],[],8));
+S=struct();
+S.a(2).b=1;
+assert_checkequal(S.a.b, list([],1));
+clear S;
+S.a(2).b=1;
+assert_checkequal(S.a.b, list([],1));
+S=struct();
+S(2).a.b=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, 1);
+clear S;
+S(2).a.b=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, 1);
+clear S;
+S(2).a(3).b=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, list([],[], 1));
+//
+S = struct("a", "1");
+S(1,1,2).a = "2";
+S(1).b = 2;
+assert_checkequal(S.a, list("1", "2"));
+assert_checkequal(S.b, list(2, []));
+S(2).a=5;
+assert_checkequal(S.a, list("1", 5));
+S(1,3,2).a="foo";
+assert_checkequal(S.a, list("1",[],[],5,[],"foo"));
+assert_checkequal(S.b, list(2,[],[],[],[],[]));
+S(1,3,2,2).b=[33 44];
+assert_checkequal(S.a, list("1",[],[],5,[],"foo" ,[],[],[],[],[],[]));
+assert_checkequal(S.b, list(2,[],[],[],[],[],[],[],[],[],[],[33,44]));
+clear S;S(1,2).a=3;S(3).a=44 ;
+assert_checkequal(S.a, list([],3,44));
+clear S;S.a=3;S(3).a=44;
+assert_checkequal(S.a, list(3,[],44));
+clear S;S(4).a=3;
+assert_checkequal(S.a, list([],[],[],3));
+clear S;
+S(1).a(1,1:4)=1;
+S(1).b(1:3)=5;
+assert_checkequal(S.a, [1,1,1,1]);
+assert_checkequal(S.b, [5;5;5]);
+S=struct();
+S.b(1,1)=3;
+assert_checkequal(S.b, 3);
+clear S;
+S(1,1).a(1,1:4)=1;
+S(1,1).b(1,1:3)=5;
+assert_checkequal(S.a, [1,1,1,1]);
+assert_checkequal(S.b, [5,5,5]);
+clear S;
+S(1,1).a(1:4)=1;
+S(1,1).b(1:3)=5;
+assert_checkequal(S.a, [1;1;1;1]);
+assert_checkequal(S.b, [5;5;5]);
+clear S;
+S(1,2).a(1:4)=1;
+S(2,1).b(1:3)=5;
+assert_checkequal(S.a, list([],[],[1,1,1,1]',[]));
+assert_checkequal(S.b, list([],[5,5,5]',[],[]));
+clear S;
+S(1,2).a(2).b(1,2)=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, list([],[0,1]));
+clear S;
+S(1,2).a(1,2).b(1,2,3)=4;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, list([], hypermat([1 2 3], [0;0;0;0;0;4])));
+mtlb_mode(%t)
+clear S;S(1,2).a=3;S(3).a=44 ;
+assert_checkequal(S.a, list([],3,44));
+assert_checkequal(size(S), [1, 3]);
+clear S;S.a=3;S(3).a=44;
+assert_checkequal(S.a, list(3,[],44));
+assert_checkequal(size(S), [1, 3]);
+clear S;S(4).a=3;
+assert_checkequal(S.a, list([],[],[],3));
+assert_checkequal(size(S), [1, 4]);
+mtlb_mode(%f)
diff --git a/modules/data_structures/tests/unit_tests/listinsertion.tst b/modules/data_structures/tests/unit_tests/listinsertion.tst
new file mode 100755
index 000000000..0bfdb5c77
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/listinsertion.tst
@@ -0,0 +1,419 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+
+// test des insertions dans les listes
+a=1;b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
+
+
+l=list();l(0)=a;if l<>list(a) then pause,end
+l=list();l(1)=a;if l<>list(a) then pause,end
+l=list(a);l(2)=b;if l<>list(a,b) then pause,end
+l=list(a);l(0)=b;if l<>list(b,a) then pause,end
+l=list(a);l(1)=c;if l<>list(c) then pause,end
+l=list(a);l(1)=d;if l<>list(d) then pause,end
+l=list(d);l(1)=a;if l<>list(a) then pause,end
+l=list(a);l(1)=null();if l<>list() then pause,end
+l=list(a,c);l(1)=null();if l<>list(c) then pause,end
+l=list(a,c);l(2)=null();if l<>list(a) then pause,end
+l=list(a,c,b);l(2)=null();if l<>list(a,b) then pause,end
+l=list(a,c,b);l(2)=e;if l<>list(a,e,b) then pause,end
+l=list(a,e,b);l(2)=a;if l<>list(a,c,b) then pause,end
+
+l=list();l(0)=null();if l<>list() then pause,end
+l=list();l(1)=null();if l<>list() then pause,end
+//
+l=list(a);l(0)=list(c,b);if l<>list(list(c,b),a) then pause,end
+l=list(a);l(2)=list(c,b);if l<>list(a,list(c,b)) then pause,end
+l=list(a,list(c,b));l(3)=i;if l<>list(a,list(c,b),i) then pause,end
+l=list(a,list(c,b),i);l(1)=null();if l<>list(list(c,b),i) then pause,end
+l=list(a,list(c,b),i);l(2)=null();if l<>list(a,i) then pause,end
+l=list(a,list(c,b),i);l(3)=null();if l<>list(a,list(c,b)) then pause,end
+//
+l=list(a,list(c,b,i),h);l(2)(2)=a0;if l<>list(a,list(c,a0,i),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(2)=f;if l<>list(a,list(c,f,i),h) then pause,end
+l=list(a,list(c,f,i),h);l(2)(2)=b;if l<>list(a,list(c,b,i),h) then pause,end
+
+l=list(a,list(c,b,i),h);l(2)(3)=a0;if l<>list(a,list(c,b,a0),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(3)=f;if l<>list(a,list(c,b,f),h) then pause,end
+l=list(a,list(c,b,f),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then pause,end
+
+l=list(a,list(c,b),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then pause,end
+l=list(a,list(c,b),h);l(2)(0)=a;if l<>list(a,list(a,c,b),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(2)=null();if l<>list(a,list(c,i),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(1)=null();if l<>list(a,list(b,i),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(3)=null();if l<>list(a,list(c,b),h) then pause,end
+l=list(a,list(c,b),h);l(2)(3)=g;if l<>list(a,list(c,b,g),h) then pause,end
+l=list(a,list(c,b),h);l(2)(0)=e;if l<>list(a,list(e,c,b),h) then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=0;if l<>list(a,list(c,list(0,c0,b0),b),h); then pause,end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=null();if l<>list(a,list(c,list(c0,b0),b),h); then pause,end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=g;if l<>list(a,list(c,list(g,c0,b0),b),h); then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(0)=g;if l<>list(a,list(c,list(g,a0,c0,b0),b),h); then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=g;if l<>list(a,list(c,list(a0,c0,g),b),h); then pause,end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=null();if l<>list(a,list(c,list(a0,c0),b),h); then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(4)=g;if l<>list(a,list(c,list(a0,c0,b0,g),b),h); then
+pause,end
+l=list();l(5)=33;
+ll=l;
+
+l=list(a,1/%s);l(2)('num')=33;if l<>list(a,33/%s) then pause,end
+l=list(a,1/%s);l(2)('num')=%s+1;if l<>list(a,((%s+1)/%s)) then pause,end
+l=list(a,1/%s);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1)) then pause,end
+l=list(a,1/%s);l(2)('num')(1)=33;if l<>list(a,33/%s) then pause,end
+l=list(a,1/%s);l(2)('num')(1)=%s+1;if l<>list(a,((%s+1)/%s)) then pause,end
+l=list(a,1/%s);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then pause,end
+l=list(a,1/%s);l(2)('num')(1,1)=33;if l<>list(a,33/%s) then pause,end
+l=list(a,1/%s);l(2)('num')(1,1)=%s+1;if l<>list(a,((%s+1)/%s)) then pause,end
+l=list(a,1/%s);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then pause,end
+
+l=list(a,1/%s,g);l(2)('num')=33;if l<>list(a,33/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('num')=%s+1;if l<>list(a,(%s+1)/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1),g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1)=33;if l<>list(a,33/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1)=%s+1;if l<>list(a,(%s+1)/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1,1)=33;if l<>list(a,33/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1,1)=%s+1;if l<>list(a,(%s+1)/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then pause,end
+
+l=list(a,1/%s,g);l(2)('num')(1,2)=33;l(2)('den')(1,2)=%s+1;
+if l<>list(a,[1 33]./[%s %s+1],g) then pause,end
+
+
+//a=1;b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+//h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
+l=list(a);l(1)(1)=3;x=a;x(1)=3;if l<>list(x) then pause,end
+l=list(e);l(1)(2)=[];x=e;x(2)=[];if l<>list(x) then pause,end
+l=list(a);l(1)(1,1)=3;x=a;x(1,1)=3;if l<>list(x) then pause,end
+l=list(e);l(1)(1,2)=[];x=e;x(1,2)=[];if l<>list(x) then pause,end
+l=list(a);l(1)(5,5)=3;x=a;x(5,5)=3;if l<>list(x) then pause,end
+l=list(g0);l(1)(2,3)=3;x=g0;x(2,3)=3;if l<>list(x) then pause,end
+
+l=list(b,a);l(2)(1)=3;x=a;x(1)=3;if l<>list(b,x) then pause,end
+l=list(b,e);l(2)(2)=[];x=e;x(2)=[];if l<>list(b,x) then pause,end
+l=list(b,a);l(2)(1,1)=3;x=a;x(1,1)=3;if l<>list(b,x) then pause,end
+l=list(b,e);l(2)(1,2)=[];x=e;x(1,2)=[];if l<>list(b,x) then pause,end
+l=list(b,a);l(2)(5,5)=3;x=a;x(5,5)=3;if l<>list(b,x) then pause,end
+l=list(b,g0);l(2)(2,3)=3;x=g0;x(2,3)=3;if l<>list(b,x) then pause,end
+l=list(b,g0);l(2)(2,2:3)=[1 3];x=g0;x(2,2:3)=[1 3];if l<>list(b,x) then pause,end
+
+
+a=1:10;b=3:2:33;c=(-10:0)';d=[1 2+%s 3];e=['1';'2';'3';'4'];
+f=[%t %t %f];g=['12345','abcdefghijk'];
+h=rand(3,3);i=eye(10,10);a0=10+%s;c0=20;b0=sparse(eye(30,30));
+
+l=list();l(0)=a;if l<>list(a) then pause,end
+l=list();l(1)=a;if l<>list(a) then pause,end
+l=list(a);l(2)=b;if l<>list(a,b) then pause,end
+l=list(a);l(0)=b;if l<>list(b,a) then pause,end
+l=list(a);l(1)=c;if l<>list(c) then pause,end
+l=list(a);l(1)=d;if l<>list(d) then pause,end
+l=list(d);l(1)=a;if l<>list(a) then pause,end
+l=list(a);l(1)=null();if l<>list() then pause,end
+l=list(a,c);l(1)=null();if l<>list(c) then pause,end
+l=list(a,c);l(2)=null();if l<>list(a) then pause,end
+l=list(a,c,b);l(2)=null();if l<>list(a,b) then pause,end
+l=list(a,c,b);l(2)=e;if l<>list(a,e,b) then pause,end
+l=list(a,e,b);l(2)=a;if l<>list(a,c,b) then pause,end
+
+l=list();l(0)=null();if l<>list() then pause,end
+l=list();l(1)=null();if l<>list() then pause,end
+//
+l=list(a);l(0)=list(c,b);if l<>list(list(c,b),a) then pause,end
+l=list(a);l(2)=list(c,b);if l<>list(a,list(c,b)) then pause,end
+l=list(a,list(c,b));l(3)=i;if l<>list(a,list(c,b),i) then pause,end
+l=list(a,list(c,b),i);l(1)=null();if l<>list(list(c,b),i) then pause,end
+l=list(a,list(c,b),i);l(2)=null();if l<>list(a,i) then pause,end
+l=list(a,list(c,b),i);l(3)=null();if l<>list(a,list(c,b)) then pause,end
+//
+l=list(a,list(c,b,i),h);l(2)(2)=a0;if l<>list(a,list(c,a0,i),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(2)=f;if l<>list(a,list(c,f,i),h) then pause,end
+l=list(a,list(c,f,i),h);l(2)(2)=b;if l<>list(a,list(c,b,i),h) then pause,end
+
+l=list(a,list(c,b,i),h);l(2)(3)=a0;if l<>list(a,list(c,b,a0),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(3)=f;if l<>list(a,list(c,b,f),h) then pause,end
+l=list(a,list(c,b,f),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then pause,end
+
+l=list(a,list(c,b),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then pause,end
+l=list(a,list(c,b),h);l(2)(0)=a;if l<>list(a,list(a,c,b),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(2)=null();if l<>list(a,list(c,i),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(1)=null();if l<>list(a,list(b,i),h) then pause,end
+l=list(a,list(c,b,i),h);l(2)(3)=null();if l<>list(a,list(c,b),h) then pause,end
+l=list(a,list(c,b),h);l(2)(3)=g;if l<>list(a,list(c,b,g),h) then pause,end
+l=list(a,list(c,b),h);l(2)(0)=e;if l<>list(a,list(e,c,b),h) then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=0;if l<>list(a,list(c,list(0,c0,b0),b),h); then pause,end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=null();if l<>list(a,list(c,list(c0,b0),b),h); then pause,end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(1)=g;if l<>list(a,list(c,list(g,c0,b0),b),h); then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(0)=g;if l<>list(a,list(c,list(g,a0,c0,b0),b),h); then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=g;if l<>list(a,list(c,list(a0,c0,g),b),h); then pause,end
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(3)=null();if l<>list(a,list(c,list(a0,c0),b),h); then pause,end
+
+l=list(a,list(c,list(a0,c0,b0),b),h);
+l(2)(2)(4)=g;if l<>list(a,list(c,list(a0,c0,b0,g),b),h); then pause,end
+
+l=list(a,1/%s);l(2)('num')=33;if l<>list(a,33/%s) then pause,end
+l=list(a,1/%s);l(2)('num')=%s+1;if l<>list(a,((%s+1)/%s)) then pause,end
+l=list(a,1/%s);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1)) then pause,end
+l=list(a,1/%s);l(2)('num')(1)=33;if l<>list(a,33/%s) then pause,end
+l=list(a,1/%s);l(2)('num')(1)=%s+1;if l<>list(a,((%s+1)/%s)) then pause,end
+l=list(a,1/%s);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then pause,end
+l=list(a,1/%s);l(2)('num')(1,1)=33;if l<>list(a,33/%s) then pause,end
+l=list(a,1/%s);l(2)('num')(1,1)=%s+1;if l<>list(a,((%s+1)/%s)) then pause,end
+l=list(a,1/%s);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then pause,end
+
+l=list(a,1/%s,g);l(2)('num')=33;if l<>list(a,33/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('num')=%s+1;if l<>list(a,(%s+1)/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('den')=%s^1+1;if l<>list(a,1/(%s^2+1),g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1)=33;if l<>list(a,33/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1)=%s+1;if l<>list(a,(%s+1)/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('den')(1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1,1)=33;if l<>list(a,33/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('num')(1,1)=%s+1;if l<>list(a,(%s+1)/%s,g) then pause,end
+l=list(a,1/%s,g);l(2)('den')(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then pause,end
+
+l=list(a,1/%s,g);l(2)('num')(1,2)=33;l(2)('den')(1,2)=%s+1;
+if l<>list(a,[1 33]./[%s %s+1],g) then pause,end
+
+//test with field names not defined in the structure here row1 and row2
+
+function M=%to_e(varargin)
+ M = varargin($),
+ select varargin(1)
+ case 'row2' then
+ M.N = M.N(2, eye())
+ M.V = M.V(2, eye())
+ case 'row1' then
+ M.N = M.N(1, eye())
+ M.V = M.V(1, eye())
+ else
+ M.N = M.N(varargin(1:$ - 1))
+ M.V = M.V(varargin(1:$ - 1))
+ end
+endfunction
+
+
+%to_6=%to_e;
+
+function M=%to_i_to(varargin)
+ M=varargin($);N=varargin($-1)
+ select varargin(1)
+ case 'row2'
+ M.N(2,:)=N.N
+ M.V(2,:)=N.V
+ case 'row1'
+ M.N(1,:)=N.N
+ M.V(1,:)=N.V
+ else
+ M.N(varargin(1:$-2))=N.N
+ M.V(varargin(1:$-2))=N.V
+ end
+endfunction
+
+M=mlist(['to','V','N'],[1 2 3;4 5 6],['a','b','c';'d','e','f']);
+M.row1(2)=M.row2(1);
+assert_checkequal(M.V, [1 4 3;4 5 6]);
+assert_checkequal(M.N, ['a','d','c';'d','e','f']);
+l=list(1,M,2);
+l(2).row1(2)=M.row1(1);
+assert_checkequal(l(1), 1);
+assert_checkequal(l(2).V, [1 1 3;4 5 6]);
+assert_checkequal(l(2).N, ['a','a','c';'d','e','f']);
+assert_checkequal(M.V, [1 4 3;4 5 6]);
+assert_checkequal(M.N, ['a','d','c';'d','e','f']);
+l(1)="foo";
+assert_checkequal(l(1), "foo");
+
+//test of insertion in structs (a particular mlist)
+clear S;
+S.a=11;
+S(2).a=12;
+assert_checkequal(S.a, list(11,12));
+
+clear S;
+S.a=11;
+S.a(2,2)=12;
+assert_checkequal(S.a, diag([11,12]));
+
+clear S;
+S.a=11;
+S(2).b=12;
+assert_checkequal(S.a, list(11,[]));
+assert_checkequal(S.b, list([],12));
+
+clear S S1 S2;
+S.a=11;
+S(2).b=12;
+
+S1.a=33;
+S1.b='toto';
+S(1)=S1;
+assert_checkequal(S.a, list(33,[]));
+assert_checkequal(S.b, list("toto",12));
+
+S(2,2)=S1;
+assert_checkequal(S.a, list(33,[],[],33));
+assert_checkequal(S.b, list("toto",12,[],"toto"));
+
+S2.a=-5;
+S2.c=8;
+
+S(2,2,2)=S2;
+assert_checkequal(S.a, list(33,[],[],33,[],[],[],-5));
+assert_checkequal(S.b, list("toto",12,[],"toto",[],[],[],[]));
+assert_checkequal(S.c, list([],[],[],[],[],[],[],8));
+
+S1=S(:,1,1);
+assert_checkequal(S1.a, list(33,[]));
+assert_checkequal(S1.b, list("toto",12));
+assert_checkequal(S1.c, list([],[]));
+
+S1=S(1:2,1,1);
+assert_checkequal(S1.a, list(33,[]));
+assert_checkequal(S1.b, list("toto",12));
+assert_checkequal(S1.c, list([],[]));
+
+S1=S([1 1],1,1);
+assert_checkequal(S1.a, list(33,33));
+assert_checkequal(S1.b, list("toto","toto"));
+assert_checkequal(S1.c, list([],[]));
+
+S1=S([1 2 1],1,1);
+assert_checkequal(S1.a, list(33,[],33));
+assert_checkequal(S1.b, list("toto",12,"toto"));
+assert_checkequal(S1.c, list([],[],[]));
+
+S1=S(1,:,1);
+assert_checkequal(S1.a, list(33,[]));
+assert_checkequal(S1.b, list("toto",[]));
+assert_checkequal(S1.c, list([],[]));
+
+S1=S(:,:);
+assert_checkequal(S1.a, list(33,[],[],33,[],[],[],-5));
+assert_checkequal(S1.b, list("toto",12,[],"toto",[],[],[],[]));
+assert_checkequal(S1.c, list([],[],[],[],[],[],[],8));
+
+S=struct();
+S.a(2).b=1;
+assert_checkequal(S.a.b, list([],1));
+
+clear S;
+S.a(2).b=1;
+assert_checkequal(S.a.b, list([],1));
+
+S=struct();
+S(2).a.b=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, 1);
+
+clear S;
+S(2).a.b=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, 1);
+
+clear S;
+S(2).a(3).b=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, list([],[], 1));
+
+//
+S = struct("a", "1");
+S(1,1,2).a = "2";
+S(1).b = 2;
+assert_checkequal(S.a, list("1", "2"));
+assert_checkequal(S.b, list(2, []));
+S(2).a=5;
+assert_checkequal(S.a, list("1", 5));
+
+S(1,3,2).a="foo";
+assert_checkequal(S.a, list("1",[],[],5,[],"foo"));
+assert_checkequal(S.b, list(2,[],[],[],[],[]));
+
+S(1,3,2,2).b=[33 44];
+assert_checkequal(S.a, list("1",[],[],5,[],"foo" ,[],[],[],[],[],[]));
+assert_checkequal(S.b, list(2,[],[],[],[],[],[],[],[],[],[],[33,44]));
+
+clear S;S(1,2).a=3;S(3).a=44 ;
+assert_checkequal(S.a, list([],3,44));
+
+clear S;S.a=3;S(3).a=44;
+assert_checkequal(S.a, list(3,[],44));
+
+clear S;S(4).a=3;
+assert_checkequal(S.a, list([],[],[],3));
+
+clear S;
+S(1).a(1,1:4)=1;
+S(1).b(1:3)=5;
+assert_checkequal(S.a, [1,1,1,1]);
+assert_checkequal(S.b, [5;5;5]);
+
+S=struct();
+S.b(1,1)=3;
+assert_checkequal(S.b, 3);
+
+clear S;
+S(1,1).a(1,1:4)=1;
+S(1,1).b(1,1:3)=5;
+assert_checkequal(S.a, [1,1,1,1]);
+assert_checkequal(S.b, [5,5,5]);
+
+clear S;
+S(1,1).a(1:4)=1;
+S(1,1).b(1:3)=5;
+assert_checkequal(S.a, [1;1;1;1]);
+assert_checkequal(S.b, [5;5;5]);
+
+clear S;
+S(1,2).a(1:4)=1;
+S(2,1).b(1:3)=5;
+assert_checkequal(S.a, list([],[],[1,1,1,1]',[]));
+assert_checkequal(S.b, list([],[5,5,5]',[],[]));
+
+clear S;
+S(1,2).a(2).b(1,2)=1;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, list([],[0,1]));
+
+clear S;
+S(1,2).a(1,2).b(1,2,3)=4;
+assert_checkequal(S(1).a, []);
+assert_checkequal(S(2).a.b, list([], hypermat([1 2 3], [0;0;0;0;0;4])));
+
+mtlb_mode(%t)
+clear S;S(1,2).a=3;S(3).a=44 ;
+assert_checkequal(S.a, list([],3,44));
+assert_checkequal(size(S), [1, 3]);
+
+clear S;S.a=3;S(3).a=44;
+assert_checkequal(S.a, list(3,[],44));
+assert_checkequal(size(S), [1, 3]);
+
+clear S;S(4).a=3;
+assert_checkequal(S.a, list([],[],[],3));
+assert_checkequal(size(S), [1, 4]);
+mtlb_mode(%f)
diff --git a/modules/data_structures/tests/unit_tests/lstcat.dia.ref b/modules/data_structures/tests/unit_tests/lstcat.dia.ref
new file mode 100755
index 000000000..5c8b9fd85
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/lstcat.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+if or(lstcat(list(1,2),list(4))<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(list(1,2,4),list())<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(list(1),list(2,4))<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(list(),list(1,2,4))<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(list(1,2),4)<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(1,list(2,4))<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(list(1),list(2),list(4))<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(list(1,2),list(),4)<>list(1,2,4)) then bugmes();quit;end
+if or(lstcat(list([1 2],['my string';'matrix']),list('foo',%s))<>list([1 2],..
+ ['my string';'matrix'],'foo',%s)) then bugmes();quit;end
diff --git a/modules/data_structures/tests/unit_tests/lstcat.tst b/modules/data_structures/tests/unit_tests/lstcat.tst
new file mode 100755
index 000000000..ecdcca53c
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/lstcat.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+
+if or(lstcat(list(1,2),list(4))<>list(1,2,4)) then pause,end
+if or(lstcat(list(1,2,4),list())<>list(1,2,4)) then pause,end
+if or(lstcat(list(1),list(2,4))<>list(1,2,4)) then pause,end
+if or(lstcat(list(),list(1,2,4))<>list(1,2,4)) then pause,end
+
+if or(lstcat(list(1,2),4)<>list(1,2,4)) then pause,end
+if or(lstcat(1,list(2,4))<>list(1,2,4)) then pause,end
+
+if or(lstcat(list(1),list(2),list(4))<>list(1,2,4)) then pause,end
+
+if or(lstcat(list(1,2),list(),4)<>list(1,2,4)) then pause,end
+
+if or(lstcat(list([1 2],['my string';'matrix']),list('foo',%s))<>list([1 2],..
+ ['my string';'matrix'],'foo',%s)) then pause,end
diff --git a/modules/data_structures/tests/unit_tests/lstops.dia.ref b/modules/data_structures/tests/unit_tests/lstops.dia.ref
new file mode 100755
index 000000000..3fef4e9dd
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/lstops.dia.ref
@@ -0,0 +1,112 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+mode(5);
+funcprot(0);
+//-----------------------
+//-- extractions tests --
+//-----------------------
+l=list(1,2,-4);
+if l(1)<>1 then bugmes();quit;end
+if l(3)<>-4 then bugmes();quit;end
+[x1,x2]=l([1 3]);
+if x1<>l(1)|x2<>l(3) then bugmes();quit;end
+[x2,x1]=l([3 1]);
+if x1<>l(1)|x2<>l(3) then bugmes();quit;end
+[x1,x2]=l([1;3]);
+if x1<>l(1)|x2<>l(3) then bugmes();quit;end
+[x2,x1]=l([3;1]);
+if x1<>l(1)|x2<>l(3) then bugmes();quit;end
+[x1,x2,x3]=l(:);
+if x1<>l(1)|x2<>l(2)|x3<>l(3) then bugmes();quit;end
+//with full tlists
+l=tlist(['t','a','b','c'],1,-2,5);
+if l(2)<>1 then bugmes();quit;end
+if l(4)<>5 then bugmes();quit;end
+[x1,x2]=l([2 4]);
+if x1<>l(2)|x2<>l(4) then bugmes();quit;end
+[x2,x1]=l([4 2]);
+if x1<>l(2)|x2<>l(4) then bugmes();quit;end
+if l('a')<>1 then bugmes();quit;end
+if l('c')<>5 then bugmes();quit;end
+[x1,x2]=l(['a' 'c']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+[x2,x1]=l(['c' 'a']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+[x1,x2]=l(['a';'c']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+[x2,x1]=l(['c';'a']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+//with partial tlists (no elements formal names)
+l=tlist('t',1,-2,5);
+deff('[f1,f2,f3,f4,f5,f6,f7]=%t_e(i,j,f)',[
+ 'nams=[''a'',''b'',''c''];'
+ 'for k=1:prod(size(i))';
+ ' kf=find(i(k)==nams);';
+ ' if kf==[] then error(21),end;'
+ ' execstr(''f''+string(k)+''=j(kf+1)'');'
+ ' end;'])
+if l(2)<>1 then bugmes();quit;end
+if l(4)<>5 then bugmes();quit;end
+[x1,x2]=l([2 4]);
+if x1<>l(2)|x2<>l(4) then bugmes();quit;end
+[x2,x1]=l([4 2]);
+if x1<>l(2)|x2<>l(4) then bugmes();quit;end
+if l('a')<>1 then bugmes();quit;end
+if l('c')<>5 then bugmes();quit;end
+[x1,x2]=l(['a' 'c']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+[x2,x1]=l(['c' 'a']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+[x1,x2]=l(['a';'c']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+[x2,x1]=l(['c';'a']);
+if x1<>l('a')|x2<>l('c') then bugmes();quit;end
+// extraction inside a input argument list
+a=list(1,2,3,4);
+if or(list(a(1:2))<>list(1,2)) then bugmes();quit;end
+if type(list(a(1:2)))<>15 then bugmes();quit;end
+deff('[a,b]=foo(x,y)','a=x;b=y')
+[u,v]=foo(a(1:2));if u<>a(1)|v<>a(2) then bugmes();quit;end
+deff('[a]=foo(x,y)','a=x+y')
+if abs(foo(a(1:2)))<>3 then bugmes();quit;end
+//---------------------
+//-- insertion tests --
+//---------------------
+l=list(2,'a',-1);
+l(1)=[1 2];
+if l<>list([1 2],'a',-1) then bugmes();quit;end
+l(1)=33;
+if l<>list(33,'a',-1) then bugmes();quit;end
+l(1)=33;
+if l<>list(33,'a',-1) then bugmes();quit;end
+l(0)=1.25;
+if l<>list(1.25,33,'a',-1) then bugmes();quit;end
+l(5)=[1 2 3];
+if l<>list(1.25,33,'a',-1,[1 2 3]) then bugmes();quit;end
+l(3)=null();
+if l<>list(1.25,33,-1,[1 2 3]) then bugmes();quit;end
+l(3)=null();
+if l<>list(1.25,33,[1 2 3]) then bugmes();quit;end
+l(4)=null();
+if l<>list(1.25,33,[1 2 3]) then bugmes();quit;end
+l(0)=null();
+if l<>list(1.25,33,[1 2 3]) then bugmes();quit;end
+l=tlist('t',2,'a',-1);
+l(2)=[1 2 3];
+if %l_n_l(l,tlist('t',[1 2 3],'a',-1)) then bugmes();quit;end
+l(2)=33;
+if %l_n_l(l,tlist('t',33,'a',-1)) then bugmes();quit;end
+l(2)=33;
+if %l_n_l(l,tlist('t',33,'a',-1)) then bugmes();quit;end
+l(4)=[1 2];
+if %l_n_l(l,tlist('t',33,'a',[1,2])) then bugmes();quit;end
+l(2)=null();
+if %l_n_l(l,tlist('t','a',[1,2])) then bugmes();quit;end
+l(1)=null();
+if %l_n_l(l,list('a',[1,2])) then bugmes();quit;end
+funcprot(1);
diff --git a/modules/data_structures/tests/unit_tests/lstops.tst b/modules/data_structures/tests/unit_tests/lstops.tst
new file mode 100755
index 000000000..d0b7e8b9d
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/lstops.tst
@@ -0,0 +1,119 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+mode(5);
+funcprot(0);
+
+//-----------------------
+//-- extractions tests --
+//-----------------------
+
+l=list(1,2,-4);
+if l(1)<>1 then pause,end
+if l(3)<>-4 then pause,end
+[x1,x2]=l([1 3]);
+if x1<>l(1)|x2<>l(3) then pause,end
+[x2,x1]=l([3 1]);
+if x1<>l(1)|x2<>l(3) then pause,end
+[x1,x2]=l([1;3]);
+if x1<>l(1)|x2<>l(3) then pause,end
+[x2,x1]=l([3;1]);
+if x1<>l(1)|x2<>l(3) then pause,end
+[x1,x2,x3]=l(:);
+if x1<>l(1)|x2<>l(2)|x3<>l(3) then pause,end
+
+//with full tlists
+l=tlist(['t','a','b','c'],1,-2,5);
+if l(2)<>1 then pause,end
+if l(4)<>5 then pause,end
+[x1,x2]=l([2 4]);
+if x1<>l(2)|x2<>l(4) then pause,end
+[x2,x1]=l([4 2]);
+if x1<>l(2)|x2<>l(4) then pause,end
+if l('a')<>1 then pause,end
+if l('c')<>5 then pause,end
+[x1,x2]=l(['a' 'c']);
+if x1<>l('a')|x2<>l('c') then pause,end
+[x2,x1]=l(['c' 'a']);
+if x1<>l('a')|x2<>l('c') then pause,end
+[x1,x2]=l(['a';'c']);
+if x1<>l('a')|x2<>l('c') then pause,end
+[x2,x1]=l(['c';'a']);
+if x1<>l('a')|x2<>l('c') then pause,end
+
+//with partial tlists (no elements formal names)
+l=tlist('t',1,-2,5);
+deff('[f1,f2,f3,f4,f5,f6,f7]=%t_e(i,j,f)',[
+ 'nams=[''a'',''b'',''c''];'
+ 'for k=1:prod(size(i))';
+ ' kf=find(i(k)==nams);';
+ ' if kf==[] then error(21),end;'
+ ' execstr(''f''+string(k)+''=j(kf+1)'');'
+ ' end;'])
+if l(2)<>1 then pause,end
+if l(4)<>5 then pause,end
+[x1,x2]=l([2 4]);
+if x1<>l(2)|x2<>l(4) then pause,end
+[x2,x1]=l([4 2]);
+if x1<>l(2)|x2<>l(4) then pause,end
+if l('a')<>1 then pause,end
+if l('c')<>5 then pause,end
+[x1,x2]=l(['a' 'c']);
+if x1<>l('a')|x2<>l('c') then pause,end
+[x2,x1]=l(['c' 'a']);
+if x1<>l('a')|x2<>l('c') then pause,end
+[x1,x2]=l(['a';'c']);
+if x1<>l('a')|x2<>l('c') then pause,end
+[x2,x1]=l(['c';'a']);
+if x1<>l('a')|x2<>l('c') then pause,end
+
+// extraction inside a input argument list
+a=list(1,2,3,4);
+if or(list(a(1:2))<>list(1,2)) then pause,end
+if type(list(a(1:2)))<>15 then pause,end
+deff('[a,b]=foo(x,y)','a=x;b=y')
+[u,v]=foo(a(1:2));if u<>a(1)|v<>a(2) then pause,end
+deff('[a]=foo(x,y)','a=x+y')
+if abs(foo(a(1:2)))<>3 then pause,end
+
+//---------------------
+//-- insertion tests --
+//---------------------
+l=list(2,'a',-1);
+l(1)=[1 2];
+if l<>list([1 2],'a',-1) then pause,end
+l(1)=33;
+if l<>list(33,'a',-1) then pause,end
+l(1)=33;
+if l<>list(33,'a',-1) then pause,end
+l(0)=1.25;
+if l<>list(1.25,33,'a',-1) then pause,end
+l(5)=[1 2 3];
+if l<>list(1.25,33,'a',-1,[1 2 3]) then pause,end
+l(3)=null();
+if l<>list(1.25,33,-1,[1 2 3]) then pause,end
+l(3)=null();
+if l<>list(1.25,33,[1 2 3]) then pause,end
+l(4)=null();
+if l<>list(1.25,33,[1 2 3]) then pause,end
+l(0)=null();
+if l<>list(1.25,33,[1 2 3]) then pause,end
+l=tlist('t',2,'a',-1);
+l(2)=[1 2 3];
+if %l_n_l(l,tlist('t',[1 2 3],'a',-1)) then pause,end
+l(2)=33;
+if %l_n_l(l,tlist('t',33,'a',-1)) then pause,end
+l(2)=33;
+if %l_n_l(l,tlist('t',33,'a',-1)) then pause,end
+l(4)=[1 2];
+if %l_n_l(l,tlist('t',33,'a',[1,2])) then pause,end
+l(2)=null();
+if %l_n_l(l,tlist('t','a',[1,2])) then pause,end
+l(1)=null();
+if %l_n_l(l,list('a',[1,2])) then pause,end
+
+funcprot(1);
diff --git a/modules/data_structures/tests/unit_tests/struct.dia.ref b/modules/data_structures/tests/unit_tests/struct.dia.ref
new file mode 100755
index 000000000..8ec8bca46
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/struct.dia.ref
@@ -0,0 +1,78 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Sylvestre LEDRU
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- CLI SHELL MODE -->
+// unit tests for structs
+// =============================================================================
+date_st=struct('jour',25,'mois','DEC','annee',2006);
+if date_st.jour <> 25 then bugmes();quit;end
+if date_st.mois <> 'DEC' then bugmes();quit;end
+if date_st.annee <> 2006 then bugmes();quit;end
+date_st.jour=19;
+if date_st.jour <> 19 then bugmes();quit;end
+date_st.mois='AOU';
+if date_st.mois <> 'AOU' then bugmes();quit;end
+date_st.annee=1973;
+if date_st.annee <> 1973 then bugmes();quit;end
+date_st.semaine=32;
+if date_st.semaine <> 32 then bugmes();quit;end
+// Example from bug #7244
+clear;
+foo(1) = 1;
+foo(2) = 2;
+foo(3) = 3;
+foo = foo([1 3]);
+foo(3) = 2;
+if [1; 3; 2] <> foo then bugmes();quit;end
+clear;
+foo(1) = 1;
+foo(2) = 2;
+foo(3) = 3;
+foo = foo([%T %F %T]);
+foo(3) = 2;
+if or([1; 3; 2] <> foo) then bugmes();quit;end
+clear;
+foo(1).bar = 1;
+foo(2).bar = 2;
+foo(3).bar = 3;
+foo = foo([1 3]);
+foo(3).bar = 2;
+if foo(1).bar <> 1 then bugmes();quit;end
+if foo(2).bar <> 3 then bugmes();quit;end
+if foo(3).bar <> 2 then bugmes();quit;end
+out.a=1;
+out.b=2;
+if size(out,'*') <> 1 then bugmes();quit;end
+out(2,3).b=2;
+if or(size(out) <> [2 3]) then bugmes();quit;end
+s=struct("txt","Hello","num",%pi,"pol",%z^2+1);
+if s.pol <> %z^2+1 then bugmes();quit;end
+if s.txt <> "Hello" then bugmes();quit;end
+s.txt=null();s.num=null();s.pol=null();
+if isfield( s , "txt" ) then bugmes();quit;end
+if isfield( s , "num" ) then bugmes();quit;end
+if isfield( s , "pol" ) then bugmes();quit;end
+if or(isfield( s , ["pol", "num", "txt"] )) then bugmes();quit;end
+if or(size(s) <> [1 1]) then bugmes();quit;end
+z.y = 42;
+y.o = z;
+y.d.e = z;
+y.f.r.h = z;
+y.i.j.k.l = z;
+z.m = y;
+z.m.o.y = z;
+if z.m.o.y.m.i.j.k.l.y <> 42 then bugmes();quit;end
+if ~isfield(z.m.o.y.m.i.j.k.l,"y") then bugmes();quit;end
+z.z = 21;
+z.b = z;
+z.b.c = z;
+if z.z <> 21 then bugmes();quit;end
+if z.b.c.z <> 21 then bugmes();quit;end
+if ~isfield(z,"b") then bugmes();quit;end
+if ~isfield(z.b,"c") then bugmes();quit;end
+z(1).x.x = 1;
+if execstr('z(42).x','errcatch')<>21 then bugmes();quit;end
diff --git a/modules/data_structures/tests/unit_tests/struct.tst b/modules/data_structures/tests/unit_tests/struct.tst
new file mode 100755
index 000000000..116a77171
--- /dev/null
+++ b/modules/data_structures/tests/unit_tests/struct.tst
@@ -0,0 +1,96 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Sylvestre LEDRU
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- CLI SHELL MODE -->
+
+// unit tests for structs
+// =============================================================================
+
+date_st=struct('jour',25,'mois','DEC','annee',2006);
+
+if date_st.jour <> 25 then pause, end
+if date_st.mois <> 'DEC' then pause, end
+if date_st.annee <> 2006 then pause, end
+
+date_st.jour=19;
+if date_st.jour <> 19 then pause, end
+
+date_st.mois='AOU';
+if date_st.mois <> 'AOU' then pause, end
+
+date_st.annee=1973;
+if date_st.annee <> 1973 then pause, end
+
+date_st.semaine=32;
+if date_st.semaine <> 32 then pause, end
+
+// Example from bug #7244
+clear;
+foo(1) = 1;
+foo(2) = 2;
+foo(3) = 3;
+foo = foo([1 3]);
+foo(3) = 2;
+if [1; 3; 2] <> foo then pause, end
+
+clear;
+foo(1) = 1;
+foo(2) = 2;
+foo(3) = 3;
+foo = foo([%T %F %T]);
+foo(3) = 2;
+if or([1; 3; 2] <> foo) then pause, end
+
+clear;
+foo(1).bar = 1;
+foo(2).bar = 2;
+foo(3).bar = 3;
+foo = foo([1 3]);
+foo(3).bar = 2;
+if foo(1).bar <> 1 then pause, end
+if foo(2).bar <> 3 then pause, end
+if foo(3).bar <> 2 then pause, end
+
+out.a=1;
+out.b=2;
+if size(out,'*') <> 1 then pause, end
+
+out(2,3).b=2;
+if or(size(out) <> [2 3]) then pause, end
+
+s=struct("txt","Hello","num",%pi,"pol",%z^2+1);
+if s.pol <> %z^2+1 then pause, end
+if s.txt <> "Hello" then pause, end
+
+s.txt=null();s.num=null();s.pol=null();
+if isfield( s , "txt" ) then pause, end
+if isfield( s , "num" ) then pause, end
+if isfield( s , "pol" ) then pause, end
+if or(isfield( s , ["pol", "num", "txt"] )) then pause, end
+if or(size(s) <> [1 1]) then pause, end
+
+z.y = 42;
+y.o = z;
+y.d.e = z;
+y.f.r.h = z;
+y.i.j.k.l = z;
+z.m = y;
+z.m.o.y = z;
+if z.m.o.y.m.i.j.k.l.y <> 42 then pause, end
+if ~isfield(z.m.o.y.m.i.j.k.l,"y") then pause, end
+
+z.z = 21;
+z.b = z;
+z.b.c = z;
+if z.z <> 21 then pause, end
+if z.b.c.z <> 21 then pause, end
+if ~isfield(z,"b") then pause, end
+if ~isfield(z.b,"c") then pause, end
+
+z(1).x.x = 1;
+if execstr('z(42).x','errcatch')<>21 then pause,end