summaryrefslogtreecommitdiffstats
path: root/scilab/modules
diff options
context:
space:
mode:
authorSylvestre Ledru <sylvestre.ledru@scilab.org>2008-11-19 17:09:48 +0100
committerSylvestre Ledru <sylvestre.ledru@scilab.org>2008-11-19 17:09:48 +0100
commit6a740bfbe519ea2853ab6a976c9cbbb193fc8040 (patch)
tree736c575d14c5292be9ce16230a60a379ec21e8d8 /scilab/modules
parentb4811a7cc382dd59168609c1313f27f73c607e59 (diff)
parentd7560e72c50f8fc0a8a395a588f09b7880f61586 (diff)
downloadscilab-6a740bfbe519ea2853ab6a976c9cbbb193fc8040.zip
scilab-6a740bfbe519ea2853ab6a976c9cbbb193fc8040.tar.gz
Merge branch 'master' of git@git.scilab.org:scilab into atoms
Diffstat (limited to 'scilab/modules')
-rw-r--r--scilab/modules/Makefile.am2
-rw-r--r--scilab/modules/Makefile.in8
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f4
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f5
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f3
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f6
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f4
-rw-r--r--scilab/modules/core/includes/realmain.h1
-rw-r--r--scilab/modules/core/includes/scimem.h1
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_exists.f3
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_intppty.f3
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_mode.f4
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f4
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_useascommand.f3
-rw-r--r--scilab/modules/core/src/fortran/allops.f3
-rw-r--r--scilab/modules/core/src/fortran/copyvar.f3
-rw-r--r--scilab/modules/core/src/fortran/createref.f3
-rw-r--r--scilab/modules/core/src/fortran/fact.f4
-rw-r--r--scilab/modules/core/src/fortran/hmcreate.f4
-rw-r--r--scilab/modules/core/src/fortran/misops.f3
-rw-r--r--scilab/modules/core/src/fortran/nextj.f4
-rw-r--r--scilab/modules/core/src/fortran/ref2val.f3
-rw-r--r--scilab/modules/core/src/fortran/stack.f3
-rw-r--r--scilab/modules/core/src/fortran/stackc2i.f3
-rw-r--r--scilab/modules/core/src/fortran/stacki2d.f3
-rw-r--r--scilab/modules/core/src/fortran/stackr2d.f3
-rw-r--r--scilab/modules/core/src/fortran/varfunptr.f3
-rw-r--r--scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f3
-rw-r--r--scilab/modules/dynamic_link/macros/configure_msifort.sci61
-rw-r--r--scilab/modules/dynamic_link/macros/detectmsifort64tools.sci11
-rw-r--r--scilab/modules/dynamic_link/macros/findmsifortcompiler.sci12
-rw-r--r--scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst30
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f3
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f3
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f5
-rw-r--r--scilab/modules/graphics/includes/GetProperty.h2
-rw-r--r--scilab/modules/graphics/includes/Interaction.h19
-rw-r--r--scilab/modules/graphics/includes/ObjectStructure.h2
-rw-r--r--scilab/modules/graphics/includes/SetProperty.h3
-rw-r--r--scilab/modules/graphics/includes/axesScale.h15
-rw-r--r--scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c6
-rw-r--r--scilab/modules/graphics/src/c/BuildObjects.c3
-rw-r--r--scilab/modules/graphics/src/c/DestroyObjects.c2
-rw-r--r--scilab/modules/graphics/src/c/GetProperty.c24
-rw-r--r--scilab/modules/graphics/src/c/InitObjects.c21
-rw-r--r--scilab/modules/graphics/src/c/Interaction.c123
-rw-r--r--scilab/modules/graphics/src/c/SetProperty.c90
-rw-r--r--scilab/modules/graphics/src/c/axesScale.c100
-rw-r--r--scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c23
-rw-r--r--scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c2
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst35
-rw-r--r--scilab/modules/gui/macros/figure.sci43
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java39
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java45
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java2
-rw-r--r--scilab/modules/io/help/en_US/get_absolute_file_path.xml7
-rw-r--r--scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c53
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intdeff.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intdisp.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intgetf.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intprint.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/oldloadsave.f6
-rw-r--r--scilab/modules/io/src/fortran/newsave.f21
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref7
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3075.tst4
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref4
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3427.tst4
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref22
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3775.tst27
-rw-r--r--scilab/modules/io/tests/unit_tests/get_absolute_file_path.dia.ref10
-rw-r--r--scilab/modules/io/tests/unit_tests/get_absolute_file_path.tst12
-rw-r--r--scilab/modules/linear_algebra/src/fortran/complexify.f3
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6bandred.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6bmatch.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6busack.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6cent.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6chcm.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6clique.f3
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6clique1.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6compc.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6compfc.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6concom.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6deumesh.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs2.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6diam.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dijkst.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dmtree.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6edge2st.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6findiso.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6flomax.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6floqua.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ford.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6fordfulk.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6frang.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6hamil.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6hullcvex.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6johns.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6kilter.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6knapsk.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6loadg.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tad.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tau.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6mesh2b.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6meshmesh.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ns2p.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6p2ns.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6pcchna.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6permuto.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6prevn2p.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6prevn2st.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6prfmatch.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6relax.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6saveg.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6sconcom.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ta2lpd.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ta2lpu.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6tconex.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6transc.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6umtree.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6umtree1.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6visitor.f4
-rw-r--r--scilab/modules/optimization/Makefile.am3
-rw-r--r--scilab/modules/optimization/Makefile.in14
-rw-r--r--scilab/modules/optimization/includes/gw_optim.h1
-rw-r--r--scilab/modules/optimization/sci_gateway/c/sci_qld.c142
-rw-r--r--scilab/modules/optimization/src/c/intqld.c158
-rw-r--r--scilab/modules/optimization/src/c/intqld.h30
-rw-r--r--scilab/modules/optimization/src/c/optimization.vcproj8
-rw-r--r--scilab/modules/optimization/tests/nonreg_tests/bug_3770.dia.ref154
-rw-r--r--scilab/modules/optimization/tests/nonreg_tests/bug_3770.tst187
-rw-r--r--scilab/modules/polynomials/sci_gateway/fortran/sci_f_simp.f5
-rw-r--r--scilab/modules/renderer/graphics_Import.def5
-rw-r--r--scilab/modules/renderer/includes/GetJavaProperty.h13
-rw-r--r--scilab/modules/renderer/includes/JavaInteraction.h36
-rw-r--r--scilab/modules/renderer/src/cpp/GetJavaProperty.cpp10
-rw-r--r--scilab/modules/renderer/src/cpp/JavaInteraction.cpp34
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigure.cpp26
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigure.h36
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureBridge.h37
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJavaMapper.cpp47
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJavaMapper.hxx10
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJoGL.cpp28
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJoGL.h36
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/FigureScilabCall.cpp81
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/FigureScilabCall.h8
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwin.cpp15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwin.h16
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinBridge.h15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJavaMapper.cpp15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJavaMapper.hxx6
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJoGL.cpp15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJoGL.h15
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/figureDrawing/DrawableFigureGL.java57
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/figureDrawing/RendererProperties.java2
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/jni/FigureScilabCall.java47
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/jni/FigureScilabCallJNI.java6
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/subwinDrawing/DrawableSubwinGL.java25
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/GraphicEvent.java70
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/GraphicEventManager.java96
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/InteractiveRotationEvent.java118
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/InteractiveSubwinRotationEvent.java45
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/InteractiveZoomEvent.java75
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/SubwinUnzoomEvent.java49
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/selection/RubberBox.java56
-rw-r--r--scilab/modules/renderer/src/jni/DrawableFigureGL.cpp100
-rw-r--r--scilab/modules/renderer/src/jni/DrawableFigureGL.giws.xml10
-rw-r--r--scilab/modules/renderer/src/jni/DrawableFigureGL.hxx17
-rw-r--r--scilab/modules/renderer/src/jni/DrawableSubwinGL.cpp51
-rw-r--r--scilab/modules/renderer/src/jni/DrawableSubwinGL.giws.xml9
-rw-r--r--scilab/modules/renderer/src/jni/DrawableSubwinGL.hxx9
-rw-r--r--scilab/modules/renderer/src/jni/FigureScilabCall.i46
-rw-r--r--scilab/modules/renderer/src/jni/FigureScilabCall_wrap.c88
-rw-r--r--scilab/modules/scicos/sci_gateway/fortran/sci_tree2.f3
-rw-r--r--scilab/modules/scicos/sci_gateway/fortran/sci_tree3.f3
-rw-r--r--scilab/modules/scicos/sci_gateway/fortran/sci_tree4.f3
-rw-r--r--scilab/modules/shell/src/c/others/mainscic.c3
-rw-r--r--scilab/modules/sound/Makefile.am12
-rw-r--r--scilab/modules/sound/Makefile.in64
-rw-r--r--scilab/modules/sound/help/en_US/loadwave.xml57
-rw-r--r--scilab/modules/sound/help/en_US/savewave.xml51
-rw-r--r--scilab/modules/sound/help/en_US/wavread.xml97
-rw-r--r--scilab/modules/sound/help/en_US/wavwrite.xml92
-rw-r--r--scilab/modules/sound/includes/gw_sound.h2
-rw-r--r--scilab/modules/sound/license.txt14
-rw-r--r--scilab/modules/sound/license;txt3
-rw-r--r--scilab/modules/sound/macros/loadwave.sci48
-rw-r--r--scilab/modules/sound/macros/savewave.sci250
-rw-r--r--scilab/modules/sound/macros/wavread.sci232
-rw-r--r--scilab/modules/sound/macros/wavwrite.sci26
-rw-r--r--scilab/modules/sound/sci_gateway/c/gw_sound.c2
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_PlaySound.c99
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_beep.c2
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_loadwave.c75
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_savewave.c59
-rw-r--r--scilab/modules/sound/sci_gateway/sound_gateway.xml7
-rw-r--r--scilab/modules/sound/sound.vcproj45
-rw-r--r--scilab/modules/sound/src/c/raw.c274
-rw-r--r--scilab/modules/sound/src/c/sizes.h28
-rw-r--r--scilab/modules/sound/src/c/sox.c302
-rw-r--r--scilab/modules/sound/src/c/sox.h22
-rw-r--r--scilab/modules/sound/src/c/st.h272
-rw-r--r--scilab/modules/sound/src/c/styles.h24
-rw-r--r--scilab/modules/sound/src/c/wav.c497
-rw-r--r--scilab/modules/sound/src/c/wav.h46
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_141.dia.ref3
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1609.dia.ref17
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1609.tst20
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1926.dia.ref40
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1926.tst49
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1926.wavbin0 -> 22096 bytes
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_600.tst4
-rw-r--r--scilab/modules/sound/tests/unit_tests/playsnd.dia.ref3
-rw-r--r--scilab/modules/sound/tests/unit_tests/savewave.dia.ref9
-rw-r--r--scilab/modules/sound/tests/unit_tests/sound.dia.ref18
-rw-r--r--scilab/modules/sound/tests/unit_tests/sound.tst4
-rw-r--r--scilab/modules/sound/tests/unit_tests/wavwrite.dia.ref10
-rw-r--r--scilab/modules/sound/tests/unit_tests/wavwrite.tst11
-rw-r--r--scilab/modules/sparse/src/fortran/intreadmps.f3
-rw-r--r--scilab/modules/sparse/src/fortran/mycmatptr.f1
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_calerf.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_dlgamma.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_gamma.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_lgamma.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbesseli.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbesselj.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbesselk.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbessely.f3
228 files changed, 3273 insertions, 3050 deletions
diff --git a/scilab/modules/Makefile.am b/scilab/modules/Makefile.am
index c2374e2..aabe43d 100644
--- a/scilab/modules/Makefile.am
+++ b/scilab/modules/Makefile.am
@@ -20,10 +20,10 @@ history_manager \
20fileio \ 20fileio \
21spreadsheet \ 21spreadsheet \
22tclsci \ 22tclsci \
23localization \
23renderer \ 24renderer \
24shell \ 25shell \
25completion \ 26completion \
26localization \
27console \ 27console \
28graphic_export \ 28graphic_export \
29gui \ 29gui \
diff --git a/scilab/modules/Makefile.in b/scilab/modules/Makefile.in
index f499f38..a82e0c3 100644
--- a/scilab/modules/Makefile.in
+++ b/scilab/modules/Makefile.in
@@ -130,8 +130,8 @@ ETAGS = etags
130CTAGS = ctags 130CTAGS = ctags
131DIST_SUBDIRS = core output_stream action_binding arnoldi \ 131DIST_SUBDIRS = core output_stream action_binding arnoldi \
132 elementary_functions string dynamic_link history_manager \ 132 elementary_functions string dynamic_link history_manager \
133 fileio spreadsheet tclsci renderer shell completion \ 133 fileio spreadsheet tclsci localization renderer shell \
134 localization console graphic_export gui jvm graphics \ 134 completion console graphic_export gui jvm graphics \
135 optimization symbolic randlib statistics special_functions \ 135 optimization symbolic randlib statistics special_functions \
136 interpolation linear_algebra integer data_structures mexlib \ 136 interpolation linear_algebra integer data_structures mexlib \
137 differential_equations cacsd polynomials boolean double pvm io \ 137 differential_equations cacsd polynomials boolean double pvm io \
@@ -339,8 +339,8 @@ top_srcdir = @top_srcdir@
339# since it already linked almost the whole world 339# since it already linked almost the whole world
340SUBDIRS = core output_stream action_binding arnoldi \ 340SUBDIRS = core output_stream action_binding arnoldi \
341 elementary_functions string dynamic_link history_manager \ 341 elementary_functions string dynamic_link history_manager \
342 fileio spreadsheet tclsci renderer shell completion \ 342 fileio spreadsheet tclsci localization renderer shell \
343 localization console graphic_export gui jvm graphics \ 343 completion console graphic_export gui jvm graphics \
344 optimization symbolic randlib statistics special_functions \ 344 optimization symbolic randlib statistics special_functions \
345 interpolation linear_algebra integer data_structures mexlib \ 345 interpolation linear_algebra integer data_structures mexlib \
346 differential_equations cacsd polynomials boolean double pvm io \ 346 differential_equations cacsd polynomials boolean double pvm io \
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f
index 4d85d7e..d8b1e7b 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f
@@ -14,10 +14,6 @@ c Copyright INRIA
14 INCLUDE 'stack.h' 14 INCLUDE 'stack.h'
15c 15c
16 character*(*) fname 16 character*(*) fname
17 integer iadr,sadr
18
19 sadr(l)=(l/2)+1
20 iadr(l)=l+l-1
21 17
22c obsolete 18c obsolete
23c call macro for emulation 19c call macro for emulation
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f
index db7052f..eb890ee 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f
@@ -13,11 +13,6 @@ c --------------------------
13 INCLUDE 'stack.h' 13 INCLUDE 'stack.h'
14c 14c
15 character*(*) fname 15 character*(*) fname
16 integer iadr,sadr
17
18 sadr(l)=(l/2)+1
19 iadr(l)=l+l-1
20
21c osolete 16c osolete
22c call macro for emulation 17c call macro for emulation
23 call cvname(ids(1,pt+1),'gspec',0) 18 call cvname(ids(1,pt+1),'gspec',0)
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f
index b90521e..01f0af9 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f
@@ -750,10 +750,9 @@ C *** Last line of LINMEQ ***
750 include 'stack.h' 750 include 'stack.h'
751 integer pos 751 integer pos
752c 752c
753 integer iadr,sadr 753 integer iadr
754c 754c
755 iadr(l)=l+l-1 755 iadr(l)=l+l-1
756 sadr(l)=(l/2)+1
757c 756c
758 il=iadr(lstk(pos + top - rhs)) 757 il=iadr(lstk(pos + top - rhs))
759 if (istk(il).lt.0) il=iadr(istk(il+2)) 758 if (istk(il).lt.0) il=iadr(istk(il+2))
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f
index d090c36..5383567 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f
@@ -11,11 +11,7 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 11
12 include 'stack.h' 12 include 'stack.h'
13 character*(*) fname 13 character*(*) fname
14 integer iadr,sadr 14
15c
16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c
19 call cvname(ids(1,pt+1),'lyap',0) 15 call cvname(ids(1,pt+1),'lyap',0)
20 fun=-1 16 fun=-1
21c 17c
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f
index ecae2ff..fbf55c6 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f
@@ -11,10 +11,6 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 11
12 include 'stack.h' 12 include 'stack.h'
13 character*(*) fname 13 character*(*) fname
14 integer iadr,sadr
15c
16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c 14c
19 call cvname(ids(1,pt+1),'sylv',0) 15 call cvname(ids(1,pt+1),'sylv',0)
20 fun=-1 16 fun=-1
diff --git a/scilab/modules/core/includes/realmain.h b/scilab/modules/core/includes/realmain.h
index ee9799b..fb9457a 100644
--- a/scilab/modules/core/includes/realmain.h
+++ b/scilab/modules/core/includes/realmain.h
@@ -19,7 +19,6 @@
19#include <Windows.h> 19#include <Windows.h>
20#endif 20#endif
21 21
22#include "stack-c.h"
23#include "version.h" 22#include "version.h"
24 23
25/** 24/**
diff --git a/scilab/modules/core/includes/scimem.h b/scilab/modules/core/includes/scimem.h
index 20d1fb4..a190d2c 100644
--- a/scilab/modules/core/includes/scimem.h
+++ b/scilab/modules/core/includes/scimem.h
@@ -13,6 +13,7 @@
13#ifndef __SCIMEM_H__ 13#ifndef __SCIMEM_H__
14#define __SCIMEM_H__ 14#define __SCIMEM_H__
15 15
16#include "machine.h" /* C2F */
16 17
17int C2F(scimem)(int *n, int *ptr); 18int C2F(scimem)(int *n, int *ptr);
18int C2F(scigmem)(int *n, int *ptr); 19int C2F(scigmem)(int *n, int *ptr);
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_exists.f b/scilab/modules/core/sci_gateway/fortran/sci_exists.f
index 07243d7..41eb4fc 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_exists.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_exists.f
@@ -15,14 +15,13 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
15 logical checkrhs,checklhs,cremat,getsmat,checkval,crebmat 15 logical checkrhs,checklhs,cremat,getsmat,checkval,crebmat
16 integer flag 16 integer flag
17 integer local,nolocal 17 integer local,nolocal
18 integer iadr,sadr 18 integer iadr
19c 19c
20 data local/21/ 20 data local/21/
21 data nolocal/23/ 21 data nolocal/23/
22 data all/10/ 22 data all/10/
23c 23c
24 iadr(l)=l+l-1 24 iadr(l)=l+l-1
25 sadr(l)=(l/2)+1
26c 25c
27 topk=top 26 topk=top
28 27
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_intppty.f b/scilab/modules/core/sci_gateway/fortran/sci_intppty.f
index c277c7f..82a8672 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_intppty.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_intppty.f
@@ -13,11 +13,10 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
13 parameter (mxbyptr=40) 13 parameter (mxbyptr=40)
14 integer byptr(mxbyptr),nbyptr 14 integer byptr(mxbyptr),nbyptr
15 common /ippty/ byptr,nbyptr 15 common /ippty/ byptr,nbyptr
16 integer iadr,sadr 16 integer iadr
17c 17c
18c 18c
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21c 20c
22 rhs=max(0,rhs) 21 rhs=max(0,rhs)
23 if(.not.checkrhs('intppty',0,1)) return 22 if(.not.checkrhs('intppty',0,1)) return
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_mode.f b/scilab/modules/core/sci_gateway/fortran/sci_mode.f
index ec96698..78f9329 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_mode.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_mode.f
@@ -10,10 +10,6 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 include 'stack.h' 10 include 'stack.h'
11 integer cmode,topk 11 integer cmode,topk
12 logical checkrhs,checklhs,getscalar,cremat 12 logical checkrhs,checklhs,getscalar,cremat
13 integer iadr,sadr
14c
15 iadr(l)=l+l-1
16 sadr(l)=(l/2)+1
17c 13c
18 rhs=max(rhs,0) 14 rhs=max(rhs,0)
19 if(.not.checklhs('mode',1,1)) return 15 if(.not.checklhs('mode',1,1)) return
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f b/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f
index 0b1cd1e..bd4f3c9 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f
@@ -12,10 +12,6 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
12 integer offset 12 integer offset
13 logical checkrhs,checklhs,crebmat,getbmat,checkval 13 logical checkrhs,checklhs,crebmat,getbmat,checkval
14 common /mtlbc/ mmode 14 common /mtlbc/ mmode
15 integer iadr,sadr
16c
17 iadr(l)=l+l-1
18 sadr(l)=(l/2)+1
19c 15c
20 rhs=max(rhs,0) 16 rhs=max(rhs,0)
21c 17c
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f b/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f
index 27c8ea4..4fc3b76 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f
@@ -11,13 +11,12 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 include 'stack.h' 11 include 'stack.h'
12 logical checkrhs,checklhs,cremat,getscalar,getsmat,checkval 12 logical checkrhs,checklhs,cremat,getscalar,getsmat,checkval
13 integer topk,id(nsiz) 13 integer topk,id(nsiz)
14 integer iadr,sadr 14 integer iadr
15 character*1 opt 15 character*1 opt
16 character*(*) fname 16 character*(*) fname
17c 17c
18c 18c
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21c 20c
22 rhs=max(0,rhs) 21 rhs=max(0,rhs)
23 if(.not.checkrhs(fname,1,2)) return 22 if(.not.checkrhs(fname,1,2)) return
diff --git a/scilab/modules/core/src/fortran/allops.f b/scilab/modules/core/src/fortran/allops.f
index 738e406..0bcf291 100644
--- a/scilab/modules/core/src/fortran/allops.f
+++ b/scilab/modules/core/src/fortran/allops.f
@@ -14,12 +14,11 @@ c ======================================================================
14 include 'stack.h' 14 include 'stack.h'
15 integer ogettype, vt,vt1,id(nsiz),r,op,extrac,bl(nsiz) 15 integer ogettype, vt,vt1,id(nsiz),r,op,extrac,bl(nsiz)
16 logical compil,ptover 16 logical compil,ptover
17 integer iadr,sadr 17 integer iadr
18 18
19 data extrac/3/,bl/nsiz*673720360/ 19 data extrac/3/,bl/nsiz*673720360/
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23 22
24 r=0 23 r=0
25 if(pt.gt.0) r=rstk(pt) 24 if(pt.gt.0) r=rstk(pt)
diff --git a/scilab/modules/core/src/fortran/copyvar.f b/scilab/modules/core/src/fortran/copyvar.f
index fa48e67..6698cfc 100644
--- a/scilab/modules/core/src/fortran/copyvar.f
+++ b/scilab/modules/core/src/fortran/copyvar.f
@@ -19,10 +19,9 @@ c sz : memory size used by the variable (in stk words)
19c on return top is incremented 19c on return top is incremented
20 integer il,sz 20 integer il,sz
21c 21c
22 integer iadr,sadr 22 integer sadr
23c 23c
24c 24c
25 iadr(l)=l+l-1
26 sadr(l)=(l/2)+1 25 sadr(l)=(l/2)+1
27c 26c
28 top=top+1 27 top=top+1
diff --git a/scilab/modules/core/src/fortran/createref.f b/scilab/modules/core/src/fortran/createref.f
index 4cd4898..347c72a 100644
--- a/scilab/modules/core/src/fortran/createref.f
+++ b/scilab/modules/core/src/fortran/createref.f
@@ -10,10 +10,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 subroutine createref1(topk) 10 subroutine createref1(topk)
11 include 'stack.h' 11 include 'stack.h'
12 integer topk,sz 12 integer topk,sz
13 integer iadr,sadr 13 integer iadr
14c 14c
15 iadr(l)=l+l-1 15 iadr(l)=l+l-1
16 sadr(l)=(l/2)+1
17c 16c
18 call createref(iadr(lstk(topk)),topk,lstk(topk+1)-lstk(topk)) 17 call createref(iadr(lstk(topk)),topk,lstk(topk+1)-lstk(topk))
19 end 18 end
diff --git a/scilab/modules/core/src/fortran/fact.f b/scilab/modules/core/src/fortran/fact.f
index ad6db59..541d5e0 100644
--- a/scilab/modules/core/src/fortran/fact.f
+++ b/scilab/modules/core/src/fortran/fact.f
@@ -33,9 +33,7 @@ c
33 data minus/46/,plus/45/ 33 data minus/46/,plus/45/
34 data num/0/,name/1/,cmt/2/ 34 data num/0/,name/1/,cmt/2/
35 data cconc/1/,extrac/3/,rconc/4/ 35 data cconc/1/,extrac/3/,rconc/4/
36c 36
37 iadr(l)=l+l-1
38c
39 r = rstk(pt) 37 r = rstk(pt)
40c 38c
41 if (ddt .eq. 4) then 39 if (ddt .eq. 4) then
diff --git a/scilab/modules/core/src/fortran/hmcreate.f b/scilab/modules/core/src/fortran/hmcreate.f
index 9ea95e8..2eeb6ca 100644
--- a/scilab/modules/core/src/fortran/hmcreate.f
+++ b/scilab/modules/core/src/fortran/hmcreate.f
@@ -138,10 +138,6 @@ c entries
138c 138c
139 integer ivt(*),l 139 integer ivt(*),l
140 character*(*) job 140 character*(*) job
141 integer iadr,sadr
142c
143 iadr(l)=l+l-1
144 sadr(l)=(l/2)+1
145c 141c
146 if(job.eq.'size') then 142 if(job.eq.'size') then
147c size of the data structure 143c size of the data structure
diff --git a/scilab/modules/core/src/fortran/misops.f b/scilab/modules/core/src/fortran/misops.f
index 7c3f770..b87e7db 100644
--- a/scilab/modules/core/src/fortran/misops.f
+++ b/scilab/modules/core/src/fortran/misops.f
@@ -12,12 +12,11 @@ c operations sur les types secondaires (macros librairies...)
12c ============================================================= 12c =============================================================
13 include 'stack.h' 13 include 'stack.h'
14c 14c
15 integer iadr,sadr,op,rhs1,r 15 integer iadr,op,rhs1,r
16 integer equal,less,great,insert,extrac 16 integer equal,less,great,insert,extrac
17 data equal/50/,less/59/,great/60/,insert/2/,extrac/3/ 17 data equal/50/,less/59/,great/60/,insert/2/,extrac/3/
18c 18c
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21c 20c
22 r=0 21 r=0
23 if(pt.gt.0) r=rstk(pt) 22 if(pt.gt.0) r=rstk(pt)
diff --git a/scilab/modules/core/src/fortran/nextj.f b/scilab/modules/core/src/fortran/nextj.f
index 81a9862..6abe176 100644
--- a/scilab/modules/core/src/fortran/nextj.f
+++ b/scilab/modules/core/src/fortran/nextj.f
@@ -22,12 +22,8 @@ c
22 logical eqid 22 logical eqid
23 logical getmat,cremat,smatj,lmatj,getsmat,getilist,getpoly,pmatj 23 logical getmat,cremat,smatj,lmatj,getsmat,getilist,getpoly,pmatj
24c 24c
25 integer iadr,sadr
26 data semi/43/ 25 data semi/43/
27c 26c
28 iadr(l)=l+l-1
29 sadr(l)=(l/2)+1
30c
31 if (ddt .eq. 4) then 27 if (ddt .eq. 4) then
32 write(buf(1:4),'(i4)') j 28 write(buf(1:4),'(i4)') j
33 call cvname(id,buf(5:4+nsiz*4),1) 29 call cvname(id,buf(5:4+nsiz*4),1)
diff --git a/scilab/modules/core/src/fortran/ref2val.f b/scilab/modules/core/src/fortran/ref2val.f
index 5d42fa6..43af060 100644
--- a/scilab/modules/core/src/fortran/ref2val.f
+++ b/scilab/modules/core/src/fortran/ref2val.f
@@ -11,10 +11,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 INCLUDE 'stack.h' 11 INCLUDE 'stack.h'
12 integer vol,topk,volk 12 integer vol,topk,volk
13 logical ref 13 logical ref
14 integer iadr,sadr 14 integer iadr
15c 15c
16 iadr(l)=l+l-1 16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c 17c
19 18
20 if(rhs.le.0.or.top.lt.rhs) return 19 if(rhs.le.0.or.top.lt.rhs) return
diff --git a/scilab/modules/core/src/fortran/stack.f b/scilab/modules/core/src/fortran/stack.f
index ae19c37..ab9eae4 100644
--- a/scilab/modules/core/src/fortran/stack.f
+++ b/scilab/modules/core/src/fortran/stack.f
@@ -86,11 +86,10 @@ c ====================================================================
86 include 'stack.h' 86 include 'stack.h'
87 integer offset 87 integer offset
88 integer l 88 integer l
89 integer iadr,sadr 89 integer iadr
90 logical eqid 90 logical eqid
91c 91c
92 iadr(l)=l+l-1 92 iadr(l)=l+l-1
93 sadr(l)=(l/2)+1
94 93
95 offset=offset+1 94 offset=offset+1
96 call unsfdcopy(l,stk(lstk(isiz+2)),1,stk(offset),1) 95 call unsfdcopy(l,stk(lstk(isiz+2)),1,stk(offset),1)
diff --git a/scilab/modules/core/src/fortran/stackc2i.f b/scilab/modules/core/src/fortran/stackc2i.f
index 18c3c53..3023b1e 100644
--- a/scilab/modules/core/src/fortran/stackc2i.f
+++ b/scilab/modules/core/src/fortran/stackc2i.f
@@ -14,8 +14,7 @@ c to integer and overlapping region
14c =============================== 14c ===============================
15 include 'stack.h' 15 include 'stack.h'
16 integer n,sl1,il1 16 integer n,sl1,il1
17 integer iadr,cadr 17 integer cadr
18 iadr(l)=l+l-1
19 cadr(l)=l+l+l+l-3 18 cadr(l)=l+l+l+l-3
20 if((sl1+n-1).ge.cadr(il1+n-1)) then 19 if((sl1+n-1).ge.cadr(il1+n-1)) then
21 call cvstr(n,istk(il1),cstk(sl1:sl1+n),0) 20 call cvstr(n,istk(il1),cstk(sl1:sl1+n),0)
diff --git a/scilab/modules/core/src/fortran/stacki2d.f b/scilab/modules/core/src/fortran/stacki2d.f
index 88f6851..fd9d2d5 100644
--- a/scilab/modules/core/src/fortran/stacki2d.f
+++ b/scilab/modules/core/src/fortran/stacki2d.f
@@ -30,9 +30,8 @@ c are not scratched and then from n-1 to p
30c =============================== 30c ===============================
31 include 'stack.h' 31 include 'stack.h'
32 integer n,il1,dl1 32 integer n,il1,dl1
33 integer iadr,sadr 33 integer iadr
34 iadr(l)=l+l-1 34 iadr(l)=l+l-1
35 sadr(l)=(l/2)+1
36 if((il1+n-1).ge.iadr(dl1+n-1)) then 35 if((il1+n-1).ge.iadr(dl1+n-1)) then
37 call int2db(n,istk(il1),1,stk(dl1),1) 36 call int2db(n,istk(il1),1,stk(dl1),1)
38 elseif(il1.le.iadr(dl1)) then 37 elseif(il1.le.iadr(dl1)) then
diff --git a/scilab/modules/core/src/fortran/stackr2d.f b/scilab/modules/core/src/fortran/stackr2d.f
index 93e2335..3499093 100644
--- a/scilab/modules/core/src/fortran/stackr2d.f
+++ b/scilab/modules/core/src/fortran/stackr2d.f
@@ -15,9 +15,8 @@ c to double
15c =============================== 15c ===============================
16 include 'stack.h' 16 include 'stack.h'
17 integer n,sl1,dl1 17 integer n,sl1,dl1
18 integer iadr,sadr 18 integer iadr
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21 if((sl1+n-1).ge.iadr(dl1+n-1)) then 20 if((sl1+n-1).ge.iadr(dl1+n-1)) then
22 call rea2db(n,istk(sl1),1,stk(dl1),1) 21 call rea2db(n,istk(sl1),1,stk(dl1),1)
23 elseif(sl1.le.iadr(dl1)) then 22 elseif(sl1.le.iadr(dl1)) then
diff --git a/scilab/modules/core/src/fortran/varfunptr.f b/scilab/modules/core/src/fortran/varfunptr.f
index 7f3d22b..bb28730 100644
--- a/scilab/modules/core/src/fortran/varfunptr.f
+++ b/scilab/modules/core/src/fortran/varfunptr.f
@@ -40,11 +40,10 @@ c compilation [27]
40 40
41 subroutine isafunptr(k,id,ffun,ffin) 41 subroutine isafunptr(k,id,ffun,ffin)
42 include 'stack.h' 42 include 'stack.h'
43 integer iadr,sadr 43 integer iadr
44 integer id(*),ffun,ffin 44 integer id(*),ffun,ffin
45 45
46 iadr(l)=l+l-1 46 iadr(l)=l+l-1
47 sadr(l)=(l/2)+1
48 47
49 ffun=0 48 ffun=0
50 ffin=0 49 ffin=0
diff --git a/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f b/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f
index 1b63841..bcd7dd9 100644
--- a/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f
+++ b/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f
@@ -11,10 +11,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 integer typs,topk 11 integer typs,topk
12 logical eptover 12 logical eptover
13c 13c
14 integer iadr,sadr 14 integer iadr
15c 15c
16 iadr(l)=l+l-1 16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c 17c
19 if (rhs .ne. 3) then 18 if (rhs .ne. 3) then
20 call error(39) 19 call error(39)
diff --git a/scilab/modules/dynamic_link/macros/configure_msifort.sci b/scilab/modules/dynamic_link/macros/configure_msifort.sci
index 5924316..16316e4 100644
--- a/scilab/modules/dynamic_link/macros/configure_msifort.sci
+++ b/scilab/modules/dynamic_link/macros/configure_msifort.sci
@@ -20,12 +20,58 @@ function ifpath = getIFpath(ifversion)
20 ifpath = getenv('IFORT_COMPILER9',''); 20 ifpath = getenv('IFORT_COMPILER9','');
21 case 'ifort10' then 21 case 'ifort10' then
22 ifpath = getenv('IFORT_COMPILER10',''); 22 ifpath = getenv('IFORT_COMPILER10','');
23 case 'ifort11' then
24 ifpath = getenv('IFORT_COMPILER11','');
23 else 25 else
24 ifpath = ''; 26 ifpath = '';
25 end 27 end
26endfunction 28endfunction
27//========================================== 29//==========================================
28function bOK = set_commons_msifort(ifpath,machinepath) 30function bOK = set_commons_msifort11(ifpath,machinepath)
31 // intel fortran directories changed with version 11
32 bOK = %F;
33 ENV_PATH = getenv('PATH','');
34 // example set PATH=%IFORT_COMPILER11%\Bin\intel64;
35 PATH_TO_ADD = ifpath + 'bin' + filesep() + machinepath;
36 if isdir(PATH_TO_ADD) then
37 ENV_PATH = PATH_TO_ADD + pathsep() + ENV_PATH;
38 err = setenv('PATH',ENV_PATH);
39 if (err == %F) then bOK = %F,return,end
40 bOK = %T;
41 else
42 bOK = %F;
43 return;
44 end
45
46 // example set INCLUDE=%IFORT_COMPILER11%\include\intel64;
47 ENV_INCLUDE = getenv('INCLUDE','');
48 PATH_TO_ADD = ifpath + 'include' + filesep() + machinepath;
49 if isdir(PATH_TO_ADD) then
50 ENV_INCLUDE = PATH_TO_ADD + pathsep() + ENV_INCLUDE;
51 err = setenv('INCLUDE',ENV_INCLUDE);
52 if (err == %F) then bOK = %F,return,end
53 bOK = %T;
54 else
55 bOK = %F;
56 return;
57 end
58
59 // example set LIB=%IFORT_COMPILER10%\lib\intel64;
60 ENV_LIB = getenv('LIB','');
61 PATH_TO_ADD = ifpath + 'lib' + filesep() + machinepath;
62 if isdir(PATH_TO_ADD) then
63 ENV_LIB = PATH_TO_ADD + pathsep() + ENV_LIB;
64 err = setenv('LIB',ENV_LIB);
65 if (err == %F) then bOK = %F,return,end
66 bOK = %T;
67 else
68 bOK = %F;
69 return;
70 end
71
72endfunction
73//==========================================
74function bOK = set_commons_msi9and10(ifpath,machinepath)
29 bOK = %F; 75 bOK = %F;
30 76
31 // example set PATH=%IFORT_COMPILER10%\EM64T\Bin; 77 // example set PATH=%IFORT_COMPILER10%\EM64T\Bin;
@@ -69,7 +115,6 @@ function bOK = set_commons_msifort(ifpath,machinepath)
69 115
70endfunction 116endfunction
71//========================================== 117//==========================================
72
73 bOK = %F; 118 bOK = %F;
74 if MSDOS then 119 if MSDOS then
75 ifortcompiler = findmsifortcompiler(); 120 ifortcompiler = findmsifortcompiler();
@@ -77,9 +122,17 @@ endfunction
77 if_path = getIFpath(ifortcompiler); 122 if_path = getIFpath(ifortcompiler);
78 123
79 if win64() & detectmsifort64tools() then 124 if win64() & detectmsifort64tools() then
80 set_commons_msifort(if_path,'EM64T'); 125 if ifortcompiler == 'ifort11' then
126 set_commons_msifort11(if_path,'intel64');
127 else
128 set_commons_msi9and10(if_path,'EM64T');
129 end
81 else 130 else
82 set_commons_msifort(if_path,'IA32'); 131 if ifortcompiler == 'ifort11' then
132 set_commons_msifort11(if_path,'ia32');
133 else
134 set_commons_msi9and10(if_path,'IA32');;
135 end
83 end 136 end
84 137
85 end 138 end
diff --git a/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci b/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci
index bb33b14..94bb77e 100644
--- a/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci
+++ b/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci
@@ -19,6 +19,9 @@ function bOK = detectmsifort64tools()
19 if ifortcomp <> 'unknown' then 19 if ifortcomp <> 'unknown' then
20 select ifortcomp, 20 select ifortcomp,
21 21
22 case 'ifort11' then
23 IFORTPATH = getenv('IFORT_COMPILER11','');
24
22 case 'ifort10' then 25 case 'ifort10' then
23 IFORTPATH = getenv('IFORT_COMPILER10',''); 26 IFORTPATH = getenv('IFORT_COMPILER10','');
24 27
@@ -28,7 +31,7 @@ function bOK = detectmsifort64tools()
28 else 31 else
29 show = displayWarningmsifort(); 32 show = displayWarningmsifort();
30 if show then 33 if show then
31 TXT = gettext('Intel Fortran Comiler 9 or 10 Compiler not found.'); 34 TXT = gettext('Intel Fortran Comiler 9, 10 or 11 Compiler not found.');
32 warning(TXT); 35 warning(TXT);
33 clear TXT; 36 clear TXT;
34 disableWarningmsifort(); 37 disableWarningmsifort();
@@ -38,7 +41,11 @@ function bOK = detectmsifort64tools()
38 end 41 end
39 end 42 end
40 43
41 IFORTSPATHEMT64 = IFORTPATH + 'em64t'; 44 if (ifortcomp == 'ifort11') then
45 IFORTSPATHEMT64 = IFORTPATH + 'lib\intel64';
46 else
47 IFORTSPATHEMT64 = IFORTPATH + 'em64t';
48 end
42 49
43 if isdir(IFORTSPATHEMT64) then 50 if isdir(IFORTSPATHEMT64) then
44 bOK = %T; 51 bOK = %T;
diff --git a/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci b/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci
index 3d63d01..9002a35 100644
--- a/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci
+++ b/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci
@@ -14,11 +14,15 @@ function ifortCompiler = findmsifortcompiler()
14 ifortCompiler='unknown'; // unknown 14 ifortCompiler='unknown'; // unknown
15 15
16 if MSDOS then 16 if MSDOS then
17 if getenv('IFORT_COMPILER10','NOK') <> 'NOK' then 17 if getenv('IFORT_COMPILER11','NOK') <> 'NOK' then
18 ifortCompiler='ifort10'; 18 ifortCompiler='ifort11';
19 else 19 else
20 if getenv('IFORT_COMPILER9','NOK') <> 'NOK' then 20 if getenv('IFORT_COMPILER10','NOK') <> 'NOK' then
21 ifortCompiler='ifort9'; 21 ifortCompiler='ifort10';
22 else
23 if getenv('IFORT_COMPILER9','NOK') <> 'NOK' then
24 ifortCompiler='ifort9';
25 end
22 end 26 end
23 end 27 end
24 else // NOT MSDOS 28 else // NOT MSDOS
diff --git a/scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst b/scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst
new file mode 100644
index 0000000..8d68084
--- /dev/null
+++ b/scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst
@@ -0,0 +1,30 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008 - DIGITEO - Allan CORNET
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- ENGLISH IMPOSED -->
9
10// <-- Non-regression test for bug 3647 -->
11//
12// <-- Bugzilla URL -->
13// http://bugzilla.scilab.org/show_bug.cgi?id=3769
14//
15// <-- Short Description -->
16// Dynamic link doesn't detect intel fortran compiler version 11 on Windows
17
18// <-- INTERACTIVE TEST -->
19
20// On Windows Only
21// Please be sure that you have installed Intel fortran 11
22// launch scilab
23//
24
25r = findmsifortcompiler();
26if r <> ifort11 then pause,end
27
28// And checks that others tests about dynamic link work
29
30//================================================
diff --git a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f
index 8ae5a0a..4090769 100644
--- a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f
+++ b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f
@@ -11,10 +11,9 @@ c
11 INCLUDE 'stack.h' 11 INCLUDE 'stack.h'
12 integer id(nsiz) 12 integer id(nsiz)
13 13
14 integer iadr,sadr 14 integer iadr
15c 15c
16 iadr(l)=l+l-1 16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18 17
19 fun=-1 18 fun=-1
20 il=iadr(lstk(top-rhs+1)) 19 il=iadr(lstk(top-rhs+1))
diff --git a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f
index 6fa7760..63076f9 100644
--- a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f
+++ b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f
@@ -43,9 +43,8 @@ c LOCAL VAR
43 character*9 fname 43 character*9 fname
44 44
45c STATEMENT FUNC 45c STATEMENT FUNC
46 integer l, iadr,sadr 46 integer l, iadr
47 iadr(l)=l+l-1 47 iadr(l)=l+l-1
48 sadr(l)=(l/2)+1
49 48
50c TEXT 49c TEXT
51 fname = 'dsearch' 50 fname = 'dsearch'
diff --git a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f
index 8970bc1..368cfc3 100644
--- a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f
+++ b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f
@@ -9,9 +9,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txtc ----------------
9c 9c
10 subroutine intrand(fname,id) 10 subroutine intrand(fname,id)
11c ------------------------------- 11c -------------------------------
12 character*(*) fname
13c Interface for rand function 12c Interface for rand function
14 INCLUDE 'stack.h' 13 INCLUDE 'stack.h'
14 character*(*) fname
15 double precision s,sr,si,r 15 double precision s,sr,si,r
16 save si, r 16 save si, r
17 integer id(nsiz),tops,topk,name(nlgh) 17 integer id(nsiz),tops,topk,name(nlgh)
@@ -22,11 +22,10 @@ c Interface for rand function
22 character*(20) randtype 22 character*(20) randtype
23 logical phase 23 logical phase
24 save phase 24 save phase
25 integer iadr,sadr
26 data phase /.true./ 25 data phase /.true./
26 integer iadr
27c 27c
28 iadr(l)=l+l-1 28 iadr(l)=l+l-1
29 sadr(l)=(l/2)+1
30c 29c
31 rhs=max(0,rhs) 30 rhs=max(0,rhs)
32 if (.not.checklhs(fname,1,1)) return 31 if (.not.checklhs(fname,1,1)) return
diff --git a/scilab/modules/graphics/includes/GetProperty.h b/scilab/modules/graphics/includes/GetProperty.h
index a62fd72..b406317 100644
--- a/scilab/modules/graphics/includes/GetProperty.h
+++ b/scilab/modules/graphics/includes/GetProperty.h
@@ -179,7 +179,7 @@ void sciGetGridStyle( sciPointObj * pObj, int * xStyle, int * yStyle, int * zSty
179 179
180void sciGetViewport( sciPointObj * pObj, int viewport[4] ); 180void sciGetViewport( sciPointObj * pObj, int viewport[4] );
181 181
182char * sciGetInfoMessage( sciPointObj * pObj ) ; 182void sciGetInfoMessage( sciPointObj * pObj, char * infoMessage ) ;
183 183
184int sciGetInfoMessageLength( sciPointObj * pObj ) ; 184int sciGetInfoMessageLength( sciPointObj * pObj ) ;
185 185
diff --git a/scilab/modules/graphics/includes/Interaction.h b/scilab/modules/graphics/includes/Interaction.h
index ad9cf14..858e26a 100644
--- a/scilab/modules/graphics/includes/Interaction.h
+++ b/scilab/modules/graphics/includes/Interaction.h
@@ -53,13 +53,12 @@ int Objmove(sciPointObj * pobj, double d[], int m, BOOL opt); /* INTERACTION */
53 * @param pFigure figure on which to apply the rubber box 53 * @param pFigure figure on which to apply the rubber box
54 * @param isClick specify whether the rubber box is selected by mouse click 54 * @param isClick specify whether the rubber box is selected by mouse click
55 * or a sequence of press/release. 55 * or a sequence of press/release.
56 * @param isZoom specify if the rubber box is used for a zoom and then change the mouse cursor.
57 * @param intialRect if not null, specify the initial rectangle to use 56 * @param intialRect if not null, specify the initial rectangle to use
58 * @param[out] endRect array containing the coordinates of two opposite corners of 57 * @param[out] endRect array containing the coordinates of two opposite corners of
59 * the rubber box 58 * the rubber box
60 * @param[out] usedButton Scilab code of the button used to terminate the rubber box 59 * @param[out] usedButton Scilab code of the button used to terminate the rubber box
61 */ 60 */
62void pixelRubberBox(sciPointObj * pFigure, BOOL isClick, BOOL isZoom, 61void pixelRubberBox(sciPointObj * pFigure, BOOL isClick,
63 const int initialRect[4], int endRect[4], int * usedButton); 62 const int initialRect[4], int endRect[4], int * usedButton);
64 63
65/** 64/**
@@ -67,17 +66,20 @@ void pixelRubberBox(sciPointObj * pFigure, BOOL isClick, BOOL isZoom,
67 * @param pFigure figure on which to apply the rubber box 66 * @param pFigure figure on which to apply the rubber box
68 * @param isClick specify whether the rubber box is selected by mouse click 67 * @param isClick specify whether the rubber box is selected by mouse click
69 * or a sequence of press/release. 68 * or a sequence of press/release.
70 * @param isZoom specify if the rubber box is used for a zoom and then change the mouse cursor.
71 *
72 * @param intialRect if not null, specify the initial rectangle [x,y,w,h] to use 69 * @param intialRect if not null, specify the initial rectangle [x,y,w,h] to use
73 * @param[out] endRect array containing the [x,y,w,h] of the selected rectangle 70 * @param[out] endRect array containing the [x,y,w,h] of the selected rectangle
74 * @param[out] usedButton Scilab code of the button used to terminate the rubber box 71 * @param[out] usedButton Scilab code of the button used to terminate the rubber box
75 */ 72 */
76void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom, 73void rubberBox(sciPointObj * pSubwin, BOOL isClick,
77 const double initialRect[4], double endRect[4], int * usedButton); 74 const double initialRect[4], double endRect[4], int * usedButton);
78 75
79 76
80/** 77/**
78 * Perform an interative zoom on a subwin or figure handle;
79 */
80void interactiveZoom(sciPointObj * pObj);
81
82/**
81 * Interactive rotation of a subwin within the figure. 83 * Interactive rotation of a subwin within the figure.
82 */ 84 */
83void interactiveRotation(sciPointObj * pFigure); 85void interactiveRotation(sciPointObj * pFigure);
@@ -85,7 +87,7 @@ void interactiveRotation(sciPointObj * pFigure);
85/** 87/**
86 * Interactive rotation of a subwindow 88 * Interactive rotation of a subwindow
87 */ 89 */
88void interactiveSubwinRotation(sciPointObj * pSubiwn); 90void interactiveSubwinRotation(sciPointObj * pSubwin);
89 91
90/** 92/**
91 * Put the figure in top of other windows. 93 * Put the figure in top of other windows.
@@ -93,5 +95,10 @@ void interactiveSubwinRotation(sciPointObj * pSubiwn);
93 */ 95 */
94void showWindow(sciPointObj * pFigure); 96void showWindow(sciPointObj * pFigure);
95 97
98/**
99 * Modify a subwin viewing angles by a certain amount.
100 */
101void updateViewingAngles(sciPointObj * pSubwin, double deltaAlpha, double deltaTheta);
102
96 103
97#endif /* __SCI_INTERACTION__ */ 104#endif /* __SCI_INTERACTION__ */
diff --git a/scilab/modules/graphics/includes/ObjectStructure.h b/scilab/modules/graphics/includes/ObjectStructure.h
index 4e99e15..d49731a 100644
--- a/scilab/modules/graphics/includes/ObjectStructure.h
+++ b/scilab/modules/graphics/includes/ObjectStructure.h
@@ -313,6 +313,7 @@ typedef struct
313 double * colorMap ; 313 double * colorMap ;
314 int numColors ; 314 int numColors ;
315 BOOL autoResizeMode; 315 BOOL autoResizeMode;
316 char * infoMessage; /**< String displayed in the info bar of the graphic window */
316} 317}
317FigureModelData ; 318FigureModelData ;
318 319
@@ -347,7 +348,6 @@ typedef struct
347 BOOL allredraw; 348 BOOL allredraw;
348 349
349 sciFont fontcontext; /* F.Leray 08.04.04 */ 350 sciFont fontcontext; /* F.Leray 08.04.04 */
350 char * infoMessage ; /**< String displayed in the info bar of the graphic window */
351 351
352 char * eventHandler ; /**< Name of the EventHandler function */ 352 char * eventHandler ; /**< Name of the EventHandler function */
353 BOOL isEventHandlerEnable ; /**< flag enabling or disabling eventhandler */ 353 BOOL isEventHandlerEnable ; /**< flag enabling or disabling eventhandler */
diff --git a/scilab/modules/graphics/includes/SetProperty.h b/scilab/modules/graphics/includes/SetProperty.h
index ddb2847..a5086f1 100644
--- a/scilab/modules/graphics/includes/SetProperty.h
+++ b/scilab/modules/graphics/includes/SetProperty.h
@@ -35,7 +35,7 @@
35 35
36#include "BOOL.h" 36#include "BOOL.h"
37 37
38void Obj_RedrawNewAngle(sciPointObj *psubwin,double theta,double alpha); /* SET */ 38void Obj_RedrawNewAngle(sciPointObj * pSubwin, double alpha, double theta); /* SET */
39 39
40int sciSetEntityType (sciPointObj * pobj, sciEntityType value); /* SET */ 40int sciSetEntityType (sciPointObj * pobj, sciEntityType value); /* SET */
41int sciSetColormap (sciPointObj * pobj, double *rgbmat, 41int sciSetColormap (sciPointObj * pobj, double *rgbmat,
@@ -218,6 +218,7 @@ int sciSetGridStyle( sciPointObj * pObj, int xStyle, int yStyle, int zStyle ) ;
218 218
219int sciSetViewport( sciPointObj * pObj, const int viewport[4] ) ; /* SET */ 219int sciSetViewport( sciPointObj * pObj, const int viewport[4] ) ; /* SET */
220 220
221int sciInitInfoMessage(sciPointObj * pObj, const char * newMessage);
221int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage ) ; /* SET */ 222int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage ) ; /* SET */
222 223
223int sciInitEventHandler( sciPointObj * pObj, char * name ) ; 224int sciInitEventHandler( sciPointObj * pObj, char * name ) ;
diff --git a/scilab/modules/graphics/includes/axesScale.h b/scilab/modules/graphics/includes/axesScale.h
index e7f1521..95c2e68 100644
--- a/scilab/modules/graphics/includes/axesScale.h
+++ b/scilab/modules/graphics/includes/axesScale.h
@@ -44,6 +44,21 @@ void updateSubwinScale(sciPointObj * pSubwin);
44 * Update text bounds if needed 44 * Update text bounds if needed
45 */ 45 */
46void updateTextBounds(sciPointObj * pText); 46void updateTextBounds(sciPointObj * pText);
47
48/**
49 * Zoom an object using a rectangular selection given in pixels.
50 * @param pObj must be a figure or subwin handle
51 * @param x1 X coordinate of a corner of the selection
52 * @param y1 Y coordinate of a corner of the selection
53 * @param x2 X coordinate of the oppoiste corner of the selection
54 * @param y2 Y coordinate of the opposite corner of the selection
55 */
56void sciZoomObject(sciPointObj * pObj, int x1, int y1, int x2, int y2);
57
58/**
59 * Unzoom a subwindow
60 */
61void unzoomSubwin(sciPointObj * pSubwin);
47/*------------------------------------------------------------------------------*/ 62/*------------------------------------------------------------------------------*/
48BOOL checkDataBounds(sciPointObj * pObj, double xMin, double xMax, 63BOOL checkDataBounds(sciPointObj * pObj, double xMin, double xMax,
49 double yMin, double yMax, double zMin, double zMax); 64 double yMin, double yMax, double zMin, double zMax);
diff --git a/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c b/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c
index 75de387..fa11e3f 100644
--- a/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c
+++ b/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c
@@ -134,14 +134,14 @@ int sci_rubberbox(char * fname, unsigned long fname_len)
134 if (initialRectSpecified == 1 ) 134 if (initialRectSpecified == 1 )
135 { 135 {
136 /* edition mode is false if initial rect is specified */ 136 /* edition mode is false if initial rect is specified */
137 rubberBox(sciGetCurrentSubWin(), TRUE, FALSE, initialRect, selectedRect, &button); 137 rubberBox(sciGetCurrentSubWin(), TRUE, initialRect, selectedRect, &button);
138 } 138 }
139 else if (initialRectSpecified == 0) 139 else if (initialRectSpecified == 0)
140 { 140 {
141 /* no intial rect */ 141 /* no intial rect */
142 if (getEditionMode()) 142 if (getEditionMode())
143 { 143 {
144 rubberBox(sciGetCurrentSubWin(), FALSE, FALSE, NULL, selectedRect, &button); 144 rubberBox(sciGetCurrentSubWin(), FALSE, NULL, selectedRect, &button);
145 } 145 }
146 else 146 else
147 { 147 {
@@ -149,7 +149,7 @@ int sci_rubberbox(char * fname, unsigned long fname_len)
149 if (Rhs == 0) 149 if (Rhs == 0)
150 { 150 {
151 /* ok no parameter at all */ 151 /* ok no parameter at all */
152 rubberBox(sciGetCurrentSubWin(), TRUE, FALSE, NULL, selectedRect, &button); 152 rubberBox(sciGetCurrentSubWin(), TRUE, NULL, selectedRect, &button);
153 } 153 }
154 else 154 else
155 { 155 {
diff --git a/scilab/modules/graphics/src/c/BuildObjects.c b/scilab/modules/graphics/src/c/BuildObjects.c
index 95604cf..40b7f67 100644
--- a/scilab/modules/graphics/src/c/BuildObjects.c
+++ b/scilab/modules/graphics/src/c/BuildObjects.c
@@ -181,8 +181,7 @@ sciPointObj * ConstructFigure(sciPointObj * pparent, int * figureIndex)
181 sciGetScreenPosition(pfiguremdl, &x[0], &x[1]) ; 181 sciGetScreenPosition(pfiguremdl, &x[0], &x[1]) ;
182 sciInitScreenPosition( pobj, x[0], x[1] ); 182 sciInitScreenPosition( pobj, x[0], x[1] );
183 183
184 ppFigure->infoMessage = NULL ; /* needed otherwise it will be realloc */ 184 sciInitInfoMessage( pobj, ppModel->pModelData->infoMessage ) ;
185 sciSetInfoMessage( pobj, sciGetInfoMessage(pfiguremdl) ) ;
186 185
187 ppFigure->tag = NULL; 186 ppFigure->tag = NULL;
188 187
diff --git a/scilab/modules/graphics/src/c/DestroyObjects.c b/scilab/modules/graphics/src/c/DestroyObjects.c
index a23d9d5..6d3f70f 100644
--- a/scilab/modules/graphics/src/c/DestroyObjects.c
+++ b/scilab/modules/graphics/src/c/DestroyObjects.c
@@ -245,8 +245,6 @@ int DestroyFigure (sciPointObj * pthis)
245 { 245 {
246 FREE( pFIGURE_FEATURE(pthis)->eventHandler ) ; 246 FREE( pFIGURE_FEATURE(pthis)->eventHandler ) ;
247 } 247 }
248
249 FREE( pFIGURE_FEATURE(pthis)->infoMessage ) ;
250 248
251 destroyUiobjectTag(pthis); 249 destroyUiobjectTag(pthis);
252 destroyFigureModelData(pFIGURE_FEATURE(pthis)->pModelData) ; 250 destroyFigureModelData(pFIGURE_FEATURE(pthis)->pModelData) ;
diff --git a/scilab/modules/graphics/src/c/GetProperty.c b/scilab/modules/graphics/src/c/GetProperty.c
index ba943e5..e1cb1c7 100644
--- a/scilab/modules/graphics/src/c/GetProperty.c
+++ b/scilab/modules/graphics/src/c/GetProperty.c
@@ -2953,17 +2953,24 @@ void sciGetViewport( sciPointObj * pObj, int viewport[4] )
2953 } 2953 }
2954} 2954}
2955/*----------------------------------------------------------------------------------*/ 2955/*----------------------------------------------------------------------------------*/
2956char * sciGetInfoMessage( sciPointObj * pObj ) 2956void sciGetInfoMessage( sciPointObj * pObj, char * infoMessage )
2957{ 2957{
2958 switch ( sciGetEntityType(pObj) ) 2958 switch ( sciGetEntityType(pObj) )
2959 { 2959 {
2960 case SCI_FIGURE: 2960 case SCI_FIGURE:
2961 return pFIGURE_FEATURE(pObj)->infoMessage ; 2961 if (isFigureModel(pObj))
2962 {
2963 strcpy(infoMessage, pFIGURE_FEATURE(pObj)->pModelData->infoMessage);
2964 }
2965 else
2966 {
2967 sciGetJavaInfoMessage(pObj, infoMessage);
2968 }
2969 break;
2962 default: 2970 default:
2963 printSetGetErrorMessage("info_message"); 2971 printSetGetErrorMessage("info_message");
2964 return NULL ; 2972 break;
2965 } 2973 }
2966 return NULL ;
2967} 2974}
2968/*----------------------------------------------------------------------------------*/ 2975/*----------------------------------------------------------------------------------*/
2969int sciGetInfoMessageLength( sciPointObj * pObj ) 2976int sciGetInfoMessageLength( sciPointObj * pObj )
@@ -2971,7 +2978,14 @@ int sciGetInfoMessageLength( sciPointObj * pObj )
2971 switch ( sciGetEntityType(pObj) ) 2978 switch ( sciGetEntityType(pObj) )
2972 { 2979 {
2973 case SCI_FIGURE: 2980 case SCI_FIGURE:
2974 return (int)strlen( pFIGURE_FEATURE(pObj)->infoMessage ) ; 2981 if (isFigureModel(pObj))
2982 {
2983 return (int) strlen( pFIGURE_FEATURE(pObj)->pModelData->infoMessage ) ;
2984 }
2985 else
2986 {
2987 return sciGetJavaInfoMessageLength(pObj);
2988 }
2975 default: 2989 default:
2976 printSetGetErrorMessage("info_message"); 2990 printSetGetErrorMessage("info_message");
2977 return -1 ; 2991 return -1 ;
diff --git a/scilab/modules/graphics/src/c/InitObjects.c b/scilab/modules/graphics/src/c/InitObjects.c
index 3f22505..9c7cf63 100644
--- a/scilab/modules/graphics/src/c/InitObjects.c
+++ b/scilab/modules/graphics/src/c/InitObjects.c
@@ -498,10 +498,8 @@ int InitFigureModel( void )
498 pFIGURE_FEATURE (pfiguremdl)->size_of_user_data = 0; /* pour completude */ 498 pFIGURE_FEATURE (pfiguremdl)->size_of_user_data = 0; /* pour completude */
499 499
500 pFIGURE_FEATURE (pfiguremdl)->numsubwinselected = 0; 500 pFIGURE_FEATURE (pfiguremdl)->numsubwinselected = 0;
501 //sciInitPixmapMode(pfiguremdl, FALSE); 501 sciInitPixmapMode(pfiguremdl, FALSE);
502 pFIGURE_FEATURE (pfiguremdl)->pixmapMode = FALSE ; 502 sciInitInfoMessage( pfiguremdl, "") ;
503 //sciSetInfoMessage( pfiguremdl, "" ) ;
504 pFIGURE_FEATURE(pfiguremdl)->infoMessage = strdup("");
505 503
506 /* 504 /*
507 ** Must set Event Handler before making it enable 505 ** Must set Event Handler before making it enable
@@ -961,6 +959,7 @@ FigureModelData * newFigureModelData( void )
961 modelData->viewport[1] = 0; 959 modelData->viewport[1] = 0;
962 modelData->viewport[2] = 610; 960 modelData->viewport[2] = 610;
963 modelData->viewport[3] = 461; 961 modelData->viewport[3] = 461;
962 modelData->infoMessage = NULL;
964 963
965 return modelData ; 964 return modelData ;
966} 965}
@@ -972,8 +971,18 @@ void destroyFigureModelData( FigureModelData * data )
972{ 971{
973 if ( data != NULL ) 972 if ( data != NULL )
974 { 973 {
975 FREE(data->colorMap); 974 if (data->colorMap != NULL)
976 data->colorMap = NULL; 975 {
976 FREE(data->colorMap);
977 data->colorMap = NULL;
978 }
979
980 if (data->infoMessage != NULL)
981 {
982 FREE(data->infoMessage);
983 data->infoMessage = NULL;
984 }
985
977 FREE( data ) ; 986 FREE( data ) ;
978 data = NULL ; 987 data = NULL ;
979 } 988 }
diff --git a/scilab/modules/graphics/src/c/Interaction.c b/scilab/modules/graphics/src/c/Interaction.c
index 2e0d4c3..e29680c 100644
--- a/scilab/modules/graphics/src/c/Interaction.c
+++ b/scilab/modules/graphics/src/c/Interaction.c
@@ -44,7 +44,6 @@
44 44
45/*-------------------------------------------------------------------------------------*/ 45/*-------------------------------------------------------------------------------------*/
46static int moveObj(sciPointObj * pobj, double displacement[], int displacementSize); 46static int moveObj(sciPointObj * pobj, double displacement[], int displacementSize);
47static void trackSubwinRotation(sciPointObj * pSubwin);
48/*-------------------------------------------------------------------------------------*/ 47/*-------------------------------------------------------------------------------------*/
49 48
50/**sciAddCallback 49/**sciAddCallback
@@ -601,13 +600,13 @@ int Objmove (sciPointObj * pobj, double d[], int m,BOOL opt)
601} 600}
602 601
603/*---------------------------------------------------------------------------------*/ 602/*---------------------------------------------------------------------------------*/
604void pixelRubberBox(sciPointObj * pFigure, BOOL isClick, BOOL isZoom, 603void pixelRubberBox(sciPointObj * pFigure, BOOL isClick,
605 const int initialRect[4], int endRect[4], int * usedButton) 604 const int initialRect[4], int endRect[4], int * usedButton)
606{ 605{
607 javaRubberBox(pFigure, isClick, isZoom, initialRect, endRect, usedButton); 606 javaRubberBox(pFigure, isClick, initialRect, endRect, usedButton);
608} 607}
609/*---------------------------------------------------------------------------------*/ 608/*---------------------------------------------------------------------------------*/
610void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom, 609void rubberBox(sciPointObj * pSubwin, BOOL isClick,
611 const double initialRect[4], double endRect[4], int * usedButton) 610 const double initialRect[4], double endRect[4], int * usedButton)
612{ 611{
613 int endPixelRect[4]; 612 int endPixelRect[4];
@@ -633,11 +632,11 @@ void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom,
633 sciGet2dViewPixelCoordinates(pSubwin, firstCorner, initialPixelRect); 632 sciGet2dViewPixelCoordinates(pSubwin, firstCorner, initialPixelRect);
634 sciGet2dViewPixelCoordinates(pSubwin, secondCorner, initialPixelRect + 2); 633 sciGet2dViewPixelCoordinates(pSubwin, secondCorner, initialPixelRect + 2);
635 634
636 javaRubberBox(sciGetParentFigure(pSubwin), isClick, isZoom, initialPixelRect, endPixelRect, usedButton); 635 pixelRubberBox(sciGetParentFigure(pSubwin), isClick, initialPixelRect, endPixelRect, usedButton);
637 } 636 }
638 else 637 else
639 { 638 {
640 javaRubberBox(sciGetParentFigure(pSubwin), isClick, isZoom, NULL, endPixelRect, usedButton); 639 pixelRubberBox(sciGetParentFigure(pSubwin), isClick, NULL, endPixelRect, usedButton);
641 } 640 }
642 641
643 /* here we get the two opposite points of the rectangle in pixels */ 642 /* here we get the two opposite points of the rectangle in pixels */
@@ -653,98 +652,50 @@ void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom,
653 652
654} 653}
655/*---------------------------------------------------------------------------------*/ 654/*---------------------------------------------------------------------------------*/
655void interactiveZoom(sciPointObj * pObj)
656{
657 if (sciGetEntityType(pObj) == SCI_FIGURE)
658 {
659 interactiveJavaZoom(pObj);
660 }
661 else if (sciGetEntityType(pObj) == SCI_SUBWIN)
662 {
663 interactiveJavaSubwinZoom(pObj);
664 }
665}
666/*---------------------------------------------------------------------------------*/
656void interactiveRotation(sciPointObj * pFigure) 667void interactiveRotation(sciPointObj * pFigure)
657{ 668{
658 /* get coordinates of first mouse click */ 669 interactiveJavaRotation(pFigure);
659 int clickCoordinates[2];
660 sciPointObj * clickedSubwin;
661 char * currentInfoMessage = sciGetInfoMessage(pFigure);
662 char * curInfoMessageCopy = NULL;
663
664 /* copy the info message to be able to reset it after zooming */
665 curInfoMessageCopy = MALLOC((strlen(currentInfoMessage) + 1) * sizeof(char));
666
667 if (curInfoMessageCopy == NULL)
668 {
669 sciprint(_("%s: No more memory.\n"), "Interactive rotation");
670 }
671 strcpy(curInfoMessageCopy, currentInfoMessage);
672 startFigureDataWriting(pFigure);
673 sciSetInfoMessage(pFigure, _("Click on an Axes object to start rotation. Click again to terminate."));
674 endFigureDataWriting(pFigure);
675
676 getJavaRotationDisplacement(pFigure, clickCoordinates);
677
678 /* find the subwin which is under the click if any */
679 clickedSubwin = getClickedSubwin(pFigure, clickCoordinates[0], clickCoordinates[1]);
680 if (clickedSubwin == NULL)
681 {
682 // no subwin found return
683 stopJavaRotationRecording(pFigure);
684 /* restore previous info message */
685 startFigureDataWriting(pFigure);
686 sciSetInfoMessage(pFigure,curInfoMessageCopy);
687 endFigureDataWriting(pFigure);
688 return;
689 }
690
691 trackSubwinRotation(clickedSubwin);
692
693 /* restore previous info message */
694 startFigureDataWriting(pFigure);
695 sciSetInfoMessage(pFigure,curInfoMessageCopy);
696 endFigureDataWriting(pFigure);
697
698 FREE(curInfoMessageCopy);
699
700} 670}
701/*---------------------------------------------------------------------------------*/ 671/*---------------------------------------------------------------------------------*/
702void interactiveSubwinRotation(sciPointObj * pSubiwn) 672void interactiveSubwinRotation(sciPointObj * pSubwin)
703{ 673{
704 /* get coordinates of first mouse click */ 674 /* get coordinates of first mouse click */
705 sciPointObj * parentFigure = sciGetParentFigure(pSubiwn); 675 interactiveJavaSubwinRotation(pSubwin);
706 int clickCoordinates[2];
707 getJavaRotationDisplacement(parentFigure, clickCoordinates);
708
709 trackSubwinRotation(pSubiwn);
710
711} 676}
712/*---------------------------------------------------------------------------------*/ 677/*---------------------------------------------------------------------------------*/
713/** 678void showWindow(sciPointObj * pFigure)
714 * Interactive rotation of a subwindow from initial mouse coordinates 679{
715 */ 680 javaShowWindow(pFigure);
716void trackSubwinRotation(sciPointObj * pSubwin) 681}
682/*---------------------------------------------------------------------------------*/
683void updateViewingAngles(sciPointObj * pSubwin, double deltaAlpha, double deltaTheta)
717{ 684{
718 int mouseDisplacement[2]; 685 double newAlpha;
719 double alpha; 686 double newTheta;
720 double theta;
721 sciPointObj * parentFigure = sciGetParentFigure(pSubwin);
722 687
688 /* Get current angles */
689 sciGetViewingAngles(pSubwin, &newAlpha, &newTheta);
723 690
724 /* get current viewing angles */ 691 /* update them */
725 sciGetViewingAngles(pSubwin, &alpha, &theta); 692 newAlpha += deltaAlpha;
726 while (getJavaRotationDisplacement(parentFigure, mouseDisplacement)) 693 newTheta += deltaTheta;
727 {
728 /* rotate axes accordingly */
729 alpha -= mouseDisplacement[1] / 4.0;
730 theta -= mouseDisplacement[0] / 4.0;
731
732 /* redraw */
733 startFigureDataWriting(parentFigure);
734 Obj_RedrawNewAngle(pSubwin, theta, alpha);
735 setInfoMessageWithRotationAngles(parentFigure, alpha, theta);
736 endFigureDataWriting(parentFigure);
737
738 /* several subwins may have been rotated */
739 sciDrawObj(parentFigure);
740 }
741 694
742 /* Perhaps we should think of restoring figure info message after the call */ 695 Obj_RedrawNewAngle(pSubwin, newAlpha, newTheta);
743 696
697 /* Update info message */
698 setInfoMessageWithRotationAngles(sciGetParentFigure(pSubwin), newAlpha, newTheta);
744} 699}
745/*---------------------------------------------------------------------------------*/ 700/*---------------------------------------------------------------------------------*/
746void showWindow(sciPointObj * pFigure) 701
747{
748 javaShowWindow(pFigure);
749}
750/*---------------------------------------------------------------------------------*/
diff --git a/scilab/modules/graphics/src/c/SetProperty.c b/scilab/modules/graphics/src/c/SetProperty.c
index 3216fe5..99e2a8d 100644
--- a/scilab/modules/graphics/src/c/SetProperty.c
+++ b/scilab/modules/graphics/src/c/SetProperty.c
@@ -119,10 +119,10 @@ int setSubWinAngles( sciPointObj *psubwin, double theta, double alpha )
119/* Modify the viewing angles of a subwindow and the one of its brothers id necessary */ 119/* Modify the viewing angles of a subwindow and the one of its brothers id necessary */
120/*---------------------------------------------------------------------------*/ 120/*---------------------------------------------------------------------------*/
121 121
122void Obj_RedrawNewAngle( sciPointObj * pSubWin, double theta, double alpha ) 122void Obj_RedrawNewAngle(sciPointObj * pSubwin, double alpha, double theta)
123{ 123{
124 /* check if all the axis must be turned */ 124 /* check if all the axis must be turned */
125 sciPointObj * pParentFigure = sciGetParentFigure( pSubWin ) ; 125 sciPointObj * pParentFigure = sciGetParentFigure( pSubwin ) ;
126 if ( pFIGURE_FEATURE(pParentFigure)->rotstyle == 1 ) 126 if ( pFIGURE_FEATURE(pParentFigure)->rotstyle == 1 )
127 { 127 {
128 /* every axes has the same angles */ 128 /* every axes has the same angles */
@@ -143,8 +143,8 @@ void Obj_RedrawNewAngle( sciPointObj * pSubWin, double theta, double alpha )
143 else 143 else
144 { 144 {
145 /* modify angles only for this axes */ 145 /* modify angles only for this axes */
146 setSubWinAngles( pSubWin, theta, alpha ) ; 146 setSubWinAngles( pSubwin, theta, alpha ) ;
147 forceRedraw(pSubWin); 147 forceRedraw(pSubwin);
148 } 148 }
149} 149}
150 150
@@ -1850,7 +1850,7 @@ int sciInitName(sciPointObj * pobj, char * newName)
1850 /* first case newName is NULL */ 1850 /* first case newName is NULL */
1851 if (newName == NULL) 1851 if (newName == NULL)
1852 { 1852 {
1853 /* Just set tan empty title for the phisical window if needed */ 1853 /* Just set an empty title for the physical window if needed */
1854 if (!isFigureModel(pobj)) 1854 if (!isFigureModel(pobj))
1855 { 1855 {
1856 sciSetJavaTitle(pobj, ""); 1856 sciSetJavaTitle(pobj, "");
@@ -3234,43 +3234,63 @@ int sciSetViewport( sciPointObj * pObj, const int viewport[4] )
3234 3234
3235} 3235}
3236/*-----------------------------------------------------------------------------------*/ 3236/*-----------------------------------------------------------------------------------*/
3237/** 3237int sciInitInfoMessage(sciPointObj * pObj, const char * newMessage)
3238 * Modify the string in the info bar of the graphic window
3239 */
3240int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage )
3241{ 3238{
3242 if ( sciGetEntityType( pObj ) == SCI_FIGURE) 3239 if ( sciGetEntityType( pObj ) == SCI_FIGURE)
3243 {
3244 sciFigure * ppFigure = pFIGURE_FEATURE(pObj) ;
3245
3246 /* We keep a copy of the message for convenience */
3247 if ( newMessage == NULL )
3248 { 3240 {
3249 FREE( ppFigure->infoMessage ) ; 3241
3250 ppFigure->infoMessage = NULL ; 3242 /* first case newName is NULL */
3243 if (newMessage == NULL)
3244 {
3245 /* Just set an empty title for the physical window if needed */
3246 if(isFigureModel(pObj))
3247 {
3248 pFIGURE_FEATURE(pObj)->pModelData->infoMessage = NULL;
3249 }
3250 else
3251 {
3252 sciSetJavaInfoMessage(pObj, "");
3253 }
3254
3255 return 0;
3256 }
3257
3258 if (isFigureModel(pObj))
3259 {
3260 /* Copy the message into the special data */
3261 int newMessageLength = (int) strlen(newMessage);
3262 pFIGURE_FEATURE(pObj)->pModelData->infoMessage = MALLOC((newMessageLength + 1) * sizeof(char));
3263 if (pFIGURE_FEATURE(pObj)->pModelData->infoMessage != NULL)
3264 {
3265 strcpy(pFIGURE_FEATURE(pObj)->pModelData->infoMessage, newMessage);
3266 }
3267 }
3268 else
3269 {
3270 /* Copy in the Java data */
3271 sciSetJavaInfoMessage(pObj, newMessage);
3272 }
3273
3274 return 0 ;
3251 } 3275 }
3252 else 3276 else
3253 { 3277 {
3254 if ( ppFigure->infoMessage != NULL ) 3278 printSetGetErrorMessage("info_message");
3255 { 3279 return -1;
3256 FREE(ppFigure->infoMessage);
3257 }
3258 ppFigure->infoMessage = strdup( newMessage ) ;
3259 } 3280 }
3260 3281}
3261 /* set the java message */ 3282/*-----------------------------------------------------------------------------------*/
3262 if ( pObj != getFigureModel() ) 3283/**
3284 * Modify the string in the info bar of the graphic window
3285 */
3286int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage )
3287{
3288 if (isFigureModel(pObj) && pFIGURE_FEATURE(pObj)->pModelData->infoMessage != NULL)
3263 { 3289 {
3264 sciSetJavaInfoMessage(pObj, newMessage); 3290 FREE(pFIGURE_FEATURE(pObj)->pModelData->infoMessage);
3291 pFIGURE_FEATURE(pObj)->pModelData->infoMessage = NULL;
3265 } 3292 }
3266 3293 return sciInitInfoMessage(pObj, newMessage);
3267 return 0 ;
3268 }
3269 else
3270 {
3271 printSetGetErrorMessage("info_message");
3272 return -1;
3273 }
3274} 3294}
3275/*-----------------------------------------------------------------------------------*/ 3295/*-----------------------------------------------------------------------------------*/
3276int sciInitEventHandler( sciPointObj * pObj, char * name ) 3296int sciInitEventHandler( sciPointObj * pObj, char * name )
diff --git a/scilab/modules/graphics/src/c/axesScale.c b/scilab/modules/graphics/src/c/axesScale.c
index 3792b24..79b2387 100644
--- a/scilab/modules/graphics/src/c/axesScale.c
+++ b/scilab/modules/graphics/src/c/axesScale.c
@@ -35,6 +35,7 @@
35#include "CurrentObjectsManagement.h" 35#include "CurrentObjectsManagement.h"
36#include "Interaction.h" 36#include "Interaction.h"
37#include "DoublyLinkedList.h" 37#include "DoublyLinkedList.h"
38#include "JavaInteraction.h"
38 39
39/*------------------------------------------------------------------------------*/ 40/*------------------------------------------------------------------------------*/
40static void zoomSubwin(sciPointObj * pSubwin, int posX, int posY, int width, int height); 41static void zoomSubwin(sciPointObj * pSubwin, int posX, int posY, int width, int height);
@@ -194,6 +195,30 @@ static void zoomFigure(sciPointObj * pFigure, int posX, int posY, int width, int
194 } 195 }
195} 196}
196/*------------------------------------------------------------------------------*/ 197/*------------------------------------------------------------------------------*/
198void sciZoomObject(sciPointObj * pObj, int x1, int y1, int x2, int y2)
199{
200 /* convert found data to [x,y,w,h] */
201 int x = Min(x1, x2);
202 int y = Min(y1, y2);
203 int w = Abs(x1 - x2);
204 int h = Abs(y1 - y2);
205
206 if (w == 0 || h == 0)
207 {
208 /* Zoom is not possible */
209 return;
210 }
211
212 if (sciGetEntityType(pObj) == SCI_FIGURE)
213 {
214 zoomFigure(pObj, x, y, w, h);
215 }
216 else if (sciGetEntityType(pObj) == SCI_SUBWIN)
217 {
218 zoomSubwin(pObj, x, y, w, h);
219 }
220}
221/*------------------------------------------------------------------------------*/
197/** 222/**
198 * Perform an interactive zoom (rectangular selection + zoom) 223 * Perform an interactive zoom (rectangular selection + zoom)
199 * @param pObj object on which the zoom will be applied. 224 * @param pObj object on which the zoom will be applied.
@@ -202,61 +227,7 @@ static void zoomFigure(sciPointObj * pFigure, int posX, int posY, int width, int
202 */ 227 */
203void sciInteractiveZoom(sciPointObj * pObj) 228void sciInteractiveZoom(sciPointObj * pObj)
204{ 229{
205 int selectionRectangleCorners[4]; 230 interactiveZoom(pObj);
206 int x;
207 int y;
208 int w;
209 int h;
210 int button;
211
212 sciPointObj * parentFigure = sciGetParentFigure(pObj);
213 char * currentInfoMessage = sciGetInfoMessage(parentFigure);
214 char * curInfoMessageCopy = NULL;
215
216 /* copy the info message to be able to reset it after zooming */
217 curInfoMessageCopy = MALLOC((strlen(currentInfoMessage) + 1) * sizeof(char));
218
219 if (curInfoMessageCopy == NULL)
220 {
221 sciprint(_("%s: No more memory.\n"), "Interactive zoom");
222 }
223 strcpy(curInfoMessageCopy, currentInfoMessage);
224
225 startFigureDataWriting(parentFigure);
226 /* display how to use zoom in the info bar */
227 sciSetInfoMessage(parentFigure, _("Click on the figure to select zooming area. Click again to stop."));
228 endFigureDataWriting(parentFigure);
229
230 /* create a rubber box to select a rectangular area */
231 pixelRubberBox(parentFigure, TRUE, TRUE, NULL, selectionRectangleCorners, &button);
232
233 /* convert found data to [x,y,w,h] */
234 x = Min(selectionRectangleCorners[0], selectionRectangleCorners[2]);
235 y = Min(selectionRectangleCorners[1], selectionRectangleCorners[3]);
236 w = Abs(selectionRectangleCorners[0] - selectionRectangleCorners[2]);
237 h = Abs(selectionRectangleCorners[1] - selectionRectangleCorners[3]);
238
239 /* Zoom using the found pixels if the selection is not empry */
240 startFigureDataWriting(parentFigure);
241 if (w != 0 && h != 0)
242 {
243 if (sciGetEntityType(pObj) == SCI_FIGURE)
244 {
245 zoomFigure(pObj, x, y, w, h);
246 }
247 else if (sciGetEntityType(pObj) == SCI_SUBWIN)
248 {
249 zoomSubwin(pObj, x, y, w, h);
250 }
251 }
252 // restore info message
253 sciSetInfoMessage(parentFigure, curInfoMessageCopy);
254 endFigureDataWriting(parentFigure);
255
256 FREE(curInfoMessageCopy);
257
258 /* redraw */
259 sciDrawObj(parentFigure);
260} 231}
261/*------------------------------------------------------------------------------*/ 232/*------------------------------------------------------------------------------*/
262/** 233/**
@@ -272,7 +243,7 @@ void sciDefaultInteractiveZoom(void)
272 243
273 244
274 /* zoom current figure */ 245 /* zoom current figure */
275 sciInteractiveZoom(curFigure); 246 interactiveZoom(curFigure);
276} 247}
277/*------------------------------------------------------------------------------*/ 248/*------------------------------------------------------------------------------*/
278/** 249/**
@@ -321,19 +292,18 @@ BOOL checkDataBounds(sciPointObj * pObj, double xMin, double xMax,
321 */ 292 */
322void sciUnzoomSubwin(sciPointObj * subwin) 293void sciUnzoomSubwin(sciPointObj * subwin)
323{ 294{
324 int currentStatus; 295 javaUnzoomSubwin(subwin);
325 sciPointObj * parentFig = sciGetParentFigure(subwin); 296}
326 startFigureDataWriting(parentFig); 297/*------------------------------------------------------------------------------*/
327 currentStatus = sciSetZooming(subwin, FALSE); 298void unzoomSubwin(sciPointObj * pSubwin)
328 299{
300 int currentStatus;
301 currentStatus = sciSetZooming(pSubwin, FALSE);
329 if (currentStatus == 0) 302 if (currentStatus == 0)
330 { 303 {
331 /* redraw only if needed */ 304 /* redraw only if needed */
332 forceRedraw(subwin); 305 forceRedraw(pSubwin);
333 } 306 }
334
335 endFigureDataWriting(parentFig);
336
337} 307}
338/*------------------------------------------------------------------------------*/ 308/*------------------------------------------------------------------------------*/
339/** 309/**
diff --git a/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c b/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c
index 4a2c3e6..4a09a2f 100644
--- a/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c
+++ b/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c
@@ -23,16 +23,35 @@
23#include "returnProperty.h" 23#include "returnProperty.h"
24#include "sciprint.h" 24#include "sciprint.h"
25#include "localization.h" 25#include "localization.h"
26#include "MALLOC.h"
26 27
27/*------------------------------------------------------------------------*/ 28/*------------------------------------------------------------------------*/
28int get_info_message_property( sciPointObj * pobj ) 29int get_info_message_property( sciPointObj * pobj )
29{ 30{
30 if ( sciGetEntityType(pobj) != SCI_FIGURE ) 31 char * infoMessage = NULL;
32 int infoMessageLength;
33 int res = -1;
34
35 if ( sciGetEntityType(pobj) != SCI_FIGURE )
31 { 36 {
32 sciprint(_("%s property does not exist for this handle.\n"),"info_message") ; 37 sciprint(_("%s property does not exist for this handle.\n"),"info_message") ;
33 return -1; 38 return -1;
34 } 39 }
35 return sciReturnString( sciGetInfoMessage( pobj ) ) ; 40
41 infoMessageLength = sciGetInfoMessageLength(pobj);
42 infoMessage = MALLOC((infoMessageLength + 1) * sizeof(char));
43 if (infoMessage == NULL)
44 {
45 return sciReturnString("");
46 }
47
48 sciGetInfoMessage(pobj, infoMessage);
49
50
51 res = sciReturnString( infoMessage ) ;
52
53 FREE(infoMessage);
36 54
55 return res;
37} 56}
38/*------------------------------------------------------------------------*/ 57/*------------------------------------------------------------------------*/
diff --git a/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c b/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c
index 41e1b39..6c4bcd3 100644
--- a/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c
+++ b/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c
@@ -45,7 +45,7 @@ int set_rotation_angles_property( sciPointObj * pobj, size_t stackPointer, int v
45 return SET_PROPERTY_ERROR ; 45 return SET_PROPERTY_ERROR ;
46 } 46 }
47 47
48 Obj_RedrawNewAngle( pobj, values[1], values[0] ) ; 48 Obj_RedrawNewAngle( pobj, values[0], values[1] ) ;
49 49
50 return SET_PROPERTY_SUCCEED ; 50 return SET_PROPERTY_SUCCEED ;
51 51
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst
new file mode 100644
index 0000000..a8df44f
--- /dev/null
+++ b/scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst
@@ -0,0 +1,35 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008-2008 - DIGITEO - Jean-Baptiste Silvy
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- INTERACTIVE TEST -->
9
10// <-- Non-regression test for bug 3080 -->
11//
12// <-- Bugzilla URL -->
13// http://bugzilla.scilab.org/show_bug.cgi?id=3080
14//
15// <-- Short Description -->
16// When we click many times on a button of the Graphic window the instruction will be done as much times we have clicked.
17//
18
19plot3d();
20rotate_axes();
21rotate_axes();
22rotate_axes();
23zoom_rect();
24zoom_rect();
25unzoom();
26rotate_axes();
27zoom_rect();
28rotate_axes();
29unzoom();
30unzoom();
31zoom_rect();
32zoom_rect();
33rotate_axes();
34
35// only the last rotae_axes should be active
diff --git a/scilab/modules/gui/macros/figure.sci b/scilab/modules/gui/macros/figure.sci
index c83435b..27b1581 100644
--- a/scilab/modules/gui/macros/figure.sci
+++ b/scilab/modules/gui/macros/figure.sci
@@ -15,13 +15,7 @@ Rhs=length(varargin);
15if (Rhs == 0) then 15if (Rhs == 0) then
16 // Create a new graphic window 16 // Create a new graphic window
17 h = scf(); 17 h = scf();
18 set(h, "immediate_drawing", "off"); // to avoid canvas creation 18 setFigDefaultProperties(%f);
19 // Set its default background for compatibility with versions < 5.0
20 set(h,"background",addcolor([0.8 0.8 0.8]))
21 axes = gca();
22 set(axes, "filled", "off"); // transparent axes so no need to display them
23 set(axes, "background", addcolor([0.8 0.8 0.8])); // same as figure
24 set(h, "immediate_drawing", "on"); // we can draw now
25else 19else
26 if (Rhs == 1) then 20 if (Rhs == 1) then
27 21
@@ -85,12 +79,8 @@ else
85 h=scf(numOrHandle); 79 h=scf(numOrHandle);
86end 80end
87 81
88if ~alreadyExists 82setFigDefaultProperties(alreadyExists);
89 // Set the default background if figure has just been created (compatibility with versions < 5.0) 83
90 set(h,"background",addcolor([0.8 0.8 0.8]))
91end
92// Hide the current axis
93set(gca(),"visible","off");
94endfunction 84endfunction
95// ----------------------------------------------------------- 85// -----------------------------------------------------------
96 86
@@ -123,3 +113,30 @@ else
123end 113end
124endfunction 114endfunction
125// ----------------------------------------------------------- 115// -----------------------------------------------------------
116
117// -----------------------------------------------------------
118function setFigDefaultProperties(alreadyExists)
119// Jean-Baptiste SILVY - Digiteo 2008
120// Set default properties for the lastly created figure.
121// These properties ensure that the 3D canvas won't be created
122// argument already exists is false if the figure has just been created.
123
124defaultColor = [0.8 0.8 0.8];
125curFig = gcf();
126axes = gca();
127
128set(curFig, "immediate_drawing", "off"); // to avoid canvas creation
129
130if ~alreadyExists
131 // Set the default background if figure has just been created (compatibility with versions < 5.0)
132 set(curFig,"background", addcolor(defaultColor));
133 set(axes, "background", addcolor(defaultColor)); // same as figure
134end
135
136set(axes,"visible","off");
137set(axes, "filled", "off"); // transparent axes so no need to display them
138
139set(curFig, "immediate_drawing", "on"); // we can draw now
140
141endfunction
142// -----------------------------------------------------------
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java
index b3ae3b1..84a2d16 100644
--- a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java
+++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java
@@ -98,21 +98,27 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
98 getTrackedCanvas().setCursor(ScilabSwingUtilities.createCursorFromIcon(ICON_PATH, CURSOR_ICON_NAME)); 98 getTrackedCanvas().setCursor(ScilabSwingUtilities.createCursorFromIcon(ICON_PATH, CURSOR_ICON_NAME));
99 // wait for initialization with a first click 99 // wait for initialization with a first click
100 waitForClick(displacement); 100 waitForClick(displacement);
101 101 if (recordEnded) {
102 if (clickPosX >= 0) { 102 // the record has been canceled
103 reinit();
104 return false;
105 } else {
103 // start recording the mouse displacement 106 // start recording the mouse displacement
104 startRecording(clickPosX, clickPosY); 107 startRecording(clickPosX, clickPosY);
105 return true; 108 return true;
106 } else {
107 // the record has been cancelled
108 reinit();
109 return false;
110 } 109 }
111 } else if (!recordEnded) { 110 } else if (!recordEnded) {
112 // inside tracking loop 111 // inside tracking loop
113 // get mouse displacement since last call 112 // get mouse displacement since last call
114 getMouseDisplacement(displacement); 113 getMouseDisplacement(displacement);
115 return true; 114
115 if (recordEnded) {
116 // record might have been canceled asynchronously
117 reinit();
118 return false;
119 } else {
120 return true;
121 }
116 } else { 122 } else {
117 // last call get current displacement and return 123 // last call get current displacement and return
118 getImmediateMouseDisplacement(displacement); 124 getImmediateMouseDisplacement(displacement);
@@ -125,15 +131,19 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
125 } 131 }
126 132
127 /** 133 /**
128 * Manual disactivation of recording 134 * Manual disabling of recording
129 */ 135 */
130 public void cancelRecording() { 136 public void cancelRecording() {
131 endRecording(); 137 endRecording();
132 reinit(); 138
139 // wake everyone if needed
140 synchronized (getLock()) {
141 getLock().notifyAll();
142 }
133 } 143 }
134 144
135 /** 145 /**
136 * Start mouse tarcking. 146 * Start mouse tracking.
137 * @param initX initial X coordinate 147 * @param initX initial X coordinate
138 * @param initY initial Y coordinate 148 * @param initY initial Y coordinate
139 */ 149 */
@@ -155,6 +165,7 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
155 getTrackedCanvas().removeMouseListener(this); 165 getTrackedCanvas().removeMouseListener(this);
156 getTrackedCanvas().removeFocusListener(this); 166 getTrackedCanvas().removeFocusListener(this);
157 recordEnded = true; 167 recordEnded = true;
168 recordStarted = true;
158 } 169 }
159 170
160 /** 171 /**
@@ -197,6 +208,7 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
197 } else { 208 } else {
198 clickPosX = -1; 209 clickPosX = -1;
199 clickPosY = -1; 210 clickPosY = -1;
211 recordEnded = true;
200 } 212 }
201 213
202 214
@@ -243,11 +255,8 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
243 // focus lost so stop recording 255 // focus lost so stop recording
244 256
245 // dont't stop if focus is given to one of the tracked canvas children 257 // dont't stop if focus is given to one of the tracked canvas children
246 if (event.getOppositeComponent().getParent() != getTrackedCanvas()) { 258 if (event.getOppositeComponent() == null || event.getOppositeComponent().getParent() != getTrackedCanvas()) {
247 endRecording(); 259 cancelRecording();
248 synchronized (getLock()) {
249 getLock().notifyAll();
250 }
251 } 260 }
252 } 261 }
253 262
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java
index 19aebf2..fdd8f4c 100644
--- a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java
+++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java
@@ -19,6 +19,7 @@ import java.awt.event.MouseListener;
19import java.awt.event.MouseMotionListener; 19import java.awt.event.MouseMotionListener;
20 20
21import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvas; 21import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvas;
22import org.scilab.modules.renderer.FigureMapper;
22import org.scilab.modules.renderer.utils.selection.RubberBox; 23import org.scilab.modules.renderer.utils.selection.RubberBox;
23 24
24/** 25/**
@@ -45,10 +46,10 @@ public abstract class ScilabRubberBox extends RubberBox
45 * @param selectedCanvas Canvas on which the rubberbox will be added 46 * @param selectedCanvas Canvas on which the rubberbox will be added
46 */ 47 */
47 public ScilabRubberBox(SwingScilabCanvas selectedCanvas) { 48 public ScilabRubberBox(SwingScilabCanvas selectedCanvas) {
48 super(); 49 super(FigureMapper.getCorrespondingFigure(selectedCanvas.getFigureIndex()));
49 drawingMode = false; 50 drawingMode = false;
50 this.selectedCanvas = selectedCanvas; 51 this.selectedCanvas = selectedCanvas;
51 terminateButton = 0; 52 setUsedButton(0);
52 } 53 }
53 54
54 /** 55 /**
@@ -70,14 +71,14 @@ public abstract class ScilabRubberBox extends RubberBox
70 * the rubber box 71 * the rubber box
71 * @param buttonCode Scilab code of the button 72 * @param buttonCode Scilab code of the button
72 */ 73 */
73 protected void setUsedButton(int buttonCode) { 74 protected synchronized void setUsedButton(int buttonCode) {
74 terminateButton = buttonCode; 75 terminateButton = buttonCode;
75 } 76 }
76 77
77 /** 78 /**
78 * @return Scilab code of the button used to terminate the rubber box 79 * @return Scilab code of the button used to terminate the rubber box
79 */ 80 */
80 protected int getUsedButton() { 81 protected synchronized int getUsedButton() {
81 return terminateButton; 82 return terminateButton;
82 } 83 }
83 84
@@ -106,7 +107,6 @@ public abstract class ScilabRubberBox extends RubberBox
106 } 107 }
107 } 108 }
108 109
109
110 return rubberBox.getRectangle(initialRect, endRect); 110 return rubberBox.getRectangle(initialRect, endRect);
111 } 111 }
112 112
@@ -131,7 +131,11 @@ public abstract class ScilabRubberBox extends RubberBox
131 // wait until rubber box if finished 131 // wait until rubber box if finished
132 synchronized (lock) { 132 synchronized (lock) {
133 try { 133 try {
134 lock.wait(); 134 // check if rubberBox has not been canceled already
135 if (getUsedButton() != CLOSE_ACTION_BUTTON) {
136 // Ok, it's not already canceled
137 lock.wait();
138 }
135 } catch (InterruptedException e) { 139 } catch (InterruptedException e) {
136 e.printStackTrace(); 140 e.printStackTrace();
137 } 141 }
@@ -144,6 +148,7 @@ public abstract class ScilabRubberBox extends RubberBox
144 endRect[1] = getFirstPointY(); 148 endRect[1] = getFirstPointY();
145 endRect[2] = getSecondPointX(); 149 endRect[2] = getSecondPointX();
146 endRect[INITIAL_RECT_SIZE - 1] = getSecondPointY(); 150 endRect[INITIAL_RECT_SIZE - 1] = getSecondPointY();
151
147 152
148 return getUsedButton(); 153 return getUsedButton();
149 154
@@ -200,7 +205,7 @@ public abstract class ScilabRubberBox extends RubberBox
200 setSecondPoint(secondPointX, secondPointY); 205 setSecondPoint(secondPointX, secondPointY);
201 206
202 // activate the canvas 207 // activate the canvas
203 activate(selectedCanvas.getFigureIndex()); 208 activate();
204 209
205 // now track mouse motion event to update the rectangle position 210 // now track mouse motion event to update the rectangle position
206 selectedCanvas.addMouseMotionListener(this); 211 selectedCanvas.addMouseMotionListener(this);
@@ -213,8 +218,8 @@ public abstract class ScilabRubberBox extends RubberBox
213 * End the display of the dragging rectangle 218 * End the display of the dragging rectangle
214 */ 219 */
215 protected void endDragging() { 220 protected void endDragging() {
216 // desactivate drawing of rectangle 221 // disable drawing of rectangle
217 desactivate(); 222 deactivate();
218 223
219 // remove listener from the canvas 224 // remove listener from the canvas
220 selectedCanvas.removeMouseMotionListener(this); 225 selectedCanvas.removeMouseMotionListener(this);
@@ -232,24 +237,22 @@ public abstract class ScilabRubberBox extends RubberBox
232 */ 237 */
233 public void hierarchyChanged(HierarchyEvent event) { 238 public void hierarchyChanged(HierarchyEvent event) {
234 // we should stop recording here 239 // we should stop recording here
235 cancelDragging(); 240 cancelRubberbox();
236 } 241 }
237 242
238 /** 243 /**
239 * Cancel the recording and set an empty selection 244 * Cancel the recording and set an empty selection
240 */ 245 */
241 protected void cancelDragging() { 246 public void cancelRubberbox() {
242 // specify that canvas has been closed 247
243 setUsedButton(CLOSE_ACTION_BUTTON); 248 synchronized (lock) {
244 setEmptySelection(); 249 super.cancelRubberbox();
245 250 // specify that canvas has been closed
246 if (isDragging()) { 251 setUsedButton(CLOSE_ACTION_BUTTON);
247 endDragging(); 252 if (isDragging()) {
248 } else { 253 selectedCanvas.removeMouseMotionListener(this);
249 // wake up calling thread
250 synchronized (lock) {
251 lock.notifyAll();
252 } 254 }
255 lock.notifyAll();
253 } 256 }
254 } 257 }
255 258
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java
index e13c4a4..6ab8486 100644
--- a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java
+++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java
@@ -101,7 +101,7 @@ public class ZoomRubberBox extends ClickRubberBox implements FocusListener {
101 // focus lost so stop recording 101 // focus lost so stop recording
102 // do only this if the opposite component is not the canvas itself 102 // do only this if the opposite component is not the canvas itself
103 if (event.getOppositeComponent() != getSelectedCanvas().getAsComponent()) { 103 if (event.getOppositeComponent() != getSelectedCanvas().getAsComponent()) {
104 cancelDragging(); 104 cancelRubberbox();
105 } 105 }
106 } 106 }
107 107
diff --git a/scilab/modules/io/help/en_US/get_absolute_file_path.xml b/scilab/modules/io/help/en_US/get_absolute_file_path.xml
index 65886de..39e2447 100644
--- a/scilab/modules/io/help/en_US/get_absolute_file_path.xml
+++ b/scilab/modules/io/help/en_US/get_absolute_file_path.xml
@@ -69,7 +69,10 @@
69 <para>"get_absolute_file_path" seek, in the internal list of the files of 69 <para>"get_absolute_file_path" seek, in the internal list of the files of
70 scilab currently opened, " filename" and it gives his path.</para> 70 scilab currently opened, " filename" and it gives his path.</para>
71 71
72 <para>if file not opened , it will return current directory path.</para> 72 <para>if file not opened , it will return a error.</para>
73
74 <para>WARNING : in previous version (scilab 5.0.x) current directory was
75 returned if file was not found.</para>
73 76
74 <para>This function can be used to find from where (path) is executed a 77 <para>This function can be used to find from where (path) is executed a
75 scilab script.</para> 78 scilab script.</para>
@@ -105,4 +108,4 @@ mclose(a);
105 108
106 <para>Allan CORNET</para> 109 <para>Allan CORNET</para>
107 </refsection> 110 </refsection>
108</refentry> \ No newline at end of file 111</refentry>
diff --git a/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c b/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c
index f9f9ed6..4234d67 100644
--- a/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c
+++ b/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c
@@ -15,42 +15,30 @@
15 */ 15 */
16/*--------------------------------------------------------------------------*/ 16/*--------------------------------------------------------------------------*/
17#include <string.h> 17#include <string.h>
18#include <stdio.h> /* FILE */ 18#include <stdio.h>
19#ifdef _MSC_VER
20 #include <windows.h>
21#else
22 #include <unistd.h>
23 #define GETCWD(x,y) getcwd(x,y)
24#endif
25
26#include "gw_io.h" 19#include "gw_io.h"
27#include "PATH_MAX.h"
28#include "FileExist.h"
29#include "../../../core/src/c/scicurdir.h"
30#include "stack-c.h" 20#include "stack-c.h"
21#include "PATH_MAX.h"
31#include "MALLOC.h" 22#include "MALLOC.h"
32#include "Scierror.h" 23#include "Scierror.h"
33#include "getfiledesc.h" 24#include "getfiledesc.h"
34#include "getfileinfo.h" 25#include "getfileinfo.h"
35#include "localization.h" 26#include "localization.h"
36#include "freeArrayOfString.h" 27#include "freeArrayOfString.h"
37#include "warningmode.h"
38#include "sciprint.h"
39/*--------------------------------------------------------------------------*/ 28/*--------------------------------------------------------------------------*/
40int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len) 29int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len)
41{ 30{
42 int l1,n1,m1;
43
44 CheckRhs(1,1); 31 CheckRhs(1,1);
45 CheckLhs(1,1); 32 CheckLhs(1,1);
46 33
47 if (! (GetType(1) == sci_strings)) 34 if (GetType(1) != sci_strings)
48 { 35 {
49 Scierror(999,_("%s: Wrong type for input argument #%d: A string.\n"),fname); 36 Scierror(999,_("%s: Wrong type for input argument #%d: A string.\n"),fname);
50 return 0; 37 return 0;
51 } 38 }
52 else 39 else
53 { 40 {
41 int n1,m1;
54 char **parametersIN = NULL; 42 char **parametersIN = NULL;
55 43
56 GetRhsVar(1,MATRIX_OF_STRING_DATATYPE,&m1,&n1,&parametersIN); 44 GetRhsVar(1,MATRIX_OF_STRING_DATATYPE,&m1,&n1,&parametersIN);
@@ -65,8 +53,8 @@ int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len)
65 } 53 }
66 else 54 else
67 { 55 {
68 int i=0; 56 int i = 0;
69 int fdmax=0; 57 int fdmax = 0;
70 char fileNameFormList[PATH_MAX]; 58 char fileNameFormList[PATH_MAX];
71 char *absolute_file_path = NULL; 59 char *absolute_file_path = NULL;
72 char *filename = parametersIN[0]; 60 char *filename = parametersIN[0];
@@ -109,32 +97,9 @@ int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len)
109 97
110 if (!absolute_file_path) /* file not found in list of files opened by scilab */ 98 if (!absolute_file_path) /* file not found in list of files opened by scilab */
111 { 99 {
112 int ierr=0; 100 Scierror(999,_("%s: The file %s does not exist.\n"),fname,filename);
113 int lpath=0; 101 freeArrayOfString(parametersIN,m1*n1);
114 char *path=NULL; 102 return 0;
115
116 if ( getWarningMode() )
117 {
118 sciprint(_("%s: The file %s not found. current directory returned.\n"),fname,filename);
119 }
120
121 scigetcwd(&path,&lpath,&ierr);
122 if (ierr) /* Problem to get current directory */
123 {
124 m1=0; n1=0; l1=0; /* returns a empty string */
125 CreateVar(Rhs+1,STRING_DATATYPE, &m1, &n1, &l1);
126 LhsVar(1)=Rhs+1;
127 C2F(putlhsvar)();
128 return 0;
129 }
130 else
131 {
132 absolute_file_path=(char *)MALLOC(sizeof(char)*(lpath+(int)strlen(DIR_SEPARATOR)+1));
133 strncpy(absolute_file_path,path,lpath);
134 absolute_file_path[lpath]='\0';
135 /* Add '\' or '/' */
136 strcat(absolute_file_path,DIR_SEPARATOR);
137 }
138 } 103 }
139 104
140 freeArrayOfString(parametersIN,m1*n1); 105 freeArrayOfString(parametersIN,m1*n1);
diff --git a/scilab/modules/io/sci_gateway/fortran/intdeff.f b/scilab/modules/io/sci_gateway/fortran/intdeff.f
index a90e620..05e16ed 100644
--- a/scilab/modules/io/sci_gateway/fortran/intdeff.f
+++ b/scilab/modules/io/sci_gateway/fortran/intdeff.f
@@ -15,7 +15,7 @@ c
15 integer nocomp,profile 15 integer nocomp,profile
16 16
17 logical cremat 17 logical cremat
18 integer iadr,sadr 18 integer iadr
19 character *8 caller 19 character *8 caller
20 20
21 save icomp 21 save icomp
@@ -23,7 +23,6 @@ c
23 data nocomp/23/,profile/25/ 23 data nocomp/23/,profile/25/
24c 24c
25 iadr(l)=l+l-1 25 iadr(l)=l+l-1
26 sadr(l)=(l/2)+1
27c 26c
28 icomp=1 27 icomp=1
29 caller='deff' 28 caller='deff'
diff --git a/scilab/modules/io/sci_gateway/fortran/intdisp.f b/scilab/modules/io/sci_gateway/fortran/intdisp.f
index e056f62..3b1703e 100644
--- a/scilab/modules/io/sci_gateway/fortran/intdisp.f
+++ b/scilab/modules/io/sci_gateway/fortran/intdisp.f
@@ -11,11 +11,10 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 11
12 INCLUDE 'stack.h' 12 INCLUDE 'stack.h'
13 integer topk,id(nlgh) 13 integer topk,id(nlgh)
14 integer iadr,sadr 14 integer iadr
15 logical eptover 15 logical eptover
16c 16c
17 iadr(l)=l+l-1 17 iadr(l)=l+l-1
18 sadr(l)=(l/2)+1
19c 18c
20 19
21 if(rstk(pt).eq.908 ) goto 203 20 if(rstk(pt).eq.908 ) goto 203
diff --git a/scilab/modules/io/sci_gateway/fortran/intgetf.f b/scilab/modules/io/sci_gateway/fortran/intgetf.f
index abce52f..e7d610b 100644
--- a/scilab/modules/io/sci_gateway/fortran/intgetf.f
+++ b/scilab/modules/io/sci_gateway/fortran/intgetf.f
@@ -14,12 +14,11 @@ c
14 integer mode(2) 14 integer mode(2)
15 integer nocomp,profile 15 integer nocomp,profile
16 logical opened,eptover,cremat 16 logical opened,eptover,cremat
17 integer iadr,sadr 17 integer iadr
18c 18c
19 data nocomp/23/,profile/25/ 19 data nocomp/23/,profile/25/
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23c 22c
24 if (rstk(pt).eq.904) goto 57 23 if (rstk(pt).eq.904) goto 57
25c 24c
diff --git a/scilab/modules/io/sci_gateway/fortran/intprint.f b/scilab/modules/io/sci_gateway/fortran/intprint.f
index 3f22718..83e37fe 100644
--- a/scilab/modules/io/sci_gateway/fortran/intprint.f
+++ b/scilab/modules/io/sci_gateway/fortran/intprint.f
@@ -13,13 +13,12 @@ c
13 integer flag,top2,tops 13 integer flag,top2,tops
14 integer mode(2) 14 integer mode(2)
15 logical opened,eptover 15 logical opened,eptover
16 integer iadr,sadr 16 integer iadr
17c 17c
18 save opened,lunit 18 save opened,lunit
19c 19c
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23c 22c
24 if(rhs.le.1) then 23 if(rhs.le.1) then
25 call error(42) 24 call error(42)
diff --git a/scilab/modules/io/sci_gateway/fortran/oldloadsave.f b/scilab/modules/io/sci_gateway/fortran/oldloadsave.f
index 25e5a81..d14b5b5 100644
--- a/scilab/modules/io/sci_gateway/fortran/oldloadsave.f
+++ b/scilab/modules/io/sci_gateway/fortran/oldloadsave.f
@@ -13,13 +13,12 @@ c
13 integer id(nsiz),mode(2),h(nsiz) 13 integer id(nsiz),mode(2),h(nsiz)
14 integer top2,job,semi 14 integer top2,job,semi
15 logical opened,eptover 15 logical opened,eptover
16 integer iadr,sadr 16 integer iadr
17c 17c
18 data blank/40/,semi/43/ 18 data blank/40/,semi/43/
19 19
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23c 22c
24 lw=lstk(top+1) 23 lw=lstk(top+1)
25 il=iadr(lstk(top)) 24 il=iadr(lstk(top))
@@ -94,13 +93,12 @@ c
94 integer id(nsiz),mode(2) 93 integer id(nsiz),mode(2)
95 integer top2,job,semi 94 integer top2,job,semi
96 logical opened,eptover 95 logical opened,eptover
97 integer iadr,sadr 96 integer iadr
98c 97c
99 data blank/40/,semi/43/ 98 data blank/40/,semi/43/
100 99
101c 100c
102 iadr(l)=l+l-1 101 iadr(l)=l+l-1
103 sadr(l)=(l/2)+1
104c 102c
105 103
106 lw=lstk(top+1) 104 lw=lstk(top+1)
diff --git a/scilab/modules/io/src/fortran/newsave.f b/scilab/modules/io/src/fortran/newsave.f
index 8412ead..b243fd6 100644
--- a/scilab/modules/io/src/fortran/newsave.f
+++ b/scilab/modules/io/src/fortran/newsave.f
@@ -415,12 +415,10 @@ c Copyright INRIA
415 include 'stack.h' 415 include 'stack.h'
416c 416c
417 integer fd,id(nsiz),vol 417 integer fd,id(nsiz),vol
418 integer iadr
419 logical cremat 418 logical cremat
420 character*3 fmti,fmtd 419 character*3 fmti,fmtd
421c 420c
422c 421c
423 iadr(l)=l+l-1
424 sadr(l)=(l/2)+1 422 sadr(l)=(l/2)+1
425c 423c
426 424
@@ -1443,11 +1441,7 @@ c Save a pointer on sparse lu factorization
1443c 1441c
1444 integer fd 1442 integer fd
1445 character*3 fmti,fmtd 1443 character*3 fmti,fmtd
1446 integer sadr 1444c
1447c
1448c iadr(l)=l+l-1
1449 sadr(l)=(l/2)+1
1450c
1451 fmti='il'//char(0) 1445 fmti='il'//char(0)
1452 fmtd='dl'//char(0) 1446 fmtd='dl'//char(0)
1453c 1447c
@@ -1455,12 +1449,6 @@ c
1455c call error(997) 1449c call error(997)
1456 ierr=997 1450 ierr=997
1457 return 1451 return
1458c write header type excluded
1459c call mputnc (fd,istk(il+1),3,fmti,ierr)
1460c if(ierr.ne.0) return
1461c write pointer
1462c call mputnc(fd,stk(sadr(il+4)),1,fmtd,ierr)
1463c return
1464 end 1452 end
1465 1453
1466 subroutine loadptr(fd,il,n,ierr) 1454 subroutine loadptr(fd,il,n,ierr)
@@ -1540,11 +1528,7 @@ c Save a pointer on sparse lu factorization
1540c 1528c
1541 integer fd 1529 integer fd
1542 character*3 fmti,fmtd 1530 character*3 fmti,fmtd
1543 integer sadr 1531
1544c
1545c iadr(l)=l+l-1
1546 sadr(l)=(l/2)+1
1547c
1548 fmti='il'//char(0) 1532 fmti='il'//char(0)
1549 fmtd='dl'//char(0) 1533 fmtd='dl'//char(0)
1550c 1534c
@@ -1580,7 +1564,6 @@ c Save a pointer on sparse lu factorization
1580 character*3 fmti,fmtd 1564 character*3 fmti,fmtd
1581 integer sadr 1565 integer sadr
1582c 1566c
1583c iadr(l)=l+l-1
1584 sadr(l)=(l/2)+1 1567 sadr(l)=(l/2)+1
1585c 1568c
1586 fmti='il'//char(0) 1569 fmti='il'//char(0)
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref b/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref
index 60134fc..86bfb07 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref
@@ -6,13 +6,14 @@
6// ============================================================================= 6// =============================================================================
7// <-- Non-regression test for bug 3075 --> 7// <-- Non-regression test for bug 3075 -->
8// 8//
9// <-- Short Description -->
10// get_absolute_file_path() doesn't return error message when the input
11// argument hasn't the right size or a correct value.
12//
9// <-- Bugzilla URL --> 13// <-- Bugzilla URL -->
10// http://bugzilla.scilab.org/show_bug.cgi?id=3075 14// http://bugzilla.scilab.org/show_bug.cgi?id=3075
11// 15//
12a=mopen(TMPDIR+'test.sce','wt'); 16a=mopen(TMPDIR+'test.sce','wt');
13warning('off');
14if get_absolute_file_path('fhsjdfhjdshkfq') <> pwd()+filesep() then bugmes();quit;end
15warning('on');
16if get_absolute_file_path('test.sce') <> TMPDIR then bugmes();quit;end 17if get_absolute_file_path('test.sce') <> TMPDIR then bugmes();quit;end
17mclose(a); 18mclose(a);
18ierr = execstr('get_absolute_file_path('''')','errcatch'); 19ierr = execstr('get_absolute_file_path('''')','errcatch');
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3075.tst b/scilab/modules/io/tests/nonreg_tests/bug_3075.tst
index e28ab41..9420502 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3075.tst
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3075.tst
@@ -16,10 +16,6 @@
16// 16//
17 17
18a=mopen(TMPDIR+'test.sce','wt'); 18a=mopen(TMPDIR+'test.sce','wt');
19warning('off');
20if get_absolute_file_path('fhsjdfhjdshkfq') <> pwd()+filesep() then pause,end
21warning('on');
22
23if get_absolute_file_path('test.sce') <> TMPDIR then pause,end 19if get_absolute_file_path('test.sce') <> TMPDIR then pause,end
24mclose(a); 20mclose(a);
25 21
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref b/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref
index ee8289b..27accc9 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref
@@ -19,10 +19,10 @@
19ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch'); 19ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch');
20if ierr <> 999 then bugmes();quit;end 20if ierr <> 999 then bugmes();quit;end
21err_msg = lasterror(); 21err_msg = lasterror();
22ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 22ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
23if err_msg <> ref_msg then bugmes();quit;end 23if err_msg <> ref_msg then bugmes();quit;end
24ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch'); 24ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch');
25if ierr <> 999 then bugmes();quit;end 25if ierr <> 999 then bugmes();quit;end
26err_msg = lasterror(); 26err_msg = lasterror();
27ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 27ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
28if err_msg <> ref_msg then bugmes();quit;end 28if err_msg <> ref_msg then bugmes();quit;end
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3427.tst b/scilab/modules/io/tests/nonreg_tests/bug_3427.tst
index dadd7a8..f4a40de 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3427.tst
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3427.tst
@@ -21,13 +21,13 @@
21ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch'); 21ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch');
22if ierr <> 999 then pause,end 22if ierr <> 999 then pause,end
23err_msg = lasterror(); 23err_msg = lasterror();
24ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 24ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
25 25
26if err_msg <> ref_msg then pause,end 26if err_msg <> ref_msg then pause,end
27 27
28ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch'); 28ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch');
29if ierr <> 999 then pause,end 29if ierr <> 999 then pause,end
30err_msg = lasterror(); 30err_msg = lasterror();
31ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 31ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
32 32
33if err_msg <> ref_msg then pause,end 33if err_msg <> ref_msg then pause,end
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref b/scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref
new file mode 100644
index 0000000..3c779ce
--- /dev/null
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref
@@ -0,0 +1,22 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008 - DIGITEO - Allan CORNET
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7// <-- Non-regression test for bug 3775 -->
8//
9// <-- Short Description -->
10//There is no way to know if the path returned by get_absolute_file_path() is the good one or not :
11//if the input argument is not an opened file, the current directory is returned.
12//=> It should return an error instead of just printing a message.
13//
14// <-- Bugzilla URL -->
15// http://bugzilla.scilab.org/show_bug.cgi?id=3775
16//
17a=mopen(TMPDIR+'test.sce','wt');
18path_returned = get_absolute_file_path('test.sce');
19if (path_returned <> TMPDIR) then bugmes();quit;end
20mclose(a);
21ierr = execstr('path_returned = get_absolute_file_path(''test.sce'');','errcatch');
22if ierr <> 999 then bugmes();quit;end
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3775.tst b/scilab/modules/io/tests/nonreg_tests/bug_3775.tst
new file mode 100644
index 0000000..da25bde
--- /dev/null
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3775.tst
@@ -0,0 +1,27 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008 - DIGITEO - Allan CORNET
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- Non-regression test for bug 3775 -->
9//
10
11// <-- Short Description -->
12//There is no way to know if the path returned by get_absolute_file_path() is the good one or not :
13//if the input argument is not an opened file, the current directory is returned.
14//=> It should return an error instead of just printing a message.
15
16//
17// <-- Bugzilla URL -->
18// http://bugzilla.scilab.org/show_bug.cgi?id=3775
19//
20
21a=mopen(TMPDIR+'test.sce','wt');
22path_returned = get_absolute_file_path('test.sce');
23if (path_returned <> TMPDIR) then pause,end
24mclose(a);
25
26ierr = execstr('path_returned = get_absolute_file_path(''test.sce'');','errcatch');
27if ierr <> 999 then pause,end
diff --git a/scilab/modules/io/tests/unit_tests/get_absolute_file_path.dia.ref b/scilab/modules/io/tests/unit_tests/get_absolute_file_path.dia.ref
index d44a553..98f0f6d 100644
--- a/scilab/modules/io/tests/unit_tests/get_absolute_file_path.dia.ref
+++ b/scilab/modules/io/tests/unit_tests/get_absolute_file_path.dia.ref
@@ -4,7 +4,6 @@
4// 4//
5// This file is distributed under the same license as the Scilab package. 5// This file is distributed under the same license as the Scilab package.
6// ============================================================================= 6// =============================================================================
7warning('off');
8ierr = execstr("get_absolute_file_path();","errcatch"); 7ierr = execstr("get_absolute_file_path();","errcatch");
9if ierr <> 77 then bugmes();quit;end 8if ierr <> 77 then bugmes();quit;end
10ierr = execstr("get_absolute_file_path(''test.sce'',''test.sce'');","errcatch"); 9ierr = execstr("get_absolute_file_path(''test.sce'',''test.sce'');","errcatch");
@@ -12,11 +11,8 @@ if ierr <> 77 then bugmes();quit;end
12current_dir = pwd()+ filesep(); 11current_dir = pwd()+ filesep();
13a = mopen(TMPDIR+'test.sce','wt'); 12a = mopen(TMPDIR+'test.sce','wt');
14d1 = get_absolute_file_path('test.sce'); 13d1 = get_absolute_file_path('test.sce');
15d2 = get_absolute_file_path('test-not-exists.sce');
16mclose(a); 14mclose(a);
17// file 'test.sce' closed then not found
18d3 = get_absolute_file_path('test.sce');
19if d1 <> TMPDIR then bugmes();quit;end 15if d1 <> TMPDIR then bugmes();quit;end
20if d2 <> current_dir then bugmes();quit;end 16// file 'test.sce' closed then not found
21if d3 <> current_dir then bugmes();quit;end 17ierr = execstr('d3 = get_absolute_file_path(''test.sce'');','errcatch');
22warning('on'); 18if ierr <> 999 then bugmes();quit;end
diff --git a/scilab/modules/io/tests/unit_tests/get_absolute_file_path.tst b/scilab/modules/io/tests/unit_tests/get_absolute_file_path.tst
index 40dd4b3..888f225 100644
--- a/scilab/modules/io/tests/unit_tests/get_absolute_file_path.tst
+++ b/scilab/modules/io/tests/unit_tests/get_absolute_file_path.tst
@@ -4,7 +4,6 @@
4// 4//
5// This file is distributed under the same license as the Scilab package. 5// This file is distributed under the same license as the Scilab package.
6// ============================================================================= 6// =============================================================================
7warning('off');
8 7
9ierr = execstr("get_absolute_file_path();","errcatch"); 8ierr = execstr("get_absolute_file_path();","errcatch");
10if ierr <> 77 then pause,end 9if ierr <> 77 then pause,end
@@ -16,14 +15,9 @@ current_dir = pwd()+ filesep();
16 15
17a = mopen(TMPDIR+'test.sce','wt'); 16a = mopen(TMPDIR+'test.sce','wt');
18d1 = get_absolute_file_path('test.sce'); 17d1 = get_absolute_file_path('test.sce');
19d2 = get_absolute_file_path('test-not-exists.sce');
20mclose(a); 18mclose(a);
21
22// file 'test.sce' closed then not found
23d3 = get_absolute_file_path('test.sce');
24
25if d1 <> TMPDIR then pause,end 19if d1 <> TMPDIR then pause,end
26if d2 <> current_dir then pause,end
27if d3 <> current_dir then pause,end
28 20
29warning('on'); 21// file 'test.sce' closed then not found
22ierr = execstr('d3 = get_absolute_file_path(''test.sce'');','errcatch');
23if ierr <> 999 then pause,end
diff --git a/scilab/modules/linear_algebra/src/fortran/complexify.f b/scilab/modules/linear_algebra/src/fortran/complexify.f
index fdc7070..cfaa972 100644
--- a/scilab/modules/linear_algebra/src/fortran/complexify.f
+++ b/scilab/modules/linear_algebra/src/fortran/complexify.f
@@ -11,10 +11,9 @@ c$
11c transforms the real matrix at position n into complex 11c transforms the real matrix at position n into complex
12 include 'stack.h' 12 include 'stack.h'
13c 13c
14 integer iadr,sadr 14 integer iadr
15c 15c
16 iadr(l)=l+l-1 16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c 17c
19 complexify=.false. 18 complexify=.false.
20 nn=top-rhs+n 19 nn=top-rhs+n
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6bandred.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6bandred.f
index 7688034..7a8e684 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6bandred.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6bandred.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6bmatch.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6bmatch.f
index 3dd9e0d..e684223 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6bmatch.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6bmatch.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 lbuf = 1 24 lbuf = 1
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6busack.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6busack.f
index a880e43..3defda4 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6busack.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6busack.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6cent.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6cent.f
index b089b9b..d797946 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6cent.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6cent.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6chcm.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6chcm.f
index e5d9ff9..78b5c11 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6chcm.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6chcm.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique.f
index 064b4e0..f40d033 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique.f
@@ -14,11 +14,10 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getmat,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getmat,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1
22 rhs = max(0,rhs) 21 rhs = max(0,rhs)
23c 22c
24 topk = top 23 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique1.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique1.f
index ce1bc10..2624a88 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique1.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6clique1.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6compc.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6compc.f
index 1ee11e3..44f4386 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6compc.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6compc.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6compfc.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6compfc.f
index 131c46b..9ca63b3 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6compfc.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6compfc.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6concom.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6concom.f
index 9c4d4f2..52dd0de 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6concom.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6concom.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6deumesh.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6deumesh.f
index d84b19a..f5151f5 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6deumesh.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6deumesh.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs.f
index 34a801c..e3f8ef5 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs2.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs2.f
index b07a2f1..69b3f81 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs2.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs2.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6diam.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6diam.f
index 307b1d7..1fc3216 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6diam.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6diam.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dijkst.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dijkst.f
index 3fba4df..bba9cf5 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dijkst.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dijkst.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dmtree.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dmtree.f
index 94b6ddb..d4fff5a 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6dmtree.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6dmtree.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6edge2st.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6edge2st.f
index 4ffca59..7ebdd73 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6edge2st.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6edge2st.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,cremat 19 logical checkrhs,checklhs,getvectrow,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6findiso.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6findiso.f
index 458ec18..20104c0 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6findiso.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6findiso.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6flomax.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6flomax.f
index 3c5b17f..9bcc07f 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6flomax.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6flomax.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6floqua.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6floqua.f
index 907c62d..fe72c69 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6floqua.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6floqua.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6ford.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6ford.f
index 3d0982b..1d72eb0 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6ford.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6ford.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6fordfulk.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6fordfulk.f
index b489e84..77b113d 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6fordfulk.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6fordfulk.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6frang.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6frang.f
index 14e4968..7b1cb80 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6frang.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6frang.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6hamil.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6hamil.f
index e247ef3..24e2012 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6hamil.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6hamil.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6hullcvex.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6hullcvex.f
index a1e000b..5f3b5a7 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6hullcvex.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6hullcvex.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getmat,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getmat,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6johns.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6johns.f
index e340dbe..7432791 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6johns.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6johns.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6kilter.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6kilter.f
index a190c43..fb6da81 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6kilter.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6kilter.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6knapsk.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6knapsk.f
index b6ed32a..a86f251 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6knapsk.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6knapsk.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat 19 logical checkrhs,checklhs,getscalar,getvectrow,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6loadg.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6loadg.f
index a0c467a..10ef1e0 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6loadg.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6loadg.f
@@ -14,12 +14,12 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getsmat,checkval,bufstore,crepointer,cr 19 logical checkrhs,checklhs,getsmat,checkval,bufstore,crepointer,cr
20 $ emat,listcrestring,listcremat,lcrestringmatfromC 20 $ emat,listcrestring,listcremat,lcrestringmatfromC
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1 22
23 rhs = max(0,rhs) 23 rhs = max(0,rhs)
24c 24c
25 lbuf = 1 25 lbuf = 1
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tad.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tad.f
index a184426..a9173bc 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tad.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tad.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tau.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tau.f
index ba6de75..f9ef062 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tau.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tau.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat 19 logical checkrhs,checklhs,getvectrow,getscalar,checkval,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6mesh2b.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6mesh2b.f
index 3ad7cee..8e9f26e 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6mesh2b.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6mesh2b.f
@@ -14,12 +14,12 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,getmat,checkval,getvectrow,cr 19 logical checkrhs,checklhs,getscalar,getmat,checkval,getvectrow,cr
20 $ emat 20 $ emat
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1 22
23 rhs = max(0,rhs) 23 rhs = max(0,rhs)
24c 24c
25 topk = top 25 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6meshmesh.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6meshmesh.f
index dfd8ea2..398a283 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6meshmesh.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6meshmesh.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18 integer topk,rhsk,topl
19 logical checkrhs,checklhs,getscalar,cremat 19 logical checkrhs,checklhs,getscalar,cremat
20 iadr(l)=l+l-1 20 iadr(l)=l+l-1
21 sadr(l)=(l/2)+1 21
22 rhs = max(0,rhs) 22 rhs = max(0,rhs)
23c 23c
24 topk = top 24 topk = top
diff --git a/scilab/modules/metanet/sci_gateway/fortran/sci_m6ns2p.f b/scilab/modules/metanet/sci_gateway/fortran/sci_m6ns2p.f
index eea46b4..ff03ca1 100644
--- a/scilab/modules/metanet/sci_gateway/fortran/sci_m6ns2p.f
+++ b/scilab/modules/metanet/sci_gateway/fortran/sci_m6ns2p.f
@@ -14,11 +14,11 @@ c
14 character*(*) fname 14 character*(*) fname
15 include 'stack.h' 15 include 'stack.h'
16c 16c
17 integer iadr, sadr 17 integer iadr
18 integer topk,rhsk,topl 18