summaryrefslogtreecommitdiffstats
path: root/scilab
diff options
context:
space:
mode:
authorAllan CORNET <allan.cornet@scilab.org>2010-01-26 11:41:01 +0100
committerAllan CORNET <allan.cornet@scilab.org>2010-01-26 11:41:01 +0100
commitb647c4f12fc297552aad087b7b3caa585382248b (patch)
tree0845f041feeb704a09803a1346a06382a9cee860 /scilab
parentff3fb6e4b17709fc36db10fa4c41f2ed64165746 (diff)
parenta886d411e2b4b19da5b84d1645033d4c140857c4 (diff)
downloadscilab-b647c4f12fc297552aad087b7b3caa585382248b.zip
scilab-b647c4f12fc297552aad087b7b3caa585382248b.tar.gz
Merge branch 'master' of git.scilab.org:scilab
Diffstat (limited to 'scilab')
-rw-r--r--scilab/CHANGES_5.2.X26
-rw-r--r--scilab/Makefile.am43
-rw-r--r--scilab/Makefile.call_scilab.am53
-rw-r--r--scilab/Makefile.in32
-rw-r--r--scilab/modules/action_binding/locales/en_US/action_binding.pot2
-rw-r--r--scilab/modules/api_scilab/includes/api_boolean_sparse.h47
-rw-r--r--scilab/modules/api_scilab/includes/api_common.h7
-rw-r--r--scilab/modules/api_scilab/includes/api_error.h21
-rw-r--r--scilab/modules/api_scilab/includes/api_int.h137
-rw-r--r--scilab/modules/api_scilab/includes/api_pointer.h16
-rw-r--r--scilab/modules/api_scilab/includes/api_poly.h132
-rw-r--r--scilab/modules/api_scilab/includes/api_sparse.h88
-rw-r--r--scilab/modules/api_scilab/includes/api_string.h60
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_boolean_sparse.cpp66
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_common.cpp4
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_double.cpp5
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_int.cpp249
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_internal_poly.h4
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_internal_sparse.h3
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_pointer.cpp10
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_poly.cpp267
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_sparse.cpp111
-rw-r--r--scilab/modules/api_scilab/src/cpp/api_string.cpp100
-rw-r--r--scilab/modules/arnoldi/locales/en_US/arnoldi.pot2
-rw-r--r--scilab/modules/atoms/help/en_US/atomsSetConfig.xml2
-rw-r--r--scilab/modules/atoms/locales/en_US/atoms.pot96
-rw-r--r--scilab/modules/atoms/macros/atomsAutoloadAdd.sci8
-rw-r--r--scilab/modules/atoms/macros/atomsAutoloadDel.sci2
-rw-r--r--scilab/modules/atoms/macros/atomsInstall.sci32
-rw-r--r--scilab/modules/atoms/macros/atomsLoad.sci4
-rw-r--r--scilab/modules/atoms/macros/atomsRemove.sci19
-rw-r--r--scilab/modules/atoms/macros/atomsSetConfig.sci2
-rw-r--r--scilab/modules/atoms/macros/atomsShow.sci4
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsAutoloadCheck.sci2
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci19
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONwrite.sci11
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsDepTreeExt.sci6
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsDepTreeFlat.sci6
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsGetVersions.sci49
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsInstallList.sci2
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsRepositorySetOfl.sci7
-rw-r--r--scilab/modules/atoms/macros/atoms_internals/atomsSetOfficialRep.sci44
-rw-r--r--scilab/modules/atoms/tests/nonreg_tests/bug_5359.tst2
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.dia.ref29
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.tst29
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.dia.ref29
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.tst29
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsDepTreeShow.dia.ref26
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsDepTreeShow.tst10
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsInstall.dia.ref38
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsInstall.tst46
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsInstallList.dia.ref47
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsInstallList.tst47
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsIsInstalled.dia.ref33
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsIsInstalled.tst39
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.dia.ref10
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.tst6
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsLoad.dia.ref13
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsLoad.tst5
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsRemoveList.dia.ref55
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsRemoveList.tst55
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsRepositoryAdd.dia.ref4
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsRepositoryAdd.tst4
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsRepositoryDel.dia.ref4
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsRepositoryDel.tst4
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsShow.dia.ref50
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsShow.tst4
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsUpdate.dia.ref273
-rw-r--r--scilab/modules/atoms/tests/unit_tests/atomsUpdate.tst285
-rw-r--r--scilab/modules/atoms/tests/unit_tests/scene10.test.atoms.scilab.org.txt (renamed from scilab/modules/atoms/tests/unit_tests/scene1.test.atoms.scilab.org.txt)14
-rw-r--r--scilab/modules/atoms/tests/unit_tests/scene11.test.atoms.scilab.org.txt (renamed from scilab/modules/atoms/tests/unit_tests/scene2.test.atoms.scilab.org.txt)18
-rw-r--r--scilab/modules/atoms/tests/unit_tests/scene12.test.atoms.scilab.org.txt46
-rw-r--r--scilab/modules/boolean/locales/en_US/boolean.pot2
-rw-r--r--scilab/modules/cacsd/help/en_US/nyquist.xml2
-rw-r--r--scilab/modules/cacsd/help/en_US/rowinout.xml2
-rw-r--r--scilab/modules/cacsd/help/en_US/svplot.xml2
-rw-r--r--scilab/modules/cacsd/locales/en_US/cacsd.pot27
-rw-r--r--scilab/modules/cacsd/macros/lqr.sci1
-rw-r--r--scilab/modules/call_scilab/examples/basicExamples/DisableInteractiveMode.c2
-rw-r--r--scilab/modules/call_scilab/examples/basicExamples/GetLastJob.c2
-rw-r--r--scilab/modules/call_scilab/examples/basicExamples/readwriteboolean.c2
-rw-r--r--scilab/modules/call_scilab/examples/basicExamples/readwritecomplexmatrix.c89
-rw-r--r--scilab/modules/call_scilab/examples/basicExamples/readwritematrix.c2
-rw-r--r--scilab/modules/call_scilab/examples/basicExamples/readwritestring.c2
-rw-r--r--scilab/modules/call_scilab/examples/call_scilab/c/LabWindow/CallsciC.c4
-rw-r--r--scilab/modules/call_scilab/examples/call_scilab/c/common/myprog.c4
-rw-r--r--scilab/modules/call_scilab/examples/call_scilab/c/common/simple_call_scilab.c2
-rw-r--r--scilab/modules/call_scilab/examples/call_scilab/c/visual_studio/CallsciC.c4
-rw-r--r--scilab/modules/call_scilab/examples/call_scilab/cpp/common/myprog.c2
-rw-r--r--scilab/modules/call_scilab/help/en_US/ComplexManagement.xml38
-rw-r--r--scilab/modules/call_scilab/help/en_US/cwritecmat.xml2
-rw-r--r--scilab/modules/compatibility_functions/locales/en_US/compatibility_functions.pot2
-rw-r--r--scilab/modules/completion/locales/en_US/completion.pot2
-rw-r--r--scilab/modules/console/locales/en_US/console.pot2
-rw-r--r--scilab/modules/core/locales/en_US/core.pot242
-rw-r--r--scilab/modules/core/src/cpp/hashtable_core.cpp3
-rw-r--r--scilab/modules/data_structures/locales/en_US/data_structures.pot2
-rw-r--r--scilab/modules/demo_tools/locales/en_US/demo_tools.pot2
-rw-r--r--scilab/modules/development_tools/locales/en_US/development_tools.pot2
-rw-r--r--scilab/modules/differential_equations/demos/flow/cylinder_interface.sci2
-rw-r--r--scilab/modules/differential_equations/help/en_US/ode.xml10
-rw-r--r--scilab/modules/differential_equations/help/fr_FR/ode.xml10
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/ode.xml10
-rw-r--r--scilab/modules/differential_equations/locales/en_US/differential_equations.pot8
-rw-r--r--scilab/modules/differential_equations/macros/integrate.sci2
-rw-r--r--scilab/modules/differential_equations/macros/odeoptions.sci2
-rw-r--r--scilab/modules/double/locales/en_US/double.pot2
-rw-r--r--scilab/modules/dynamic_link/examples/interfaces/c/intex11c.c2
-rw-r--r--scilab/modules/dynamic_link/examples/interfaces/c/intex12c.c2
-rw-r--r--scilab/modules/dynamic_link/examples/interfaces/c/intex7c.c2
-rw-r--r--scilab/modules/dynamic_link/examples/interfaces/c/intex8c.c2
-rw-r--r--scilab/modules/dynamic_link/examples/interfaces/fortran/intex1f.f2
-rw-r--r--scilab/modules/dynamic_link/locales/en_US/dynamic_link.pot6
-rw-r--r--scilab/modules/dynamic_link/macros/ilib_compile.sci2
-rw-r--r--scilab/modules/dynamic_link/macros/ilib_gen_Make_unix.sci2
-rw-r--r--scilab/modules/elementary_functions/locales/en_US/elementary_functions.pot11
-rw-r--r--scilab/modules/fftw/locales/en_US/fftw.pot12
-rw-r--r--scilab/modules/fftw/sci_gateway/c/sci_fftw.c2
-rw-r--r--scilab/modules/fileio/locales/en_US/fileio.pot116
-rw-r--r--scilab/modules/fileio/macros/fprintf.sci2
-rw-r--r--scilab/modules/functions/locales/en_US/functions.pot2
-rw-r--r--scilab/modules/genetic_algorithms/locales/en_US/genetic_algorithms.pot6
-rw-r--r--scilab/modules/graphics/help/en_US/figure_properties.xml173
-rw-r--r--scilab/modules/graphics/locales/en_US/graphics.pot44
-rw-r--r--scilab/modules/graphics/src/c/Format.c2
-rw-r--r--scilab/modules/graphics/src/c/getHandleProperty/set_color_range_property.c2
-rw-r--r--scilab/modules/graphics/src/c/getHandleProperty/set_outside_colors_property.c2
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_2906.dia.ref2
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_2906.tst2
-rw-r--r--scilab/modules/gui/demos/uicontrol.dem.sce2
-rw-r--r--scilab/modules/gui/locales/en_US/gui.pot24
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/canvas/SwingScilabCanvasImpl.java2
-rw-r--r--scilab/modules/hdf5/src/c/h5_readDataFromFile.c6
-rw-r--r--scilab/modules/helptools/locales/en_US/helptools.pot6
-rw-r--r--scilab/modules/helptools/macros/extract_help_examples.sci2
-rw-r--r--scilab/modules/history_manager/locales/en_US/history_manager.pot2
-rw-r--r--scilab/modules/integer/locales/en_US/integer.pot2
-rw-r--r--scilab/modules/interpolation/locales/en_US/interpolation.pot4
-rw-r--r--scilab/modules/intersci/Makefile.am1
-rw-r--r--scilab/modules/intersci/Makefile.in38
-rw-r--r--scilab/modules/intersci/locales/en_US/intersci.pot2
-rw-r--r--scilab/modules/io/locales/en_US/io.pot6
-rw-r--r--scilab/modules/jvm/locales/en_US/jvm.pot60
-rw-r--r--scilab/modules/linear_algebra/locales/en_US/linear_algebra.pot2
-rw-r--r--scilab/modules/localization/locales/en_US/localization.pot2
-rw-r--r--scilab/modules/m2sci/locales/en_US/m2sci.pot8
-rw-r--r--scilab/modules/m2sci/macros/kernel/lst_funcall.sci2
-rw-r--r--scilab/modules/m2sci/macros/kernel/m2sci.sci6
-rw-r--r--scilab/modules/m2sci/macros/kernel/sci_generic.sci2
-rw-r--r--scilab/modules/m2sci/macros/kernel/translateorder.sci2
-rw-r--r--scilab/modules/m2sci/macros/kernel/variablesearch.sci2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO0.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO1.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO10.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO11.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO12.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO13.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO14.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO15.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO2.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO3.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO4.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO5.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO6.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO7.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO8.g2
-rw-r--r--scilab/modules/m2sci/macros/sci_files/sci_PROTO9.g2
-rw-r--r--scilab/modules/maple2scilab/locales/en_US/maple2scilab.pot2
-rw-r--r--scilab/modules/mexlib/locales/en_US/mexlib.pot2
-rw-r--r--scilab/modules/optimization/locales/en_US/optimization.pot75
-rw-r--r--scilab/modules/output_stream/locales/en_US/output_stream.pot45
-rw-r--r--scilab/modules/overloading/locales/en_US/overloading.pot2
-rw-r--r--scilab/modules/parameters/locales/en_US/parameters.pot2
-rw-r--r--scilab/modules/polynomials/locales/en_US/polynomials.pot2
-rw-r--r--scilab/modules/pvm/locales/en_US/pvm.pot28
-rw-r--r--scilab/modules/randlib/locales/en_US/randlib.pot2
-rw-r--r--scilab/modules/renderer/locales/en_US/renderer.pot2
-rw-r--r--scilab/modules/renderer/src/cpp/DrawableObjectFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/DrawableObjectFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/arcDrawing/DrawableArcFactory.cpp2
-rw-r--r--scilab/modules/renderer/src/cpp/arcDrawing/DrawableArcFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/axesDrawing/DrawableAxesFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/axesDrawing/DrawableAxesFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/compoundDrawing/DrawableCompoundFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/compoundDrawing/DrawableCompoundFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/fecDrawing/DrawableFecFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/fecDrawing/DrawableFecFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/getHandleDrawer.h2
-rw-r--r--scilab/modules/renderer/src/cpp/grayplotDrawing/DrawableGrayplotFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/grayplotDrawing/DrawableGrayplotFactory.h3
-rw-r--r--scilab/modules/renderer/src/cpp/labelDrawing/DrawableLabelFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/labelDrawing/DrawableLabelFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/legendDrawing/DrawableLegendFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/legendDrawing/DrawableLegendFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/polylineDrawing/DrawablePolylineFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/polylineDrawing/DrawablePolylineFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/rectangleDrawing/DrawableRectangleFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/rectangleDrawing/DrawableRectangleFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/segsDrawing/DrawableSegsFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/segsDrawing/DrawableSegsFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/surfaceDrawing/DrawableSurfaceFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/surfaceDrawing/DrawableSurfaceFactory.h4
-rw-r--r--scilab/modules/renderer/src/cpp/textDrawing/DrawableTextFactory.cpp4
-rw-r--r--scilab/modules/renderer/src/cpp/textDrawing/DrawableTextFactory.h4
-rw-r--r--scilab/modules/scicos/locales/en_US/scicos.pot10
-rw-r--r--scilab/modules/scicos/src/c/scicos.c2
-rw-r--r--scilab/modules/scicos_blocks/src/fortran/lusat.f2
-rw-r--r--scilab/modules/shell/locales/en_US/shell.pot4
-rw-r--r--scilab/modules/signal_processing/locales/en_US/signal_processing.pot6
-rw-r--r--scilab/modules/signal_processing/macros/wfir.sci2
-rw-r--r--scilab/modules/simulated_annealing/locales/en_US/simulated_annealing.pot6
-rw-r--r--scilab/modules/sound/locales/en_US/sound.pot8
-rw-r--r--scilab/modules/sparse/locales/en_US/sparse.pot2
-rw-r--r--scilab/modules/special_functions/locales/en_US/special_functions.pot2
-rw-r--r--scilab/modules/spreadsheet/locales/en_US/spreadsheet.pot21
-rw-r--r--scilab/modules/statistics/help/en_US/perctl.xml50
-rw-r--r--scilab/modules/statistics/locales/en_US/statistics.pot2
-rw-r--r--scilab/modules/statistics/macros/perctl.sci59
-rw-r--r--scilab/modules/string/locales/en_US/string.pot6
-rw-r--r--scilab/modules/symbolic/locales/en_US/symbolic.pot2
-rw-r--r--scilab/modules/tclsci/locales/en_US/tclsci.pot6
-rw-r--r--scilab/modules/texmacs/locales/en_US/texmacs.pot2
-rw-r--r--scilab/modules/time/locales/en_US/time.pot2
-rw-r--r--scilab/modules/umfpack/locales/en_US/umfpack.pot7
-rw-r--r--scilab/modules/windows_tools/locales/en_US/windows_tools.pot2
-rw-r--r--scilab/modules/xcos/locales/en_US/xcos.pot427
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/graph/ScilabCanvas.java (renamed from scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosCanvas.java)28
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/graph/ScilabComponent.java151
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/graph/utils/ScilabConstants.java54
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/actions/FitDiagramToViewAction.java2
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/block/BasicBlock.java8
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/block/SplitBlock.java1
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java80
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/io/BasicBlockInfo.java2
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/model/PaletteModel.java4
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/BlockPositioning.java9
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosComponent.java61
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosConstants.java33
-rw-r--r--scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosMessages.java2
-rw-r--r--scilab/modules/xpad/locales/en_US/xpad.pot244
-rw-r--r--scilab/modules/xpad/src/java/org/scilab/modules/xpad/actions/FindAction.java333
245 files changed, 3949 insertions, 2135 deletions
<
diff --git a/scilab/CHANGES_5.2.X b/scilab/CHANGES_5.2.X
index c8a9454..e14ef4a 100644
--- a/scilab/CHANGES_5.2.X
+++ b/scilab/CHANGES_5.2.X
@@ -27,9 +27,11 @@ Xcos:
27* Superblock masks can now be used and a new window is created when user wants 27* Superblock masks can now be used and a new window is created when user wants
28 to configure the variable settings. 28 to configure the variable settings.
29 29
30* A rework to pass checkstyle metrics has been started. 30* Performance improvements under Linux
31 31
32* An update of the jgraphx-1.2.0.7 version has been performed. 32* A rework to pass checkstyle metrics on the code has been started.
33
34* Update to jgraphx version 1.2.0.7 has been performed.
33 35
34* Refactoring: 36* Refactoring:
35 - The port position algorithm has been reworked to take in account default 37 - The port position algorithm has been reworked to take in account default
@@ -43,6 +45,7 @@ Xcos:
43 instances are shared. 45 instances are shared.
44 - Java package (eg namespace) has been added to reduce the number of classes 46 - Java package (eg namespace) has been added to reduce the number of classes
45 per package and improve readability. 47 per package and improve readability.
48 - org.scilab.modules.graph is independent from Xcos and can be safely used.
46 49
47* bug 4206 fixed - The CreateMask action didn't generate a valid submatrix. 50* bug 4206 fixed - The CreateMask action didn't generate a valid submatrix.
48 51
@@ -73,6 +76,8 @@ Xcos:
73* bug 5666 fixed - The CLKGOTO block wasn't valid anymore after setting 76* bug 5666 fixed - The CLKGOTO block wasn't valid anymore after setting
74 its parameters. 77 its parameters.
75 78
79* bug 5667 fixed - Simulation starts faster on Linux for huge diagram ( hdf5 export issue )
80
76* bug 5683 fixed - Xcos code updated to work with jgraphx >= 1.2.0.X 81* bug 5683 fixed - Xcos code updated to work with jgraphx >= 1.2.0.X
77 82
78* bug 5674 fixed - The Signal.notify didn't check is we are waiting for it 83* bug 5674 fixed - The Signal.notify didn't check is we are waiting for it
@@ -85,8 +90,12 @@ Xcos:
85 90
86* bug 6414 fixed - Old Xcos diagrams without rotation fields didn't load. 91* bug 6414 fixed - Old Xcos diagrams without rotation fields didn't load.
87 92
93* bug 6415 fixed - The SAWTOOTH_f block didn't allow parameters.
94
88* bug 6463 fixed - The jgraphx library has been updated to 1.2.0.7. 95* bug 6463 fixed - The jgraphx library has been updated to 1.2.0.7.
89 96
97* bug 6490 fixed - The multiple-point link didn't work accordingly to the zoom level.
98
90Atoms: 99Atoms:
91====== 100======
92 101
@@ -121,6 +130,13 @@ Compilation:
121* bug 6453 fixed - ImplicitPointerConversions was triggered by some Debian/ 130* bug 6453 fixed - ImplicitPointerConversions was triggered by some Debian/
122 Ubuntu check tools 131 Ubuntu check tools
123 132
133Scilab extensions:
134==================
135
136* call_scilab: Complex examples have not been updated to use the new API Scilab.
137
138* API_Scilab: a presentation page of the feature have been added.
139
124Bug fixes: 140Bug fixes:
125========== 141==========
126 142
@@ -211,6 +227,8 @@ Bug fixes:
211 227
212* bug 6489 fixed - removed a wrong dependency on 'WININET.dll' (Windows). 228* bug 6489 fixed - removed a wrong dependency on 'WININET.dll' (Windows).
213 229
230* bug 6491 fixed - libinter.h was not installed under Linux (SEP #35 updated)
231
214 Changes between version 5.2.0-beta1 and 5.2.0 of Scilab 232 Changes between version 5.2.0-beta1 and 5.2.0 of Scilab
215 ========================================================== 233 ==========================================================
216 234
@@ -1974,4 +1992,8 @@ Bug fixes:
1974 1992
1975* bug 5670 fixed - in the demo Latex with colored box, the sqrt symbol was not rendered correctly. 1993* bug 5670 fixed - in the demo Latex with colored box, the sqrt symbol was not rendered correctly.
1976 1994
1995* bug 6423 fixed - update the documentation of perctl.
1996
1977* bug 6468 fixed - wrong check in dnaupd. 1997* bug 6468 fixed - wrong check in dnaupd.
1998
1999* bug 6495 fixed - in lqr, variable Q not defined.
diff --git a/scilab/Makefile.am b/scilab/Makefile.am
index a96ff26..baf1faa 100644
--- a/scilab/Makefile.am
+++ b/scilab/Makefile.am
@@ -302,45 +302,4 @@ pkgconfig_DATA = scilab.pc
302 302
303.NOTPARALLEL: macros doc 303.NOTPARALLEL: macros doc
304 304
305CALL_SCILAB_CFLAGS_COMMON = -I$(top_srcdir)/modules/call_scilab/includes/ -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/modules/api_scilab/includes/ 305include $(top_srcdir)/Makefile.call_scilab.am
306CALL_SCILAB_LDADD_COMMON = $(top_builddir)/modules/libscilab.la $(top_builddir)/modules/core/libscicore.la $(top_builddir)/modules/call_scilab/libscicall_scilab.la
307
308# These binaries are built here and not in the call_scilab module because
309# we do need libscilab.so to exist before building these files
310# To build them, just launch "make check-am"
311# To run them, see the help of call Scilab in particular
312# "Compile and run with Call Scilab"
313check_PROGRAMS = call_scilab_c_simple call_scilab_c call_scilab_c_getlastjob call_scilab_c_DisableInteractiveMode call_scilab_readwriteboolean call_scilab_readwritecomplexmatrix call_scilab_readwritematrix call_scilab_readwritestring
314
315call_scilab_c_SOURCES = $(top_srcdir)/modules/call_scilab/examples/call_scilab/c/common/myprog.c
316call_scilab_c_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
317call_scilab_c_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
318
319
320call_scilab_c_simple_SOURCES = $(top_srcdir)/modules/call_scilab/examples/call_scilab/c/common/simple_call_scilab.c
321call_scilab_c_simple_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
322call_scilab_c_simple_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
323
324call_scilab_c_getlastjob_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/GetLastJob.c
325call_scilab_c_getlastjob_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
326call_scilab_c_getlastjob_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
327
328call_scilab_c_DisableInteractiveMode_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/DisableInteractiveMode.c
329call_scilab_c_DisableInteractiveMode_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
330call_scilab_c_DisableInteractiveMode_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
331
332call_scilab_readwriteboolean_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwriteboolean.c
333call_scilab_readwriteboolean_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
334call_scilab_readwriteboolean_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
335
336call_scilab_readwritecomplexmatrix_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwritecomplexmatrix.c
337call_scilab_readwritecomplexmatrix_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
338call_scilab_readwritecomplexmatrix_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
339
340call_scilab_readwritematrix_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwritematrix.c
341call_scilab_readwritematrix_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
342call_scilab_readwritematrix_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
343
344call_scilab_readwritestring_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwritestring.c
345call_scilab_readwritestring_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
346call_scilab_readwritestring_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
diff --git a/scilab/Makefile.call_scilab.am b/scilab/Makefile.call_scilab.am
new file mode 100644
index 0000000..b3a3b8b
--- /dev/null
+++ b/scilab/Makefile.call_scilab.am
@@ -0,0 +1,53 @@
1#
2# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3# Copyright (C) DIGITEO - 2010 - Sylvestre Ledru
4#
5# This file must be used under the terms of the CeCILL.
6# This source file is licensed as described in the file COPYING, which
7# you should have received as part of this distribution. The terms
8# are also available at
9# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10#
11
12CALL_SCILAB_CFLAGS_COMMON = -I$(top_srcdir)/modules/call_scilab/includes/ -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/modules/api_scilab/includes/
13CALL_SCILAB_LDADD_COMMON = $(top_builddir)/modules/libscilab.la $(top_builddir)/modules/core/libscicore.la $(top_builddir)/modules/call_scilab/libscicall_scilab.la
14
15# These binaries are built here and not in the call_scilab module because
16# we do need libscilab.so to exist before building these files
17# To build them, just launch "make check-am"
18# To run them, see the help of call Scilab in particular
19# "Compile and run with Call Scilab"
20check_PROGRAMS = call_scilab_c_simple call_scilab_c call_scilab_c_getlastjob call_scilab_c_DisableInteractiveMode call_scilab_readwriteboolean call_scilab_readwritecomplexmatrix call_scilab_readwritematrix call_scilab_readwritestring
21
22call_scilab_c_SOURCES = $(top_srcdir)/modules/call_scilab/examples/call_scilab/c/common/myprog.c
23call_scilab_c_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
24call_scilab_c_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
25
26
27call_scilab_c_simple_SOURCES = $(top_srcdir)/modules/call_scilab/examples/call_scilab/c/common/simple_call_scilab.c
28call_scilab_c_simple_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
29call_scilab_c_simple_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
30
31call_scilab_c_getlastjob_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/GetLastJob.c
32call_scilab_c_getlastjob_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
33call_scilab_c_getlastjob_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
34
35call_scilab_c_DisableInteractiveMode_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/DisableInteractiveMode.c
36call_scilab_c_DisableInteractiveMode_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
37call_scilab_c_DisableInteractiveMode_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
38
39call_scilab_readwriteboolean_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwriteboolean.c
40call_scilab_readwriteboolean_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
41call_scilab_readwriteboolean_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
42
43call_scilab_readwritecomplexmatrix_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwritecomplexmatrix.c
44call_scilab_readwritecomplexmatrix_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
45call_scilab_readwritecomplexmatrix_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
46
47call_scilab_readwritematrix_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwritematrix.c
48call_scilab_readwritematrix_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
49call_scilab_readwritematrix_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
50
51call_scilab_readwritestring_SOURCES = $(top_srcdir)/modules/call_scilab/examples/basicExamples/readwritestring.c
52call_scilab_readwritestring_CFLAGS = $(CALL_SCILAB_CFLAGS_COMMON)
53call_scilab_readwritestring_LDFLAGS = $(CALL_SCILAB_LDADD_COMMON)
diff --git a/scilab/Makefile.in b/scilab/Makefile.in
index f7ec715..1730d9b 100644
--- a/scilab/Makefile.in
+++ b/scilab/Makefile.in
@@ -27,6 +27,17 @@
27# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt 27# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
28# 28#
29 29
30#
31# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
32# Copyright (C) DIGITEO - 2010 - Sylvestre Ledru
33#
34# This file must be used under the terms of the CeCILL.
35# This source file is licensed as described in the file COPYING, which
36# you should have received as part of this distribution. The terms
37# are also available at
38# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
39#
40
30 41
31 42
32VPATH = @srcdir@ 43VPATH = @srcdir@
@@ -57,18 +68,11 @@ bin_PROGRAMS = scilab-bin$(EXEEXT) scilab-cli-bin$(EXEEXT) \
57 68
58# The user wants to compile the localization files 69# The user wants to compile the localization files
59@GENERATE_LOCALIZATION_FILES_TRUE@am__append_3 = localization 70@GENERATE_LOCALIZATION_FILES_TRUE@am__append_3 = localization
60check_PROGRAMS = call_scilab_c_simple$(EXEEXT) call_scilab_c$(EXEEXT) \
61 call_scilab_c_getlastjob$(EXEEXT) \
62 call_scilab_c_DisableInteractiveMode$(EXEEXT) \
63 call_scilab_readwriteboolean$(EXEEXT) \
64 call_scilab_readwritecomplexmatrix$(EXEEXT) \
65 call_scilab_readwritematrix$(EXEEXT) \
66 call_scilab_readwritestring$(EXEEXT)
67subdir = .
68DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \ 71DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
69 $(srcdir)/Makefile.in $(srcdir)/scilab-lib-doc.properties.in \ 72 $(srcdir)/Makefile.in $(srcdir)/scilab-lib-doc.properties.in \
70 $(srcdir)/scilab-lib.properties.in $(srcdir)/scilab.pc.in \ 73 $(srcdir)/scilab-lib.properties.in $(srcdir)/scilab.pc.in \
71 $(top_srcdir)/configure $(top_srcdir)/etc/classpath.xml.in \ 74 $(top_srcdir)/Makefile.call_scilab.am $(top_srcdir)/configure \
75 $(top_srcdir)/etc/classpath.xml.in \
72 $(top_srcdir)/etc/jvm_options.xml.in \ 76 $(top_srcdir)/etc/jvm_options.xml.in \
73 $(top_srcdir)/etc/modules.xml.in \ 77 $(top_srcdir)/etc/modules.xml.in \
74 $(top_srcdir)/modules/core/includes/machine.h.in \ 78 $(top_srcdir)/modules/core/includes/machine.h.in \
@@ -76,6 +80,14 @@ DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
76 COPYING config/compile config/config.guess config/config.rpath \ 80 COPYING config/compile config/config.guess config/config.rpath \
77 config/config.sub config/depcomp config/install-sh \ 81 config/config.sub config/depcomp config/install-sh \
78 config/ltmain.sh config/missing config/mkinstalldirs 82 config/ltmain.sh config/missing config/mkinstalldirs
83check_PROGRAMS = call_scilab_c_simple$(EXEEXT) call_scilab_c$(EXEEXT) \
84 call_scilab_c_getlastjob$(EXEEXT) \
85 call_scilab_c_DisableInteractiveMode$(EXEEXT) \
86 call_scilab_readwriteboolean$(EXEEXT) \
87 call_scilab_readwritecomplexmatrix$(EXEEXT) \
88 call_scilab_readwritematrix$(EXEEXT) \
89 call_scilab_readwritestring$(EXEEXT)
90subdir = .
79ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 91ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
80am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \ 92am__aclocal_m4_deps = $(top_srcdir)/m4/docbook.m4 \
81 $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \ 93 $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \
@@ -672,7 +684,7 @@ all: all-recursive
672.SUFFIXES: .c .lo .o .obj 684.SUFFIXES: .c .lo .o .obj
673am--refresh: 685am--refresh:
674 @: 686 @:
675$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 687$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.call_scilab.am $(am__configure_deps)
676 @for dep in $?; do \ 688 @for dep in $?; do \
677 case '$(am__configure_deps)' in \ 689 case '$(am__configure_deps)' in \
678 *$$dep*) \ 690 *$$dep*) \
diff --git a/scilab/modules/action_binding/locales/en_US/action_binding.pot b/scilab/modules/action_binding/locales/en_US/action_binding.pot
index fff24f6..4e7dff0 100644
--- a/scilab/modules/action_binding/locales/en_US/action_binding.pot
+++ b/scilab/modules/action_binding/locales/en_US/action_binding.pot
@@ -14,7 +14,7 @@ msgstr ""
14"MIME-Version: 1.0\n" 14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=ISO-8859-1\n" 15"Content-Type: text/plain; charset=ISO-8859-1\n"
16"Content-Transfer-Encoding: 8bit\n" 16"Content-Transfer-Encoding: 8bit\n"
17"Revision-Date: 2009-12-09 16:34+0100\n" 17"Revision-Date: 2010-01-25 10:32+0100\n"
18 18
19# File: src/c/dynamic_menus.c, line: 84 19# File: src/c/dynamic_menus.c, line: 84
20# File: src/c/dynamic_menus.c, line: 92 20# File: src/c/dynamic_menus.c, line: 92
diff --git a/scilab/modules/api_scilab/includes/api_boolean_sparse.h b/scilab/modules/api_scilab/includes/api_boolean_sparse.h
index 6f436b5..409a279 100644
--- a/scilab/modules/api_scilab/includes/api_boolean_sparse.h
+++ b/scilab/modules/api_scilab/includes/api_boolean_sparse.h
@@ -81,6 +81,53 @@ SciErr createNamedBooleanSparseMatrix(void* _pvCtx, char* _pstName, int _iRows,
81 */ 81 */
82SciErr readNamedBooleanSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos); 82SciErr readNamedBooleanSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos);
83 83
84/* shortcut functions */
85
86/**
87 * check if the variable type is a boolean sparse
88 * @param[in] _piAddress variable address
89 * @return 1 for true and 0 for false
90 */
91int isBooleanSparseType(void* _pvCtx, int* _piAddress);
92
93/**
94 * check if the variable type is a boolean sparse
95 * @param[in] _pstName variable name
96 * @return 1 for true and 0 for false
97 */
98int isNamedBooleanSparseType(void* _pvCtx, char* _pstName);
99
100/**
101 * Get boolean sparse variable data
102 * @param[in] _piAddress variable address
103 * @param[out] _piRows return number of row
104 * @param[out] _piCols return number of column
105 * @param[out] _iNbItem return number of item
106 * @param[out] _piNbItemRow return array of number of item for each row
107 * @param[out] _piColPos return array of item column position ( 1 indexed )
108 * @return if the operation successed (0) or not ( !0 )
109 */
110int getAllocatedBooleanSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos);
111
112/**
113 * Get named boolean sparse variable data
114 * @param[in] _pstName variable name
115 * @param[out] _piRows return number of row
116 * @param[out] _piCols return number of column
117 * @param[out] _iNbItem return number of item
118 * @param[out] _piNbItemRow return array of number of item for each row
119 * @param[out] _piColPos return array of item column position ( 1 indexed )
120 * @return if the operation successed (0) or not ( !0 )
121 */
122int getNamedAllocatedBooleanSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos);
123
124/**
125 * free data allocated by shortcut functions
126 * @param[in] _piNbItemRow array of number of item for each row
127 * @param[in] _piColPos array of item column position ( 1 indexed )
128 */
129void freeAllocatedBooleanSparse(int* _piNbItemRow, int* _piColPos);
130
84#ifdef __cplusplus 131#ifdef __cplusplus
85} 132}
86#endif 133#endif
diff --git a/scilab/modules/api_scilab/includes/api_common.h b/scilab/modules/api_scilab/includes/api_common.h
index 1458e0c..568ff69 100644
--- a/scilab/modules/api_scilab/includes/api_common.h
+++ b/scilab/modules/api_scilab/includes/api_common.h
@@ -223,6 +223,13 @@ int isEmptyMatrix(void* _pvCtx, int* _piAddress);
223int createEmptyMatrix(void* _pvCtx, int _iVar); 223int createEmptyMatrix(void* _pvCtx, int _iVar);
224 224
225/** 225/**
226* Create a named empty matrix
227* @param[in] _pstName variable name
228* @return if the operation successed (0) or not ( !0 )
229*/
230int createNamedEmptyMatrix(void* _pvCtx, char* _pstName);
231
232/**
226* Check if a named variable exists 233* Check if a named variable exists
227* @param[in] _pstName variable name 234* @param[in] _pstName variable name
228* @return if the operation successed (0) or not ( !0 ) 235* @return if the operation successed (0) or not ( !0 )
diff --git a/scilab/modules/api_scilab/includes/api_error.h b/scilab/modules/api_scilab/includes/api_error.h
index ff42cac..301f544 100644
--- a/scilab/modules/api_scilab/includes/api_error.h
+++ b/scilab/modules/api_scilab/includes/api_error.h
@@ -66,13 +66,18 @@ extern "C" {
66#define API_ERROR_TOO_LONG_VAR 204 66#define API_ERROR_TOO_LONG_VAR 204
67#define API_ERROR_CREATE_NAMED_POLY 207 67#define API_ERROR_CREATE_NAMED_POLY 207
68#define API_ERROR_READ_NAMED_POLY 208 68#define API_ERROR_READ_NAMED_POLY 208
69#define API_ERROR_GET_ALLOC_SINGLE_POLY 209
70#define API_ERROR_GET_ALLOC_NAMED_SINGLE_POLY 210
71#define API_ERROR_GET_ALLOC_MATRIX_POLY 211
72#define API_ERROR_GET_ALLOC_NAMED_MATRIX_POLY 212
69 73
70 /*boolean errors 401 - 499*/ 74 /*boolean errors 401 - 499*/
71#define API_ERROR_GET_BOOLEAN 401 75#define API_ERROR_GET_BOOLEAN 401
72#define API_ERROR_CREATE_BOOLEAN 402 76#define API_ERROR_CREATE_BOOLEAN 402
73#define API_ERROR_CREATE_NAMED_BOOLEAN 403 77#define API_ERROR_CREATE_NAMED_BOOLEAN 403
74 78#define API_ERROR_READ_BOOLEAN 404
75#define API_ERROR_READ_BOOLEAN 451 79#define API_ERROR_CREATE_SCALAR_BOOLEAN 405
80#define API_ERROR_CREATE_NAMED_SCALAR_BOOLEAN 406
76 81
77 /*sparse errors 501 - 599*/ 82 /*sparse errors 501 - 599*/
78#define API_ERROR_GET_SPARSE 501 83#define API_ERROR_GET_SPARSE 501
@@ -80,6 +85,8 @@ extern "C" {
80#define API_ERROR_CREATE_SPARSE 504 85#define API_ERROR_CREATE_SPARSE 504
81#define API_ERROR_CREATE_NAMED_SPARSE 505 86#define API_ERROR_CREATE_NAMED_SPARSE 505
82#define API_ERROR_READ_NAMED_SPARSE 506 87#define API_ERROR_READ_NAMED_SPARSE 506
88#define API_ERROR_GET_ALLOC_SPARSE 507
89#define API_ERROR_GET_NAMED_ALLOC_SPARSE 508
83 90
84 /*boolean sparse errors 601 - 699*/ 91 /*boolean sparse errors 601 - 699*/
85#define API_ERROR_GET_BOOLEAN_SPARSE 601 92#define API_ERROR_GET_BOOLEAN_SPARSE 601
@@ -90,8 +97,8 @@ extern "C" {
90#define API_ERROR_READ_NAMED_BOOLEAN_SPARSE 606 97#define API_ERROR_READ_NAMED_BOOLEAN_SPARSE 606
91#define API_ERROR_GET_SCALAR_BOOLEAN 607 98#define API_ERROR_GET_SCALAR_BOOLEAN 607
92#define API_ERROR_GET_NAMED_SCALAR_BOOLEAN 608 99#define API_ERROR_GET_NAMED_SCALAR_BOOLEAN 608
93#define API_ERROR_CREATE_SCALAR_BOOLEAN 609 100#define API_ERROR_GET_ALLOC_BOOLEAN_SPARSE 611
94#define API_ERROR_CREATE_NAMED_SCALAR_BOOLEAN 610 101#define API_ERROR_GET_NAMED_ALLOC_BOOLEAN_SPARSE 612
95 102
96 /*matlab sparse errors 701 - 799*/ 103 /*matlab sparse errors 701 - 799*/
97 104
@@ -103,6 +110,8 @@ extern "C" {
103#define API_ERROR_READ_NAMED_INT 806 110#define API_ERROR_READ_NAMED_INT 806
104#define API_ERROR_GET_SCALAR_INTEGER 807 111#define API_ERROR_GET_SCALAR_INTEGER 807
105#define API_ERROR_GET_NAMED_SCALAR_INTEGER 808 112#define API_ERROR_GET_NAMED_SCALAR_INTEGER 808
113#define API_ERROR_CREATE_SCALAR_INT 809
114#define API_ERROR_CREATE_NAMED_SCALAR_INT 810
106 115
107 /*strings errors 1001 - 1099*/ 116 /*strings errors 1001 - 1099*/
108#define API_ERROR_GET_STRING 1001 117#define API_ERROR_GET_STRING 1001
@@ -122,6 +131,10 @@ extern "C" {
122#define API_ERROR_GET_ALLOC_NAMED_SINGLE_WIDE_STRING 1016 131#define API_ERROR_GET_ALLOC_NAMED_SINGLE_WIDE_STRING 1016
123#define API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX 1017 132#define API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX 1017
124#define API_ERROR_GET_ALLOC_NAMED_WIDE_STRING_MATRIX 1018 133#define API_ERROR_GET_ALLOC_NAMED_WIDE_STRING_MATRIX 1018
134#define API_ERROR_CREATE_SINGLE_STRING 1019
135#define API_ERROR_CREATE_SINGLE_WIDE_STRING 1020
136#define API_ERROR_CREATE_NAMED_SINGLE_STRING 1021
137#define API_ERROR_CREATE_NAMED_SINGLE_WIDE_STRING 1022
125 138
126 /*list errors 1501 - 1599*/ 139 /*list errors 1501 - 1599*/
127#define API_ERROR_LIST_ITEM_NUMBER 1501 140#define API_ERROR_LIST_ITEM_NUMBER 1501
diff --git a/scilab/modules/api_scilab/includes/api_int.h b/scilab/modules/api_scilab/includes/api_int.h
index 3cee375..843cbee 100644
--- a/scilab/modules/api_scilab/includes/api_int.h
+++ b/scilab/modules/api_scilab/includes/api_int.h
@@ -429,6 +429,143 @@ int getNamedScalarUnsignedInteger32(void* _pvCtx, char* _pstName, unsigned int*
429int getNamedScalarUnsignedInteger64(void* _pvCtx, char* _pstName, unsigned long long* _pullData); 429int getNamedScalarUnsignedInteger64(void* _pvCtx, char* _pstName, unsigned long long* _pullData);
430#endif 430#endif
431 431
432/**
433 * create scalar integer variable data
434 * @param[in] _piAddress variable name
435 * @param[in] _pcData array of integer 8 bits
436 * @return if the operation successed (0) or not ( !0 )
437 */
438int createScalarInteger8(void* _pvCtx, int _iVar, char cData);
439
440/**
441 * create scalar integer variable data
442 * @param[in] _piAddress variable name
443 * @param[in] _psData array of integer 16 bits
444 * @return if the operation successed (0) or not ( !0 )
445 */
446int createScalarInteger16(void* _pvCtx, int _iVar, short sData);
447
448/**
449 * create scalar integer variable data
450 * @param[in] _piAddress variable name
451 * @param[in] _piData array of integer 32 bits
452 * @return if the operation successed (0) or not ( !0 )
453 */
454int createScalarInteger32(void* _pvCtx, int _iVar, int iData);
455
456/**
457 * create scalar integer variable data
458 * @param[in] _piAddress variable name
459 * @param[in] _pllData array of integer 64 bits
460 * @return if the operation successed (0) or not ( !0 )
461 */
462#ifdef __SCILAB_INT64__
463int createScalarInteger64(void* _pvCtx, int _iVar, long long llData);
464#endif
465
466/**
467 * create scalar integer variable data
468 * @param[in] _piAddress variable name
469 * @param[in] _pucData array of unsigned integer 8 bits
470 * @return if the operation successed (0) or not ( !0 )
471 */
472int createScalarUnsignedInteger8(void* _pvCtx, int _iVar, unsigned char ucData);
473
474/**
475 * create scalar integer variable data
476 * @param[in] _piAddress variable name
477 * @param[in] _pusData array of unsigned integer 16 bits
478 * @return if the operation successed (0) or not ( !0 )
479 */
480int createScalarUnsignedInteger16(void* _pvCtx, int _iVar, unsigned short usData);
481
482/**
483 * create scalar integer variable data
484 * @param[in] _piAddress variable name
485 * @param[in] _puiData array of unsigned integer 32 bits
486 * @return if the operation successed (0) or not ( !0 )
487 */
488int createScalarUnsignedInteger32(void* _pvCtx, int _iVar, unsigned int uiData);
489
490/**
491 * create scalar integer variable data
492 * @param[in] _piAddress variable name
493 * @param[in] _pullData array of unsigned integer 64 bits
494 * @return if the operation successed (0) or not ( !0 )
495 */
496#ifdef __SCILAB_INT64__
497int createScalarUnsignedInteger64(void* _pvCtx, int _iVar, unsigned long long ullData);
498#endif
499
500/**
501 * create named scalar integer variable data
502 * @param[in] _pstName variable name
503 * @param[in] _pcData array of integer 8 bits
504 * @return if the operation successed (0) or not ( !0 )
505 */
506int createNamedScalarInteger8(void* _pvCtx, char* _pstName, char cData);
507
508/**
509 * create named scalar integer variable data
510 * @param[in] _pstName variable name
511 * @param[in] _psData array of integer 16 bits
512 * @return if the operation successed (0) or not ( !0 )
513 */
514int createNamedScalarInteger16(void* _pvCtx, char* _pstName, short sData);
515
516/**
517 * create named scalar integer variable data
518 * @param[in] _pstName variable name
519 * @param[in] _piData array of integer 32 bits
520 * @return if the operation successed (0) or not ( !0 )
521 */
522int createNamedScalarInteger32(void* _pvCtx, char* _pstName, int iData);
523
524/**
525 * create named scalar integer variable data
526 * @param[in] _pstName variable name
527 * @param[in] _pllData array of integer 64 bits
528 * @return if the operation successed (0) or not ( !0 )
529 */
530#ifdef __SCILAB_INT64__
531int createNamedScalarInteger64(void* _pvCtx, char* _pstName, long long llData);
532#endif
533
534/**
535 * create named scalar integer variable data
536 * @param[in] _pstName variable name
537 * @param[in] _pucData array of unsigned integer 8 bits
538 * @return if the operation successed (0) or not ( !0 )
539 */
540int createNamedScalarUnsignedInteger8(void* _pvCtx, char* _pstName, unsigned char ucData);
541
542/**
543 * create named scalar integer variable data
544 * @param[in] _pstName variable name
545 * @param[in] _pusData array of unsigned integer 16 bits
546 * @return if the operation successed (0) or not ( !0 )
547 */
548int createNamedScalarUnsignedInteger16(void* _pvCtx, char* _pstName, unsigned short usData);
549
550/**
551 * create named scalar integer variable data
552 * @param[in] _pstName variable name
553 * @param[in] _puiData array of unsigned integer 32 bits
554 * @return if the operation successed (0) or not ( !0 )
555 */
556int createNamedScalarUnsignedInteger32(void* _pvCtx, char* _pstName, unsigned int uiData);
557
558/**
559 * create named scalar integer variable data
560 * @param[in] _pstName variable name
561 * @param[in] _pullData array of unsigned integer 64 bits
562 * @return if the operation successed (0) or not ( !0 )
563 */
564#ifdef __SCILAB_INT64__
565int createNamedScalarUnsignedInteger64(void* _pvCtx, char* _pstName, unsigned long long ullData);
566#endif
567
568
432#ifdef __cplusplus 569#ifdef __cplusplus
433} 570}
434#endif 571#endif
diff --git a/scilab/modules/api_scilab/includes/api_pointer.h b/scilab/modules/api_scilab/includes/api_pointer.h
index ebacacc..50079b4 100644
--- a/scilab/modules/api_scilab/includes/api_pointer.h
+++ b/scilab/modules/api_scilab/includes/api_pointer.h
@@ -57,6 +57,22 @@ SciErr createNamedPointer(void* _pvCtx, char* _pstName, void* _pvPtr);
57 */ 57 */
58SciErr readNamedPointer(void* _pvCtx, char* _pstName, void** _pvPtr); 58SciErr readNamedPointer(void* _pvCtx, char* _pstName, void** _pvPtr);
59 59
60/* shortcut functions */
61
62/**
63 * check if the variable type is a pointer
64 * @param[in] _piAddress variable address
65 * @return 1 for true and 0 for false
66 */
67int isPointerType(void* _pvCtx, int* _piAddress);
68
69/**
70 * check if the variable type is a pointer
71 * @param[in] _pstName variable name
72 * @return 1 for true and 0 for false
73 */
74int isNamedPointerType(void* _pvCtx, char* _pstName);
75
60#ifdef __cplusplus 76#ifdef __cplusplus
61} 77}
62#endif 78#endif
diff --git a/scilab/modules/api_scilab/includes/api_poly.h b/scilab/modules/api_scilab/includes/api_poly.h
index 6824a73..091bb86 100644
--- a/scilab/modules/api_scilab/includes/api_poly.h
+++ b/scilab/modules/api_scilab/includes/api_poly.h
@@ -133,6 +133,138 @@ SciErr readNamedMatrixOfPoly(void* _pvCtx, char* _pstName, int* _piRows, int* _p
133 133
134SciErr readNamedComplexMatrixOfPoly(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg); 134SciErr readNamedComplexMatrixOfPoly(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
135 135
136/* shortcut functions */
137
138/**
139 * check if the variable type is a poly
140 * @param[in] _piAddress variable address
141 * @return 1 for true and 0 for false
142 */
143int isPolyType(void* _pvCtx, int* _piAddress);
144
145/**
146 * check if the variable type is a poly
147 * @param[in] _pstName variable name
148 * @return 1 for true and 0 for false
149 */
150int isNamedPolyType(void* _pvCtx, char* _pstName);
151
152/**
153 * Get single poly variable data
154 * @param[in] _piAddress variable address
155 * @param[out] _piNbCoef return polynomial coefficient number
156 * @param[out] _pdblReal pointer on real data
157 * @return if the operation successed (0) or not ( !0 )
158 */
159int getAllocatedSinglePoly(void* _pvCtx, int* _piAddress, int* _piNbCoef, double** _pdblReal);
160
161/**
162 * Get single complex poly variable data
163 * @param[in] _piAddress variable address
164 * @param[out] _piNbCoef return polynomial coefficient number
165 * @param[out] _pdblReal pointer on real data
166 * @param[out] _pdblImg pointer on imaginary data
167 * @return if the operation successed (0) or not ( !0 )
168 */
169int getAllocatedSingleComplexPoly(void* _pvCtx, int* _piAddress, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
170
171/**
172 * Get named single poly variable data
173 * @param[in] _pstName variable name
174 * @param[out] _piNbCoef return polynomial coefficient number
175 * @param[out] _pdblReal pointer on real data
176 * @return if the operation successed (0) or not ( !0 )
177 */
178int getAllocatedNamedSinglePoly(void* _pvCtx, char* _pstName, int* _piNbCoef, double** _pdblReal);
179
180/**
181 * Get named single complex poly variable data
182 * @param[in] _pstName variable name
183 * @param[out] _piNbCoef return polynomial coefficient number
184 * @param[out] _pdblReal pointer on real data
185 * @param[out] _pdblImg pointer on imaginary data
186 * @return if the operation successed (0) or not ( !0 )
187 */
188int getAllocatedNamedSingleComplexPoly(void* _pvCtx, char* _pstName, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
189
190/**
191 * Get matrix of poly variable data
192 * @param[in] _piAddress variable address
193 * @param[out] _piRows return number of row
194 * @param[out] _piCols return number of col
195 * @param[out] _piNbCoef return polynomials coefficients number
196 * @param[out] _pdblReal pointer on real data
197 * @return if the operation successed (0) or not ( !0 )
198 */
199int getAllocatedMatrixOfPoly(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal);
200
201/**
202 * Get matrix of complex poly variable data
203 * @param[in] _piAddress variable address
204 * @param[out] _piRows return number of row
205 * @param[out] _piCols return number of col
206 * @param[out] _piNbCoef return polynomials coefficients number
207 * @param[out] _pdblReal pointer on real data
208 * @param[out] _pdblImg pointer on imgaginary data
209 * @return if the operation successed (0) or not ( !0 )
210 */
211int getAllocatedMatrixOfComplexPoly(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg);
212
213/**
214 * Get named matrix of poly variable data
215 * @param[in] _pstName variable name
216 * @param[out] _piRows return number of row
217 * @param[out] _piCols return number of col
218 * @param[out] _piNbCoef return polynomial coefficient number
219 * @param[out] _pdblReal pointer on real data
220 * @return if the operation successed (0) or not ( !0 )
221 */
222int getAllocatedNamedMatrixOfPoly(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal);
223
224/**
225 * Get named matrix of complex poly variable data
226 * @param[in] _pstName variable name
227 * @param[out] _piRows return number of row
228 * @param[out] _piCols return number of col
229 * @param[out] _piNbCoef return polynomial coefficient number
230 * @param[out] _pdblReal pointer on real data
231 * @param[out] _pdblImg pointer on imaginary data
232 * @return if the operation successed (0) or not ( !0 )
233 */
234int getAllocatedNamedMatrixOfComplexPoly(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg);
235
236/**
237 * free data allocated by shortcut functions ( named or not )
238 * @param[in] _pdblReal single polynom real data
239 */
240void freeAllocatedSinglePoly(double* _pdblReal);
241
242/**
243 * free data allocated by shortcut functions ( named or not )
244 * @param[in] _pdblReal single polynom real data
245 * @param[in] _pdblImg single polynom imaginary data
246 */
247void freeAllocatedSingleComplexPoly(double* _pdblReal, double* _pdblImg);
248
249/**
250 * free data allocated by shortcut functions ( named or not )
251 * @param[in] _iRows row count
252 * @param[in] _iCols column count
253 * @param[in] _piNbCoef polynomial coefficient number
254 * @param[in] _pdblReal matrix of polynom real data
255 */
256void freeAllocatedMatrixOfPoly(int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
257
258/**
259 * free data allocated by shortcut functions ( named or not )
260 * @param[in] _iRows row count
261 * @param[in] _iCols column count
262 * @param[in] _piNbCoef polynomial coefficient number
263 * @param[in] _pdblReal matrix of polynom real data
264 * @param[in] _pdblImg matrix of polynom imaginary data
265 */
266void freeAllocatedMatrixOfComplexPoly(int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
267
136#ifdef __cplusplus 268#ifdef __cplusplus
137} 269}
138#endif 270#endif
diff --git a/scilab/modules/api_scilab/includes/api_sparse.h b/scilab/modules/api_scilab/includes/api_sparse.h
index b5a784a..a50eac5 100644
--- a/scilab/modules/api_scilab/includes/api_sparse.h
+++ b/scilab/modules/api_scilab/includes/api_sparse.h
@@ -166,6 +166,94 @@ SciErr readNamedSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _p
166 166
167SciErr readNamedComplexSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg); 167SciErr readNamedComplexSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
168 168
169/* shortcut functions */
170
171/**
172 * check if the variable type is a sparse
173 * @param[in] _piAddress variable address
174 * @return 1 for true and 0 for false
175 */
176int isSparseType(void* _pvCtx, int* _piAddress);
177
178/**
179 * check if the variable type is a sparse
180 * @param[in] _pstName variable name
181 * @return 1 for true and 0 for false
182 */
183int isNamedSparseType(void* _pvCtx, char* _pstName);
184
185/**
186 * Get sparse variable data
187 * @param[in] _piAddress variable address
188 * @param[out] _piRows return number of row
189 * @param[out] _piCols return number of column
190 * @param[out] _iNbItem return number of item
191 * @param[out] _piNbItemRow return array of number of item for each row
192 * @param[out] _piColPos return array of item column position ( 1 indexed )
193 * @param[out] _pdblReal return array of real data
194 * @return if the operation successed (0) or not ( !0 )
195 */
196int getAllocatedSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
197
198/**
199 * Get sparse variable data
200 * @param[in] _piAddress variable address
201 * @param[out] _piRows return number of row
202 * @param[out] _piCols return number of column
203 * @param[out] _iNbItem return number of item
204 * @param[out] _piNbItemRow return array of number of item for each row
205 * @param[out] _piColPos return array of item column position ( 1 indexed )
206 * @param[out] _pdblReal return array of real data
207 * @param[out] _pdblImg return array of imaginary data
208 * @return if the operation successed (0) or not ( !0 )
209 */
210int getAllocatedComplexSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
211
212/**
213 * Get named sparse variable data
214 * @param[in] _pstName variable name
215 * @param[out] _piRows return number of row
216 * @param[out] _piCols return number of column
217 * @param[out] _iNbItem return number of item
218 * @param[out] _piNbItemRow return array of number of item for each row
219 * @param[out] _piColPos return array of item column position ( 1 indexed )
220 * @param[out] _pdblReal return array of real data
221 * @return if the operation successed (0) or not ( !0 )
222 */
223int getNamedAllocatedSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
224
225/**
226 * Get named sparse variable data
227 * @param[in] _pstName variable name
228 * @param[out] _piRows return number of row
229 * @param[out] _piCols return number of column
230 * @param[out] _iNbItem return number of item
231 * @param[out] _piNbItemRow return array of number of item for each row
232 * @param[out] _piColPos return array of item column position ( 1 indexed )
233 * @param[out] _pdblReal return array of real data
234 * @param[out] _pdblImg return array of imaginary data
235 * @return if the operation successed (0) or not ( !0 )
236 */
237int getNamedAllocatedComplexSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
238
239
240/**
241 * free data allocated by shortcut functions ( named or not )
242 * @param[in] _piNbItemRow array of number of item for each row
243 * @param[in] _piColPos array of item column position ( 1 indexed )
244 * @param[in] _pdblReal sparse real data
245 */
246void freeAllocatedSparseMatrix(int* _piNbItemRows, int* _piColPos, double* _pdblReal);
247
248/**
249 * free data allocated by shortcut functions ( named or not )
250 * @param[in] _piNbItemRow array of number of item for each row
251 * @param[in] _piColPos array of item column position ( 1 indexed )
252 * @param[in] _pdblReal sparse real data
253 * @param[in] _pdblImg sparse imaginary data
254 */
255void freeAllocatedComplexSparseMatrix(int* _piNbItemRows, int* _piColPos, double* _pdblReal, double* _pdblImg);
256
169#ifdef __cplusplus 257#ifdef __cplusplus
170} 258}
171#endif 259#endif
diff --git a/scilab/modules/api_scilab/includes/api_string.h b/scilab/modules/api_scilab/includes/api_string.h
index 15745a1..6dcb815 100644
--- a/scilab/modules/api_scilab/includes/api_string.h
+++ b/scilab/modules/api_scilab/includes/api_string.h
@@ -205,6 +205,66 @@ int getAllocatedNamedMatrixOfString(void* _pvCtx, char* _pstName, int* _piRows,
205 */ 205 */
206int getAllocatedNamedMatrixOfWideString(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, wchar_t*** _pwstData); 206int getAllocatedNamedMatrixOfWideString(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, wchar_t*** _pwstData);
207 207
208/**
209 * Get single string variable data
210 * @param[in] _iVar variable number
211 * @param[in] _pstStrings string ( null terminated )
212 * @return if the operation successed (0) or not ( !0 )
213 */
214int createSingleString(void* _pvCtx, int _iVar, char* _pstStrings);
215
216/**
217 * Get single wide string variable data
218 * @param[in] _iVar variable number
219 * @param[in] _pwstStrings wide string ( null terminated )
220 * @return if the operation successed (0) or not ( !0 )
221 */
222int createSingleWideString(void* _pvCtx, int _iVar, wchar_t* _pwstStrings);
223
224/**
225 * Get named single string variable data
226 * @param[in] _pstName variable name
227 * @param[in] _pstStrings string ( null terminated )
228 * @return if the operation successed (0) or not ( !0 )
229 */
230int createNamedSingleString(void* _pvCtx, char* _pstName, char* _pstStrings);
231
232/**
233 * Get named single wide string variable data
234 * @param[in] _pstName variable name
235 * @param[in] _pwstStrings wide string ( null terminated )
236 * @return if the operation successed (0) or not ( !0 )
237 */
238int createNamedSingleWideString(void* _pvCtx, char* _pstName, wchar_t* _pwstStrings);
239
240/**
241 * free data allocated by shortcut functions ( named or not )
242 * @param[in] _pstData string data
243 */
244void freeAllocatedSingleString(char* _pstData);
245
246/**
247 * free data allocated by shortcut functions ( named or not )
248 * @param[in] _pwstData wide string data
249 */
250void freeAllocatedSingleWideString(wchar_t* _pwstData);
251
252/**
253 * free data allocated by shortcut functions ( named or not )
254 * @param[in] _iRows row number
255 * @param[in] _iCols column number
256 * @param[in] _pstData matrix of string data
257 */
258void freeAllocatedMatrixOfString(int _iRows, int _iCols, char** _pstData);
259
260/**
261 * free data allocated by shortcut functions ( named or not )
262 * @param[in] _iRows row number
263 * @param[in] _iCols column number
264 * @param[in] _pwstData matrix of wide string data
265 */
266void freeAllocatedMatrixOfWideString(int _iRows, int _iCols, wchar_t** _pwstData);
267
208#ifdef __cplusplus 268#ifdef __cplusplus
209} 269}
210#endif 270#endif
diff --git a/scilab/modules/api_scilab/src/cpp/api_boolean_sparse.cpp b/scilab/modules/api_scilab/src/cpp/api_boolean_sparse.cpp
index 9668a9b..6ad70a5 100644
--- a/scilab/modules/api_scilab/src/cpp/api_boolean_sparse.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_boolean_sparse.cpp
@@ -22,7 +22,7 @@
22 22
23#include "call_scilab.h" 23#include "call_scilab.h"
24#include "stack-c.h" 24#include "stack-c.h"
25 25#include "MALLOC.h"
26 26
27SciErr getBooleanSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos) 27SciErr getBooleanSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos)
28{ 28{
@@ -223,3 +223,67 @@ SciErr readNamedBooleanSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows,
223 return sciErr; 223 return sciErr;
224} 224}
225/*--------------------------------------------------------------------------*/ 225/*--------------------------------------------------------------------------*/
226int isBooleanSparseType(void* _pvCtx, int* _piAddress)
227{
228 return checkVarType(_pvCtx, _piAddress, sci_boolean_sparse);
229}
230/*--------------------------------------------------------------------------*/
231int isNamedBooleanSparseType(void* _pvCtx, char* _pstName)
232{
233 return checkNamedVarType(_pvCtx, _pstName, sci_boolean_sparse);
234}
235/*--------------------------------------------------------------------------*/
236int getAllocatedBooleanSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos)
237{
238 SciErr sciErr;
239 int* piNbItemRow = NULL;
240 int* piColPos = NULL;
241
242 sciErr = getBooleanSparseMatrix(_pvCtx, _piAddress, _piRows, _piCols, _piNbItem, &piNbItemRow, &piColPos);
243 if(sciErr.iErr)
244 {
245 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_BOOLEAN_SPARSE, _("%s: Unable to get argument #%d"), "getAllocatedBooleanSparseMatrix", getRhsFromAddress(_pvCtx, _piAddress));
246 printError(&sciErr, 0);
247 return sciErr.iErr;
248 }
249
250 *_piNbItemRow = (int*)MALLOC(sizeof(int) * *_piRows);
251 memcpy(*_piNbItemRow, piNbItemRow, sizeof(int) * *_piRows);
252
253 *_piColPos = (int*)MALLOC(sizeof(int) * *_piNbItem);
254 memcpy(*_piColPos, piColPos, sizeof(int) * *_piNbItem);
255
256 return 0;
257}
258/*--------------------------------------------------------------------------*/
259int getNamedAllocatedBooleanSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos)
260{
261 SciErr sciErr;
262
263 sciErr = readNamedBooleanSparseMatrix(_pvCtx, _pstName, _piRows, _piCols, _piNbItem, NULL, NULL);
264 if(sciErr.iErr)
265 {
266 addErrorMessage(&sciErr, API_ERROR_GET_NAMED_ALLOC_BOOLEAN_SPARSE, _("%s: Unable to get argument \"%s\""), "getNamedAllocatedBooleanSparseMatrix", _pstName);
267 printError(&sciErr, 0);
268 return sciErr.iErr;
269 }
270
271 *_piNbItemRow = (int*)MALLOC(sizeof(int) * *_piRows);
272 *_piColPos = (int*)MALLOC(sizeof(int) * *_piNbItem);
273
274 sciErr = readNamedBooleanSparseMatrix(_pvCtx, _pstName, _piRows, _piCols, _piNbItem, *_piNbItemRow, *_piColPos);
275 if(sciErr.iErr)
276 {
277 addErrorMessage(&sciErr, API_ERROR_GET_NAMED_ALLOC_BOOLEAN_SPARSE, _("%s: Unable to get argument \"%s\""), "getNamedAllocatedBooleanSparseMatrix", _pstName);
278 printError(&sciErr, 0);
279 return sciErr.iErr;
280 }
281
282 return 0;
283}
284/*--------------------------------------------------------------------------*/
285void freeAllocatedBooleanSparse(int* _piNbItemRow, int* _piColPos)
286{
287 FREE(_piNbItemRow);
288 FREE(_piColPos);
289} \ No newline at end of file
diff --git a/scilab/modules/api_scilab/src/cpp/api_common.cpp b/scilab/modules/api_scilab/src/cpp/api_common.cpp
index c5ad559..4200ff7 100644
--- a/scilab/modules/api_scilab/src/cpp/api_common.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_common.cpp
@@ -26,6 +26,7 @@
26#include "stackinfo.h" 26#include "stackinfo.h"
27#include "Scierror.h" 27#include "Scierror.h"
28#include "localization.h" 28#include "localization.h"
29#include "MALLOC.h"
29 30
30/*Global structure for scilab 5.x*/ 31/*Global structure for scilab 5.x*/
31extern "C" 32extern "C"
@@ -381,7 +382,7 @@ SciErr getProcessMode(void* _pvCtx, int _iPos, int* _piAddRef, int *_piMode)
381 return sciErr; 382 return sciErr;
382 } 383 }
383 384
384 pstMode[1] = (char*)malloc(sizeof(char) * (iLen + 1)); //+1 for null termination 385 pstMode[1] = (char*)MALLOC(sizeof(char) * (iLen + 1)); //+1 for null termination
385 sciErr = getMatrixOfString(_pvCtx, piAddr2, &iRows2, &iCols2, &iLen, pstMode); 386 sciErr = getMatrixOfString(_pvCtx, piAddr2, &iRows2, &iCols2, &iLen, pstMode);
386 if(sciErr.iErr) 387 if(sciErr.iErr)
387 { 388 {
@@ -390,6 +391,7 @@ SciErr getProcessMode(void* _pvCtx, int _iPos, int* _piAddRef, int *_piMode)
390 } 391 }
391 392
392 iMode = (int)pstMode[0][0]; 393 iMode = (int)pstMode[0][0];
394 FREE(pstMode[0]);
393 } 395 }
394 else 396 else
395 { 397 {
diff --git a/scilab/modules/api_scilab/src/cpp/api_double.cpp b/scilab/modules/api_scilab/src/cpp/api_double.cpp
index 3428995..a321f9d 100644
--- a/scilab/modules/api_scilab/src/cpp/api_double.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_double.cpp
@@ -499,7 +499,10 @@ static int createCommonScalarDouble(void* _pvCtx, int _iVar, int _iComplex, doub
499 } 499 }
500 500
501 pdblReal[0] = _dblReal; 501 pdblReal[0] = _dblReal;
502 pdblImg[0] = _dblImg; 502 if(_iComplex)
503 {
504 pdblImg[0] = _dblImg;
505 }
503 return 0; 506 return 0;
504} 507}
505/*--------------------------------------------------------------------------*/ 508/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/api_scilab/src/cpp/api_int.cpp b/scilab/modules/api_scilab/src/cpp/api_int.cpp
index c195b41..10ab849 100644
--- a/scilab/modules/api_scilab/src/cpp/api_int.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_int.cpp
@@ -893,3 +893,252 @@ static int getCommandNamedScalarInteger(void* _pvCtx, char* _pstName, int _iPrec
893 return 0; 893 return 0;
894} 894}
895/*--------------------------------------------------------------------------*/ 895/*--------------------------------------------------------------------------*/
896int createScalarInteger8(void* _pvCtx, int _iVar, char cData)
897{
898 SciErr sciErr;
899
900 sciErr = createMatrixOfInteger8(_pvCtx, _iVar, 1, 1, &cData);
901 if(sciErr.iErr)
902 {
903 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarInteger8");
904 printError(&sciErr, 0);
905 return sciErr.iErr;
906 }
907
908 return 0;
909}
910/*--------------------------------------------------------------------------*/
911int createScalarInteger16(void* _pvCtx, int _iVar, short sData)
912{
913 SciErr sciErr;
914
915 sciErr = createMatrixOfInteger16(_pvCtx, _iVar, 1, 1, &sData);
916 if(sciErr.iErr)
917 {
918 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarInteger16");
919 printError(&sciErr, 0);
920 return sciErr.iErr;
921 }
922
923 return 0;
924}
925/*--------------------------------------------------------------------------*/
926int createScalarInteger32(void* _pvCtx, int _iVar, int iData)
927{
928 SciErr sciErr;
929
930 sciErr = createMatrixOfInteger32(_pvCtx, _iVar, 1, 1, &iData);
931 if(sciErr.iErr)
932 {
933 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarInteger32");
934 printError(&sciErr, 0);
935 return sciErr.iErr;
936 }
937
938 return 0;
939}
940/*--------------------------------------------------------------------------*/
941#ifdef __SCILAB_INT64__
942int createScalarInteger64(void* _pvCtx, int _iVar, long long llData)
943{
944 SciErr sciErr;
945
946 sciErr = createMatrixOfInteger64(_pvCtx, _iVar, 1, 1, llData);
947 if(sciErr.iErr)
948 {
949 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarInteger64");
950 printError(&sciErr, 0);
951 return sciErr.iErr;
952 }
953
954 return 0;
955}
956#endif
957/*--------------------------------------------------------------------------*/
958int createScalarUnsignedInteger8(void* _pvCtx, int _iVar, unsigned char ucData)
959{
960 SciErr sciErr;
961
962 sciErr = createMatrixOfUnsignedInteger8(_pvCtx, _iVar, 1, 1, &ucData);
963 if(sciErr.iErr)
964 {
965 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarUnsignedInteger8");
966 printError(&sciErr, 0);
967 return sciErr.iErr;
968 }
969
970 return 0;
971}
972/*--------------------------------------------------------------------------*/
973int createScalarUnsignedInteger16(void* _pvCtx, int _iVar, unsigned short usData)
974{
975 SciErr sciErr;
976
977 sciErr = createMatrixOfUnsignedInteger16(_pvCtx, _iVar, 1, 1, &usData);
978 if(sciErr.iErr)
979 {
980 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarUnsignedInteger16");
981 printError(&sciErr, 0);
982 return sciErr.iErr;
983 }
984
985 return 0;
986}
987/*--------------------------------------------------------------------------*/
988int createScalarUnsignedInteger32(void* _pvCtx, int _iVar, unsigned int uiData)
989{
990 SciErr sciErr;
991 unsigned int* puiData = NULL;
992
993 sciErr = createMatrixOfUnsignedInteger32(_pvCtx, _iVar, 1, 1, &uiData);
994 if(sciErr.iErr)
995 {
996 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarUnsignedInteger32");
997 printError(&sciErr, 0);
998 return sciErr.iErr;
999 }
1000
1001 return 0;
1002}
1003/*--------------------------------------------------------------------------*/
1004#ifdef __SCILAB_INT64__
1005int createScalarUnsignedInteger64(void* _pvCtx, int _iVar, unsigned long long ullData)
1006{
1007 SciErr sciErr;
1008
1009 sciErr = createMatrixOfUnsignedInteger64(_pvCtx, _iVar, 1, 1, &ullData);
1010 if(sciErr.iErr)
1011 {
1012 addErrorMessage(&sciErr, API_ERROR_CREATE_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createScalarUnsignedInteger64");
1013 printError(&sciErr, 0);
1014 return sciErr.iErr;
1015 }
1016
1017 return 0;
1018}
1019#endif
1020/*--------------------------------------------------------------------------*/
1021int createNamedScalarInteger8(void* _pvCtx, char* _pstName, char cData)
1022{
1023 SciErr sciErr;
1024
1025 sciErr = createNamedMatrixOfInteger8(_pvCtx, _pstName, 1, 1, &cData);
1026 if(sciErr.iErr)
1027 {
1028 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarInteger8");
1029 printError(&sciErr, 0);
1030 return sciErr.iErr;
1031 }
1032
1033 return 0;
1034}
1035/*--------------------------------------------------------------------------*/
1036int createNamedScalarInteger16(void* _pvCtx, char* _pstName, short sData)
1037{
1038 SciErr sciErr;
1039
1040 sciErr = createNamedMatrixOfInteger16(_pvCtx, _pstName, 1, 1, &sData);
1041 if(sciErr.iErr)
1042 {
1043 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarInteger16");
1044 printError(&sciErr, 0);
1045 return sciErr.iErr;
1046 }
1047
1048 return 0;
1049}
1050/*--------------------------------------------------------------------------*/
1051int createNamedScalarInteger32(void* _pvCtx, char* _pstName, int iData)
1052{
1053 SciErr sciErr;
1054
1055 sciErr = createNamedMatrixOfInteger32(_pvCtx, _pstName, 1, 1, &iData);
1056 if(sciErr.iErr)
1057 {
1058 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarInteger32");
1059 printError(&sciErr, 0);
1060 return sciErr.iErr;
1061 }
1062
1063 return 0;
1064}
1065/*--------------------------------------------------------------------------*/
1066#ifdef __SCILAB_INT64__
1067int createNamedScalarInteger64(void* _pvCtx, char* _pstName, long long llData)
1068{
1069 SciErr sciErr;
1070
1071 sciErr = createNamedMatrixOfInteger64(_pvCtx, _pstName, 1, 1, &llData);
1072 if(sciErr.iErr)
1073 {
1074 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarInteger64");
1075 printError(&sciErr, 0);
1076 return sciErr.iErr;
1077 }
1078
1079 return 0;
1080}
1081#endif
1082/*--------------------------------------------------------------------------*/
1083int createNamedScalarUnsignedInteger8(void* _pvCtx, char* _pstName, unsigned char ucData)
1084{
1085 SciErr sciErr;
1086
1087 sciErr = createNamedMatrixOfUnsignedInteger8(_pvCtx, _pstName, 1, 1, &ucData);
1088 if(sciErr.iErr)
1089 {
1090 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarUnsignedInteger8");
1091 printError(&sciErr, 0);
1092 return sciErr.iErr;
1093 }
1094
1095 return 0;
1096}
1097/*--------------------------------------------------------------------------*/
1098int createNamedScalarUnsignedInteger16(void* _pvCtx, char* _pstName, unsigned short usData)
1099{
1100 SciErr sciErr;
1101
1102 sciErr = createNamedMatrixOfUnsignedInteger16(_pvCtx, _pstName, 1, 1, &usData);
1103 if(sciErr.iErr)
1104 {
1105 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarUnsignedInteger16");
1106 printError(&sciErr, 0);
1107 return sciErr.iErr;
1108 }
1109
1110 return 0;
1111}
1112/*--------------------------------------------------------------------------*/
1113int createNamedScalarUnsignedInteger32(void* _pvCtx, char* _pstName, unsigned int uiData)
1114{
1115 SciErr sciErr;
1116
1117 sciErr = createNamedMatrixOfUnsignedInteger32(_pvCtx, _pstName, 1, 1, &uiData);
1118 if(sciErr.iErr)
1119 {
1120 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarUnsignedInteger32");
1121 printError(&sciErr, 0);
1122 return sciErr.iErr;
1123 }
1124
1125 return 0;
1126}
1127/*--------------------------------------------------------------------------*/
1128#ifdef __SCILAB_INT64__
1129int createNamedScalarUnsignedInteger64(void* _pvCtx, char* _pstName, unsigned long long ullData)
1130{
1131 SciErr sciErr;
1132
1133 sciErr = createNamedMatrixOfUnsignedInteger64(_pvCtx, _pstName, 1, 1, &ullData);
1134 if(sciErr.iErr)
1135 {
1136 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SCALAR_INT, _("%s: Unable to create variable in Scilab memory"), "createNamedScalarUnsignedInteger64");
1137 printError(&sciErr, 0);
1138 return sciErr.iErr;
1139 }
1140
1141 return 0;
1142}
1143#endif
1144/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/api_scilab/src/cpp/api_internal_poly.h b/scilab/modules/api_scilab/src/cpp/api_internal_poly.h
index be039d2..9420b1e 100644
--- a/scilab/modules/api_scilab/src/cpp/api_internal_poly.h
+++ b/scilab/modules/api_scilab/src/cpp/api_internal_poly.h
@@ -21,6 +21,10 @@ SciErr readCommonNamedMatrixOfPoly(void* _pvCtx, char* _pstName, int _iComplex,
21SciErr createCommonMatrixOfPolyInNamedList(void* _pvCtx, char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg); 21SciErr createCommonMatrixOfPolyInNamedList(void* _pvCtx, char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iComplex, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
22SciErr readCommonMatrixOfPolyInNamedList(void* _pvCtx, char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg); 22SciErr readCommonMatrixOfPolyInNamedList(void* _pvCtx, char* _pstName, int* _piParent, int _iItemPos, int _iComplex, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
23 23
24static int getCommonAllocatedSinglePoly(void* _pvCtx, int* _piAddress, int _iComplex, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
25static int getCommonAllocatedNamedSinglePoly(void* _pvCtx, char* _pstName, int _iComplex, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
26static int getCommonAllocatedMatrixOfPoly(void* _pvCtx, int* _piAddress, int _iComplex, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg);
27static int getCommonAllocatedNamedMatrixOfPoly(void* _pvCtx, char* _pstName, int _iComplex, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg);
24 28
25#endif /* __INTERNAL_POLY_API__ */ 29#endif /* __INTERNAL_POLY_API__ */
26 30
diff --git a/scilab/modules/api_scilab/src/cpp/api_internal_sparse.h b/scilab/modules/api_scilab/src/cpp/api_internal_sparse.h
index d370e3c..df689d9 100644
--- a/scilab/modules/api_scilab/src/cpp/api_internal_sparse.h
+++ b/scilab/modules/api_scilab/src/cpp/api_internal_sparse.h
@@ -19,5 +19,8 @@ SciErr createCommonSparseMatrix(void* _pvCtx, int _iVar, int _iComplex, int _iRo
19SciErr createCommonNamedSparseMatrix(void* _pvCtx, char* _pstName, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg); 19SciErr createCommonNamedSparseMatrix(void* _pvCtx, char* _pstName, int _iComplex, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
20SciErr readCommonNamedSparseMatrix(void* _pvCtx, char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg); 20SciErr readCommonNamedSparseMatrix(void* _pvCtx, char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
21 21
22static int getCommonAllocatedSparseMatrix(void* _pvCtx, int* _piAddress, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
23static int getCommonNamedAllocatedSparseMatrix(void* _pvCtx, char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
24
22 25
23#endif /* __INTERNAL_SPARSE_API__ */ 26#endif /* __INTERNAL_SPARSE_API__ */
diff --git a/scilab/modules/api_scilab/src/cpp/api_pointer.cpp b/scilab/modules/api_scilab/src/cpp/api_pointer.cpp
index 6cc09e4..8921974 100644
--- a/scilab/modules/api_scilab/src/cpp/api_pointer.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_pointer.cpp
@@ -190,4 +190,14 @@ SciErr readNamedPointer(void* _pvCtx, char* _pstName, void** _pvPtr)
190 return sciErr; 190 return sciErr;
191} 191}
192/*--------------------------------------------------------------------------*/ 192/*--------------------------------------------------------------------------*/
193int isPointerType(void* _pvCtx, int* _piAddress)
194{
195 return checkVarType(_pvCtx, _piAddress, sci_pointer);
196}
197/*--------------------------------------------------------------------------*/
198int isNamedPointerType(void* _pvCtx, char* _pstName)
199{
200 return checkNamedVarType(_pvCtx, _pstName, sci_pointer);
201}
202/*--------------------------------------------------------------------------*/
193 203
diff --git a/scilab/modules/api_scilab/src/cpp/api_poly.cpp b/scilab/modules/api_scilab/src/cpp/api_poly.cpp
index 05fbb00..f12e4d8 100644
--- a/scilab/modules/api_scilab/src/cpp/api_poly.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_poly.cpp
@@ -330,4 +330,271 @@ SciErr readCommonNamedMatrixOfPoly(void* _pvCtx, char* _pstName, int _iComplex,
330 330
331 return sciErr; 331 return sciErr;
332} 332}
333
334/*shortcut functions */
335
336/*--------------------------------------------------------------------------*/
337int isPolyType(void* _pvCtx, int* _piAddress)
338{
339 return checkVarType(_pvCtx, _piAddress, sci_poly);
340}
341/*--------------------------------------------------------------------------*/
342int isNamedPolyType(void* _pvCtx, char* _pstName)
343{
344 return checkNamedVarType(_pvCtx, _pstName, sci_poly);
345}
346/*--------------------------------------------------------------------------*/
347int getAllocatedSinglePoly(void* _pvCtx, int* _piAddress, int* _piNbCoef, double** _pdblReal)
348{
349 return getCommonAllocatedSinglePoly(_pvCtx, _piAddress, 0, _piNbCoef, _pdblReal, NULL);
350}
351/*--------------------------------------------------------------------------*/
352int getAllocatedSingleComplexPoly(void* _pvCtx, int* _piAddress, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
353{
354 return getCommonAllocatedSinglePoly(_pvCtx, _piAddress, 1, _piNbCoef, _pdblReal, _pdblImg);
355}
333/*--------------------------------------------------------------------------*/ 356/*--------------------------------------------------------------------------*/
357static int getCommonAllocatedSinglePoly(void* _pvCtx, int* _piAddress, int _iComplex, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
358{
359 SciErr sciErr;
360 int iRows = 0;
361 int iCols = 0;
362
363 double* pdblReal = NULL;
364 double* pdblImg = NULL;
365
366 if(isScalar(_pvCtx, _piAddress) == 0)
367 {
368 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_SINGLE_POLY, _("%s: Wrong type for input argument #%d: A scalar expected.\n"), _iComplex ? "getAllocatedSingleComplexPoly" : "getAllocatedSinglePoly", getRhsFromAddress(_pvCtx, _piAddress));
369 printError(&sciErr, 0);
370 return sciErr.iErr;
371 }
372
373 sciErr = getCommonMatrixOfPoly(_pvCtx, _piAddress, _iComplex, &iRows, &iCols, _piNbCoef, NULL, NULL);
374 if(sciErr.iErr)
375 {
376 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_SINGLE_POLY, _("%s: Unable to get argument #%d"), _iComplex ? "getAllocatedSingleComplexPoly" : "getAllocatedSinglePoly", getRhsFromAddress(_pvCtx, _piAddress));
377 printError(&sciErr, 0);
378 return sciErr.iErr;
379 }
380
381 *_pdblReal = (double*)MALLOC(sizeof(double) * *_piNbCoef);
382
383 if(_iComplex)
384 {
385 *_pdblImg = (double*)MALLOC(sizeof(double) * *_piNbCoef);
386 }
387
388 sciErr = getCommonMatrixOfPoly(_pvCtx, _piAddress, _iComplex, &iRows, &iCols, _piNbCoef, _pdblReal, _pdblImg);
389 if(sciErr.iErr)
390 {
391 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_SINGLE_POLY, _("%s: Unable to get argument #%d"), _iComplex ? "getAllocatedSingleComplexPoly" : "getAllocatedSinglePoly", getRhsFromAddress(_pvCtx, _piAddress));
392 printError(&sciErr, 0);
393 return sciErr.iErr;
394 }
395
396 return 0;
397}
398/*--------------------------------------------------------------------------*/
399int getAllocatedNamedSinglePoly(void* _pvCtx, char* _pstName, int* _piNbCoef, double** _pdblReal)
400{
401 return getCommonAllocatedNamedSinglePoly(_pvCtx, _pstName, 0, _piNbCoef, _pdblReal, NULL);
402}
403/*--------------------------------------------------------------------------*/
404int getAllocatedNamedSingleComplexPoly(void* _pvCtx, char* _pstName, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
405{
406 return getCommonAllocatedNamedSinglePoly(_pvCtx, _pstName, 1, _piNbCoef, _pdblReal, _pdblImg);
407}
408/*--------------------------------------------------------------------------*/
409static int getCommonAllocatedNamedSinglePoly(void* _pvCtx, char* _pstName, int _iComplex, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
410{
411 SciErr sciErr;
412 int iRows = 0;
413 int iCols = 0;
414
415 double* pdblReal = NULL;
416 double* pdblImg = NULL;
417
418 if(isNamedScalar(_pvCtx, _pstName) == 0)
419 {
420 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_SINGLE_POLY, _("%s: Wrong type for input argument \"%s\": A scalar expected.\n"), _iComplex ? "getAllocatedNamedSingleComplexPoly" : "getAllocatedNamedSinglePoly", _pstName);
421 printError(&sciErr, 0);
422 return sciErr.iErr;
423 }
424
425 sciErr = readCommonNamedMatrixOfPoly(_pvCtx, _pstName, _iComplex, &iRows, &iCols, _piNbCoef, &pdblReal, &pdblImg);
426 if(sciErr.iErr)
427 {
428 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_SINGLE_POLY, _("%s: Unable to get argument \"%s\""), _iComplex ? "getAllocatedNamedSingleComplexPoly" : "getAllocatedNamedSinglePoly", _pstName);
429 printError(&sciErr, 0);
430 return sciErr.iErr;
431 }
432
433 *_pdblReal = (double*)MALLOC(sizeof(double) * *_piNbCoef);
434 memcpy(*_pdblReal, pdblReal, sizeof(double) * *_piNbCoef);
435
436 if(_iComplex)
437 {
438 *_pdblImg = (double*)MALLOC(sizeof(double) * *_piNbCoef);
439 memcpy(*_pdblImg, pdblImg, sizeof(double) * *_piNbCoef);
440 }
441 return 0;
442}
443/*--------------------------------------------------------------------------*/
444int getAllocatedMatrixOfPoly(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal)
445{
446 return getCommonAllocatedMatrixOfPoly(_pvCtx, _piAddress, 0, _piRows, _piCols, _piNbCoef, _pdblReal, NULL);
447}
448/*--------------------------------------------------------------------------*/
449int getAllocatedMatrixOfComplexPoly(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg)
450{
451 return getCommonAllocatedMatrixOfPoly(_pvCtx, _piAddress, 1, _piRows, _piCols, _piNbCoef, _pdblReal, _pdblImg);
452}
453/*--------------------------------------------------------------------------*/
454static int getCommonAllocatedMatrixOfPoly(void* _pvCtx, int* _piAddress, int _iComplex, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg)
455{
456 SciErr sciErr;
457
458 double* pdblReal = NULL;
459 double* pdblImg = NULL;
460
461 sciErr = getCommonMatrixOfPoly(_pvCtx, _piAddress, _iComplex, _piRows, _piCols, NULL, NULL, NULL);
462 if(sciErr.iErr)
463 {
464 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_MATRIX_POLY, _("%s: Unable to get argument #%d"), _iComplex ? "getAllocatedMatrixOfComplexPoly" : "getAllocatedMatrixOfPoly", getRhsFromAddress(_pvCtx, _piAddress));
465 printError(&sciErr, 0);
466 return sciErr.iErr;
467 }
468
469 *_piNbCoef = (int*)MALLOC(sizeof(int) * *_piRows * *_piCols);
470
471 sciErr = getCommonMatrixOfPoly(_pvCtx, _piAddress, _iComplex, _piRows, _piCols, *_piNbCoef, NULL, NULL);
472 if(sciErr.iErr)
473 {
474 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_MATRIX_POLY, _("%s: Unable to get argument #%d"), _iComplex ? "getAllocatedMatrixOfComplexPoly" : "getAllocatedMatrixOfPoly", getRhsFromAddress(_pvCtx, _piAddress));
475 printError(&sciErr, 0);
476 return sciErr.iErr;
477 }
478
479 *_pdblReal = (double**)MALLOC(sizeof(double*) * *_piRows * *_piCols);
480 for(int i = 0 ; i < *_piRows * *_piCols ; i++)
481 {
482 (*_pdblReal)[i] = (double*)MALLOC(sizeof(double) * *_piNbCoef[i]);
483 }
484
485 if(_iComplex)
486 {
487 *_pdblImg = (double**)MALLOC(sizeof(double*) * *_piRows * *_piCols);
488 for(int i = 0 ; i < *_piRows * *_piCols ; i++)
489 {
490 (*_pdblImg)[i] = (double*)MALLOC(sizeof(double) * *_piNbCoef[i]);
491 }
492 }
493
494 sciErr = getCommonMatrixOfPoly(_pvCtx, _piAddress, _iComplex, _piRows, _piCols, *_piNbCoef, *_pdblReal, *_pdblImg);
495 if(sciErr.iErr)
496 {
497 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_MATRIX_POLY, _("%s: Unable to get argument #%d"), _iComplex ? "getAllocatedSingleComplexPoly" : "getAllocatedSinglePoly", getRhsFromAddress(_pvCtx, _piAddress));
498 printError(&sciErr, 0);
499 return sciErr.iErr;
500 }
501
502 return 0;
503}
504/*--------------------------------------------------------------------------*/
505int getAllocatedNamedMatrixOfPoly(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal)
506{
507 return getCommonAllocatedNamedMatrixOfPoly(_pvCtx, _pstName, 0, _piRows, _piCols, _piNbCoef, _pdblReal, NULL);
508}
509/*--------------------------------------------------------------------------*/
510int getAllocatedNamedMatrixOfComplexPoly(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg)
511{
512 return getCommonAllocatedNamedMatrixOfPoly(_pvCtx, _pstName, 1, _piRows, _piCols, _piNbCoef, _pdblReal, _pdblImg);
513}
514/*--------------------------------------------------------------------------*/
515static int getCommonAllocatedNamedMatrixOfPoly(void* _pvCtx, char* _pstName, int _iComplex, int* _piRows, int* _piCols, int** _piNbCoef, double*** _pdblReal, double*** _pdblImg)
516{
517 SciErr sciErr;
518 int iRows = 0;
519 int iCols = 0;
520
521 double* pdblReal = NULL;
522 double* pdblImg = NULL;
523
524
525 sciErr = readCommonNamedMatrixOfPoly(_pvCtx, _pstName, _iComplex, _piRows, _piCols, NULL, NULL, NULL);
526 if(sciErr.iErr)
527 {
528 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_MATRIX_POLY, _("%s: Unable to get argument \"%s\""), _iComplex ? "getAllocatedNamedMatrixOfComplexPoly" : "getAllocatedNamedMatrixOfPoly", _pstName);
529 printError(&sciErr, 0);
530 return sciErr.iErr;
531 }
532
533 *_piNbCoef = (int*)MALLOC(sizeof(int) * *_piRows * *_piCols);
534
535 sciErr = readCommonNamedMatrixOfPoly(_pvCtx, _pstName, _iComplex, _piRows, _piCols, *_piNbCoef, NULL, NULL);
536 if(sciErr.iErr)
537 {
538 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_MATRIX_POLY, _("%s: Unable to get argument \"%s\""), _iComplex ? "getAllocatedNamedMatrixOfComplexPoly" : "getAllocatedNamedMatrixOfPoly", _pstName);
539 printError(&sciErr, 0);
540 return sciErr.iErr;
541 }
542
543 *_pdblReal = (double**)MALLOC(sizeof(double*) * *_piRows * *_piCols);
544 for(int i = 0 ; i < *_piRows * *_piCols ; i++)
545 {
546 (*_pdblReal)[i] = (double*)MALLOC(sizeof(double) * *_piNbCoef[i]);
547 }
548
549 if(_iComplex)
550 {
551 *_pdblImg = (double**)MALLOC(sizeof(double*) * *_piRows * *_piCols);
552 for(int i = 0 ; i < *_piRows * *_piCols ; i++)
553 {
554 (*_pdblImg)[i] = (double*)MALLOC(sizeof(double) * *_piNbCoef[i]);
555 }
556 }
557
558 sciErr = readCommonNamedMatrixOfPoly(_pvCtx, _pstName, _iComplex, _piRows, _piCols, *_piNbCoef, *_pdblReal, *_pdblImg);
559 if(sciErr.iErr)
560 {
561 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_MATRIX_POLY, _("%s: Unable to get argument \"%s\""), _iComplex ? "getAllocatedNamedMatrixOfComplexPoly" : "getAllocatedNamedMatrixOfPoly", _pstName);
562 printError(&sciErr, 0);
563 return sciErr.iErr;
564 }
565
566 return 0;
567}
568/*--------------------------------------------------------------------------*/
569void freeAllocatedSinglePoly(double* _pdblReal)
570{
571 FREE(_pdblReal);
572}
573/*--------------------------------------------------------------------------*/
574void freeAllocatedSingleComplexPoly(double* _pdblReal, double* _pdblImg)
575{
576 freeAllocatedSinglePoly(_pdblReal);
577 FREE(_pdblImg);
578}
579/*--------------------------------------------------------------------------*/
580void freeAllocatedMatrixOfPoly(int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal)
581{
582 FREE(_piNbCoef);
583
584 for(int i = 0 ; i < _iRows * _iCols ; i++)
585 {
586 FREE(_pdblReal[i]);
587 }
588 FREE(_pdblReal);
589}
590/*--------------------------------------------------------------------------*/
591void freeAllocatedMatrixOfComplexPoly(int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg)
592{
593 freeAllocatedMatrixOfPoly(_iRows, _iCols, _piNbCoef, _pdblReal);
594
595 for(int i = 0 ; i < _iRows * _iCols ; i++)
596 {
597 FREE(_pdblImg[i]);
598 }
599 FREE(_pdblImg);
600}
diff --git a/scilab/modules/api_scilab/src/cpp/api_sparse.cpp b/scilab/modules/api_scilab/src/cpp/api_sparse.cpp
index 0de3ef6..374fce9 100644
--- a/scilab/modules/api_scilab/src/cpp/api_sparse.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_sparse.cpp
@@ -357,5 +357,116 @@ SciErr readCommonNamedSparseMatrix(void* _pvCtx, char* _pstName, int _iComplex,
357 357
358 return sciErr; 358 return sciErr;
359} 359}
360
361/* shortcut functions */
362
363/*--------------------------------------------------------------------------*/
364int isSparseType(void* _pvCtx, int* _piAddress)
365{
366 return checkVarType(_pvCtx, _piAddress, sci_sparse);
367}
368/*--------------------------------------------------------------------------*/
369int isNamedSparseType(void* _pvCtx, char* _pstName)
370{
371 return checkNamedVarType(_pvCtx, _pstName, sci_sparse);
372}
360/*--------------------------------------------------------------------------*/ 373/*--------------------------------------------------------------------------*/
374int getAllocatedSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal)
375{
376 return getCommonAllocatedSparseMatrix(_pvCtx, _piAddress, 0, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, NULL);
377}
378/*--------------------------------------------------------------------------*/
379int getAllocatedComplexSparseMatrix(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg)
380{
381 return getCommonAllocatedSparseMatrix(_pvCtx, _piAddress, 1, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
382}
383/*--------------------------------------------------------------------------*/
384static int getCommonAllocatedSparseMatrix(void* _pvCtx, int* _piAddress, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg)
385{
386 SciErr sciErr;
387 int* piNbItemRow = NULL;
388 int* piColPos = NULL;
389 double* pdblReal = NULL;
390 double* pdblImg = NULL;
391
392 sciErr = getCommonSparseMatrix(_pvCtx, _piAddress, _iComplex, _piRows, _piCols, _piNbItem, &piNbItemRow, &piColPos, &pdblReal, &pdblImg);
393 if(sciErr.iErr)
394 {
395 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_SPARSE, _("%s: Unable to get argument #%d"), _iComplex ? "getAllocatedComplexSparseMatrix" : "getAllocatedSparseMatrix", getRhsFromAddress(_pvCtx, _piAddress));
396 printError(&sciErr, 0);
397 return sciErr.iErr;
398 }
399
400 *_piNbItemRow = (int*)MALLOC(sizeof(int) * *_piRows);
401 memcpy(_piNbItemRow, piNbItemRow, sizeof(int) * *_piRows);
361 402
403 *_piColPos = (int*)MALLOC(sizeof(int) * *_piNbItem);
404 memcpy(_piColPos, piColPos, sizeof(int) * *_piNbItem);
405
406 *_pdblReal = (double*)MALLOC(sizeof(double) * *_piNbItem);
407 memcpy(_pdblReal, pdblReal, sizeof(double) * *_piNbItem);
408
409 if(_iComplex)
410 {
411 *_pdblImg = (double*)MALLOC(sizeof(double) * *_piNbItem);
412 memcpy(_pdblImg, pdblImg, sizeof(double) * *_piNbItem);
413 }
414
415 return 0;
416}
417/*--------------------------------------------------------------------------*/
418int getNamedAllocatedSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal)
419{
420 return getCommonNamedAllocatedSparseMatrix(_pvCtx, _pstName, 0, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, NULL);
421}
422/*--------------------------------------------------------------------------*/
423int getNamedAllocatedComplexSparseMatrix(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg)
424{
425 return getCommonNamedAllocatedSparseMatrix(_pvCtx, _pstName, 1, _piRows, _piCols, _piNbItem, _piNbItemRow, _piColPos, _pdblReal, _pdblImg);
426}
427/*--------------------------------------------------------------------------*/
428static int getCommonNamedAllocatedSparseMatrix(void* _pvCtx, char* _pstName, int _iComplex, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg)
429{
430 SciErr sciErr;
431
432 sciErr = readCommonNamedSparseMatrix(_pvCtx, _pstName, _iComplex, _piRows, _piCols, _piNbItem, NULL, NULL, NULL, NULL);
433 if(sciErr.iErr)
434 {
435 addErrorMessage(&sciErr, API_ERROR_GET_NAMED_ALLOC_SPARSE, _("%s: Unable to get argument \"%s\""), _iComplex ? "getNamedAllocatedComplexSparseMatrix" : "getNamedAllocatedSparseMatrix", _pstName);
436 printError(&sciErr, 0);
437 return sciErr.iErr;
438 }
439
440 *_piNbItemRow = (int*)MALLOC(sizeof(int) * *_piRows);
441 *_piColPos = (int*)MALLOC(sizeof(int) * *_piNbItem);
442
443 *_pdblReal = (double*)MALLOC(sizeof(double) * *_piNbItem);
444 if(_iComplex)
445 {
446 *_pdblImg = (double*)MALLOC(sizeof(double) * *_piNbItem);
447 }
448
449 sciErr = readCommonNamedSparseMatrix(_pvCtx, _pstName, _iComplex, _piRows, _piCols, _piNbItem, *_piNbItemRow, *_piColPos, *_pdblReal, *_pdblImg);
450 if(sciErr.iErr)
451 {
452 addErrorMessage(&sciErr, API_ERROR_GET_NAMED_ALLOC_SPARSE, _("%s: Unable to get argument \"%s\""), _iComplex ? "getNamedAllocatedComplexSparseMatrix" : "getNamedAllocatedSparseMatrix", _pstName);
453 printError(&sciErr, 0);
454 return sciErr.iErr;
455 }
456
457 return 0;
458}
459/*--------------------------------------------------------------------------*/
460void freeAllocatedSparseMatrix(int* _piNbItemRows, int* _piColPos, double* _pdblReal)
461{
462 FREE(_piNbItemRows);
463 FREE(_piColPos);
464 FREE(_pdblReal);
465}
466/*--------------------------------------------------------------------------*/
467void freeAllocatedComplexSparseMatrix(int* _piNbItemRows, int* _piColPos, double* _pdblReal, double* _pdblImg)
468{
469 freeAllocatedSparseMatrix(_piNbItemRows, _piColPos, _pdblReal);
470 FREE(_pdblImg);
471}
472/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/api_scilab/src/cpp/api_string.cpp b/scilab/modules/api_scilab/src/cpp/api_string.cpp
index 8017501..09083fe 100644
--- a/scilab/modules/api_scilab/src/cpp/api_string.cpp
+++ b/scilab/modules/api_scilab/src/cpp/api_string.cpp
@@ -536,7 +536,7 @@ int getAllocatedMatrixOfString(void* _pvCtx, int* _piAddress, int* _piRows, int*
536 536
537 for(i = 0 ; i < *_piRows * *_piCols ; i++) 537 for(i = 0 ; i < *_piRows * *_piCols ; i++)
538 { 538 {
539 *_pstData[i] = (char*)MALLOC(sizeof(char) * (piLen[i] + 1));//+1 for null termination 539 (*_pstData)[i] = (char*)MALLOC(sizeof(char) * (piLen[i] + 1));//+1 for null termination
540 } 540 }
541 541
542 sciErr = getMatrixOfString(_pvCtx, _piAddress, _piRows, _piCols, piLen, *_pstData); 542 sciErr = getMatrixOfString(_pvCtx, _piAddress, _piRows, _piCols, piLen, *_pstData);
@@ -664,12 +664,10 @@ int getAllocatedNamedSingleWideString(void* _pvCtx, char* _pstName, wchar_t** _p
664int getAllocatedNamedMatrixOfString(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, char*** _pstData) 664int getAllocatedNamedMatrixOfString(void* _pvCtx, char* _pstName, int* _piRows, int* _piCols, char*** _pstData)
665{ 665{
666 SciErr sciErr; 666 SciErr sciErr;
667 int iRows = 0;
668 int iCols = 0;
669 int* piLen = 0; 667 int* piLen = 0;
670 668
671 669
672 sciErr = readNamedMatrixOfString(_pvCtx, _pstName, &iRows, &iCols, NULL, NULL); 670 sciErr = readNamedMatrixOfString(_pvCtx, _pstName, _piRows, _piCols, NULL, NULL);
673 if(sciErr.iErr) 671 if(sciErr.iErr)
674 { 672 {
675 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX, _("%s: Unable to get argument data"), "getAllocatedNamedMatrixOfString"); 673 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX, _("%s: Unable to get argument data"), "getAllocatedNamedMatrixOfString");
@@ -679,7 +677,7 @@ int getAllocatedNamedMatrixOfString(void* _pvCtx, char* _pstName, int* _piRows,
679 677
680 piLen = (int*)MALLOC(sizeof(int) * *_piRows * *_piCols); 678 piLen = (int*)MALLOC(sizeof(int) * *_piRows * *_piCols);
681 679
682 sciErr = readNamedMatrixOfString(_pvCtx, _pstName, &iRows, &iCols, piLen, NULL); 680 sciErr = readNamedMatrixOfString(_pvCtx, _pstName, _piRows, _piCols, piLen, NULL);
683 if(sciErr.iErr) 681 if(sciErr.iErr)
684 { 682 {
685 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX, _("%s: Unable to get argument data"), "getAllocatedNamedMatrixOfString"); 683 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX, _("%s: Unable to get argument data"), "getAllocatedNamedMatrixOfString");
@@ -690,10 +688,10 @@ int getAllocatedNamedMatrixOfString(void* _pvCtx, char* _pstName, int* _piRows,
690 *_pstData = (char**)MALLOC(sizeof(char*) * *_piRows * *_piCols); 688 *_pstData = (char**)MALLOC(sizeof(char*) * *_piRows * *_piCols);
691 for(int i = 0 ; i < *_piRows * *_piCols ; i++) 689 for(int i = 0 ; i < *_piRows * *_piCols ; i++)
692 { 690 {
693 *_pstData[i] = (char*)MALLOC(sizeof(char) * (piLen[i] + 1));//+1 for null termination 691 (*_pstData)[i] = (char*)MALLOC(sizeof(char) * (piLen[i] + 1));//+1 for null termination
694 } 692 }
695 693
696 sciErr = readNamedMatrixOfString(_pvCtx, _pstName, &iRows, &iCols, piLen, *_pstData); 694 sciErr = readNamedMatrixOfString(_pvCtx, _pstName, _piRows, _piCols, piLen, *_pstData);
697 if(sciErr.iErr) 695 if(sciErr.iErr)
698 { 696 {
699 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX, _("%s: Unable to get argument data"), "getAllocatedNamedMatrixOfString"); 697 addErrorMessage(&sciErr, API_ERROR_GET_ALLOC_NAMED_STRING_MATRIX, _("%s: Unable to get argument data"), "getAllocatedNamedMatrixOfString");
@@ -747,3 +745,91 @@ int getAllocatedNamedMatrixOfWideString(void* _pvCtx, char* _pstName, int* _piRo
747 return 0; 745 return 0;
748} 746}
749/*--------------------------------------------------------------------------*/ 747/*--------------------------------------------------------------------------*/
748int createSingleString(void* _pvCtx, int _iVar, char* _pstStrings)
749{
750 SciErr sciErr;
751
752 sciErr = createMatrixOfString(_pvCtx, _iVar, 1, 1, &_pstStrings);
753 if(sciErr.iErr)
754 {
755 addErrorMessage(&sciErr, API_ERROR_CREATE_SINGLE_STRING, _("%s: Unable to get argument data"), "createSingleString");
756 printError(&sciErr, 0);
757 return sciErr.iErr;
758 }
759
760 return 0;
761}
762/*--------------------------------------------------------------------------*/
763int createSingleWideString(void* _pvCtx, int _iVar, wchar_t* _pwstStrings)
764{
765 SciErr sciErr;
766
767 sciErr = createMatrixOfWideString(_pvCtx, _iVar, 1, 1, &_pwstStrings);
768 if(sciErr.iErr)
769 {
770 addErrorMessage(&sciErr, API_ERROR_CREATE_SINGLE_WIDE_STRING, _("%s: Unable to get argument data"), "createSingleWideString");
771 printError(&sciErr, 0);
772 return sciErr.iErr;
773 }
774
775 return 0;
776}
777/*--------------------------------------------------------------------------*/
778int createNamedSingleString(void* _pvCtx, char* _pstName, char* _pstStrings)
779{
780 SciErr sciErr;
781
782 sciErr = createNamedMatrixOfString(_pvCtx, _pstName, 1, 1, &_pstStrings);
783 if(sciErr.iErr)
784 {
785 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SINGLE_STRING, _("%s: Unable to get argument data"), "createSingleString");
786 printError(&sciErr, 0);
787 return sciErr.iErr;
788 }
789
790 return 0;
791}
792/*--------------------------------------------------------------------------*/
793int createNamedSingleWideString(void* _pvCtx, char* _pstName, wchar_t* _pwstStrings)
794{
795 SciErr sciErr;
796
797 sciErr = createNamedMatrixOfWideString(_pvCtx, _pstName, 1, 1, &_pwstStrings);
798 if(sciErr.iErr)
799 {
800 addErrorMessage(&sciErr, API_ERROR_CREATE_NAMED_SINGLE_WIDE_STRING, _("%s: Unable to get argument data"), "createSingleWideString");
801 printError(&sciErr, 0);
802 return sciErr.iErr;
803 }
804
805 return 0;
806}
807/*--------------------------------------------------------------------------*/
808void freeAllocatedSingleString(char* _pstData)
809{
810 FREE(_pstData);
811}
812/*--------------------------------------------------------------------------*/
813void freeAllocatedSingleWideString(wchar_t* _pwstData)
814{
815 FREE(_pwstData);
816}
817/*--------------------------------------------------------------------------*/
818void freeAllocatedMatrixOfString(int _iRows, int _iCols, char** _pstData)
819{
820 for(int i = 0 ; i < _iRows * _iCols ; i++)
821 {
822 FREE(_pstData[i]);
823 }
824 FREE(_pstData);
825}
826/*--------------------------------------------------------------------------*/
827void freeAllocatedMatrixOfWideString(int _iRows, int _iCols, wchar_t** _pwstData)
828{
829 for(int i = 0 ; i < _iRows * _iCols ; i++)
830 {
831 FREE(_pwstData[i]);
832 }
833 FREE(_pwstData);
834}
835/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/arnoldi/locales/en_US/arnoldi.pot b/scilab/modules/arnoldi/locales/en_US/arnoldi.pot
index d389973..3d6143c 100644
--- a/scilab/modules/arnoldi/locales/en_US/arnoldi.pot
+++ b/scilab/modules/arnoldi/locales/en_US/arnoldi.pot
@@ -14,7 +14,7 @@ msgstr ""
14"MIME-Version: 1.0\n" 14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=ISO-8859-1\n" 15"Content-Type: text/plain; charset=ISO-8859-1\n"
16"Content-Transfer-Encoding: 8bit\n" 16"Content-Transfer-Encoding: 8bit\n"
17"Revision-Date: 2009-12-09 16:34+0100\n" 17"Revision-Date: 2010-01-25 10:32+0100\n"
18 18
19# File: sci_gateway/c/sci_znaupd.c, line: 100 19# File: sci_gateway/c/sci_znaupd.c, line: 100
20# File: sci_gateway/c/sci_dsaupd.c, line: 99 20# File: sci_gateway/c/sci_dsaupd.c, line: 99
diff --git a/scilab/modules/atoms/help/en_US/atomsSetConfig.xml b/scilab/modules/atoms/help/en_US/atomsSetConfig.xml
index f0c2f9c..502beb1 100644
--- a/scilab/modules/atoms/help/en_US/atomsSetConfig.xml
+++ b/scilab/modules/atoms/help/en_US/atomsSetConfig.xml
@@ -154,7 +154,7 @@
154 154
155 <tr> 155 <tr>
156 <td>autoloadAddAfterInstall</td> 156 <td>autoloadAddAfterInstall</td>
157 <td>Automaticaly add a module to the list of module to autoload at Scilab start</td> 157 <td>Automatically add a module to the list of module to autoload at Scilab start</td>
158 <td><emphasis role="strong">True</emphasis>/False</td> 158 <td><emphasis role="strong">True</emphasis>/False</td>
159 </tr> 159 </tr>
160 </informaltable> 160 </informaltable>
diff --git a/scilab/modules/atoms/locales/en_US/atoms.pot b/scilab/modules/atoms/locales/en_US/atoms.pot
index 8046e4c..eab1792 100644
--- a/scilab/modules/atoms/locales/en_US/atoms.pot
+++ b/scilab/modules/atoms/locales/en_US/atoms.pot
@@ -14,7 +14,7 @@ msgstr ""
14"MIME-Version: 1.0\n" 14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=ISO-8859-1\n" 15"Content-Type: text/plain; charset=ISO-8859-1\n"
16"Content-Transfer-Encoding: 8bit\n" 16"Content-Transfer-Encoding: 8bit\n"
17"Revision-Date: 2009-12-09 16:34+0100\n" 17"Revision-Date: 2010-01-25 10:32+0100\n"
18 18
19# File: macros/atomsAutoloadAdd.sci, line: 162 19# File: macros/atomsAutoloadAdd.sci, line: 162
20# File: macros/atomsAutoloadAdd.sci, line: 167 20# File: macros/atomsAutoloadAdd.sci, line: 167
@@ -39,22 +39,22 @@ msgstr ""
39msgid "\t - ''%s - %s'' is needed by ''%s''\n" 39msgid "\t - ''%s - %s'' is needed by ''%s''\n"
40msgstr "" 40msgstr ""
41# 41#
42# File: macros/atoms_internals/atomsDownload.sci, line: 200 42# File: macros/atoms_internals/atomsDownload.sci, line: 222
43#, c-format 43#, c-format
44msgid "\t - Local location : ''%s''\n" 44msgid "\t - Local location : ''%s''\n"
45msgstr "" 45msgstr ""
46# 46#
47# File: macros/atoms_internals/atomsDownload.sci, line: 233 47# File: macros/atoms_internals/atomsDownload.sci, line: 255
48#, c-format 48#, c-format
49msgid "\t - MD5SUM expected : ''%s''\n" 49msgid "\t - MD5SUM expected : ''%s''\n"
50msgstr "" 50msgstr ""
51# 51#
52# File: macros/atoms_internals/atomsDownload.sci, line: 234 52# File: macros/atoms_internals/atomsDownload.sci, line: 256
53#, c-format 53#, c-format
54msgid "\t - MD5SUM watched : ''%s''\n" 54msgid "\t - MD5SUM watched : ''%s''\n"
55msgstr "" 55msgstr ""
56# 56#
57# File: macros/atoms_internals/atomsDownload.sci, line: 199 57# File: macros/atoms_internals/atomsDownload.sci, line: 221
58#, c-format 58#, c-format
59msgid "\t - URL : ''%s''\n" 59msgid "\t - URL : ''%s''\n"
60msgstr "" 60msgstr ""
@@ -66,17 +66,17 @@ msgstr ""
66msgid "\t - You''ve asked ''%s - %s''\n" 66msgid "\t - You''ve asked ''%s - %s''\n"
67msgstr "" 67msgstr ""
68# 68#
69# File: macros/atoms_internals/atomsDownload.sci, line: 217 69# File: macros/atoms_internals/atomsDownload.sci, line: 239
70#, c-format 70#, c-format
71msgid "\t - destination : ''%s''\n" 71msgid "\t - destination : ''%s''\n"
72msgstr "" 72msgstr ""
73# 73#
74# File: macros/atoms_internals/atomsDownload.sci, line: 232 74# File: macros/atoms_internals/atomsDownload.sci, line: 254
75#, c-format 75#, c-format
76msgid "\t - file : ''%s''\n" 76msgid "\t - file : ''%s''\n"
77msgstr "" 77msgstr ""
78# 78#
79# File: macros/atoms_internals/atomsDownload.sci, line: 216 79# File: macros/atoms_internals/atomsDownload.sci, line: 238
80#, c-format 80#, c-format
81msgid "\t - source : ''%s''\n" 81msgid "\t - source : ''%s''\n"
82msgstr "" 82msgstr ""
@@ -109,7 +109,7 @@ msgstr ""
109# File: macros/atomsLoad.sci, line: 332 109# File: macros/atomsLoad.sci, line: 332
110# File: macros/atomsLoad.sci, line: 336 110# File: macros/atomsLoad.sci, line: 336
111#, c-format 111#, c-format
112msgid "%s: An error accured while loading ''%s-%s''.\n" 112msgid "%s: An error occurred while loading ''%s-%s''.\n"
113msgstr "" 113msgstr ""
114# 114#
115# File: macros/atomsLoad.sci, line: 197 115# File: macros/atomsLoad.sci, line: 197
@@ -118,17 +118,18 @@ msgstr ""
118msgid "%s: Another version of the package %s is already loaded : %s\n" 118msgid "%s: Another version of the package %s is already loaded : %s\n"
119msgstr "" 119msgstr ""
120# 120#
121# File: macros/atomsInstall.sci, line: 199 121# File: macros/atomsInstall.sci, line: 206
122#, c-format 122#, c-format
123msgid "%s: DESCRIPTION file cannot be found in the package ''%s''\n" 123msgid "%s: DESCRIPTION file cannot be found in the package ''%s''\n"
124msgstr "" 124msgstr ""
125# 125#
126# File: macros/atomsInstall.sci, line: 387 126# File: macros/atomsInstall.sci, line: 439
127#, c-format 127#, c-format
128msgid "%s: Error while copying the file ''%s'' to the directory ''%s''.\n" 128msgid "%s: Error while copying the file ''%s'' to the directory ''%s''.\n"
129msgstr "" 129msgstr ""
130# 130#
131# File: macros/atomsInstall.sci, line: 344 131# File: macros/atomsInstall.sci, line: 363
132# File: macros/atomsInstall.sci, line: 392
132#, c-format 133#, c-format
133msgid "%s: Error while creating the directory ''%s''.\n" 134msgid "%s: Error while creating the directory ''%s''.\n"
134msgstr "" 135msgstr ""
@@ -144,7 +145,7 @@ msgstr ""
144# File: macros/atoms_internals/atomsToremoveRegister.sci, line: 43 145# File: macros/atoms_internals/atomsToremoveRegister.sci, line: 43
145# File: macros/atoms_internals/atomsPackageIsCompatible.sci, line: 69 146# File: macros/atoms_internals/atomsPackageIsCompatible.sci, line: 69
146# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 58 147# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 58
147# File: macros/atomsSetConfig.sci, line: 49 148# File: macros/atomsSetConfig.sci, line: 50
148#, c-format 149#, c-format
149msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" 150msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n"
150msgstr "" 151msgstr ""
@@ -170,7 +171,7 @@ msgstr ""
170msgid "%s: Module ''%s'' is not installed.\n" 171msgid "%s: Module ''%s'' is not installed.\n"
171msgstr "" 172msgstr ""
172# 173#
173# File: macros/atoms_internals/atomsDownload.sci, line: 112 174# File: macros/atoms_internals/atomsDownload.sci, line: 115
174#, c-format 175#, c-format
175msgid "%s: Neither Wget or Curl found: Please install one of them\n" 176msgid "%s: Neither Wget or Curl found: Please install one of them\n"
176msgstr "" 177msgstr ""
@@ -201,7 +202,7 @@ msgstr ""
201# 202#
202# File: macros/atoms_internals/atomsLoadSave.sci, line: 42 203# File: macros/atoms_internals/atomsLoadSave.sci, line: 42
203# File: macros/atoms_internals/atomsLoadSave.sci, line: 48 204# File: macros/atoms_internals/atomsLoadSave.sci, line: 48
204# File: macros/atomsInstall.sci, line: 301 205# File: macros/atomsInstall.sci, line: 308
205#, c-format 206#, c-format
206msgid "" 207msgid ""
207"%s: The directory %s cannot been created, please check if you have write " 208"%s: The directory %s cannot been created, please check if you have write "
@@ -223,21 +224,21 @@ msgid ""
223"access on this directory.\n" 224"access on this directory.\n"
224msgstr "" 225msgstr ""
225# 226#
226# File: macros/atomsRemove.sci, line: 229 227# File: macros/atomsRemove.sci, line: 233
227#, c-format 228#, c-format
228msgid "" 229msgid ""
229"%s: The directory of this package (%s-%s) cannot been deleted, please check " 230"%s: The directory of this package (%s-%s) cannot been deleted, please check "
230"if you have write access on this directory : %s.\n" 231"if you have write access on this directory : %s.\n"
231msgstr "" 232msgstr ""
232# 233#
233# File: macros/atomsRemove.sci, line: 219 234# File: macros/atomsRemove.sci, line: 220
234#, c-format 235#, c-format
235msgid "" 236msgid ""
236"%s: The directory of this package (%s-%s) is located neither in SCI nor in " 237"%s: The directory of this package (%s-%s) is located neither in SCI nor in "
237"SCIHOME. For security reason, ATOMS refuses to delete this directory.\n" 238"SCIHOME. For security reason, ATOMS refuses to delete this directory.\n"
238msgstr "" 239msgstr ""
239# 240#
240# File: macros/atoms_internals/atomsDownload.sci, line: 231 241# File: macros/atoms_internals/atomsDownload.sci, line: 253
241#, c-format 242#, c-format
242msgid "%s: The downloaded file doesn''t check the MD5SUM:\n" 243msgid "%s: The downloaded file doesn''t check the MD5SUM:\n"
243msgstr "" 244msgstr ""
@@ -270,7 +271,7 @@ msgstr ""
270msgid "%s: The file ''%s'' cannot be written.\n" 271msgid "%s: The file ''%s'' cannot be written.\n"
271msgstr "" 272msgstr ""
272# 273#
273# File: macros/atomsInstall.sci, line: 192 274# File: macros/atomsInstall.sci, line: 199
274#, c-format 275#, c-format
275msgid "%s: The file ''%s'' doesn''t exist or is not read accessible\n" 276msgid "%s: The file ''%s'' doesn''t exist or is not read accessible\n"
276msgstr "" 277msgstr ""
@@ -281,12 +282,12 @@ msgstr ""
281msgid "%s: The file ''%s'' doesn''t exist or is not read accessible.\n" 282msgid "%s: The file ''%s'' doesn''t exist or is not read accessible.\n"
282msgstr "" 283msgstr ""
283# 284#
284# File: macros/atoms_internals/atomsDownload.sci, line: 215 285# File: macros/atoms_internals/atomsDownload.sci, line: 237
285#, c-format 286#, c-format
286msgid "%s: The following file hasn''t been copied:\n" 287msgid "%s: The following file hasn''t been copied:\n"
287msgstr "" 288msgstr ""
288# 289#
289# File: macros/atoms_internals/atomsDownload.sci, line: 198 290# File: macros/atoms_internals/atomsDownload.sci, line: 220
290#, c-format 291#, c-format
291msgid "%s: The following file hasn''t been downloaded:\n" 292msgid "%s: The following file hasn''t been downloaded:\n"
292msgstr "" 293msgstr ""
@@ -322,7 +323,7 @@ msgstr ""
322msgid "%s: The package ''%s'' is not present in the struct.\n" 323msgid "%s: The package ''%s'' is not present in the struct.\n"
323msgstr "" 324msgstr ""
324# 325#
325# File: macros/atomsRemove.sci, line: 248 326# File: macros/atomsRemove.sci, line: 252
326#, c-format 327#, c-format
327msgid "" 328msgid ""
328"%s: The root directory of this package (%s-%s) cannot been deleted, please " 329"%s: The root directory of this package (%s-%s) cannot been deleted, please "
@@ -370,7 +371,7 @@ msgstr ""
370# File: macros/atoms_internals/atomsIsDirectChild.sci, line: 40 371# File: macros/atoms_internals/atomsIsDirectChild.sci, line: 40
371# File: macros/atoms_internals/atomsDESCRIPTIONread.sci, line: 24 372# File: macros/atoms_internals/atomsDESCRIPTIONread.sci, line: 24
372# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 24 373# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 24
373# File: macros/atomsSetConfig.sci, line: 31 374# File: macros/atomsSetConfig.sci, line: 32
374# File: macros/atomsDepTreeShow.sci, line: 38 375# File: macros/atomsDepTreeShow.sci, line: 38
375# File: macros/atomsShow.sci, line: 28 376# File: macros/atomsShow.sci, line: 28
376# File: macros/atomsIsLoaded.sci, line: 41 377# File: macros/atomsIsLoaded.sci, line: 41
@@ -719,8 +720,8 @@ msgstr ""
719# File: macros/atoms_internals/atomsIsDirectChild.sci, line: 47 720# File: macros/atoms_internals/atomsIsDirectChild.sci, line: 47
720# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 31 721# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 31
721# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 35 722# File: macros/atoms_internals/atomsToremoveUnregister.sci, line: 35
722# File: macros/atomsSetConfig.sci, line: 38 723# File: macros/atomsSetConfig.sci, line: 39
723# File: macros/atomsSetConfig.sci, line: 42 724# File: macros/atomsSetConfig.sci, line: 43
724# File: macros/atomsTest.sci, line: 40 725# File: macros/atomsTest.sci, line: 40
725# File: macros/atomsRepositoryAdd.sci, line: 44 726# File: macros/atomsRepositoryAdd.sci, line: 44
726# File: macros/atomsRepositoryDel.sci, line: 40 727# File: macros/atomsRepositoryDel.sci, line: 40
@@ -942,12 +943,12 @@ msgstr ""
942# File: macros/atomsRemove.sci, line: 161 943# File: macros/atomsRemove.sci, line: 161
943#, c-format 944#, c-format
944msgid "" 945msgid ""
945"%s: You have not enought rights to remove any version of the package %s.\n" 946"%s: You have not enough rights to remove any version of the package %s.\n"
946msgstr "" 947msgstr ""
947# 948#
948# File: macros/atomsRemove.sci, line: 153 949# File: macros/atomsRemove.sci, line: 153
949#, c-format 950#, c-format
950msgid "%s: You have not enought rights to remove the package %s (%s).\n" 951msgid "%s: You have not enough rights to remove the package %s (%s).\n"
951msgstr "" 952msgstr ""
952# 953#
953# File: macros/atomsUpdate.sci, line: 68 954# File: macros/atomsUpdate.sci, line: 68
@@ -978,41 +979,42 @@ msgstr ""
978msgid "%s: the package ''%s'' doesn''t exist.\n" 979msgid "%s: the package ''%s'' doesn''t exist.\n"
979msgstr "" 980msgstr ""
980# 981#
981# File: macros/atoms_gui/atomsGui.sci, line: 56 982# File: macros/atoms_gui/atomsGui.sci, line: 60
982msgid "&?" 983msgid "&?"
983msgstr "" 984msgstr ""
984# 985#
985# File: macros/atoms_gui/atomsGui.sci, line: 55 986# File: macros/atoms_gui/atomsGui.sci, line: 59
986msgid "&Edit" 987msgid "&Edit"
987msgstr "" 988msgstr ""
988# 989#
989# File: macros/atoms_gui/atomsGui.sci, line: 53 990# File: macros/atoms_gui/atomsGui.sci, line: 57
990msgid "&File" 991msgid "&File"
991msgstr "" 992msgstr ""
992# 993#
993# File: macros/atoms_gui/atomsGui.sci, line: 54 994# File: macros/atoms_gui/atomsGui.sci, line: 58
994msgid "&Tools" 995msgid "&Tools"
995msgstr "" 996msgstr ""
996# 997#
997# File: macros/atoms_gui/atomsGui.sci, line: 74 998# File: macros/atoms_gui/atomsGui.sci, line: 78
998msgid "?" 999msgid "?"
999msgstr "" 1000msgstr ""
1000# 1001#
1001# File: macros/atoms_gui/cbAtomsGui.sci, line: 35 1002# File: macros/atoms_gui/cbAtomsGui.sci, line: 35
1002# File: macros/atoms_gui/cbAtomsGui.sci, line: 53 1003# File: macros/atoms_gui/cbAtomsGui.sci, line: 53
1003# File: macros/atoms_gui/cbAtomsGui.sci, line: 71 1004# File: macros/atoms_gui/cbAtomsGui.sci, line: 71
1004# File: macros/atoms_gui/atomsGui.sci, line: 43 1005# File: macros/atoms_gui/atomsGui.sci, line: 47
1005msgid "Atoms" 1006msgid "Atoms"
1006msgstr "" 1007msgstr ""
1007# 1008#
1008# File: macros/atoms_gui/atomsGui.sci, line: 78 1009# File: macros/atoms_gui/atomsGui.sci, line: 82
1009msgid "Atoms Help..." 1010msgid "Atoms Help..."
1010msgstr "" 1011msgstr ""
1011# 1012#
1012# File: macros/atoms_gui/cbAtomsGui.sci, line: 33 1013# File: macros/atoms_gui/cbAtomsGui.sci, line: 33
1013# File: macros/atoms_gui/cbAtomsGui.sci, line: 51 1014# File: macros/atoms_gui/cbAtomsGui.sci, line: 51
1014# File: macros/atoms_gui/cbAtomsGui.sci, line: 69 1015# File: macros/atoms_gui/cbAtomsGui.sci, line: 69
1015# File: macros/atoms_gui/atomsGui.sci, line: 21 1016# File: macros/atoms_gui/atomsGui.sci, line: 22
1017# File: macros/atoms_gui/atomsGui.sci, line: 24
1016msgid "Atoms error" 1018msgid "Atoms error"
1017msgstr "" 1019msgstr ""
1018# 1020#
@@ -1022,7 +1024,7 @@ msgid "Author(s)"
1022msgstr "" 1024msgstr ""
1023# 1025#
1024# File: macros/atomsShow.sci, line: 83 1026# File: macros/atomsShow.sci, line: 83
1025msgid "Automaticaly Installed" 1027msgid "Automatically Installed"
1026msgstr "" 1028msgstr ""
1027# 1029#
1028# File: macros/atoms_gui/cbAtomsGui.sci, line: 271 1030# File: macros/atoms_gui/cbAtomsGui.sci, line: 271
@@ -1033,7 +1035,7 @@ msgstr ""
1033msgid "Category(ies)" 1035msgid "Category(ies)"
1034msgstr "" 1036msgstr ""
1035# 1037#
1036# File: macros/atoms_gui/atomsGui.sci, line: 68 1038# File: macros/atoms_gui/atomsGui.sci, line: 72
1037msgid "Close" 1039msgid "Close"
1038msgstr "" 1040msgstr ""
1039# 1041#
@@ -1054,11 +1056,11 @@ msgstr ""
1054msgid "Entity" 1056msgid "Entity"
1055msgstr "" 1057msgstr ""
1056# 1058#
1057# File: macros/atoms_gui/atomsGui.sci, line: 64 1059# File: macros/atoms_gui/atomsGui.sci, line: 68
1058msgid "File" 1060msgid "File"
1059msgstr "" 1061msgstr ""
1060# 1062#
1061# File: macros/atoms_gui/atomsGui.sci, line: 198 1063# File: macros/atoms_gui/atomsGui.sci, line: 202
1062msgid "Install" 1064msgid "Install"
1063msgstr "" 1065msgstr ""
1064# 1066#
@@ -1094,15 +1096,19 @@ msgstr ""
1094msgid "Maintainer(s)" 1096msgid "Maintainer(s)"
1095msgstr "" 1097msgstr ""
1096# 1098#
1097# File: macros/atoms_gui/atomsGui.sci, line: 113 1099# File: macros/atoms_gui/atomsGui.sci, line: 117
1098msgid "Modules" 1100msgid "Modules"
1099msgstr "" 1101msgstr ""
1100# 1102#
1101# File: macros/atoms_gui/atomsGui.sci, line: 21 1103# File: macros/atoms_gui/atomsGui.sci, line: 22
1102msgid "No Atoms module available. Check your Internet connection." 1104msgid "No Atoms module is available. Please, check your Internet connection."
1105msgstr ""
1106#
1107# File: macros/atoms_gui/atomsGui.sci, line: 24
1108msgid "No Atoms module is available: your repository list is empty."
1103msgstr "" 1109msgstr ""
1104# 1110#
1105# File: macros/atoms_gui/atomsGui.sci, line: 173 1111# File: macros/atoms_gui/atomsGui.sci, line: 177
1106msgid "No module selected" 1112msgid "No module selected"
1107msgstr "" 1113msgstr ""
1108# 1114#
@@ -1110,7 +1116,7 @@ msgstr ""
1110msgid "Package" 1116msgid "Package"
1111msgstr "" 1117msgstr ""
1112# 1118#
1113# File: macros/atoms_gui/atomsGui.sci, line: 187 1119# File: macros/atoms_gui/atomsGui.sci, line: 191
1114msgid "Remove" 1120msgid "Remove"
1115msgstr "" 1121msgstr ""
1116# 1122#
@@ -1142,7 +1148,7 @@ msgstr ""
1142msgid "Title" 1148msgid "Title"
1143msgstr "" 1149msgstr ""
1144# 1150#
1145# File: macros/atoms_gui/atomsGui.sci, line: 208 1151# File: macros/atoms_gui/atomsGui.sci, line: 212
1146msgid "Update" 1152msgid "Update"
1147msgstr "" 1153msgstr ""
1148# 1154#
diff --git a/scilab/modules/atoms/macros/atomsAutoloadAdd.sci b/scilab/modules/atoms/macros/atomsAutoloadAdd.sci
index 7b96774..6d8dbd9 100644
--- a/scilab/modules/atoms/macros/atomsAutoloadAdd.sci
+++ b/scilab/modules/atoms/macros/atomsAutoloadAdd.sci
@@ -7,7 +7,7 @@
7// are also available at 7// are also available at
8// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt 8// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9 9
10// Add toolboxes to the list of packages that are automaticaly loaded at Scilab start 10// Add toolboxes to the list of packages that are automatically loaded at Scilab start
11// This function has an impact on the following files : 11// This function has an impact on the following files :
12// -> ATOMSDIR/autoloaded 12// -> ATOMSDIR/autoloaded
13 13
@@ -144,6 +144,12 @@ function nbAdd = atomsAutoloadAdd(packages,section)
144 error(msprintf(gettext("%s: Module ''%s - %s'' is not installed.\n"),"atomsLoad",packages(i,1),packages(i,2))); 144 error(msprintf(gettext("%s: Module ''%s - %s'' is not installed.\n"),"atomsLoad",packages(i,1),packages(i,2)));
145 end 145 end
146 146
147 // If the packaging version is not mentioned, define it
148 if isempty(strindex(packages(i,2),"-")) then
149 this_package_details = atomsGetInstalledDetails(packages(i,1:3));
150 packages(i,2) = this_package_details(2);
151 end
152
147 end 153 end
148 154
149 // The module's installed section hasn't been specified or is empty 155 // The module's installed section hasn't been specified or is empty
diff --git a/scilab/modules/atoms/macros/atomsAutoloadDel.sci b/scilab/modules/atoms/macros/atomsAutoloadDel.sci
index 45ddd00..182a6d1 100644
--- a/scilab/modules/atoms/macros/atomsAutoloadDel.sci
+++ b/scilab/modules/atoms/macros/atomsAutoloadDel.sci
@@ -7,7 +7,7 @@
7// are also available at 7// are also available at
8// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt 8// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9 9
10// Remove toolboxes to the list of packages that are automaticaly loaded at Scilab start 10// Remove toolboxes to the list of packages that are automatically loaded at Scilab start
11// This function has an impact on the following files : 11// This function has an impact on the following files :
12// -> ATOMSDIR/autoloaded 12// -> ATOMSDIR/autoloaded
13 13
diff --git a/scilab/modules/atoms/macros/atomsInstall.sci b/scilab/modules/atoms/macros/atomsInstall.sci
index 3bec35b..2723614 100644
--- a/scilab/modules/atoms/macros/atomsInstall.sci
+++ b/scilab/modules/atoms/macros/atomsInstall.sci
@@ -246,13 +246,13 @@ function result = atomsInstall(packages,section)
246 // ----------------------------------------------------------------- 246 // -----------------------------------------------------------------
247 247
248 if fileinfo( atoms_tmp_directory + "DESCRIPTION_archives" )<>[] then 248 if fileinfo( atoms_tmp_directory + "DESCRIPTION_archives" )<>[] then
249 packages_description = atomsDESCRIPTIONread(atoms_tmp_directory+"DESCRIPTION_archives"); 249 packages_description = atomsDESCRIPTIONread(atomsPath("system","session")+"DESCRIPTION_archives");
250 packages_description = atomsDESCRIPTIONcat(packages_description,this_package_description); 250 packages_description = atomsDESCRIPTIONcat(packages_description,this_package_description);
251 else 251 else
252 packages_description = this_package_description; 252 packages_description = this_package_description;
253 end 253 end
254 254
255 atomsDESCRIPTIONwrite(packages_description,atoms_tmp_directory+"DESCRIPTION_archives"); 255 atomsDESCRIPTIONwrite(packages_description,atomsPath("system","session")+"DESCRIPTION_archives");
256 256
257 // change the packages var 257 // change the packages var
258 // ----------------------------------------------------------------- 258 // -----------------------------------------------------------------
@@ -404,7 +404,7 @@ function result = atomsInstall(packages,section)
404 // Intentionnaly Installed 404 // Intentionnaly Installed
405 this_package_status = "I"; 405 this_package_status = "I";
406 else 406 else
407 // Automaticaly installed 407 // Automatically installed
408 this_package_status = "A"; 408 this_package_status = "A";
409 end 409 end
410 410
@@ -451,24 +451,22 @@ function result = atomsInstall(packages,section)
451 // ===================================================================== 451 // =====================================================================
452 result = [ result ; atomsGetInstalledDetails([this_package_name this_package_version]) ]; 452 result = [ result ; atomsGetInstalledDetails([this_package_name this_package_version]) ];
453 453
454 // "archive" installation : Save the description 454 // Save the description
455 // Needed to remove the toolbox if it's has been removed from the
456 // repository list
455 // ===================================================================== 457 // =====================================================================
456 458
457 if this_package_details("fromRepository")=="0" then 459 DESCRIPTION_file = atoms_system_directory+"DESCRIPTION_installed";
458 460
459 DESCRIPTION_file = atoms_system_directory+"DESCRIPTION_archives"; 461 if isempty(fileinfo(DESCRIPTION_file)) then
460 462 DESCRIPTION = struct();
461 if isempty(fileinfo(atoms_system_directory+"DESCRIPTION_archives")) then 463 else
462 DESCRIPTION = struct(); 464 DESCRIPTION = atomsDESCRIPTIONread(DESCRIPTION_file);
463 else
464 DESCRIPTION = atomsDESCRIPTIONread(DESCRIPTION_file);
465 end
466
467 DESCRIPTION = atomsDESCRIPTIONadd(DESCRIPTION,this_package_name,this_package_version,this_package_details);
468 atomsDESCRIPTIONwrite(DESCRIPTION,DESCRIPTION_file);
469
470 end 465 end
471 466
467 DESCRIPTION = atomsDESCRIPTIONadd(DESCRIPTION,this_package_name,this_package_version,this_package_details);
468 atomsDESCRIPTIONwrite(DESCRIPTION,DESCRIPTION_file);
469
472 // Sucess message if needed 470 // Sucess message if needed
473 // ===================================================================== 471 // =====================================================================
474 atomsDisp(msprintf(" success\n\n")); 472 atomsDisp(msprintf(" success\n\n"));
diff --git a/scilab/modules/atoms/macros/atomsLoad.sci b/scilab/modules/atoms/macros/atomsLoad.sci
index 508281d..76d482d 100644
--- a/scilab/modules/atoms/macros/atomsLoad.sci
+++ b/scilab/modules/atoms/macros/atomsLoad.sci
@@ -335,11 +335,11 @@ function result = atomsLoad(packages)
335 335
336 if ierr > 0 then 336 if ierr > 0 then
337 if ATOMSAUTOLOAD then 337 if ATOMSAUTOLOAD then
338 mprintf(gettext("%s: An error accured while loading ''%s-%s''.\n"),"atomsLoad",this_package_name,this_package_version); 338 mprintf(gettext("%s: An error occurred while loading ''%s-%s''.\n"),"atomsLoad",this_package_name,this_package_version);
339 lasterror(%T); 339 lasterror(%T);
340 continue; 340 continue;
341 else 341 else
342 error(msprintf(gettext("%s: An error accured while loading ''%s-%s''.\n"),"atomsLoad",this_package_name,this_package_version)); 342 error(msprintf(gettext("%s: An error occurred while loading ''%s-%s''.\n"),"atomsLoad",this_package_name,this_package_version));
343 end 343 end
344 end 344 end
345 345
diff --git a/scilab/modules/atoms/macros/atomsRemove.sci b/scilab/modules/atoms/macros/atomsRemove.sci
index 2ec279f..ace2a7b 100644
--- a/scilab/modules/atoms/macros/atomsRemove.sci
+++ b/scilab/modules/atoms/macros/atomsRemove.sci
@@ -195,6 +195,7 @@ function result = atomsRemove(packages,section)
195 this_package_name = remove_package_list(i,3); 195 this_package_name = remove_package_list(i,3);
196 this_package_version = remove_package_list(i,4); 196 this_package_version = remove_package_list(i,4);
197 this_package_section = remove_package_list(i,5); 197 this_package_section = remove_package_list(i,5);
198
198 this_package_details = atomsToolboxDetails([this_package_name this_package_version]); 199 this_package_details = atomsToolboxDetails([this_package_name this_package_version]);
199 this_package_insdet = atomsGetInstalledDetails([this_package_name this_package_version],section); 200 this_package_insdet = atomsGetInstalledDetails([this_package_name this_package_version],section);
200 this_package_directory = this_package_insdet(4); 201 this_package_directory = this_package_insdet(4);
@@ -265,19 +266,15 @@ function result = atomsRemove(packages,section)
265 // ===================================================================== 266 // =====================================================================
266 atomsAutoloadDel([this_package_name this_package_version this_package_section]); 267 atomsAutoloadDel([this_package_name this_package_version this_package_section]);
267 268
268 // "Archive" installation 269 // Remove it from the DESCRIPTION_installed file
269 // ===================================================================== 270 // =====================================================================
270 271
271 if (isfield(this_package_details,"fromRepository")) & (this_package_details("fromRepository") == "0") then 272 DESCRIPTION_file = atomsPath("system",this_package_insdet(3)) + "DESCRIPTION_installed";
272 273
273 DESCRIPTION_file = atomsPath("system",this_package_insdet(3)) + "DESCRIPTION_archives"; 274 if ~ isempty(fileinfo(DESCRIPTION_file)) then
274 275 DESCRIPTION = atomsDESCRIPTIONread(DESCRIPTION_file);
275 if ~ isempty(fileinfo(DESCRIPTION_file)) then 276 DESCRIPTION = atomsDESCRIPTIONrm(DESCRIPTION,this_package_name,this_package_version);
276 DESCRIPTION = atomsDESCRIPTIONread(DESCRIPTION_file); 277 atomsDESCRIPTIONwrite(DESCRIPTION,DESCRIPTION_file);
277 DESCRIPTION = atomsDESCRIPTIONrm(DESCRIPTION,this_package_name,this_package_version);
278 atomsDESCRIPTIONwrite(DESCRIPTION,DESCRIPTION_file);
279 end
280
281 end 278 end
282 279
283 // Del the package from the list of package to remove 280 // Del the package from the list of package to remove
diff --git a/scilab/modules/atoms/macros/atomsSetConfig.sci b/scilab/modules/atoms/macros/atomsSetConfig.sci
index 5d796c6..8842391 100644
--- a/scilab/modules/atoms/macros/atomsSetConfig.sci
+++ b/scilab/modules/atoms/macros/atomsSetConfig.sci
@@ -9,7 +9,7 @@
9 9
10// End user function 10// End user function
11 11
12// Add toolboxes to the list of packages that are automaticaly loaded at Scilab start 12// Add toolboxes to the list of packages that are automatically loaded at Scilab start
13// This function has an impact on the following files : 13// This function has an impact on the following files :
14// -> ATOMSDIR/config 14// -> ATOMSDIR/config
15 15
diff --git a/scilab/modules/atoms/macros/atomsShow.sci b/scilab/modules/atoms/macros/atomsShow.sci
index 4d9f8c0..beaef27 100644
--- a/scilab/modules/atoms/macros/atomsShow.sci
+++ b/scilab/modules/atoms/macros/atomsShow.sci
@@ -92,7 +92,7 @@ function atomsShow(package)
92 fields_map = [ fields_map ; "Status" gettext("Status") ]; 92 fields_map = [ fields_map ; "Status" gettext("Status") ];
93 93
94 if atomsIsInstalled(package) then 94 if atomsIsInstalled(package) then
95 fields_map = [ fields_map ; "InstallAutomaticaly" gettext("Automaticaly Installed")]; 95 fields_map = [ fields_map ; "InstallAutomaticaly" gettext("Automatically Installed")];
96 fields_map = [ fields_map ; "installPath" gettext("Install Directory")]; 96 fields_map = [ fields_map ; "installPath" gettext("Install Directory")];
97 end 97 end
98 98
@@ -120,7 +120,7 @@ function atomsShow(package)
120 end 120 end
121 121
122 // 122 //
123 // Automaticaly Installed ? 123 // Automatically Installed ?
124 // 124 //
125 125
126 if fields_map(i,1)=="InstallAutomaticaly" then 126 if fields_map(i,1)=="InstallAutomaticaly" then
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsAutoloadCheck.sci b/scilab/modules/atoms/macros/atoms_internals/atomsAutoloadCheck.sci
index 41ac7ee..5691059 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsAutoloadCheck.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsAutoloadCheck.sci
@@ -7,7 +7,7 @@
7// are also available at 7// are also available at
8// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt 8// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9 9
10// Add toolboxes to the list of packages that are automaticaly loaded at Scilab start 10// Add toolboxes to the list of packages that are automatically loaded at Scilab start
11// This function has an impact on the following files : 11// This function has an impact on the following files :
12// -> ATOMSDIR/autoloaded 12// -> ATOMSDIR/autoloaded
13 13
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci b/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci
index 9dfbeae..809116a 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci
@@ -92,19 +92,10 @@ function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)
92 end 92 end
93 93
94 description_files = [ .. 94 description_files = [ ..
95 atomsPath("system","allusers") + "DESCRIPTION_archives" "" ; .. 95 atomsPath("system","session") + "DESCRIPTION_archives" "" ; ..
96 atomsPath("system","user") + "DESCRIPTION_archives" "" ; .. 96 atomsPath("system","allusers") + "DESCRIPTION_installed" "" ; ..
97 atomsPath("system","session") + "DESCRIPTION_archives" "" ]; 97 atomsPath("system","user") + "DESCRIPTION_installed" "" ; ..
98 98 atomsPath("system","session") + "DESCRIPTION_installed" "" ];
99 // Add DESCRIPTION files of the installed packages
100 // → Needed when an installed module has been removed from the repository
101 // ---------------------------------------------------------------------
102
103 installedpackages = atomsGetInstalled();
104
105 for i=1:size(installedpackages(:,1),"*")
106 description_files = [description_files; pathconvert(atomsGetInstalledPath(installedpackages(i,1:3))+"/DESCRIPTION",%F) "" ];
107 end
108 99
109 // 1st step : Loop on available repositories 100 // 1st step : Loop on available repositories
110 // --------------------------------------------------------------------- 101 // ---------------------------------------------------------------------
@@ -185,7 +176,7 @@ function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)
185 176
186 // file_out is no more needed, delete it 177 // file_out is no more needed, delete it
187 // but only if it's named TOOLBOXES 178 // but only if it's named TOOLBOXES
188 // DESCRIPTION_archives must be keeped 179 // DESCRIPTION_installed must be keeped
189 // ---------------------------------------- 180 // ----------------------------------------
190 if regexp( file_out , "/TOOLBOXES$/" , "o" ) <> [] then 181 if regexp( file_out , "/TOOLBOXES$/" , "o" ) <> [] then
191 mdelete(file_out); 182 mdelete(file_out);
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONwrite.sci b/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONwrite.sci
index 7808727..d2d96c0 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONwrite.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONwrite.sci
@@ -100,7 +100,16 @@ function atomsDESCRIPTIONwrite(description_in,file_out)
100 continue; 100 continue;
101 end 101 end
102 102
103 str_mat = [ str_mat ; sprintf("%s: %s",this_field,this_value(1)) ]; 103 if (this_field=="Version") & ~isempty(strindex(this_value(1),"-")) then
104 str_mat = [ str_mat ; ..
105 sprintf("Version: %s",part(this_value(1),1:strindex(this_value(1),"-")-1)) ; ..
106 sprintf("PackagingVersion: %s",part(this_value(1),strindex(this_value(1),"-")+1:length(this_value(1)))) ];
107 continue;
108 elseif(this_field=="PackagingVersion")
109 continue;
110 else
111 str_mat = [ str_mat ; sprintf("%s: %s",this_field,this_value(1)) ];
112 end
104 113
105 if size(this_value,"*") == 1 then 114 if size(this_value,"*") == 1 then
106 continue; 115 continue;
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeExt.sci b/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeExt.sci
index 98ca08e..cfb435d 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeExt.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeExt.sci
@@ -123,16 +123,16 @@ function [tree_out,version_out] = atomsDepTreeExt(name,version)
123 // List versions of the dependency we can test 123 // List versions of the dependency we can test
124 124
125 if this_dependency_dir == "=" then 125 if this_dependency_dir == "=" then
126 this_dependency_list = this_dependency_version; 126 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,this_dependency_version,%T,%T);
127 127
128 elseif this_dependency_dir == "~" then 128 elseif this_dependency_dir == "~" then
129 this_dependency_list = atomsGetVersions(this_dependency_name); 129 this_dependency_list = atomsGetVersions(this_dependency_name);
130 130
131 elseif this_dependency_dir == ">=" then 131 elseif this_dependency_dir == ">=" then
132 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version); 132 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,"",%T,%T);
133 133
134 elseif this_dependency_dir == "<=" then 134 elseif this_dependency_dir == "<=" then
135 this_dependency_list = atomsGetVersions(this_dependency_name,"",this_dependency_version); 135 this_dependency_list = atomsGetVersions(this_dependency_name,"",this_dependency_version,%T,%T);
136 136
137 elseif this_dependency_dir == ">" then 137 elseif this_dependency_dir == ">" then
138 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,"",%F,%F); 138 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,"",%F,%F);
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeFlat.sci b/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeFlat.sci
index 1971f42..6175d76 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeFlat.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsDepTreeFlat.sci
@@ -132,16 +132,16 @@ function [tree_out,version_out] = atomsDepTreeFlat(name,version,tree_in)
132 // List versions of the dependency we can test 132 // List versions of the dependency we can test
133 133
134 if this_dependency_dir == "=" then 134 if this_dependency_dir == "=" then
135 this_dependency_list = this_dependency_version; 135 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,this_dependency_version,%T,%T);
136 136
137 elseif this_dependency_dir == "~" then 137 elseif this_dependency_dir == "~" then
138 this_dependency_list = atomsGetVersions(this_dependency_name); 138 this_dependency_list = atomsGetVersions(this_dependency_name);
139 139
140 elseif this_dependency_dir == ">=" then 140 elseif this_dependency_dir == ">=" then
141 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version); 141 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,"",%T,%T);
142 142
143 elseif this_dependency_dir == "<=" then 143 elseif this_dependency_dir == "<=" then
144 this_dependency_list = atomsGetVersions(this_dependency_name,"",this_dependency_version); 144 this_dependency_list = atomsGetVersions(this_dependency_name,"",this_dependency_version,%T,%T);
145 145
146 elseif this_dependency_dir == ">" then 146 elseif this_dependency_dir == ">" then
147 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,"",%F,%F); 147 this_dependency_list = atomsGetVersions(this_dependency_name,this_dependency_version,"",%F,%F);
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsGetVersions.sci b/scilab/modules/atoms/macros/atoms_internals/atomsGetVersions.sci
index 2783a61..ccad019 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsGetVersions.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsGetVersions.sci
@@ -80,22 +80,59 @@ function versions = atomsGetVersions(name,min_version,max_version,min_version_in
80 package_versions = allpackages(name); 80 package_versions = allpackages(name);
81 package_versions_tab = getfield(1,package_versions); 81 package_versions_tab = getfield(1,package_versions);
82 package_versions_tab(1:2) = []; 82 package_versions_tab(1:2) = [];
83 package_versions_tab = package_versions_tab';
84
85 without_packaging_ver = [];
86
87 for i=1:size(package_versions_tab,"*")
88 if ~ isempty(strindex(package_versions_tab(i),"-")) then
89 without_packaging_ver = [ without_packaging_ver ; part(package_versions_tab(i),1:strindex(package_versions_tab(i),"-")-1) ];
90 else
91 without_packaging_ver = [ without_packaging_ver ; package_versions_tab(i) ];
92 end
93 end
83 94
84 // Delete out of bounds versions 95 // Delete out of bounds versions
85 // ========================================================================= 96 // =========================================================================
86 97
87 if max_version_included then 98 if isempty(strindex(max_version,"-")) then
88 package_versions_tab(find(atomsVersionCompare(package_versions_tab,max_version) > 0)) = []; 99 // max_version doesn't contain a packaging version
100 if max_version_included then
101 indexToDel = find(atomsVersionCompare(without_packaging_ver,max_version) > 0);
102 else
103 indexToDel = find(atomsVersionCompare(without_packaging_ver,max_version) >= 0);
104 end
89 else 105 else
90 package_versions_tab(find(atomsVersionCompare(package_versions_tab,max_version) >= 0)) = []; 106 // max_version contains a packaging version
107 if max_version_included then
108 indexToDel = find(atomsVersionCompare(package_versions_tab,max_version) > 0);
109 else
110 indexToDel = find(atomsVersionCompare(package_versions_tab,max_version) >= 0);
111 end
91 end 112 end
92 113
93 if min_version_included then 114 package_versions_tab(indexToDel,:) = [];
94 package_versions_tab(find(atomsVersionCompare(package_versions_tab,min_version) < 0)) = []; 115 without_packaging_ver(indexToDel) = [];
116
117 if isempty(strindex(min_version,"-")) then
118 // min_version doesn't contain a packaging version
119 if min_version_included then
120 indexToDel = find(atomsVersionCompare(without_packaging_ver,min_version) < 0)
121 else
122 indexToDel = find(atomsVersionCompare(without_packaging_ver,min_version) <= 0)
123 end
95 else 124 else
96 package_versions_tab(find(atomsVersionCompare(package_versions_tab,min_version) <= 0)) = []; 125 // min_version contains a packaging version
126 if min_version_included then
127 indexToDel = find(atomsVersionCompare(package_versions_tab,min_version) < 0)
128 else
129 indexToDel = find(atomsVersionCompare(package_versions_tab,min_version) <= 0)
130 end
97 end 131 end
98 132
133 package_versions_tab(indexToDel,:) = [];
134 without_packaging_ver(indexToDel) = [];
135
99 // Sort the version matrix 136 // Sort the version matrix
100 // ========================================================================= 137 // =========================================================================
101 versions = atomsVersionSort(package_versions_tab,"DESC"); 138 versions = atomsVersionSort(package_versions_tab,"DESC");
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsInstallList.sci b/scilab/modules/atoms/macros/atoms_internals/atomsInstallList.sci
index 5ddac2f..f6c3cc0 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsInstallList.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsInstallList.sci
@@ -132,7 +132,7 @@ function [insList,depTree] = atomsInstallList(packages,section)
132 depTree = atomsCatTree( depTree , tree ); 132 depTree = atomsCatTree( depTree , tree );
133 end 133 end
134 134
135 // Add a field to detect later if it's the toolbox is automaticaly installed 135 // Add a field to detect later if it's the toolbox is automatically installed
136 // or if it's a user choice 136 // or if it's a user choice
137 // ========================================================================= 137 // =========================================================================
138 138
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsRepositorySetOfl.sci b/scilab/modules/atoms/macros/atoms_internals/atomsRepositorySetOfl.sci
index 6bd9ed6..289c540 100644
--- a/scilab/modules/atoms/macros/atoms_internals/atomsRepositorySetOfl.sci
+++ b/scilab/modules/atoms/macros/atoms_internals/atomsRepositorySetOfl.sci
@@ -13,9 +13,6 @@
13 13
14function atomsRepositorySetOfl(url) 14function atomsRepositorySetOfl(url)
15 15
16
17
18
19 // Check number of input arguments 16 // Check number of input arguments
20 // ========================================================================= 17 // =========================================================================
21 rhs = argn(2); 18 rhs = argn(2);
@@ -44,4 +41,8 @@ function atomsRepositorySetOfl(url)
44 // ========================================================================= 41 // =========================================================================
45 mputl(url,pathconvert(SCI+"/modules/atoms/etc/repositories",%F)); 42 mputl(url,pathconvert(SCI+"/modules/atoms/etc/repositories",%F));
46 43
44 // Update the toolbox list
45 // =========================================================================
46 atomsSystemUpdate();
47
47endfunction 48endfunction
diff --git a/scilab/modules/atoms/macros/atoms_internals/atomsSetOfficialRep.sci b/scilab/modules/atoms/macros/atoms_internals/atomsSetOfficialRep.sci
deleted file mode 100644
index 7ab35b6..0000000
--- a/scilab/modules/atoms/macros/atoms_internals/atomsSetOfficialRep.sci
+++ /dev/null
@@ -1,44 +0,0 @@
1// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
3//
4// This file must be used under the terms of the CeCILL.
5// This source file is licensed as described in the file COPYING, which
6// you should have received as part of this distribution. The terms
7// are also available at
8// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10// Internal function
11
12// Add an URL to the list of repositories, and returns
13
14function atomsRepositorySetOfl(url)
15
16 // Check number of input arguments
17 // =========================================================================
18 rhs = argn(2);
19 if rhs <> 1 then
20 error(msprintf(gettext("%s: Wrong number of input argument: %d to %d expected.\n"),"atomsRepositorySetOfl",1));
21 end
22
23 // Check URLs specified as first input argument
24 // =========================================================================
25
26 if type(url) <> 10 then
27 error(msprintf(gettext("%s: Wrong type for input argument #%d: Single String expected.\n"),"atomsRepositorySetOfl",1));
28 end
29
30 if size(url,"*") <> 1 then
31 error(msprintf(gettext("%s: Wrong size for input argument #%d: Single String expected.\n"),"atomsRepositorySetOfl",1));
32 end
33
34 valid_url_pattern = "/^((((H|h)(T|t)|(F|f))(T|t)(P|p)((S|s)?))\:\/\/)?(www.|[a-zA-Z0-9].)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,6}(\:[0-9]{1,5})*(\/($|[a-zA-Z0-9\.\,\;\?\''\\\+&amp;%\$#\=~_\-]+))*$/";
35
36 if ~ regexp(url,valid_url_pattern,"o") == 1 then
37 error(msprintf(gettext("%s: Wrong value for input argument #%d: ''%s'' is not a valid URL.\n"),"atomsRepositorySetOfl",1,url));
38 end
39
40 // Overwrite "repositories" file
41 // =========================================================================
42 mputl(url,pathconvert(SCI+"/modules/atoms/etc/repositories",%F));
43
44endfunction
diff --git a/scilab/modules/atoms/tests/nonreg_tests/bug_5359.tst b/scilab/modules/atoms/tests/nonreg_tests/bug_5359.tst
index 1974270..7e027be 100644
--- a/scilab/modules/atoms/tests/nonreg_tests/bug_5359.tst
+++ b/scilab/modules/atoms/tests/nonreg_tests/bug_5359.tst
@@ -19,7 +19,7 @@
19 19
20load("SCI/modules/atoms/macros/atoms_internals/lib"); 20load("SCI/modules/atoms/macros/atoms_internals/lib");
21 21
22atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org"); 22atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
23atomsSystemUpdate(); 23atomsSystemUpdate();
24if ~atomsIsInstalled("toolbox_1") then pause, end 24if ~atomsIsInstalled("toolbox_1") then pause, end
25 25
diff --git a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.dia.ref b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.dia.ref
index 60f6e25..8b3fad3 100644
--- a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.dia.ref
+++ b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.dia.ref
@@ -15,9 +15,8 @@ config_autoload = atomsGetConfig("autoloadAddAfterInstall");
15config_Verbose = atomsGetConfig("Verbose"); 15config_Verbose = atomsGetConfig("Verbose");
16atomsSetConfig("autoloadAddAfterInstall","False"); 16atomsSetConfig("autoloadAddAfterInstall","False");
17atomsSetConfig("Verbose" ,"False"); 17atomsSetConfig("Verbose" ,"False");
18// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt 18// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
19atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org"); 19atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
20atomsSystemUpdate();
21// 1st test case 20// 1st test case
22// ============================================================================= 21// =============================================================================
23// Install toolbox_5 in the user section 22// Install toolbox_5 in the user section
@@ -34,9 +33,9 @@ if atomsAutoloadAdd("toolbox_4" ,"user") <> 0 then bugmes();quit;e
34if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"user") <> 1 then bugmes();quit;end 33if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"user") <> 1 then bugmes();quit;end
35if atomsAutoloadAdd(["toolbox_2" "1.0" "user"],"user") <> 0 then bugmes();quit;end 34if atomsAutoloadAdd(["toolbox_2" "1.0" "user"],"user") <> 0 then bugmes();quit;end
36if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then bugmes();quit;end 35if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then bugmes();quit;end
37ref = ["toolbox_5" "1.0" "user" "user" ; .. 36ref = ["toolbox_5" "1.0-1" "user" "user" ; ..
38 "toolbox_4" "1.0" "user" "user" ; .. 37 "toolbox_4" "1.0-1" "user" "user" ; ..
39 "toolbox_2" "1.0" "user" "user"]; 38 "toolbox_2" "1.0-1" "user" "user"];
40if or(atomsAutoloadList()<>ref) then bugmes();quit;end 39if or(atomsAutoloadList()<>ref) then bugmes();quit;end
41atomsRemove("toolbox_5"); 40atomsRemove("toolbox_5");
42// no module should be installed 41// no module should be installed
@@ -58,9 +57,9 @@ if atomsAutoloadAdd("toolbox_4" ,"allusers") <> 0 then bugmes(
58if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"allusers") <> 1 then bugmes();quit;end 57if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"allusers") <> 1 then bugmes();quit;end
59if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"allusers") <> 0 then bugmes();quit;end 58if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"allusers") <> 0 then bugmes();quit;end
60if atomsAutoloadAdd("toolbox_2" ,"allusers") <> 0 then bugmes();quit;end 59if atomsAutoloadAdd("toolbox_2" ,"allusers") <> 0 then bugmes();quit;end
61ref = ["toolbox_5" "1.0" "allusers" "allusers" ; .. 60ref = ["toolbox_5" "1.0-1" "allusers" "allusers" ; ..
62 "toolbox_4" "1.0" "allusers" "allusers" ; .. 61 "toolbox_4" "1.0-1" "allusers" "allusers" ; ..
63 "toolbox_2" "1.0" "allusers" "allusers"]; 62 "toolbox_2" "1.0-1" "allusers" "allusers"];
64if or(atomsAutoloadList()<>ref) then bugmes();quit;end 63if or(atomsAutoloadList()<>ref) then bugmes();quit;end
65atomsAutoloadDel( ["toolbox_5";"toolbox_4";"toolbox_2"] ); 64atomsAutoloadDel( ["toolbox_5";"toolbox_4";"toolbox_2"] );
66if ~isempty( atomsAutoloadList() ) then bugmes();quit;end 65if ~isempty( atomsAutoloadList() ) then bugmes();quit;end
@@ -73,9 +72,9 @@ if atomsAutoloadAdd("toolbox_4" ,"user") <> 0 then bugmes();qu
73if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"user") <> 1 then bugmes();quit;end 72if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"user") <> 1 then bugmes();quit;end
74if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"user") <> 0 then bugmes();quit;end 73if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"user") <> 0 then bugmes();quit;end
75if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then bugmes();quit;end 74if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then bugmes();quit;end
76ref = ["toolbox_5" "1.0" "allusers" "user" ; .. 75ref = ["toolbox_5" "1.0-1" "allusers" "user" ; ..
77 "toolbox_4" "1.0" "allusers" "user" ; .. 76 "toolbox_4" "1.0-1" "allusers" "user" ; ..
78 "toolbox_2" "1.0" "allusers" "user"]; 77 "toolbox_2" "1.0-1" "allusers" "user"];
79if or(atomsAutoloadList()<>ref) then bugmes();quit;end 78if or(atomsAutoloadList()<>ref) then bugmes();quit;end
80atomsAutoloadDel( ["toolbox_5";"toolbox_4";"toolbox_2"] ); 79atomsAutoloadDel( ["toolbox_5";"toolbox_4";"toolbox_2"] );
81if ~isempty( atomsAutoloadList() ) then bugmes();quit;end 80if ~isempty( atomsAutoloadList() ) then bugmes();quit;end
@@ -88,9 +87,9 @@ if atomsAutoloadAdd("toolbox_4" ) <> 0 then bugmes();quit;end
88if atomsAutoloadAdd(["toolbox_2" "1.0"] ) <> 1 then bugmes();quit;end 87if atomsAutoloadAdd(["toolbox_2" "1.0"] ) <> 1 then bugmes();quit;end
89if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"]) <> 0 then bugmes();quit;end 88if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"]) <> 0 then bugmes();quit;end
90if atomsAutoloadAdd("toolbox_2" ) <> 0 then bugmes();quit;end 89if atomsAutoloadAdd("toolbox_2" ) <> 0 then bugmes();quit;end
91ref = ["toolbox_5" "1.0" "allusers" "allusers" ; .. 90ref = ["toolbox_5" "1.0-1" "allusers" "allusers" ; ..
92 "toolbox_4" "1.0" "allusers" "allusers" ; .. 91 "toolbox_4" "1.0-1" "allusers" "allusers" ; ..
93 "toolbox_2" "1.0" "allusers" "allusers"]; 92 "toolbox_2" "1.0-1" "allusers" "allusers"];
94if or(atomsAutoloadList()<>ref) then bugmes();quit;end 93if or(atomsAutoloadList()<>ref) then bugmes();quit;end
95atomsRemove("toolbox_5"); 94atomsRemove("toolbox_5");
96// no module should be installed 95// no module should be installed
diff --git a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.tst b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.tst
index 9803d7a..9adb4e4 100644
--- a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.tst
+++ b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.tst
@@ -20,9 +20,8 @@ config_Verbose = atomsGetConfig("Verbose");
20atomsSetConfig("autoloadAddAfterInstall","False"); 20atomsSetConfig("autoloadAddAfterInstall","False");
21atomsSetConfig("Verbose" ,"False"); 21atomsSetConfig("Verbose" ,"False");
22 22
23// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt 23// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
24atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org"); 24atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
25atomsSystemUpdate();
26 25
27// 1st test case 26// 1st test case
28// ============================================================================= 27// =============================================================================
@@ -46,9 +45,9 @@ if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"user") <> 1 then pause, end
46if atomsAutoloadAdd(["toolbox_2" "1.0" "user"],"user") <> 0 then pause, end 45if atomsAutoloadAdd(["toolbox_2" "1.0" "user"],"user") <> 0 then pause, end
47if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then pause, end 46if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then pause, end
48 47
49ref = ["toolbox_5" "1.0" "user" "user" ; .. 48ref = ["toolbox_5" "1.0-1" "user" "user" ; ..
50 "toolbox_4" "1.0" "user" "user" ; .. 49 "toolbox_4" "1.0-1" "user" "user" ; ..
51 "toolbox_2" "1.0" "user" "user"]; 50 "toolbox_2" "1.0-1" "user" "user"];
52 51
53 52
54if or(atomsAutoloadList()<>ref) then pause, end 53if or(atomsAutoloadList()<>ref) then pause, end
@@ -82,9 +81,9 @@ if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"allusers") <> 1 then pause,
82if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"allusers") <> 0 then pause, end 81if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"allusers") <> 0 then pause, end
83if atomsAutoloadAdd("toolbox_2" ,"allusers") <> 0 then pause, end 82if atomsAutoloadAdd("toolbox_2" ,"allusers") <> 0 then pause, end
84 83
85ref = ["toolbox_5" "1.0" "allusers" "allusers" ; .. 84ref = ["toolbox_5" "1.0-1" "allusers" "allusers" ; ..
86 "toolbox_4" "1.0" "allusers" "allusers" ; .. 85 "toolbox_4" "1.0-1" "allusers" "allusers" ; ..
87 "toolbox_2" "1.0" "allusers" "allusers"]; 86 "toolbox_2" "1.0-1" "allusers" "allusers"];
88 87
89if or(atomsAutoloadList()<>ref) then pause, end 88if or(atomsAutoloadList()<>ref) then pause, end
90 89
@@ -103,9 +102,9 @@ if atomsAutoloadAdd(["toolbox_2" "1.0"] ,"user") <> 1 then pause, end
103if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"user") <> 0 then pause, end 102if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"],"user") <> 0 then pause, end
104if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then pause, end 103if atomsAutoloadAdd("toolbox_2" ,"user") <> 0 then pause, end
105 104
106ref = ["toolbox_5" "1.0" "allusers" "user" ; .. 105ref = ["toolbox_5" "1.0-1" "allusers" "user" ; ..
107 "toolbox_4" "1.0" "allusers" "user" ; .. 106 "toolbox_4" "1.0-1" "allusers" "user" ; ..
108 "toolbox_2" "1.0" "allusers" "user"]; 107 "toolbox_2" "1.0-1" "allusers" "user"];
109 108
110if or(atomsAutoloadList()<>ref) then pause, end 109if or(atomsAutoloadList()<>ref) then pause, end
111 110
@@ -125,9 +124,9 @@ if atomsAutoloadAdd(["toolbox_2" "1.0"] ) <> 1 then pause, end
125if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"]) <> 0 then pause, end 124if atomsAutoloadAdd(["toolbox_2" "1.0" "allusers"]) <> 0 then pause, end
126if atomsAutoloadAdd("toolbox_2" ) <> 0 then pause, end 125if atomsAutoloadAdd("toolbox_2" ) <> 0 then pause, end
127 126
128ref = ["toolbox_5" "1.0" "allusers" "allusers" ; .. 127ref = ["toolbox_5" "1.0-1" "allusers" "allusers" ; ..
129 "toolbox_4" "1.0" "allusers" "allusers" ; .. 128 "toolbox_4" "1.0-1" "allusers" "allusers" ; ..
130 "toolbox_2" "1.0" "allusers" "allusers"]; 129 "toolbox_2" "1.0-1" "allusers" "allusers"];
131 130
132if or(atomsAutoloadList()<>ref) then pause, end 131if or(atomsAutoloadList()<>ref) then pause, end
133 132
diff --git a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.dia.ref b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.dia.ref
index 090078a..0cbdc70 100644
--- a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.dia.ref
+++ b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.dia.ref
@@ -15,9 +15,8 @@ config_autoload = atomsGetConfig("autoloadAddAfterInstall");
15config_Verbose = atomsGetConfig("Verbose"); 15config_Verbose = atomsGetConfig("Verbose");
16atomsSetConfig("autoloadAddAfterInstall","False"); 16atomsSetConfig("autoloadAddAfterInstall","False");
17atomsSetConfig("Verbose" ,"False"); 17atomsSetConfig("Verbose" ,"False");
18// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt 18// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
19atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org"); 19atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
20atomsSystemUpdate();
21// 1st test case 20// 1st test case
22// ============================================================================= 21// =============================================================================
23// Install toolbox_5 in both user and allusers sections 22// Install toolbox_5 in both user and allusers sections
@@ -30,13 +29,13 @@ if atomsAutoloadAdd(["toolbox_4" "1.0" "user"] ,"user") <> 1 then bugmes();qu
30if atomsAutoloadAdd(["toolbox_2" "1.0" "user"] ,"user") <> 1 then bugmes();quit;end 29if atomsAutoloadAdd(["toolbox_2" "1.0" "user"] ,"user") <> 1 then bugmes();quit;end
31if atomsAutoloadAdd(["toolbox_1" "1.0" "user"] ,"user") <> 1 then bugmes();quit;end 30if atomsAutoloadAdd(["toolbox_1" "1.0" "user"] ,"user") <> 1 then bugmes();quit;end
32if atomsAutoloadDel("toolbox_5" ,"user") <> 1 then bugmes();quit;end 31if atomsAutoloadDel("toolbox_5" ,"user") <> 1 then bugmes();quit;end
33if atomsAutoloadDel(["toolbox_5" "1.0"] ,"user") <> 0 then bugmes();quit;end 32if atomsAutoloadDel(["toolbox_5" "1.0-1"] ,"user") <> 0 then bugmes();quit;end
34if atomsAutoloadDel(["toolbox_5" "1.0" "user"] ,"user") <> 0 then bugmes();quit;end 33if atomsAutoloadDel(["toolbox_5" "1.0-1" "user"] ,"user") <> 0 then bugmes();quit;end
35if atomsAutoloadDel(["toolbox_4" "1.0" "user"] ,"user") <> 1 then bugmes();quit;end 34if atomsAutoloadDel(["toolbox_4" "1.0-1" "user"] ,"user") <> 1 then bugmes();quit;end
36if atomsAutoloadDel(["toolbox_4" "1.0"] ,"user") <> 0 then bugmes();quit;end 35if atomsAutoloadDel(["toolbox_4" "1.0-1"] ,"user") <> 0 then bugmes();quit;end
37if atomsAutoloadDel("toolbox_4" ,"user") <> 0 then bugmes();quit;end 36if atomsAutoloadDel("toolbox_4" ,"user") <> 0 then bugmes();quit;end
38if atomsAutoloadDel(["toolbox_2" "1.0"] ,"user") <> 1 then bugmes();quit;end 37if atomsAutoloadDel(["toolbox_2" "1.0-1"] ,"user") <> 1 then bugmes();quit;end
39if atomsAutoloadDel(["toolbox_2" "1.0" "user"] ,"user") <> 0 then bugmes();quit;end 38if atomsAutoloadDel(["toolbox_2" "1.0-1" "user"] ,"user") <> 0 then bugmes();quit;end
40if atomsAutoloadDel("toolbox_2" ,"user") <> 0 then bugmes();quit;end 39if atomsAutoloadDel("toolbox_2" ,"user") <> 0 then bugmes();quit;end
41if atomsAutoloadDel("toolbox_1") <> 1 then bugmes();quit;end 40if atomsAutoloadDel("toolbox_1") <> 1 then bugmes();quit;end
42if ~isempty( atomsAutoloadList() ) then bugmes();quit;end 41if ~isempty( atomsAutoloadList() ) then bugmes();quit;end
@@ -56,13 +55,13 @@ if atomsAutoloadAdd(["toolbox_5" "1.0" "allusers" ; ..
56 "toolbox_2" "1.0" "allusers" ; .. 55 "toolbox_2" "1.0" "allusers" ; ..
57 "toolbox_1" "1.0" "allusers" ] ,"allusers") <> 4 then bugmes();quit;end 56 "toolbox_1" "1.0" "allusers" ] ,"allusers") <> 4 then bugmes();quit;end
58if atomsAutoloadDel("toolbox_5" ,"allusers") <> 1 then bugmes();quit;end 57if atomsAutoloadDel("toolbox_5" ,"allusers") <> 1 then bugmes();quit;end
59if atomsAutoloadDel(["toolbox_5" "1.0"] ,"allusers") <> 0 then bugmes();quit;end 58if atomsAutoloadDel(["toolbox_5" "1.0-1"] ,"allusers") <> 0 then bugmes();quit;end
60if atomsAutoloadDel(["toolbox_5" "1.0" "allusers"] ,"allusers") <> 0 then bugmes();quit;end 59if atomsAutoloadDel(["toolbox_5" "1.0-1" "allusers"] ,"allusers") <> 0 then bugmes();quit;end
61if atomsAutoloadDel(["toolbox_4" "1.0" "allusers"] ,"allusers") <> 1 then bugmes();quit;end 60if atomsAutoloadDel(["toolbox_4" "1.0-1" "allusers"] ,"allusers") <> 1 then bugmes();quit;end
62if atomsAutoloadDel(["toolbox_4" "1.0"] ,"allusers") <> 0 then bugmes();quit;end 61if atomsAutoloadDel(["toolbox_4" "1.0-1"] ,"allusers") <> 0 then bugmes();quit;end
63if atomsAutoloadDel("toolbox_4" ,"allusers") <> 0 then bugmes();quit;end 62if atomsAutoloadDel("toolbox_4" ,"allusers") <> 0 then bugmes();quit;end
64if atomsAutoloadDel(["toolbox_2" "1.0"] ,"allusers") <> 1 then bugmes();quit;end 63if atomsAutoloadDel(["toolbox_2" "1.0-1"] ,"allusers") <> 1 then bugmes();quit;end
65if atomsAutoloadDel(["toolbox_2" "1.0" "allusers"] ,"allusers") <> 0 then bugmes();quit;end 64if atomsAutoloadDel(["toolbox_2" "1.0-1" "allusers"] ,"allusers") <> 0 then bugmes();quit;end
66if atomsAutoloadDel("toolbox_2" ,"allusers") <> 0 then bugmes();quit;end 65if atomsAutoloadDel("toolbox_2" ,"allusers") <> 0 then bugmes();quit;end
67if atomsAutoloadDel("toolbox_1") <> 1 then bugmes();quit;end 66if atomsAutoloadDel("toolbox_1") <> 1 then bugmes();quit;end
68if ~isempty( atomsAutoloadList() ) then bugmes();quit;end 67if ~isempty( atomsAutoloadList() ) then bugmes();quit;end
diff --git a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.tst b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.tst
index 3c23db9..5b01313 100644
--- a/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.tst
+++ b/scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.tst
@@ -20,9 +20,8 @@ config_Verbose = atomsGetConfig("Verbose");
20atomsSetConfig("autoloadAddAfterInstall","False"); 20atomsSetConfig("autoloadAddAfterInstall","False");
21atomsSetConfig("Verbose" ,"False"); 21atomsSetConfig("Verbose" ,"False");
22 22
23// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt 23// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
24atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org"); 24atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
25atomsSystemUpdate();
26 25
27// 1st test case 26// 1st test case
28// ============================================================================= 27// =============================================================================
@@ -40,15 +39,15 @@ if atomsAutoloadAdd(["toolbox_2" "1.0" "user"] ,"user") <> 1 then pause, end
40if atomsAutoloadAdd(["toolbox_1" "1.0" "user"] ,"user") <> 1 then pause, end 39if atomsAutoloadAdd(["toolbox_1" "1.0" "user"] ,"user") <> 1 then pause, end
41 40
42if atomsAutoloadDel("toolbox_5" ,"user") <> 1 then pause, end 41if atomsAutoloadDel("toolbox_5" ,"user") <> 1 then pause, end
43if atomsAutoloadDel(["toolbox_5" "1.0"] ,"user") <> 0 then pause, end 42if atomsAutoloadDel(["toolbox_5" "1.0-1"] ,"user") <> 0 then pause, end
44if atomsAutoloadDel(["toolbox_5" "1.0" "user"] ,"user") <> 0 then pause, end 43if atomsAutoloadDel(["toolbox_5" "1.0-1" "user"] ,"user") <> 0 then pause, end
45 44
46if atomsAutoloadDel(["toolbox_4" "1.0" "user"] ,"user") <> 1 then pause, end 45if atomsAutoloadDel(["toolbox_4" "1.0-1" "user"] ,"user") <> 1 then pause, end
47if atomsAutoloadDel(["toolbox_4" "1.0"] ,"user") <> 0 then pause, end 46if atomsAutoloadDel(["toolbox_4" "1.0-1"] ,"user") <> 0 then pause, end
48if atomsAutoloadDel("toolbox_4" ,"user") <> 0 then pause, end 47if atomsAutoloadDel("toolbox_4" ,"user") <> 0 then pause, end
49 48
50if atomsAutoloadDel(["toolbox_2" "1.0"] ,"user") <> 1 then pause, end 49if atomsAutoloadDel(["toolbox_2" "1.0-1"] ,"user") <> 1 then pause, end
51if atomsAutoloadDel(["toolbox_2" "1.0" "user"] ,"user") <> 0 then pause, end