summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStéphane Mottelet <stephane.mottelet@utc.fr>2018-10-09 18:35:12 +0200
committerClement DAVID <clement.david@esi-group.com>2019-07-19 15:38:42 +0200
commitf1c200255853ea94e07559fd438132d63ccc3614 (patch)
treee90eebd6b834f6e66f192285245366c90fbf2482
parente46b3d4caa2a2ca9c06ed5046fabf3ee09779308 (diff)
downloadscilab-f1c200255853ea94e07559fd438132d63ccc3614.zip
scilab-f1c200255853ea94e07559fd438132d63ccc3614.tar.gz
[interpolation] mesh2d gateway introduced
http://bugzilla.scilab.org/show_bug.cgi?id=8284 Change-Id: I8d5a80579a1c056b02fb0ce8abba5394395f0088
-rw-r--r--scilab/CHANGES.md1
-rw-r--r--scilab/modules/interpolation/Makefile.am6
-rw-r--r--scilab/modules/interpolation/Makefile.in24
-rwxr-xr-xscilab/modules/interpolation/help/en_US/mesh2d.xml212
-rw-r--r--scilab/modules/interpolation/includes/interpolation_functions.h3
-rw-r--r--scilab/modules/interpolation/includes/interpolation_gw.hxx1
-rw-r--r--scilab/modules/interpolation/macros/mesh2d.sci128
-rw-r--r--scilab/modules/interpolation/sci_gateway/cpp/sci_mesh2di.cpp178
-rw-r--r--scilab/modules/interpolation/sci_gateway/interpolation_gateway.xml1
-rw-r--r--scilab/modules/interpolation/src/c/interpolation.vcxproj519
-rw-r--r--scilab/modules/interpolation/src/c/interpolation.vcxproj.filters205
-rw-r--r--scilab/modules/interpolation/src/c/interpolation_f_Import.def3
-rw-r--r--scilab/modules/interpolation/src/fortran/interpolation_f.vfproj1
-rw-r--r--scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj486
-rw-r--r--scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj.filters126
-rw-r--r--scilab/modules/interpolation/src/fortran/mesh2b.f839
-rw-r--r--scilab/modules/interpolation/tests/unit_tests/mesh2d.tst35
17 files changed, 2099 insertions, 669 deletions
diff --git a/scilab/CHANGES.md b/scilab/CHANGES.md
index fec4198..c62fbec 100644
--- a/scilab/CHANGES.md
+++ b/scilab/CHANGES.md
@@ -94,6 +94,7 @@ Feature changes and additions
94 - Integer and Text input are now actually supported. 94 - Integer and Text input are now actually supported.
95 - Default input arguments can be skipped instead of still having to be provided. 95 - Default input arguments can be skipped instead of still having to be provided.
96 - The result string is better formatted to be easily wrappable and indentable. 96 - The result string is better formatted to be easily wrappable and indentable.
97* `mesh2d` has been introduced to compute a 2d mesh from vectors (x,y) of points.
97 98
98Help pages: 99Help pages:
99----------- 100-----------
diff --git a/scilab/modules/interpolation/Makefile.am b/scilab/modules/interpolation/Makefile.am
index 4708b2e..f4ef4fa 100644
--- a/scilab/modules/interpolation/Makefile.am
+++ b/scilab/modules/interpolation/Makefile.am
@@ -10,7 +10,8 @@
10INTERPOLATION_FORTRAN_SOURCES = \ 10INTERPOLATION_FORTRAN_SOURCES = \
11 src/fortran/somespline.f \ 11 src/fortran/somespline.f \
12 src/fortran/dspfit.f \ 12 src/fortran/dspfit.f \
13 src/fortran/cshep2d.f 13 src/fortran/cshep2d.f \
14 src/fortran/mesh2b.f
14 15
15INTERPOLATION_C_SOURCES = \ 16INTERPOLATION_C_SOURCES = \
16 src/c/interpolation.c \ 17 src/c/interpolation.c \
@@ -27,7 +28,8 @@ GATEWAY_CPP_SOURCES = \
27 sci_gateway/cpp/sci_splin2d.cpp \ 28 sci_gateway/cpp/sci_splin2d.cpp \
28 sci_gateway/cpp/sci_splin3d.cpp \ 29 sci_gateway/cpp/sci_splin3d.cpp \
29 sci_gateway/cpp/sci_bsplin3val.cpp \ 30 sci_gateway/cpp/sci_bsplin3val.cpp \
30 sci_gateway/cpp/sci_eval_cshep2d.cpp 31 sci_gateway/cpp/sci_eval_cshep2d.cpp \
32 sci_gateway/cpp/sci_mesh2di.cpp
31 33
32libsciinterpolation_la_CPPFLAGS= \ 34libsciinterpolation_la_CPPFLAGS= \
33 -I$(srcdir)/includes/ \ 35 -I$(srcdir)/includes/ \
diff --git a/scilab/modules/interpolation/Makefile.in b/scilab/modules/interpolation/Makefile.in
index 07b4b25..2c6c4ad 100644
--- a/scilab/modules/interpolation/Makefile.in
+++ b/scilab/modules/interpolation/Makefile.in
@@ -182,7 +182,7 @@ am__dirstamp = $(am__leading_dot)dirstamp
182am__objects_1 = src/c/libsciinterpolation_algo_la-interpolation.lo \ 182am__objects_1 = src/c/libsciinterpolation_algo_la-interpolation.lo \
183 src/c/libsciinterpolation_algo_la-someinterp.lo 183 src/c/libsciinterpolation_algo_la-someinterp.lo
184am__objects_2 = src/fortran/somespline.lo src/fortran/dspfit.lo \ 184am__objects_2 = src/fortran/somespline.lo src/fortran/dspfit.lo \
185 src/fortran/cshep2d.lo 185 src/fortran/cshep2d.lo src/fortran/mesh2b.lo
186am_libsciinterpolation_algo_la_OBJECTS = $(am__objects_1) \ 186am_libsciinterpolation_algo_la_OBJECTS = $(am__objects_1) \
187 $(am__objects_2) 187 $(am__objects_2)
188libsciinterpolation_algo_la_OBJECTS = \ 188libsciinterpolation_algo_la_OBJECTS = \
@@ -205,7 +205,8 @@ am__objects_3 = \
205 sci_gateway/cpp/libsciinterpolation_la-sci_splin2d.lo \ 205 sci_gateway/cpp/libsciinterpolation_la-sci_splin2d.lo \
206 sci_gateway/cpp/libsciinterpolation_la-sci_splin3d.lo \ 206 sci_gateway/cpp/libsciinterpolation_la-sci_splin3d.lo \
207 sci_gateway/cpp/libsciinterpolation_la-sci_bsplin3val.lo \ 207 sci_gateway/cpp/libsciinterpolation_la-sci_bsplin3val.lo \
208 sci_gateway/cpp/libsciinterpolation_la-sci_eval_cshep2d.lo 208 sci_gateway/cpp/libsciinterpolation_la-sci_eval_cshep2d.lo \
209 sci_gateway/cpp/libsciinterpolation_la-sci_mesh2di.lo
209am_libsciinterpolation_la_OBJECTS = $(am__objects_3) 210am_libsciinterpolation_la_OBJECTS = $(am__objects_3)
210libsciinterpolation_la_OBJECTS = $(am_libsciinterpolation_la_OBJECTS) 211libsciinterpolation_la_OBJECTS = $(am_libsciinterpolation_la_OBJECTS)
211AM_V_P = $(am__v_P_@AM_V@) 212AM_V_P = $(am__v_P_@AM_V@)
@@ -606,7 +607,8 @@ yacc_present = @yacc_present@
606INTERPOLATION_FORTRAN_SOURCES = \ 607INTERPOLATION_FORTRAN_SOURCES = \
607 src/fortran/somespline.f \ 608 src/fortran/somespline.f \
608 src/fortran/dspfit.f \ 609 src/fortran/dspfit.f \
609 src/fortran/cshep2d.f 610 src/fortran/cshep2d.f \
611 src/fortran/mesh2b.f
610 612
611INTERPOLATION_C_SOURCES = \ 613INTERPOLATION_C_SOURCES = \
612 src/c/interpolation.c \ 614 src/c/interpolation.c \
@@ -623,7 +625,8 @@ GATEWAY_CPP_SOURCES = \
623 sci_gateway/cpp/sci_splin2d.cpp \ 625 sci_gateway/cpp/sci_splin2d.cpp \
624 sci_gateway/cpp/sci_splin3d.cpp \ 626 sci_gateway/cpp/sci_splin3d.cpp \
625 sci_gateway/cpp/sci_bsplin3val.cpp \ 627 sci_gateway/cpp/sci_bsplin3val.cpp \
626 sci_gateway/cpp/sci_eval_cshep2d.cpp 628 sci_gateway/cpp/sci_eval_cshep2d.cpp \
629 sci_gateway/cpp/sci_mesh2di.cpp
627 630
628libsciinterpolation_la_CPPFLAGS = \ 631libsciinterpolation_la_CPPFLAGS = \
629 -I$(srcdir)/includes/ \ 632 -I$(srcdir)/includes/ \
@@ -848,6 +851,8 @@ src/fortran/dspfit.lo: src/fortran/$(am__dirstamp) \
848 src/fortran/$(DEPDIR)/$(am__dirstamp) 851 src/fortran/$(DEPDIR)/$(am__dirstamp)
849src/fortran/cshep2d.lo: src/fortran/$(am__dirstamp) \ 852src/fortran/cshep2d.lo: src/fortran/$(am__dirstamp) \
850 src/fortran/$(DEPDIR)/$(am__dirstamp) 853 src/fortran/$(DEPDIR)/$(am__dirstamp)
854src/fortran/mesh2b.lo: src/fortran/$(am__dirstamp) \
855 src/fortran/$(DEPDIR)/$(am__dirstamp)
851 856
852libsciinterpolation-algo.la: $(libsciinterpolation_algo_la_OBJECTS) $(libsciinterpolation_algo_la_DEPENDENCIES) $(EXTRA_libsciinterpolation_algo_la_DEPENDENCIES) 857libsciinterpolation-algo.la: $(libsciinterpolation_algo_la_OBJECTS) $(libsciinterpolation_algo_la_DEPENDENCIES) $(EXTRA_libsciinterpolation_algo_la_DEPENDENCIES)
853 $(AM_V_F77LD)$(F77LINK) $(libsciinterpolation_algo_la_OBJECTS) $(libsciinterpolation_algo_la_LIBADD) $(LIBS) 858 $(AM_V_F77LD)$(F77LINK) $(libsciinterpolation_algo_la_OBJECTS) $(libsciinterpolation_algo_la_LIBADD) $(LIBS)
@@ -890,6 +895,9 @@ sci_gateway/cpp/libsciinterpolation_la-sci_bsplin3val.lo: \
890sci_gateway/cpp/libsciinterpolation_la-sci_eval_cshep2d.lo: \ 895sci_gateway/cpp/libsciinterpolation_la-sci_eval_cshep2d.lo: \
891 sci_gateway/cpp/$(am__dirstamp) \ 896 sci_gateway/cpp/$(am__dirstamp) \
892 sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp) 897 sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp)
898sci_gateway/cpp/libsciinterpolation_la-sci_mesh2di.lo: \
899 sci_gateway/cpp/$(am__dirstamp) \
900 sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp)
893 901
894libsciinterpolation.la: $(libsciinterpolation_la_OBJECTS) $(libsciinterpolation_la_DEPENDENCIES) $(EXTRA_libsciinterpolation_la_DEPENDENCIES) 902libsciinterpolation.la: $(libsciinterpolation_la_OBJECTS) $(libsciinterpolation_la_DEPENDENCIES) $(EXTRA_libsciinterpolation_la_DEPENDENCIES)
895 $(AM_V_CXXLD)$(CXXLINK) -rpath $(pkglibdir) $(libsciinterpolation_la_OBJECTS) $(libsciinterpolation_la_LIBADD) $(LIBS) 903 $(AM_V_CXXLD)$(CXXLINK) -rpath $(pkglibdir) $(libsciinterpolation_la_OBJECTS) $(libsciinterpolation_la_LIBADD) $(LIBS)
@@ -914,6 +922,7 @@ distclean-compile:
914@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_interp3d.Plo@am__quote@ 922@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_interp3d.Plo@am__quote@
915@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_linear_interpn.Plo@am__quote@ 923@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_linear_interpn.Plo@am__quote@
916@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_lsq_splin.Plo@am__quote@ 924@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_lsq_splin.Plo@am__quote@
925@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_mesh2di.Plo@am__quote@
917@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_splin.Plo@am__quote@ 926@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_splin.Plo@am__quote@
918@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_splin2d.Plo@am__quote@ 927@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_splin2d.Plo@am__quote@
919@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_splin3d.Plo@am__quote@ 928@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_splin3d.Plo@am__quote@
@@ -1059,6 +1068,13 @@ sci_gateway/cpp/libsciinterpolation_la-sci_eval_cshep2d.lo: sci_gateway/cpp/sci_
1059@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1068@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1060@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciinterpolation_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sci_gateway/cpp/libsciinterpolation_la-sci_eval_cshep2d.lo `test -f 'sci_gateway/cpp/sci_eval_cshep2d.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_eval_cshep2d.cpp 1069@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciinterpolation_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sci_gateway/cpp/libsciinterpolation_la-sci_eval_cshep2d.lo `test -f 'sci_gateway/cpp/sci_eval_cshep2d.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_eval_cshep2d.cpp
1061 1070
1071sci_gateway/cpp/libsciinterpolation_la-sci_mesh2di.lo: sci_gateway/cpp/sci_mesh2di.cpp
1072@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciinterpolation_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sci_gateway/cpp/libsciinterpolation_la-sci_mesh2di.lo -MD -MP -MF sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_mesh2di.Tpo -c -o sci_gateway/cpp/libsciinterpolation_la-sci_mesh2di.lo `test -f 'sci_gateway/cpp/sci_mesh2di.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_mesh2di.cpp
1073@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_mesh2di.Tpo sci_gateway/cpp/$(DEPDIR)/libsciinterpolation_la-sci_mesh2di.Plo
1074@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='sci_gateway/cpp/sci_mesh2di.cpp' object='sci_gateway/cpp/libsciinterpolation_la-sci_mesh2di.lo' libtool=yes @AMDEPBACKSLASH@
1075@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1076@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciinterpolation_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sci_gateway/cpp/libsciinterpolation_la-sci_mesh2di.lo `test -f 'sci_gateway/cpp/sci_mesh2di.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_mesh2di.cpp
1077
1062.f.o: 1078.f.o:
1063 $(AM_V_F77)$(F77COMPILE) -c -o $@ $< 1079 $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
1064 1080
diff --git a/scilab/modules/interpolation/help/en_US/mesh2d.xml b/scilab/modules/interpolation/help/en_US/mesh2d.xml
new file mode 100755
index 0000000..9251f46
--- /dev/null
+++ b/scilab/modules/interpolation/help/en_US/mesh2d.xml
@@ -0,0 +1,212 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) 2008 - INRIA
5 * Copyright (C) 2018 - Stéphane MOTTELET
6 *
7 * This file is hereby licensed under the terms of the GNU GPL v2.0,
8 * pursuant to article 5.3.4 of the CeCILL v.2.1.
9 * This file was originally licensed under the terms of the CeCILL v2.1,
10 * and continues to be available under such terms.
11 * For more information, see the COPYING file which you should have received
12 * along with this program. *
13 *
14 -->
15<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xml:lang="en"
16xmlns:scilab="http://www.scilab.org"
17xml:id="mesh2d">
18 <info>
19 <pubdate>$LastChangedDate$</pubdate>
20 </info>
21 <refnamediv>
22 <refname>mesh2d</refname>
23 <refpurpose>Triangulation of n points in the plane</refpurpose>
24 </refnamediv>
25 <refsynopsisdiv>
26 <title>Calling Sequence</title>
27 <synopsis>
28triEdges = mesh2d(x, y)
29[triEdges, bdy] = mesh2d(x, y)
30triEdges = mesh2d(x, y, bdy)</synopsis>
31 </refsynopsisdiv>
32 <refsection>
33 <title>Parameters</title>
34 <variablelist>
35 <varlistentry>
36 <term>x</term>
37 <listitem>
38 <para>real vector</para>
39 </listitem>
40 </varlistentry>
41 <varlistentry>
42 <term>y</term>
43 <listitem>
44 <para>real vector</para>
45 </listitem>
46 </varlistentry>
47 <varlistentry>
48 <term>bdy</term>
49 <listitem>
50 <para>integer vector</para>
51 </listitem>
52 </varlistentry>
53 <varlistentry>
54 <term>triEdges</term>
55 <listitem>
56 <para>integer matrix</para>
57 </listitem>
58 </varlistentry>
59 </variablelist>
60 </refsection>
61 <refsection>
62 <title>Description</title>
63 <para>
64 <literal>mesh2d</literal> computes a triangulation of <literal>n</literal> points in the plane with coordinates given by vectors<literal>x,y</literal>. It
65 returns a matrix <literal>triEdges</literal> of size <literal>[3,nbt]</literal> where <literal>triEdges(:,i)</literal> gives the vertices numbers of triangle <literal>#i</literal> and <literal>nbt</literal> is the number of triangles.
66 </para>
67 <para>
68 When <literal>bdy</literal> is given as an input parameter this vector defines the
69 boundary and contains the indices of edges belonging to it, grouped by successive connected components. Each component is positively oriented, i.e. successive <literal>bdy(i:i+1)</literal> segments have the interior of the domain to their left. Hence, for a simply connected domain, the boundary is given counterclockwise, and eventual holes are always given clockwise.
70 Each connected component must be closed and is represented by the vector <literal>[i1,..,i_nc]</literal> such that
71 <literal>i1 == i_nc</literal>.
72 </para>
73 <para>
74 When <literal>bdy</literal> is given as an output parameter the boundary is computed prior to the triangulation as the convex hull of input points <literal>x,y</literal> and is returned in <literal>bdy</literal> with the same convention as above, i.e. counterclockwise sucessive vertices numbers.
75 </para>
76
77 <para>Possible error cases are the following:
78 <varlistentry>
79 <listitem>all nodes are collinear,</listitem>
80 <listitem>some points are identical,</listitem>
81 <listitem>wrong boundary array,</listitem>
82 <listitem>crossed boundary,</listitem>
83 <listitem>wrong orientation of the boundary,</listitem>
84 <listitem>size limitation,</listitem>
85 <listitem>an interior point is too close to the boundary,</listitem>
86 <listitem>an interior point is on the boundary,</listitem>
87 </varlistentry>
88 </para>
89 </refsection>
90 <refsection>
91 <title>Warning</title>
92 <para>The triangulation computed by <literal>mesh2d</literal> is not garanteed to be a Delaunay triangulation of points <literal>(x,y)</literal>.
93 </para>
94 </refsection>
95 <refsection>
96 <title>Examples</title>
97 <programlisting role="example"><![CDATA[
98function displayTri(X, Y, Tr)
99 plot(0,0,rect=[-1 -1 2 2])
100 [m, n] = size(Tr);
101 xpols = matrix(X(Tr), m, n);
102 ypols = matrix(Y(Tr), m, n);
103 xfpolys(xpols, ypols, [n/4:n/4+n-1]);
104endfunction
105
106r1 = 1;
107n1 = 20;
108u = linspace(2*%pi, 0, n1);
109xc1 = r1*cos(u(1:$-1));
110yc1 = r1*sin(u(1:$-1));
111bdy1 = [1:n1-1, 1];
112
113r2 = 2;
114n2 = 40;
115v = linspace(0, 2*%pi, n2);
116xc2 = r2*cos(v(1:$-1));
117yc2 = r2*sin(v(1:$-1));
118bdy2 = n1-1+[1:n2-1, 1];
119
120xr = (rand(1, 100)-.5)*2*r2;
121yr = (rand(1, 100)-.5)*2*r2;
122r = sqrt(xr.^2+yr.^2);
123
124clf
125gcf().color_map = rand(400, 3);
126gcf().position(4)=300
127
128// [t, bdy] = mesh2d(x, y) syntax
129subplot(1, 2, 1)
130k = find(r < = r2);
131[t, bdy] = mesh2d(xr(k), yr(k));
132displayTri(xr(k), yr(k), t)
133plot(xr(k(bdy)), yr(k(bdy)),"-ok","thickness",2)
134xtitle("[triEdges, bdy] = mesh2d(x, y)")
135isoview
136
137
138// t = mesh2d(x, y, bdy) syntax
139subplot(1, 2, 2)
140k = find((r > = r1) & (r < = r2));
141x = [xc1 xc2 xr(k)];
142y = [yc1 yc2 yr(k)];
143t = mesh2d(x, y, [bdy1 bdy2]);
144displayTri(x, y, t)
145plot(x(bdy1), y(bdy1),"-ok","thickness",2)
146plot(x(bdy2), y(bdy2),"-ok","thickness",2)
147xtitle("triEdges = mesh2d(x, y, bdy)")
148isoview
149 ]]></programlisting>
150 <scilab:image>
151function displayTri(X, Y, Tr)
152 plot(0,0,rect=[-1 -1 2 2])
153 [m, n] = size(Tr);
154 xpols = matrix(X(Tr), m, n);
155 ypols = matrix(Y(Tr), m, n);
156 xfpolys(xpols, ypols, [n/4:n/4+n-1]);
157endfunction
158
159r1 = 1;
160n1 = 20;
161u = linspace(2*%pi, 0, n1);
162xc1 = r1*cos(u(1:$-1));
163yc1 = r1*sin(u(1:$-1));
164bdy1 = [1:n1-1, 1];
165
166r2 = 2;
167n2 = 40;
168v = linspace(0, 2*%pi, n2);
169xc2 = r2*cos(v(1:$-1));
170yc2 = r2*sin(v(1:$-1));
171bdy2 = n1-1+[1:n2-1, 1];
172
173xr = (rand(1, 100)-.5)*2*r2;
174yr = (rand(1, 100)-.5)*2*r2;
175r = sqrt(xr.^2+yr.^2);
176
177clf
178gcf().color_map = rand(400, 3);
179gcf().position(4)=300
180
181// [t, bdy] = mesh2d(x, y) syntax
182subplot(1, 2, 1)
183k = find(r &lt; = r2);
184[t, bdy] = mesh2d(xr(k), yr(k));
185displayTri(xr(k), yr(k), t)
186plot(xr(k(bdy)), yr(k(bdy)),"-ok","thickness",2)
187xtitle("[triEdges, bdy] = mesh2d(x, y)")
188isoview
189
190
191// t = mesh2d(x, y, bdy) syntax
192subplot(1, 2, 2)
193k = find((r &gt; = r1) &amp; (r &lt; = r2));
194x = [xc1 xc2 xr(k)];
195y = [yc1 yc2 yr(k)];
196t = mesh2d(x, y, [bdy1 bdy2]);
197displayTri(x, y, t)
198plot(x(bdy1), y(bdy1),"-ok","thickness",2)
199plot(x(bdy2), y(bdy2),"-ok","thickness",2)
200xtitle("triEdges = mesh2d(x, y, bdy)")
201isoview
202
203
204
205 </scilab:image>
206 </refsection>
207 <refsection>
208 <title>References</title>
209 <para><literal>mesh2d</literal> was previously part of the <literal>metanet</literal> ATOMS module.
210 </para>
211 </refsection>
212</refentry>
diff --git a/scilab/modules/interpolation/includes/interpolation_functions.h b/scilab/modules/interpolation/includes/interpolation_functions.h
index 33c0a8d..4acbac0 100644
--- a/scilab/modules/interpolation/includes/interpolation_functions.h
+++ b/scilab/modules/interpolation/includes/interpolation_functions.h
@@ -54,3 +54,6 @@ extern double C2F(cs2val)(double* px, double* py, int* n, double* x, double* y,
54extern int C2F(cs2grd)(double* px, double* py, int* n, double* x, double* y, double* f, int* nr, int* lcell, int* lnext, double* xmin, double* ymin, double* dx, double* dy, double* rmax, double* rw, double* a, double* c, double* cx, double* cy, int* ier); 54extern int C2F(cs2grd)(double* px, double* py, int* n, double* x, double* y, double* f, int* nr, int* lcell, int* lnext, double* xmin, double* ymin, double* dx, double* dy, double* rmax, double* rw, double* a, double* c, double* cx, double* cy, int* ier);
55extern int C2F(cs2hes)(double* px, double* py, int* n, double* x, double* y, double* f, int* nr, int* lcell, int* lnext, double* xmin, double* ymin, double* dx, double* dy, double* rmax, double* rw, double* a, double* c, double* cx, double* cy, double* cxx, double* cxy, double* cyy, int* ier); 55extern int C2F(cs2hes)(double* px, double* py, int* n, double* x, double* y, double* f, int* nr, int* lcell, int* lnext, double* xmin, double* ymin, double* dx, double* dy, double* rmax, double* rw, double* a, double* c, double* cx, double* cy, double* cxx, double* cxy, double* cyy, int* ier);
56 56
57//mesh2d
58extern int C2F(deumesh)(int *, int *, int *, double *, double *, int *,int *, int *, int *, int*);
59extern int C2F(mesh2b)(int *, int *, int *, int *, double *, double *, int *, int *, int *, int *,int *); \ No newline at end of file
diff --git a/scilab/modules/interpolation/includes/interpolation_gw.hxx b/scilab/modules/interpolation/includes/interpolation_gw.hxx
index f9e2516..c88f704 100644
--- a/scilab/modules/interpolation/includes/interpolation_gw.hxx
+++ b/scilab/modules/interpolation/includes/interpolation_gw.hxx
@@ -34,5 +34,6 @@ CPP_GATEWAY_PROTOTYPE_EXPORT(sci_eval_cshep2d, INTERPOLATION_IMPEXP);
34CPP_GATEWAY_PROTOTYPE_EXPORT(sci_splin3d, INTERPOLATION_IMPEXP); 34CPP_GATEWAY_PROTOTYPE_EXPORT(sci_splin3d, INTERPOLATION_IMPEXP);
35CPP_GATEWAY_PROTOTYPE_EXPORT(sci_interp3d, INTERPOLATION_IMPEXP); 35CPP_GATEWAY_PROTOTYPE_EXPORT(sci_interp3d, INTERPOLATION_IMPEXP);
36CPP_GATEWAY_PROTOTYPE_EXPORT(sci_bsplin3val, INTERPOLATION_IMPEXP); 36CPP_GATEWAY_PROTOTYPE_EXPORT(sci_bsplin3val, INTERPOLATION_IMPEXP);
37CPP_GATEWAY_PROTOTYPE_EXPORT(sci_mesh2di, INTERPOLATION_IMPEXP);
37 38
38#endif /* !__INTERPOLATION_GW_HXX__ */ 39#endif /* !__INTERPOLATION_GW_HXX__ */
diff --git a/scilab/modules/interpolation/macros/mesh2d.sci b/scilab/modules/interpolation/macros/mesh2d.sci
new file mode 100644
index 0000000..d67cec4
--- /dev/null
+++ b/scilab/modules/interpolation/macros/mesh2d.sci
@@ -0,0 +1,128 @@
1//
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3//
4// Copyright (C) 2018 - Stéphane MOTTELET
5//
6// This file is hereby licensed under the terms of the GNU GPL v2.0,
7// For more information, see the COPYING file which you should have received
8// along with this program.
9//
10
11function [tri, hull]=mesh2d(varargin)
12 if argn(2) == 0 then
13 x = rand(10,1,"normal");
14 y = rand(10,1,"normal");
15 [tri, hull]=mesh2d(x,y);
16 tri = [tri;tri(1,:)];
17 plot(x,y,'o');
18 xstring(x,y,string(1:size(x,"*")));
19 xpolys(matrix(x(tri),size(tri)),matrix(y(tri),size(tri)));
20 plot(x(hull),y(hull),'-r');
21 return
22 end
23 if argn(2) < 2 || argn(2) > 3
24 error(msprintf(_("%s: Wrong number of input argument(s): %d or %d expected.\n"), "mesh2d", 2, 3));
25 end
26 if argn(2) == 3 && argn(1) <> 1
27 error(msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "mesh2d", 1));
28 end
29 if argn(2) == 2 && argn(1) > 2
30 error(msprintf(_("%s: Wrong number of output argument(s): %d or %d expected.\n"), "mesh2d", 1, 2));
31 end
32 for i = 1:length(varargin)
33 if type(varargin(i)) <> 1 || ~isreal(varargin(i))
34 error(msprintf(_("%s: Wrong type for argument #%d: Real matrix expected.\n"), "mesh2d", i));
35 end
36 end
37 if (size(varargin(1),"*") <> size(varargin(2),"*"))
38 error(msprintf(_("%s: Arguments #%d and #%d must have the same sizes.\n"), "mesh2d", 1,2));
39 end
40 if (size(varargin(1),"*") < 3)
41 error(msprintf(_("%s: Wrong size for input argument #%d : At least %d elements expected.\n"), "mesh2d)", 1, 3));
42 end
43 if argn(2) == 2
44 [hull, area] = quickhull(varargin(1), varargin(2));
45 if area < %eps
46 error(msprintf(_("%s: all points are aligned.\n"),"mesh2d"))
47 end
48 tri = mesh2di(varargin(1), varargin(2), hull);
49 else
50 tri = mesh2di(varargin(1), varargin(2), varargin(3));
51 end
52end
53
54function [ind, area]=quickhull(x, y)
55 // https://fr.wikipedia.org/wiki/Quickhull
56 // Quickhull is a method of computing the convex hull of a finite set of points in the plane.
57 // It uses a divide and conquer approach similar to that of quicksort, from which its name derives.
58 // Its best case complexity is considered to be O(n * log(n))
59 // The following implementation supports all degenerates cases.
60
61 // Determine vertices of minimum and maximum abcissa
62 [minx,imin] = min(x(:));
63 [maxx,imax] = max(x(:));
64 if maxx-minx < %eps * (1 + max(maxx,minx))
65 [miny,imin] = min(y(:));
66 [maxy,imax] = max(y(:));
67 if maxy-miny < %eps * (1 + max(maxy,miny))
68 error(msprintf(_("%s: all points are coincident.\n"),"mesh2d"))
69 end
70 end
71
72 ind = 1:size(x,"*");
73 ind([imin;imax]) = [];
74 // Call recursive divide and conquer function
75 // 1-for vertices under segment [imin imax]
76 [ind1,remain] = conquer(x(:),y(:),ind,[imin;imax]);
77 if ~isempty(remain) then
78 // 2-for vertices (if any) above segment [imin imax]
79 ind2 = conquer(x(:),y(:),remain,[imax;imin]);
80 ind = [ind1(1:$-1);ind2];
81 else // if all vertices were under segment [imin imax]
82 ind=[ind1;imin];
83 end
84 area = sum(x(ind(1:$-1)).*y(ind(2:$))-x(ind(2:$)).*y(ind(1:$-1)))/2
85end
86
87function [out, remain]=conquer(x, y, ind, indH)
88 out = indH;
89 xh = x(indH);
90 yh = y(indH);
91 // compute signed distance w.r.t to segment [indH(1) indH(2)]
92 u=[xh(2)-xh(1);yh(2)-yh(1)];
93 d = (y(ind)-yh(1))*u(1)-(x(ind)-xh(1))*u(2);
94 // 1-divide
95 // ind(iplus) = vertices to the right of segment [indH(1) indH(2)]
96 iplus = find(d<=0);
97 remain = ind;
98 remain(iplus) = [];
99 if ~isempty(iplus) then
100 // #indnew = the furthest vertex to the right of segment [indH(1),indH(2)
101 [ma,ima]=min(d(iplus));
102 if ma > -%eps // all the righ-of-segment vertices are *on* the segment
103 iOnSeg = ind(iplus);
104 // we sort vertices by increasing L_1 distance from indH(1)
105 [sorted,iSorted] = gsort(abs(x(iOnSeg)-x(indH(1)))+...
106 abs(y(iOnSeg)-y(indH(1))),'g','i');
107 out = [indH(1);iOnSeg(iSorted)';indH(2)]
108 return
109 end
110 indnew = ind(iplus(ima));
111 iplus(ima) = [];
112 // 2-conquer
113 if ~isempty(iplus) then
114 // process ind(iplus) vertices w.r.t. segment [indH(1) indnew]
115 [ind1,remainplus]=conquer(x,y,ind(iplus),[indH(1);indnew]);
116 if ~isempty(remainplus) then
117 // process remaining vertices w.r.t. segment [indnew indH(2)]
118 ind2=conquer(x,y,remainplus,[indnew;indH(2)]);
119 out = [ind1(1:$-1);ind2];
120 else
121 out = [ind1;indH(2)];
122 end
123 else // #indnew vertex was alone to the right of [indH(1) indH(2)]
124 out = [indH(1);indnew;indH(2)];
125 end
126 end
127end
128
diff --git a/scilab/modules/interpolation/sci_gateway/cpp/sci_mesh2di.cpp b/scilab/modules/interpolation/sci_gateway/cpp/sci_mesh2di.cpp
new file mode 100644
index 0000000..5881831
--- /dev/null
+++ b/scilab/modules/interpolation/sci_gateway/cpp/sci_mesh2di.cpp
@@ -0,0 +1,178 @@
1/*
2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2018 - Stéphane MOTTELET
4 *
5 * This file is hereby licensed under the terms of the GNU GPL v2.0,
6 * For more information, see the COPYING file which you should have received
7 * along with this program.
8 *
9 */
10/*--------------------------------------------------------------------------*/
11#include "interpolation_gw.hxx"
12#include "function.hxx"
13#include "double.hxx"
14#include "sparse.hxx"
15#include <numeric>
16
17
18extern "C"
19{
20#include "localization.h"
21#include "Scierror.h"
22#include "interpolation_functions.h"
23}
24/*--------------------------------------------------------------------------*/
25
26types::Function::ReturnValue sci_mesh2di(types::typed_list &in, int _iRetCount, types::typed_list &out)
27{
28 if (in.size() != 3)
29 {
30 Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "mesh2di", 3);
31 return types::Function::Error;
32 }
33
34 if (_iRetCount > 1)
35 {
36 Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "mesh2di", 1);
37 return types::Function::Error;
38 }
39
40 for (int i = 0; i < in.size(); i++)
41 {
42 if (!in[i]->isDouble() | in[i]->getAs<types::Double>()->isComplex())
43 {
44 Scierror(999, _("%s: Wrong type for argument #%d: Real matrix expected.\n"), "mesh2di", i);
45 return types::Function::Error;
46 }
47 }
48
49 types::Double *pDblx = in[0]->getAs<types::Double>();
50 types::Double *pDbly = in[1]->getAs<types::Double>();
51
52 if (pDblx->getSize() != pDblx->getSize())
53 {
54 Scierror(999, _("%s: Arguments #%d and #%d must have the same sizes.\n"), "mesh2di", 1,2);
55 return types::Function::Error;
56 }
57
58 int iNbNodes = pDblx->getSize();
59
60 if (iNbNodes < 3)
61 {
62 Scierror(999, _("%s: Wrong size for input argument #%d : At least %d elements expected.\n"), "mesh2di", 1, 3);
63 return types::Function::Error;
64 }
65
66 double* pdblx = pDblx->get();
67 double* pdbly = pDbly->get();
68 std::vector<int> bdy;
69
70 // verify boundary specification
71 types::Double* pDblBdy = in[2]->getAs<types::Double>();
72 int iStart = -1;
73
74 for (int i=0; i < pDblBdy->getSize(); i++)
75 {
76 double dblCurrNode = pDblBdy->get(i);
77 if (dblCurrNode != std::round(dblCurrNode) || (int)dblCurrNode < 1 || (int)dblCurrNode > iNbNodes)
78 {
79 Scierror(999, _("%s: Wrong value for input argument #%d: incorrect element #%d\n"), "mesh2di", 3, i+1);
80 return types::Function::Error;
81 }
82 // if (iStart < 0) next node is the first of a connected component
83 // else if iCurrNode == iStart, close the current component (set iStart = -1)
84 iStart = iStart < 0 ? (int)dblCurrNode : ((int)dblCurrNode == iStart ? -1 : iStart);
85 bdy.push_back((int)dblCurrNode);
86 }
87 // iStart should be equal to -1 (all components closed)
88 if (iStart != -1)
89 {
90 Scierror(999, _("%s: last connected component of boundary is not closed\n"), "mesh2di");
91 return types::Function::Error;
92 }
93
94 // allocate working arrays
95 int* piTri = NULL;
96 int iNbTri = 0;
97 int iErr = 0;
98 int in4 = 4*iNbNodes-4;
99 int in6 = 6*(2*iNbNodes-2);
100 int* piWork = new int[in4];
101 piTri = new int[3*in4];
102 int iNbBdyNodes = bdy.size();
103
104 // mesh2b wants xy=[x(:)';y(:)'] + a clone of it
105 types::Double* pDblxy = new types::Double(2,iNbNodes);
106 for (int i=0; i < iNbNodes; i++)
107 {
108 pDblxy->set(0,i,pDblx->get(i));
109 pDblxy->set(1,i,pDbly->get(i));
110 }
111 types::Double* pDblxyClone = pDblxy->clone();
112
113 C2F(mesh2b)(&iNbNodes, &in6, &in4, &iNbBdyNodes, pDblxy->get(), pDblxyClone->get(),
114 piTri, piWork, &bdy.front(), &iNbTri, &iErr);
115
116 pDblxy->killMe();
117 pDblxyClone->killMe();
118 delete[] piWork;
119
120 if (iErr)
121 {
122 std::string errStr[] = {
123 _("%s: some points are identical.\n"),
124 _("%s: some points are identical.\n"),
125 _("%s: all points are aligned.\n"),
126 _("%s: wrong boundary array.\n"),
127 _("%s: crossed boundary.\n"),
128 _("%s: wrong orientation of the boundary.\n"),
129 _("%s: size limitation.\n"),
130 _("%s: crossed boundary.\n"),
131 _("%s: an interior point is on the boundary.\n"),
132 _("%s: an interior point is too close to the boundary.\n"),
133 _("%s: some points are identical or size limitation.\n")};
134
135 Scierror(999, errStr[iErr-1].c_str(), "mesh2di");
136
137 delete[] piTri;
138
139 return types::Function::Error;
140 }
141
142 // fix empty triangles + eventual wrong orientation (should be counter clock-wise)
143 types::Double* pDblTrianglesNodes = new types::Double(3,iNbTri);
144 double* pdblTri = pDblTrianglesNodes->get();
145 int iTriLin = 0;
146 int iTriLinOrig = 0;
147 int i0, i1, i2;
148
149 for (int i = 0; i < iNbTri; i++)
150 {
151 i0 = piTri[iTriLinOrig++];
152 i1 = piTri[iTriLinOrig++];
153 i2 = piTri[iTriLinOrig++];
154 if (i0>0) // triangle is not empty
155 {
156 pdblTri[iTriLin++] = (double)i0;
157 // compute determinant of (i0->i1) and (i0->i2) vectors
158 if ((pdblx[i1-1]-pdblx[i0-1])*(pdbly[i2-1]-pdbly[i0-1])-
159 (pdblx[i2-1]-pdblx[i0-1])*(pdbly[i1-1]-pdbly[i0-1]) > 0.0)
160 {
161 pdblTri[iTriLin++] = (double)i1;
162 pdblTri[iTriLin++] = (double)i2;
163 }
164 else
165 {
166 pdblTri[iTriLin++] = (double)i2;
167 pdblTri[iTriLin++] = (double)i1;
168 }
169 }
170 }
171 delete[] piTri;
172 pDblTrianglesNodes->resize(3,iTriLin/3);
173
174 out.push_back(pDblTrianglesNodes);
175
176 return types::Function::OK;
177}
178
diff --git a/scilab/modules/interpolation/sci_gateway/interpolation_gateway.xml b/scilab/modules/interpolation/sci_gateway/interpolation_gateway.xml
index 71b65d4..0962b5d 100644
--- a/scilab/modules/interpolation/sci_gateway/interpolation_gateway.xml
+++ b/scilab/modules/interpolation/sci_gateway/interpolation_gateway.xml
@@ -33,4 +33,5 @@
33 <gateway name="sci_splin3d" function="splin3d" type="1" /> 33 <gateway name="sci_splin3d" function="splin3d" type="1" />
34 <gateway name="sci_interp3d" function="interp3d" type="1" /> 34 <gateway name="sci_interp3d" function="interp3d" type="1" />
35 <gateway name="sci_bsplin3val" function="bsplin3val" type="1" /> 35 <gateway name="sci_bsplin3val" function="bsplin3val" type="1" />
36 <gateway name="sci_mesh2di" function="mesh2di" type="1" />
36</module> 37</module>
diff --git a/scilab/modules/interpolation/src/c/interpolation.vcxproj b/scilab/modules/interpolation/src/c/interpolation.vcxproj
index 8f95e04..e8ca961 100644
--- a/scilab/modules/interpolation/src/c/interpolation.vcxproj
+++ b/scilab/modules/interpolation/src/c/interpolation.vcxproj
@@ -1,268 +1,269 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations"> 3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32"> 4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration> 5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform> 6 <Platform>Win32</Platform>
7 </ProjectConfiguration> 7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64"> 8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration> 9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform> 10 <Platform>x64</Platform>
11 </ProjectConfiguration> 11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32"> 12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration> 13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform> 14 <Platform>Win32</Platform>
15 </ProjectConfiguration> 15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64"> 16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration> 17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform> 18 <Platform>x64</Platform>
19 </ProjectConfiguration> 19 </ProjectConfiguration>
20 </ItemGroup> 20 </ItemGroup>
21 <PropertyGroup Label="Globals"> 21 <PropertyGroup Label="Globals">
22 <ProjectGuid>{22F14F8F-67C6-49B1-A730-CE70FFE9EB61}</ProjectGuid> 22 <ProjectGuid>{22F14F8F-67C6-49B1-A730-CE70FFE9EB61}</ProjectGuid>
23 <RootNamespace>interpolation</RootNamespace> 23 <RootNamespace>interpolation</RootNamespace>
24 <Keyword>Win32Proj</Keyword> 24 <Keyword>Win32Proj</Keyword>
25 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> 25 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
26 </PropertyGroup> 26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> 28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
29 <ConfigurationType>DynamicLibrary</ConfigurationType> 29 <ConfigurationType>DynamicLibrary</ConfigurationType>
30 <CharacterSet>MultiByte</CharacterSet> 30 <CharacterSet>MultiByte</CharacterSet>
31 <WholeProgramOptimization>false</WholeProgramOptimization> 31 <WholeProgramOptimization>false</WholeProgramOptimization>
32 <PlatformToolset>v141</PlatformToolset> 32 <PlatformToolset>v141</PlatformToolset>
33 </PropertyGroup> 33 </PropertyGroup>
34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
35 <ConfigurationType>DynamicLibrary</ConfigurationType> 35 <ConfigurationType>DynamicLibrary</ConfigurationType>
36 <CharacterSet>MultiByte</CharacterSet> 36 <CharacterSet>MultiByte</CharacterSet>
37 <PlatformToolset>v141</PlatformToolset> 37 <PlatformToolset>v141</PlatformToolset>
38 </PropertyGroup> 38 </PropertyGroup>
39 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 39 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
40 <ConfigurationType>DynamicLibrary</ConfigurationType> 40 <ConfigurationType>DynamicLibrary</ConfigurationType>
41 <CharacterSet>MultiByte</CharacterSet> 41 <CharacterSet>MultiByte</CharacterSet>
42 <WholeProgramOptimization>false</WholeProgramOptimization> 42 <WholeProgramOptimization>false</WholeProgramOptimization>
43 <PlatformToolset>v141</PlatformToolset> 43 <PlatformToolset>v141</PlatformToolset>
44 </PropertyGroup> 44 </PropertyGroup>
45 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 45 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
46 <ConfigurationType>DynamicLibrary</ConfigurationType> 46 <ConfigurationType>DynamicLibrary</ConfigurationType>
47 <CharacterSet>MultiByte</CharacterSet> 47 <CharacterSet>MultiByte</CharacterSet>
48 <PlatformToolset>v141</PlatformToolset> 48 <PlatformToolset>v141</PlatformToolset>
49 </PropertyGroup> 49 </PropertyGroup>
50 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 50 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
51 <ImportGroup Label="ExtensionSettings"> 51 <ImportGroup Label="ExtensionSettings">
52 </ImportGroup> 52 </ImportGroup>
53 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> 53 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
54 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 54 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
55 </ImportGroup> 55 </ImportGroup>
56 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 56 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
57 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 57 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
58 </ImportGroup> 58 </ImportGroup>
59 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 59 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61 </ImportGroup> 61 </ImportGroup>
62 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 62 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
63 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 63 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
64 </ImportGroup> 64 </ImportGroup>
65 <PropertyGroup Label="UserMacros" /> 65 <PropertyGroup Label="UserMacros" />
66 <PropertyGroup> 66 <PropertyGroup>
67 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 67 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
68 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> 68 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
69 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> 69 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
70 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> 70 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
71 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> 71 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
72 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> 72 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
73 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> 73 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
74 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> 74 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
75 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> 75 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
76 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 76 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
77 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> 77 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
78 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> 78 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
79 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 79 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
80 </PropertyGroup> 80 </PropertyGroup>
81 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 81 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
82 <ClCompile> 82 <ClCompile>
83 <Optimization>Disabled</Optimization> 83 <Optimization>Disabled</Optimization>
84 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 84 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
85 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 85 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
86 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 86 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
87 <WarningLevel>Level3</WarningLevel> 87 <WarningLevel>Level3</WarningLevel>
88 </ClCompile> 88 </ClCompile>
89 <PreLinkEvent> 89 <PreLinkEvent>
90 <Message>Make dependencies</Message> 90 <Message>Make dependencies</Message>
91 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 91 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
92lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL 92lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL
93lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 93lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
94 </PreLinkEvent> 94 </PreLinkEvent>
95 <Link> 95 <Link>
96 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies> 96 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
97 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 97 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
98 <IgnoreSpecificDefaultLibraries> 98 <IgnoreSpecificDefaultLibraries>
99 </IgnoreSpecificDefaultLibraries> 99 </IgnoreSpecificDefaultLibraries>
100 <GenerateDebugInformation>true</GenerateDebugInformation> 100 <GenerateDebugInformation>true</GenerateDebugInformation>
101 <SubSystem>Windows</SubSystem> 101 <SubSystem>Windows</SubSystem>
102 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 102 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
103 <TargetMachine>MachineX86</TargetMachine> 103 <TargetMachine>MachineX86</TargetMachine>
104 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 104 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
105 <RandomizedBaseAddress>false</RandomizedBaseAddress> 105 <RandomizedBaseAddress>false</RandomizedBaseAddress>
106 </Link> 106 </Link>
107 </ItemDefinitionGroup> 107 </ItemDefinitionGroup>
108 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 108 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
109 <Midl> 109 <Midl>
110 <TargetEnvironment>X64</TargetEnvironment> 110 <TargetEnvironment>X64</TargetEnvironment>
111 </Midl> 111 </Midl>
112 <ClCompile> 112 <ClCompile>
113 <Optimization>Disabled</Optimization> 113 <Optimization>Disabled</Optimization>
114 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 114 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
115 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 115 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
116 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 116 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
117 <WarningLevel>Level3</WarningLevel> 117 <WarningLevel>Level3</WarningLevel>
118 </ClCompile> 118 </ClCompile>
119 <PreLinkEvent> 119 <PreLinkEvent>
120 <Message>Make dependencies</Message> 120 <Message>Make dependencies</Message>
121 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 121 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
122lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL 122lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL
123lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 123lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
124 </PreLinkEvent> 124 </PreLinkEvent>
125 <Link> 125 <Link>
126 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies> 126 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
127 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 127 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
128 <IgnoreSpecificDefaultLibraries> 128 <IgnoreSpecificDefaultLibraries>
129 </IgnoreSpecificDefaultLibraries> 129 </IgnoreSpecificDefaultLibraries>
130 <GenerateDebugInformation>true</GenerateDebugInformation> 130 <GenerateDebugInformation>true</GenerateDebugInformation>
131 <SubSystem>Windows</SubSystem> 131 <SubSystem>Windows</SubSystem>
132 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 132 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
133 <TargetMachine>MachineX64</TargetMachine> 133 <TargetMachine>MachineX64</TargetMachine>
134 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 134 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
135 <RandomizedBaseAddress>false</RandomizedBaseAddress> 135 <RandomizedBaseAddress>false</RandomizedBaseAddress>
136 </Link> 136 </Link>
137 </ItemDefinitionGroup> 137 </ItemDefinitionGroup>
138 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 138 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
139 <ClCompile> 139 <ClCompile>
140 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> 140 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
141 <WholeProgramOptimization>false</WholeProgramOptimization> 141 <WholeProgramOptimization>false</WholeProgramOptimization>
142 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 142 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
143 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 143 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
144 <StringPooling>true</StringPooling> 144 <StringPooling>true</StringPooling>
145 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> 145 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
146 <WarningLevel>Level3</WarningLevel> 146 <WarningLevel>Level3</WarningLevel>
147 <MultiProcessorCompilation>true</MultiProcessorCompilation> 147 <MultiProcessorCompilation>true</MultiProcessorCompilation>
148 </ClCompile> 148 </ClCompile>
149 <PreLinkEvent> 149 <PreLinkEvent>
150 <Message>Make dependencies</Message> 150 <Message>Make dependencies</Message>
151 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 151 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
152lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL 152lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL
153lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 153lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
154 </PreLinkEvent> 154 </PreLinkEvent>
155 <Link> 155 <Link>
156 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies> 156 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
157 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 157 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
158 <GenerateDebugInformation>false</GenerateDebugInformation> 158 <GenerateDebugInformation>false</GenerateDebugInformation>
159 <SubSystem>Windows</SubSystem> 159 <SubSystem>Windows</SubSystem>
160 <OptimizeReferences>true</OptimizeReferences> 160 <OptimizeReferences>true</OptimizeReferences>
161 <EnableCOMDATFolding>true</EnableCOMDATFolding> 161 <EnableCOMDATFolding>true</EnableCOMDATFolding>
162 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 162 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
163 <TargetMachine>MachineX86</TargetMachine> 163 <TargetMachine>MachineX86</TargetMachine>
164 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 164 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
165 <RandomizedBaseAddress>false</RandomizedBaseAddress> 165 <RandomizedBaseAddress>false</RandomizedBaseAddress>
166 <IgnoreSpecificDefaultLibraries> 166 <IgnoreSpecificDefaultLibraries>
167 </IgnoreSpecificDefaultLibraries> 167 </IgnoreSpecificDefaultLibraries>
168 </Link> 168 </Link>
169 </ItemDefinitionGroup> 169 </ItemDefinitionGroup>
170 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 170 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
171 <Midl> 171 <Midl>
172 <TargetEnvironment>X64</TargetEnvironment> 172 <TargetEnvironment>X64</TargetEnvironment>
173 </Midl> 173 </Midl>
174 <ClCompile> 174 <ClCompile>
175 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> 175 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
176 <WholeProgramOptimization>false</WholeProgramOptimization> 176 <WholeProgramOptimization>false</WholeProgramOptimization>
177 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 177 <AdditionalIncludeDirectories>.;../../includes;../../../../libs/intl;../../../output_stream/includes;../../../localization/includes;../../../string/includes;../../../core/includes;../../../api_scilab/includes;../../../threads/includes;../../../elementary_functions/includes;../../../dynamic_link/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/analysis;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
178 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 178 <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
179 <StringPooling>true</StringPooling> 179 <StringPooling>true</StringPooling>
180 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> 180 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
181 <WarningLevel>Level3</WarningLevel> 181 <WarningLevel>Level3</WarningLevel>
182 <MultiProcessorCompilation>true</MultiProcessorCompilation> 182 <MultiProcessorCompilation>true</MultiProcessorCompilation>
183 </ClCompile> 183 </ClCompile>
184 <PreLinkEvent> 184 <PreLinkEvent>
185 <Message>Make dependencies</Message> 185 <Message>Make dependencies</Message>
186 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 186 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
187lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL 187lib /DEF:"$(ProjectDir)interpolation_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)interpolation_f.lib" 1&gt;NUL 2&gt;NUL
188lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 188lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
189 </PreLinkEvent> 189 </PreLinkEvent>
190 <Link> 190 <Link>
191 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies> 191 <AdditionalDependencies>core.lib;interpolation_f.lib;slatec_f.lib;%(AdditionalDependencies)</AdditionalDependencies>
192 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 192 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
193 <GenerateDebugInformation>false</GenerateDebugInformation> 193 <GenerateDebugInformation>false</GenerateDebugInformation>
194 <SubSystem>Windows</SubSystem> 194 <SubSystem>Windows</SubSystem>
195 <OptimizeReferences>true</OptimizeReferences> 195 <OptimizeReferences>true</OptimizeReferences>
196 <EnableCOMDATFolding>true</EnableCOMDATFolding> 196 <EnableCOMDATFolding>true</EnableCOMDATFolding>
197 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 197 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
198 <TargetMachine>MachineX64</TargetMachine> 198 <TargetMachine>MachineX64</TargetMachine>
199 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 199 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
200 <RandomizedBaseAddress>false</RandomizedBaseAddress> 200 <RandomizedBaseAddress>false</RandomizedBaseAddress>
201 <IgnoreSpecificDefaultLibraries> 201 <IgnoreSpecificDefaultLibraries>
202 </IgnoreSpecificDefaultLibraries> 202 </IgnoreSpecificDefaultLibraries>
203 </Link> 203 </Link>
204 </ItemDefinitionGroup> 204 </ItemDefinitionGroup>
205 <ItemGroup> 205 <ItemGroup>
206 <ClCompile Include="..\..\sci_gateway\cpp\sci_bsplin3val.cpp" /> 206 <ClCompile Include="..\..\sci_gateway\cpp\sci_bsplin3val.cpp" />
207 <ClCompile Include="..\..\sci_gateway\cpp\sci_cshep2d.cpp" /> 207 <ClCompile Include="..\..\sci_gateway\cpp\sci_cshep2d.cpp" />
208 <ClCompile Include="..\..\sci_gateway\cpp\sci_eval_cshep2d.cpp" /> 208 <ClCompile Include="..\..\sci_gateway\cpp\sci_eval_cshep2d.cpp" />
209 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp.cpp" /> 209 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp.cpp" />
210 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp2d.cpp" /> 210 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp2d.cpp" />
211 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp3d.cpp" /> 211 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp3d.cpp" />
212 <ClCompile Include="..\..\sci_gateway\cpp\sci_linear_interpn.cpp" /> 212 <ClCompile Include="..\..\sci_gateway\cpp\sci_linear_interpn.cpp" />
213 <ClCompile Include="..\..\sci_gateway\cpp\sci_lsq_splin.cpp" /> 213 <ClCompile Include="..\..\sci_gateway\cpp\sci_lsq_splin.cpp" />
214 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin.cpp" /> 214 <ClCompile Include="..\..\sci_gateway\cpp\sci_mesh2di.cpp" />
215 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin2d.cpp" /> 215 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin.cpp" />
216 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin3d.cpp" /> 216 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin2d.cpp" />
217 <ClCompile Include="DllmainInterpolation.c" /> 217 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin3d.cpp" />
218 <ClCompile Include="interpolation.c" /> 218 <ClCompile Include="DllmainInterpolation.c" />
219 <ClCompile Include="someinterp.c" /> 219 <ClCompile Include="interpolation.c" />
220 </ItemGroup> 220 <ClCompile Include="someinterp.c" />
221 <ItemGroup> 221 </ItemGroup>
222 <ClInclude Include="..\..\includes\dynlib_interpolation.h" /> 222 <ItemGroup>
223 <ClInclude Include="interpolation.h" /> 223 <ClInclude Include="..\..\includes\dynlib_interpolation.h" />
224 <ClInclude Include="someinterp.h" /> 224 <ClInclude Include="interpolation.h" />
225 </ItemGroup> 225 <ClInclude Include="someinterp.h" />
226 <ItemGroup> 226 </ItemGroup>
227 <None Include="..\..\locales\interpolation.pot" /> 227 <ItemGroup>
228 <None Include="interpolation_f_Import.def" /> 228 <None Include="..\..\locales\interpolation.pot" />
229 <None Include="core_import.def" /> 229 <None Include="interpolation_f_Import.def" />
230 <None Include="..\..\interpolation.iss" /> 230 <None Include="core_import.def" />
231 <None Include="..\..\sci_gateway\interpolation_gateway.xml" /> 231 <None Include="..\..\interpolation.iss" />
232 <None Include="..\..\Makefile.am" /> 232 <None Include="..\..\sci_gateway\interpolation_gateway.xml" />
233 <None Include="slatec_f_Import.def" /> 233 <None Include="..\..\Makefile.am" />
234 </ItemGroup> 234 <None Include="slatec_f_Import.def" />
235 <ItemGroup> 235 </ItemGroup>
236 <ResourceCompile Include="interpolation.rc" /> 236 <ItemGroup>
237 </ItemGroup> 237 <ResourceCompile Include="interpolation.rc" />
238 <ItemGroup> 238 </ItemGroup>
239 <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj"> 239 <ItemGroup>
240 <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project> 240 <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
241 <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 241 <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
242 </ProjectReference> 242 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
243 <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj"> 243 </ProjectReference>
244 <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project> 244 <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj">
245 </ProjectReference> 245 <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project>
246 <ProjectReference Include="..\..\..\ast\ast.vcxproj"> 246 </ProjectReference>
247 <Project>{0d3fa25b-8116-44ec-a45e-260789daa3d9}</Project> 247 <ProjectReference Include="..\..\..\ast\ast.vcxproj">
248 </ProjectReference> 248 <Project>{0d3fa25b-8116-44ec-a45e-260789daa3d9}</Project>
249 <ProjectReference Include="..\..\..\elementary_functions\src\c\elementary_functions.vcxproj"> 249 </ProjectReference>
250 <Project>{5b110267-7c18-437c-b87d-dba2b50729e9}</Project> 250 <ProjectReference Include="..\..\..\elementary_functions\src\c\elementary_functions.vcxproj">
251 </ProjectReference> 251 <Project>{5b110267-7c18-437c-b87d-dba2b50729e9}</Project>
252 <ProjectReference Include="..\..\..\localization\src\localization.vcxproj"> 252 </ProjectReference>
253 <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project> 253 <ProjectReference Include="..\..\..\localization\src\localization.vcxproj">
254 <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 254 <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project>
255 </ProjectReference> 255 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
256 <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj"> 256 </ProjectReference>
257 <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project> 257 <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj">
258 <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 258 <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project>
259 </ProjectReference> 259 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
260 <ProjectReference Include="..\..\..\string\src\c\string.vcxproj"> 260 </ProjectReference>
261 <Project>{8d45767a-9b03-4905-97f6-d2f3f79141ea}</Project> 261 <ProjectReference Include="..\..\..\string\src\c\string.vcxproj">
262 <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 262 <Project>{8d45767a-9b03-4905-97f6-d2f3f79141ea}</Project>
263 </ProjectReference> 263 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
264 </ItemGroup> 264 </ProjectReference>
265 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 265 </ItemGroup>
266 <ImportGroup Label="ExtensionTargets"> 266 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
267 </ImportGroup> 267 <ImportGroup Label="ExtensionTargets">
268 </ImportGroup>
268</Project> \ No newline at end of file 269</Project> \ No newline at end of file
diff --git a/scilab/modules/interpolation/src/c/interpolation.vcxproj.filters b/scilab/modules/interpolation/src/c/interpolation.vcxproj.filters
index a7d06cf..51f940c 100644
--- a/scilab/modules/interpolation/src/c/interpolation.vcxproj.filters
+++ b/scilab/modules/interpolation/src/c/interpolation.vcxproj.filters
@@ -1,102 +1,105 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{95764ecf-f81b-4a56-9498-7470bdb3130c}</UniqueIdentifier> 5 <UniqueIdentifier>{95764ecf-f81b-4a56-9498-7470bdb3130c}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> 6 <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
7 </Filter> 7 </Filter>
8 <Filter Include="Header Files"> 8 <Filter Include="Header Files">
9 <UniqueIdentifier>{60ddd6b5-c21d-4a53-b620-fcf0511d5ae8}</UniqueIdentifier> 9 <UniqueIdentifier>{60ddd6b5-c21d-4a53-b620-fcf0511d5ae8}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl</Extensions> 10 <Extensions>h;hpp;hxx;hm;inl</Extensions>
11 </Filter> 11 </Filter>
12 <Filter Include="localization"> 12 <Filter Include="localization">
13 <UniqueIdentifier>{2ed13f31-c480-4101-9aff-3c8072452c61}</UniqueIdentifier> 13 <UniqueIdentifier>{2ed13f31-c480-4101-9aff-3c8072452c61}</UniqueIdentifier>
14 </Filter> 14 </Filter>
15 <Filter Include="Libraries Dependencies"> 15 <Filter Include="Libraries Dependencies">
16 <UniqueIdentifier>{0e942ba0-4f67-4f79-aae5-0a6e0d6b4e7b}</UniqueIdentifier> 16 <UniqueIdentifier>{0e942ba0-4f67-4f79-aae5-0a6e0d6b4e7b}</UniqueIdentifier>
17 </Filter> 17 </Filter>
18 <Filter Include="Libraries Dependencies\Imports"> 18 <Filter Include="Libraries Dependencies\Imports">
19 <UniqueIdentifier>{1f757c76-ad7f-4ef5-bf1a-a24cf5f1d296}</UniqueIdentifier> 19 <UniqueIdentifier>{1f757c76-ad7f-4ef5-bf1a-a24cf5f1d296}</UniqueIdentifier>
20 </Filter> 20 </Filter>
21 <Filter Include="Resource Files"> 21 <Filter Include="Resource Files">
22 <UniqueIdentifier>{c65543b3-bb81-465a-bfaa-8b6afa1fb9e5}</UniqueIdentifier> 22 <UniqueIdentifier>{c65543b3-bb81-465a-bfaa-8b6afa1fb9e5}</UniqueIdentifier>
23 </Filter> 23 </Filter>
24 </ItemGroup> 24 </ItemGroup>
25 <ItemGroup> 25 <ItemGroup>
26 <ClCompile Include="DllmainInterpolation.c"> 26 <ClCompile Include="DllmainInterpolation.c">
27 <Filter>Source Files</Filter> 27 <Filter>Source Files</Filter>
28 </ClCompile> 28 </ClCompile>
29 <ClCompile Include="interpolation.c"> 29 <ClCompile Include="interpolation.c">
30 <Filter>Source Files</Filter> 30 <Filter>Source Files</Filter>
31 </ClCompile> 31 </ClCompile>
32 <ClCompile Include="someinterp.c"> 32 <ClCompile Include="someinterp.c">
33 <Filter>Source Files</Filter> 33 <Filter>Source Files</Filter>
34 </ClCompile> 34 </ClCompile>
35 <ClCompile Include="..\..\sci_gateway\cpp\sci_bsplin3val.cpp"> 35 <ClCompile Include="..\..\sci_gateway\cpp\sci_bsplin3val.cpp">
36 <Filter>Source Files</Filter> 36 <Filter>Source Files</Filter>
37 </ClCompile> 37 </ClCompile>
38 <ClCompile Include="..\..\sci_gateway\cpp\sci_cshep2d.cpp"> 38 <ClCompile Include="..\..\sci_gateway\cpp\sci_cshep2d.cpp">
39 <Filter>Source Files</Filter> 39 <Filter>Source Files</Filter>
40 </ClCompile> 40 </ClCompile>
41 <ClCompile Include="..\..\sci_gateway\cpp\sci_eval_cshep2d.cpp"> 41 <ClCompile Include="..\..\sci_gateway\cpp\sci_eval_cshep2d.cpp">
42 <Filter>Source Files</Filter> 42 <Filter>Source Files</Filter>
43 </ClCompile> 43 </ClCompile>
44 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp.cpp"> 44 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp.cpp">
45 <Filter>Source Files</Filter> 45 <Filter>Source Files</Filter>
46 </ClCompile> 46 </ClCompile>
47 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp2d.cpp"> 47 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp2d.cpp">
48 <Filter>Source Files</Filter> 48 <Filter>Source Files</Filter>
49 </ClCompile> 49 </ClCompile>
50 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp3d.cpp"> 50 <ClCompile Include="..\..\sci_gateway\cpp\sci_interp3d.cpp">
51 <Filter>Source Files</Filter> 51 <Filter>Source Files</Filter>
52 </ClCompile> 52 </ClCompile>
53 <ClCompile Include="..\..\sci_gateway\cpp\sci_linear_interpn.cpp"> 53 <ClCompile Include="..\..\sci_gateway\cpp\sci_linear_interpn.cpp">
54 <Filter>Source Files</Filter> 54 <Filter>Source Files</Filter>
55 </ClCompile> 55 </ClCompile>
56 <ClCompile Include="..\..\sci_gateway\cpp\sci_lsq_splin.cpp"> 56 <ClCompile Include="..\..\sci_gateway\cpp\sci_lsq_splin.cpp">
57 <Filter>Source Files</Filter> 57 <Filter>Source Files</Filter>
58 </ClCompile> 58 </ClCompile>
59 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin.cpp"> 59 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin.cpp">
60 <Filter>Source Files</Filter> 60 <Filter>Source Files</Filter>
61 </ClCompile> 61 </ClCompile>
62 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin2d.cpp"> 62 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin2d.cpp">
63 <Filter>Source Files</Filter> 63 <Filter>Source Files</Filter>
64 </ClCompile> 64 </ClCompile>
65 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin3d.cpp"> 65 <ClCompile Include="..\..\sci_gateway\cpp\sci_splin3d.cpp">
66 <Filter>Source Files</Filter> 66 <Filter>Source Files</Filter>
67 </ClCompile> 67 </ClCompile>
68 </ItemGroup> 68 <ClCompile Include="..\..\sci_gateway\cpp\sci_mesh2di.cpp">
69 <ItemGroup> 69 <Filter>Source Files</Filter>
70 <ClInclude Include="..\..\includes\dynlib_interpolation.h"> 70 </ClCompile>
71 <Filter>Header Files</Filter> 71 </ItemGroup>
72 </ClInclude> 72 <ItemGroup>
73 <ClInclude Include="interpolation.h"> 73 <ClInclude Include="..\..\includes\dynlib_interpolation.h">
74 <Filter>Header Files</Filter> 74 <Filter>Header Files</Filter>
75 </ClInclude> 75 </ClInclude>
76 <ClInclude Include="someinterp.h"> 76 <ClInclude Include="interpolation.h">
77 <Filter>Header Files</Filter> 77 <Filter>Header Files</Filter>
78 </ClInclude> 78 </ClInclude>
79 </ItemGroup> 79 <ClInclude Include="someinterp.h">
80 <ItemGroup> 80 <Filter>Header Files</Filter>
81 <None Include="interpolation_f_Import.def"> 81 </ClInclude>
82 <Filter>Libraries Dependencies\Imports</Filter> 82 </ItemGroup>
83 </None> 83 <ItemGroup>
84 <None Include="core_import.def"> 84 <None Include="interpolation_f_Import.def">
85 <Filter>Libraries Dependencies\Imports</Filter> 85 <Filter>Libraries Dependencies\Imports</Filter>
86 </None> 86 </None>
87 <None Include="..\..\interpolation.iss" /> 87 <None Include="core_import.def">
88 <None Include="..\..\sci_gateway\interpolation_gateway.xml" /> 88 <Filter>Libraries Dependencies\Imports</Filter>
89 <None Include="..\..\Makefile.am" /> 89 </None>
90 <None Include="slatec_f_Import.def"> 90 <None Include="..\..\interpolation.iss" />
91 <Filter>Libraries Dependencies\Imports</Filter> 91 <None Include="..\..\sci_gateway\interpolation_gateway.xml" />
92 </None> 92 <None Include="..\..\Makefile.am" />
93 <None Include="..\..\locales\interpolation.pot"> 93 <None Include="slatec_f_Import.def">
94 <Filter>localization</Filter> 94 <Filter>Libraries Dependencies\Imports</Filter>
95 </None> 95 </None>
96 </ItemGroup> 96 <None Include="..\..\locales\interpolation.pot">
97 <ItemGroup> 97 <Filter>localization</Filter>
98 <ResourceCompile Include="interpolation.rc"> 98 </None>
99 <Filter>Resource Files</Filter> 99 </ItemGroup>
100 </ResourceCompile> 100 <ItemGroup>
101 </ItemGroup> 101 <ResourceCompile Include="interpolation.rc">
102 <Filter>Resource Files</Filter>
103 </ResourceCompile>
104 </ItemGroup>
102</Project> \ No newline at end of file 105</Project> \ No newline at end of file
diff --git a/scilab/modules/interpolation/src/c/interpolation_f_Import.def b/scilab/modules/interpolation/src/c/interpolation_f_Import.def
index 69e5f02..52f7500 100644
--- a/scilab/modules/interpolation/src/c/interpolation_f_Import.def
+++ b/scilab/modules/interpolation/src/c/interpolation_f_Import.def
@@ -19,4 +19,5 @@ bicubicinterpwithgradandhes_
19evalpwhermite_ 19evalpwhermite_
20cs2val_ 20cs2val_
21cs2grd_ 21cs2grd_
22cs2hes_ \ No newline at end of file 22cs2hes_
23mesh2b_
diff --git a/scilab/modules/interpolation/src/fortran/interpolation_f.vfproj b/scilab/modules/interpolation/src/fortran/interpolation_f.vfproj
index 23c33b1..a081046 100644
--- a/scilab/modules/interpolation/src/fortran/interpolation_f.vfproj
+++ b/scilab/modules/interpolation/src/fortran/interpolation_f.vfproj
@@ -92,6 +92,7 @@ lib /DEF:&quot;$(InputDir)slatec_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:
92 <File RelativePath=".\cshep2d.f"/> 92 <File RelativePath=".\cshep2d.f"/>
93 <File RelativePath=".\dspfit.f"/> 93 <File RelativePath=".\dspfit.f"/>
94 <File RelativePath=".\somespline.f"/></Filter> 94 <File RelativePath=".\somespline.f"/></Filter>
95 <File RelativePath=".\mesh2b.f"/></Filter>
95 <File RelativePath="..\..\sci_gateway\interpolation_gateway.xml"/> 96 <File RelativePath="..\..\sci_gateway\interpolation_gateway.xml"/>
96 <File RelativePath="..\..\Makefile.am"/></Files> 97 <File RelativePath="..\..\Makefile.am"/></Files>
97 <Globals/></VisualStudioProject> 98 <Globals/></VisualStudioProject>
diff --git a/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj b/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj
index 8639b57..fa79d3a 100644
--- a/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj
+++ b/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj
@@ -1,101 +1,101 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations"> 3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32"> 4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration> 5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform> 6 <Platform>Win32</Platform>
7 </ProjectConfiguration> 7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64"> 8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration> 9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform> 10 <Platform>x64</Platform>
11 </ProjectConfiguration> 11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32"> 12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration> 13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform> 14 <Platform>Win32</Platform>
15 </ProjectConfiguration> 15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64"> 16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration> 17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform> 18 <Platform>x64</Platform>
19 </ProjectConfiguration> 19 </ProjectConfiguration>
20 </ItemGroup> 20 </ItemGroup>
21 <PropertyGroup Label="Globals"> 21 <PropertyGroup Label="Globals">
22 <ProjectName>interpolation_f</ProjectName> 22 <ProjectName>interpolation_f</ProjectName>
23 <ProjectGuid>{D98B0986-14E4-44FD-B006-CACE4B291F38}</ProjectGuid> 23 <ProjectGuid>{D98B0986-14E4-44FD-B006-CACE4B291F38}</ProjectGuid>
24 <RootNamespace>interpolation_f2c</RootNamespace> 24 <RootNamespace>interpolation_f2c</RootNamespace>
25 <Keyword>Win32Proj</Keyword> 25 <Keyword>Win32Proj</Keyword>
26 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> 26 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
27 </PropertyGroup> 27 </PropertyGroup>
28 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 28 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
29 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> 29 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
30 <ConfigurationType>DynamicLibrary</ConfigurationType> 30 <ConfigurationType>DynamicLibrary</ConfigurationType>
31 <CharacterSet>Unicode</CharacterSet> 31 <CharacterSet>Unicode</CharacterSet>
32 <WholeProgramOptimization>true</WholeProgramOptimization> 32 <WholeProgramOptimization>true</WholeProgramOptimization>
33 <PlatformToolset>v141</PlatformToolset> 33 <PlatformToolset>v141</PlatformToolset>
34 </PropertyGroup> 34 </PropertyGroup>
35 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 35 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
36 <ConfigurationType>DynamicLibrary</ConfigurationType> 36 <ConfigurationType>DynamicLibrary</ConfigurationType>
37 <CharacterSet>Unicode</CharacterSet> 37 <CharacterSet>Unicode</CharacterSet>
38 <PlatformToolset>v141</PlatformToolset> 38 <PlatformToolset>v141</PlatformToolset>
39 </PropertyGroup> 39 </PropertyGroup>
40 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 40 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
41 <ConfigurationType>DynamicLibrary</ConfigurationType> 41 <ConfigurationType>DynamicLibrary</ConfigurationType>
42 <CharacterSet>Unicode</CharacterSet> 42 <CharacterSet>Unicode</CharacterSet>
43 <WholeProgramOptimization>true</WholeProgramOptimization> 43 <WholeProgramOptimization>true</WholeProgramOptimization>
44 <PlatformToolset>v141</PlatformToolset> 44 <PlatformToolset>v141</PlatformToolset>
45 </PropertyGroup> 45 </PropertyGroup>
46 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 46 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
47 <ConfigurationType>DynamicLibrary</ConfigurationType> 47 <ConfigurationType>DynamicLibrary</ConfigurationType>
48 <CharacterSet>Unicode</CharacterSet> 48 <CharacterSet>Unicode</CharacterSet>
49 <PlatformToolset>v141</PlatformToolset> 49 <PlatformToolset>v141</PlatformToolset>
50 </PropertyGroup> 50 </PropertyGroup>
51 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 51 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
52 <ImportGroup Label="ExtensionSettings"> 52 <ImportGroup Label="ExtensionSettings">
53 <Import Project="..\..\..\..\Visual-Studio-settings\f2c.props" /> 53 <Import Project="..\..\..\..\Visual-Studio-settings\f2c.props" />
54 </ImportGroup> 54 </ImportGroup>
55 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> 55 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
56 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 56 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
57 </ImportGroup> 57 </ImportGroup>
58 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 58 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
59 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 59 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
60 </ImportGroup> 60 </ImportGroup>
61 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 61 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
62 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 62 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
63 </ImportGroup> 63 </ImportGroup>
64 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 64 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
65 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 65 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
66 </ImportGroup> 66 </ImportGroup>
67 <PropertyGroup Label="UserMacros" /> 67 <PropertyGroup Label="UserMacros" />
68 <PropertyGroup> 68 <PropertyGroup>
69 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 69 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
70 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> 70 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
71 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> 71 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
72 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 72 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> 73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
74 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> 74 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
75 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 75 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
76 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> 76 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
77 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> 77 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
78 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 78 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
79 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> 79 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
80 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> 80 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
81 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 81 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
82 </PropertyGroup> 82 </PropertyGroup>
83 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 83 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
84 <PreBuildEvent> 84 <PreBuildEvent>
85 <Message>Build Dependencies</Message> 85 <Message>Build Dependencies</Message>
86 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 86 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
87lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL 87lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
88lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 88lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
89 </PreBuildEvent> 89 </PreBuildEvent>
90 <ClCompile> 90 <ClCompile>
91 <Optimization>Disabled</Optimization> 91 <Optimization>Disabled</Optimization>
92 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 92 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
93 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 93 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
94 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 94 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
95 <WarningLevel>Level3</WarningLevel> 95 <WarningLevel>Level3</WarningLevel>
96 </ClCompile> 96 </ClCompile>
97 <PreLinkEvent> 97 <PreLinkEvent>
98 <Message>Build $(ProjectName).def</Message> 98 <Message>Build $(ProjectName).def</Message>
99 <Command>setlocal EnableDelayedExpansion 99 <Command>setlocal EnableDelayedExpansion
100cd $(ConfigurationName) 100cd $(ConfigurationName)
101set LIST_OBJ= 101set LIST_OBJ=
@@ -104,41 +104,41 @@ for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
104copy $(ProjectName).def ..\$(ProjectName).def &gt;nul 104copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
105del *.def &gt;nul 105del *.def &gt;nul
106cd .. 106cd ..
107</Command> 107</Command>
108 </PreLinkEvent> 108 </PreLinkEvent>
109 <Link> 109 <Link>
110 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions> 110 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
111 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies> 111 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
112 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 112 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
113 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile> 113 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile>
114 <GenerateDebugInformation>true</GenerateDebugInformation> 114 <GenerateDebugInformation>true</GenerateDebugInformation>
115 <SubSystem>Windows</SubSystem> 115 <SubSystem>Windows</SubSystem>
116 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 116 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
117 <TargetMachine>MachineX86</TargetMachine> 117 <TargetMachine>MachineX86</TargetMachine>
118 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 118 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
119 <RandomizedBaseAddress>false</RandomizedBaseAddress> 119 <RandomizedBaseAddress>false</RandomizedBaseAddress>
120 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> 120 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
121 </Link> 121 </Link>
122 </ItemDefinitionGroup> 122 </ItemDefinitionGroup>
123 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 123 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
124 <PreBuildEvent> 124 <PreBuildEvent>
125 <Message>Build Dependencies</Message> 125 <Message>Build Dependencies</Message>
126 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 126 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
127lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL 127lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
128lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 128lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
129 </PreBuildEvent> 129 </PreBuildEvent>
130 <Midl> 130 <Midl>
131 <TargetEnvironment>X64</TargetEnvironment> 131 <TargetEnvironment>X64</TargetEnvironment>
132 </Midl> 132 </Midl>
133 <ClCompile> 133 <ClCompile>
134 <Optimization>Disabled</Optimization> 134 <Optimization>Disabled</Optimization>
135 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 135 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
136 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 136 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
137 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 137 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
138 <WarningLevel>Level3</WarningLevel> 138 <WarningLevel>Level3</WarningLevel>
139 </ClCompile> 139 </ClCompile>
140 <PreLinkEvent> 140 <PreLinkEvent>
141 <Message>Build $(ProjectName).def</Message> 141 <Message>Build $(ProjectName).def</Message>
142 <Command>setlocal EnableDelayedExpansion 142 <Command>setlocal EnableDelayedExpansion
143cd $(ConfigurationName) 143cd $(ConfigurationName)
144set LIST_OBJ= 144set LIST_OBJ=
@@ -147,39 +147,39 @@ for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
147copy $(ProjectName).def ..\$(ProjectName).def &gt;nul 147copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
148del *.def &gt;nul 148del *.def &gt;nul
149cd .. 149cd ..
150</Command> 150</Command>
151 </PreLinkEvent> 151 </PreLinkEvent>
152 <Link> 152 <Link>
153 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions> 153 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
154 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies> 154 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
155 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 155 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
156 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile> 156 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile>
157 <GenerateDebugInformation>true</GenerateDebugInformation> 157 <GenerateDebugInformation>true</GenerateDebugInformation>
158 <SubSystem>Windows</SubSystem> 158 <SubSystem>Windows</SubSystem>
159 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 159 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
160 <TargetMachine>MachineX64</TargetMachine> 160 <TargetMachine>MachineX64</TargetMachine>
161 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 161 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
162 <RandomizedBaseAddress>false</RandomizedBaseAddress> 162 <RandomizedBaseAddress>false</RandomizedBaseAddress>
163 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> 163 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
164 </Link> 164 </Link>
165 </ItemDefinitionGroup> 165 </ItemDefinitionGroup>
166 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 166 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
167 <PreBuildEvent> 167 <PreBuildEvent>
168 <Message>Build Dependencies</Message> 168 <Message>Build Dependencies</Message>
169 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 169 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
170lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL 170lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
171lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 171lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
172 </PreBuildEvent> 172 </PreBuildEvent>
173 <ClCompile> 173 <ClCompile>
174 <WholeProgramOptimization>false</WholeProgramOptimization> 174 <WholeProgramOptimization>false</WholeProgramOptimization>
175 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 175 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
176 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 176 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
177 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> 177 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
178 <WarningLevel>Level3</WarningLevel> 178 <WarningLevel>Level3</WarningLevel>
179 <MultiProcessorCompilation>true</MultiProcessorCompilation> 179 <MultiProcessorCompilation>true</MultiProcessorCompilation>
180 </ClCompile> 180 </ClCompile>
181 <PreLinkEvent> 181 <PreLinkEvent>
182 <Message>Build $(ProjectName).def</Message> 182 <Message>Build $(ProjectName).def</Message>
183 <Command>setlocal EnableDelayedExpansion 183 <Command>setlocal EnableDelayedExpansion
184cd $(ConfigurationName) 184cd $(ConfigurationName)
185set LIST_OBJ= 185set LIST_OBJ=
@@ -188,44 +188,44 @@ for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
188copy $(ProjectName).def ..\$(ProjectName).def &gt;nul 188copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
189del *.def &gt;nul 189del *.def &gt;nul
190cd .. 190cd ..
191</Command> 191</Command>
192 </PreLinkEvent> 192 </PreLinkEvent>
193 <Link> 193 <Link>
194 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions> 194 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
195 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies> 195 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
196 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 196 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
197 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile> 197 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile>
198 <GenerateDebugInformation>true</GenerateDebugInformation> 198 <GenerateDebugInformation>true</GenerateDebugInformation>
199 <SubSystem>Windows</SubSystem> 199 <SubSystem>Windows</SubSystem>
200 <OptimizeReferences>true</OptimizeReferences> 200 <OptimizeReferences>true</OptimizeReferences>
201 <EnableCOMDATFolding>true</EnableCOMDATFolding> 201 <EnableCOMDATFolding>true</EnableCOMDATFolding>
202 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 202 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
203 <TargetMachine>MachineX86</TargetMachine> 203 <TargetMachine>MachineX86</TargetMachine>
204 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 204 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
205 <RandomizedBaseAddress>false</RandomizedBaseAddress> 205 <RandomizedBaseAddress>false</RandomizedBaseAddress>
206 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> 206 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
207 </Link> 207 </Link>
208 </ItemDefinitionGroup> 208 </ItemDefinitionGroup>
209 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 209 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
210 <PreBuildEvent> 210 <PreBuildEvent>
211 <Message>Build Dependencies</Message> 211 <Message>Build Dependencies</Message>
212 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL 212 <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1&gt;NUL 2&gt;NUL
213lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL 213lib /DEF:"$(ProjectDir)elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)elementary_functions_f.lib" 1&gt;NUL 2&gt;NUL
214lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command> 214lib /DEF:"$(ProjectDir)slatec_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)slatec_f.lib" 1&gt;NUL 2&gt;NUL</Command>
215 </PreBuildEvent> 215 </PreBuildEvent>
216 <Midl> 216 <Midl>
217 <TargetEnvironment>X64</TargetEnvironment> 217 <TargetEnvironment>X64</TargetEnvironment>
218 </Midl> 218 </Midl>
219 <ClCompile> 219 <ClCompile>
220 <WholeProgramOptimization>false</WholeProgramOptimization> 220 <WholeProgramOptimization>false</WholeProgramOptimization>
221 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 221 <AdditionalIncludeDirectories>../../../../libs/f2c;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
222 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 222 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTERPOLATION_F2C_EXPORTS;FORDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
223 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> 223 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
224 <WarningLevel>Level3</WarningLevel> 224 <WarningLevel>Level3</WarningLevel>
225 <MultiProcessorCompilation>true</MultiProcessorCompilation> 225 <MultiProcessorCompilation>true</MultiProcessorCompilation>
226 </ClCompile> 226 </ClCompile>
227 <PreLinkEvent> 227 <PreLinkEvent>
228 <Message>Build $(ProjectName).def</Message> 228 <Message>Build $(ProjectName).def</Message>
229 <Command>setlocal EnableDelayedExpansion 229 <Command>setlocal EnableDelayedExpansion
230cd $(ConfigurationName) 230cd $(ConfigurationName)
231set LIST_OBJ= 231set LIST_OBJ=
@@ -234,50 +234,52 @@ for %%f in (*.obj) do set LIST_OBJ=!LIST_OBJ! %%f
234copy $(ProjectName).def ..\$(ProjectName).def &gt;nul 234copy $(ProjectName).def ..\$(ProjectName).def &gt;nul
235del *.def &gt;nul 235del *.def &gt;nul
236cd .. 236cd ..
237</Command> 237</Command>
238 </PreLinkEvent> 238 </PreLinkEvent>
239 <Link> 239 <Link>
240 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions> 240 <AdditionalOptions>/ignore:4049 %(AdditionalOptions)</AdditionalOptions>
241 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies> 241 <AdditionalDependencies>core.lib;elementary_functions_f.lib;slatec_f.lib;../../../../bin/blasplus.lib;../../../../bin/libf2c.lib;%(AdditionalDependencies)</AdditionalDependencies>
242 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> 242 <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
243 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile> 243 <ModuleDefinitionFile>interpolation_f.def</ModuleDefinitionFile>
244 <GenerateDebugInformation>true</GenerateDebugInformation> 244 <GenerateDebugInformation>true</GenerateDebugInformation>
245 <SubSystem>Windows</SubSystem> 245 <SubSystem>Windows</SubSystem>
246 <OptimizeReferences>true</OptimizeReferences> 246 <OptimizeReferences>true</OptimizeReferences>
247 <EnableCOMDATFolding>true</EnableCOMDATFolding> 247 <EnableCOMDATFolding>true</EnableCOMDATFolding>
248 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> 248 <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
249 <TargetMachine>MachineX64</TargetMachine> 249 <TargetMachine>MachineX64</TargetMachine>
250 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> 250 <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck>
251 <RandomizedBaseAddress>false</RandomizedBaseAddress> 251 <RandomizedBaseAddress>false</RandomizedBaseAddress>
252 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> 252 <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
253 </Link> 253 </Link>
254 </ItemDefinitionGroup> 254 </ItemDefinitionGroup>
255 <ItemGroup> 255 <ItemGroup>
256 <ClCompile Include="common_f2c.c" /> 256 <ClCompile Include="common_f2c.c" />
257 <ClCompile Include="cshep2d.c" /> 257 <ClCompile Include="cshep2d.c" />
258 <ClCompile Include="dspfit.c" /> 258 <ClCompile Include="dspfit.c" />
259 <ClCompile Include="somespline.c" /> 259 <ClCompile Include="mesh2b.c" />
260 </ItemGroup> 260 <ClCompile Include="somespline.c" />
261 <ItemGroup> 261 </ItemGroup>
262 <f2c_rule Include="cshep2d.f" /> 262 <ItemGroup>
263 <f2c_rule Include="dspfit.f" /> 263 <f2c_rule Include="cshep2d.f" />
264 <f2c_rule Include="somespline.f" /> 264 <f2c_rule Include="dspfit.f" />
265 </ItemGroup> 265 <f2c_rule Include="mesh2b.f" />
266 <ItemGroup> 266 <f2c_rule Include="somespline.f" />
267 <None Include="..\..\sci_gateway\interpolation_gateway.xml" /> 267 </ItemGroup>
268 <None Include="..\..\Makefile.am" /> 268 <ItemGroup>
269 <None Include="elementary_functions_f_Import.def" /> 269 <None Include="..\..\sci_gateway\interpolation_gateway.xml" />
270 <None Include="core_import.def" /> 270 <None Include="..\..\Makefile.am" />
271 <None Include="slatec_f_Import.def" /> 271 <None Include="elementary_functions_f_Import.def" />
272 </ItemGroup> 272 <None Include="core_import.def" />
273 <ItemGroup> 273 <None Include="slatec_f_Import.def" />
274 <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj"> 274 </ItemGroup>
275 <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project> 275 <ItemGroup>
276 <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 276 <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
277 </ProjectReference> 277 <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
278 </ItemGroup> 278 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
279 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 279 </ProjectReference>
280 <ImportGroup Label="ExtensionTargets"> 280 </ItemGroup>
281 <Import Project="..\..\..\..\Visual-Studio-settings\f2c.targets" /> 281 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
282 </ImportGroup> 282 <ImportGroup Label="ExtensionTargets">
283 <Import Project="..\..\..\..\Visual-Studio-settings\f2c.targets" />
284 </ImportGroup>
283</Project> \ No newline at end of file 285</Project> \ No newline at end of file
diff --git a/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj.filters b/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj.filters
index 0d58454..ea620f4 100644
--- a/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj.filters
+++ b/scilab/modules/interpolation/src/fortran/interpolation_f2c.vcxproj.filters
@@ -1,61 +1,67 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6 <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> 6 <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7 </Filter> 7 </Filter>
8 <Filter Include="Header Files"> 8 <Filter Include="Header Files">
9 <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> 9 <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> 10 <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
11 </Filter> 11 </Filter>
12 <Filter Include="Resource Files"> 12 <Filter Include="Resource Files">
13 <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> 13 <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14 <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> 14 <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
15 </Filter> 15 </Filter>
16 <Filter Include="Fortran files"> 16 <Filter Include="Fortran files">
17 <UniqueIdentifier>{5bded6a7-2b35-4fd3-b2e1-ae7409e496aa}</UniqueIdentifier> 17 <UniqueIdentifier>{5bded6a7-2b35-4fd3-b2e1-ae7409e496aa}</UniqueIdentifier>
18 </Filter> 18 </Filter>
19 <Filter Include="Libraries Dependencies"> 19 <Filter Include="Libraries Dependencies">
20 <UniqueIdentifier>{76cb8868-92d0-4856-b421-d782467f393a}</UniqueIdentifier> 20 <UniqueIdentifier>{76cb8868-92d0-4856-b421-d782467f393a}</UniqueIdentifier>
21 </Filter> 21 </Filter>
22 </ItemGroup> 22 </ItemGroup>
23 <ItemGroup> 23 <ItemGroup>
24 <ClCompile Include="common_f2c.c"> 24 <ClCompile Include="common_f2c.c">
25 <Filter>Source Files</Filter> 25 <Filter>Source Files</Filter>
26 </ClCompile> 26 </ClCompile>
27 <ClCompile Include="cshep2d.c"> 27 <ClCompile Include="cshep2d.c">
28 <Filter>Source Files</Filter> 28 <Filter>Source Files</Filter>
29 </ClCompile> 29 </ClCompile>
30 <ClCompile Include="dspfit.c"> 30 <ClCompile Include="dspfit.c">
31 <Filter>Source Files</Filter> 31 <Filter>Source Files</Filter>
32 </ClCompile> 32 </ClCompile>
33 <ClCompile Include="somespline.c"> 33 <ClCompile Include="somespline.c">
34 <Filter>Source Files</Filter> 34 <Filter>Source Files</Filter>
35 </ClCompile> 35 </ClCompile>
36 </ItemGroup> 36 <ClCompile Include="mesh2b.c">
37 <ItemGroup> 37 <Filter>Source Files</Filter>
38 <f2c_rule Include="cshep2d.f"> 38 </ClCompile>
39 <Filter>Fortran files</Filter> 39 </ItemGroup>
40 </f2c_rule> 40 <ItemGroup>
41 <f2c_rule Include="dspfit.f"> 41 <f2c_rule Include="cshep2d.f">
42 <Filter>Fortran files</Filter> 42 <Filter>Fortran files</Filter>
43 </f2c_rule> 43 </f2c_rule>
44 <f2c_rule Include="somespline.f"> 44 <f2c_rule Include="dspfit.f">
45 <Filter>Fortran files</Filter> 45 <Filter>Fortran files</Filter>
46 </f2c_rule> 46 </f2c_rule>
47 </ItemGroup> 47 <f2c_rule Include="somespline.f">
48 <ItemGroup> 48 <Filter>Fortran files</Filter>
49 <None Include="..\..\sci_gateway\interpolation_gateway.xml" /> 49 </f2c_rule>
50 <None Include="..\..\Makefile.am" /> 50 <f2c_rule Include="mesh2b.f">
51 <None Include="core_import.def"> 51 <Filter>Fortran files</Filter>
52 <Filter>Libraries Dependencies</Filter> 52 </f2c_rule>
53 </None> 53 </ItemGroup>
54 <None Include="elementary_functions_f_Import.def"> 54 <ItemGroup>
55 <Filter>Libraries Dependencies</Filter> 55 <None Include="..\..\sci_gateway\interpolation_gateway.xml" />
56 </None> 56 <None Include="..\..\Makefile.am" />
57 <None Include="slatec_f_Import.def"> 57 <None Include="core_import.def">
58 <Filter>Libraries Dependencies</Filter> 58 <Filter>Libraries Dependencies</Filter>
59 </None> 59 </None>
60 </ItemGroup> 60 <None Include="elementary_functions_f_Import.def">
61 <Filter>Libraries Dependencies</Filter>
62 </None>
63 <None Include="slatec_f_Import.def">
64 <Filter>Libraries Dependencies</Filter>
65 </None>
66 </ItemGroup>
61</Project> \ No newline at end of file 67</Project> \ No newline at end of file
diff --git a/scilab/modules/interpolation/src/fortran/mesh2b.f b/scilab/modules/interpolation/src/fortran/mesh2b.f
new file mode 100644
index 0000000..deb00eb
--- /dev/null
+++ b/scilab/modules/interpolation/src/fortran/mesh2b.f
@@ -0,0 +1,839 @@
1c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2c Copyright (C) INRIA
3c
4c This file must be used under the terms of the CeCILL.
5c This source file is licensed as described in the file COPYING, which
6c you should have received as part of this distribution. The terms
7c are also available at
8c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10
11 subroutine mesh2b(nbs,n6,n4,lfront,cr,c,nu,tri,front,nbt,err)
12c-----------------------------------------------------------------------
13c triangulation 2d a partir d'un ensemble de points et d'une frontiere
14c de domaine decrite par ses composantes connexes
15c-----------------------------------------------------------------------
16c entrees :
17c cr tableau des coordonnees des points c(1:2,1:nbs)
18c nbs nombre de points
19c n6=6*(nbs+nbs-2) n4=4*nbs-4
20c front tableau definisant la frontiere par composantes connexes de la
21c frontiere (i1,i2) front(i1)=front(i2) front(i+1) est le
22c point frontiere suivant de front(i) pour i=i1,i2-1 telle que
23c la normale a la frontiere soit interne ( la composante
24c connexe exterieure tourne dans le sens trigo )
25c lfront est la longueur du tableau front
26c----------------------------------------------------------------------
27c tableaux de travail
28c c(2,nbs) tableau d'entiers (copie de coordonnees)
29c tri(4*nbs-4) tableau d'entiers
30c nu (6*(2*nbs-2)) tableau d entiers contiendra le tableau
31c des connectivites ( au debut) a la sortie du sp
32c
33c sorties :
34c nbt nombre de triangles generes
35c nu(1:3,nbt) sommets des triangles (tableau des connections)
36c (!! nu a dimensionner en entree nu(1:6*(2*nbs-2))
37c err si err = 0 alors pas de probleme (ok)
38c sinon nbt = 0 et pas de triangulation
39c c(1:2,nbs) coordonnees des sommets (en entier) cr n est pas modifie
40c---------------------------------------------------------------------------
41c hecht-marrocco inria-rocquencourt (39 63 55 14)
42c-------------------------------------------------------------------------
43 integer nbs,nbt,lfront,n6,n4,err
44 integer c(2,nbs),tri(n4),front(lfront),nu(n6)
45 double precision cr(2,nbs)
46 integer i,j,k,tete,i1,i2
47c
48 err = 0
49 nbt = 0
50 do 1,i=1,nbs
51 c(1,i)=0
52 c(2,i)=0
53 1 continue
54 do 2,i=1,n6
55 nu(i)=0
56 2 continue
57c preparation des donnees
58 call mshtri (cr,c,nbs,tri,tri(nbs+1),err)
59 if(err.ne.0) return
60c maillage de l enveloppe convexe
61 call mshcxi (c,nu,tri,nbs,tete,err,n4)
62 if(err.ne.0) return
63c
64 do 10 i=1,nbs
65 tri(i)=0
6610 continue
67 i=tete
6820 continue
69 j=nu(6*(i-1)+4)
70 tri(nu(6*(i-1)+1))=nu(6*(j-1)+1)
71 i=j
72 if(i.ne.tete) goto 20
73c traitement frontiere
74 k=0
75 if(lfront.gt.0) then
76 call mshfrt(c,nu,nbs,front,lfront,tri,err,n4)
77 if(err.ne.0) return
78 do 30 i=1,nbs
79 tri(i)=0
8030 continue
81 k = 0
82 i2 = 0
83 do 40 i=1,lfront
84 i1=i2
85 i2=front(i)
86 if(i1.eq.k) then
87 k = -i2
88 elseif(i1.eq.-k) then
89 k=-k
90 tri(i1)=i2
91 else
92 tri(i1)=i2
93 endif
9440 continue
95 endif
96c construction du tableau nu(1:3,1:nbt)
97 nbt=0
98 k = 0
99 do 200 j=1,6*(nbs+nbs-2),6
100 if(nu(j+5).ne.0) then
101 nbt=nbt + 1
102 do 190 i=0,2
103 k=k+1
104 nu(k)=nu(j+i)
105190 continue
106 endif
107200 continue
108 end
109c**********************************************************************
110 integer function mshlcl(c,nu,tete,s,nbs)
111 integer nbs,c(2,nbs),nu(6,nbs+nbs-2),tete,s
112 integer x,y,pt,ppt,det
113 logical init
114c
115 x=c(1,s)
116 y=c(2,s)
117 init=.true.
118 pt=tete
11910 continue
120 ppt=pt
121 pt=nu(4,pt)
122 if(pt.ne.tete) then
123 det=x*c(2,nu(1,pt)) -y*c(1,nu(1,pt))
124 if(det.lt.0) then
125 init=.false.
126 goto 10
127 elseif(init.and.det.eq.0) then
128 goto 10
129 endif
130 endif
131 mshlcl=ppt
132 end
133c**********************************************************************
134 subroutine mshtri (cr,c,nbs,tri,nu,err)
135 integer nbs,c(1:2,1:nbs),tri(1:nbs),nu(1:nbs),err
136 double precision cr(1:2,1:nbs)
137 integer iii,ic,xx,ip,i,j,jc,k,trik,tri3,det,ierr
138 double precision aa1,aa2,xmin,xmax,ymin,ymax
139 double precision precis
140 parameter (precis=2.**15-1.)
141c
142 err = 0
143 ierr = 0
144 iii=1
145 xmin=cr(1,1)
146 ymin=cr(2,1)
147 xmax=cr(1,1)
148 ymax=cr(2,1)
149 do 10 ic=1,nbs
150 xmin=min(cr(1,ic),xmin)
151 ymin=min(cr(2,ic),ymin)
152 xmax=max(cr(1,ic),xmax)
153 ymax=max(cr(2,ic),ymax)
154 tri(ic)=ic
155 if(cr(1,ic).lt.cr(1,iii)) then
156 iii=ic
157 endif
15810 continue
159 aa1 = precis/(xmax-xmin)
160 aa2 = precis/(ymax-ymin)
161 aa1 = min(aa1,aa2)
162 aa2 = aa1*(cr(2,iii)-ymin)
163 do 20 ic=1,nbs
164 c(1,ic) = nint(aa1*(cr(1,ic)-cr(1,iii)))
165 c(2,ic) = nint(aa1*(cr(2,ic)-ymin)-aa2)
166 nu(ic)= c(1,ic)**2 + c(2,ic)**2
16720 continue
168c----------------------------------------------------------
169 call mshtr1 (nu,tri,nbs)
170 ip = 1
171 xx=nu(ip)
172 do 30 jc=1,nbs
173 if(nu(jc).gt.xx)then
174 call mshtr1 (nu(ip),tri(ip),jc-ip)
175 do 25 i=ip,jc-2
176 if(nu(i).eq.nu(i+1)) then
177 ierr=ierr+1
178c print *,' error les points ',tri(i),tri(i+1),' sont egaux'
179 endif
18025 continue
181 xx=nu(jc)
182 ip=jc
183 endif
184 ic=tri(jc)
185 nu(jc)=c(2,ic)
18630 continue
187 call mshtr1 (nu(ip),tri(ip),nbs-ip)
188 do 35 i=ip,jc-2
189 if(nu(i).eq.nu(i+1)) then
190 ierr=ierr+1
191c print *,' error les points ',tri(i),tri(i+1),' sont egaux'
192 endif
19335 continue
194 if(ierr.ne.0) then
195 err = 2
196c print *,' fatal error mshtri:il y a des points confondus'
197 return
198 endif
199 k=2
20050 continue
201 if(k.le.nbs) then
202 k=k+1
203 det = c(1,tri(2))*c(2,tri(k)) - c(2,tri(2))*c(1,tri(k))
204 if(det.eq.0) goto 50
205 else
206c print *,'fatal error mshtri tous les points sont alignes'
207c print *,'tri =',(tri(k),k=1,nbs)
208 err = 3
209 return
210 endif
211 trik = tri(k)
212 do 60 j=k-1,3,-1
213 tri(j+1)=tri(j)
21460 continue
215 tri(3)=trik
216 if(det.lt.0) then
217 tri3=tri(3)
218 tri(3)=tri(2)
219 tri(2)=tri3
220 endif
221 end
222c**********************************************************************
223 subroutine mshtr1 (criter,record,n)
224 integer record(n)
225 integer criter(n)
226c
227 integer i,l,r,j,n
228 integer rec
229 integer crit
230c
231 if(n.le.1) return
232 l=n/2+1
233 r=n
2342 if(l.le.1)goto 20
235 l=l-1
236 rec=record(l)
237 crit=criter(l)
238 goto 3
23920 continue
240 rec=record(r)
241 crit=criter(r)
242 record(r)=record(1)
243 criter(r)=criter(1)
244 r=r-1
245 if(r.eq.1)goto 999
2463 j=l
2474 i=j
248 j=2*j
249 CRES=j-r
250 if (CRES .lt. 0) then
251 goto 5
252 elseif (CRES .eq. 0) then
253 goto 6
254 else
255 goto 8
256 endif
2575 if(criter(j).lt.criter(j+1))j=j+1
2586 if(crit.ge.criter(j))goto 8
259 record(i)=record(j)
260 criter(i)=criter(j)
261 goto 4
2628 record(i)=rec
263 criter(i)=crit
264 goto 2
265999 record(1)=rec
266 criter(1)=crit
267 return
268 end
269c**********************************************************************
270 subroutine mshcvx(direct,c,nu,pfold,nbs,err)
271 integer nbs,c(2,nbs),nu(6,nbs+nbs-2),pfold,err
272 logical direct
273 integer pp,ps,i1,i2,i3,i4,i5,i6
274 integer pf,psf,ppf,s1,s2,s3,t,t4,t5,a4,a5,det,tt4,tt5
275 if(direct) then
276 pp=3
277 ps=4
278 i1=1
279 i2=3
280 i3=2
281 i4=6
282 i5=5
283 i6=4
284 else
285 pp=4
286 ps=3
287 i1=1
288 i2=2
289 i3=3
290 i4=4
291 i5=5
292 i6=6
293 endif
29410 continue
295 ppf=pfold
296 pf =nu(ps,pfold)
297 psf=nu(ps,pf)
298 s1=nu(1,ppf)
299 s2=nu(1,pf)
300 s3=nu(1,psf)
301 det = ( c(1,s2) - c(1,s1) ) * ( c(2,s3) - c(2,s1) )
302 & - ( c(2,s2) - c(2,s1) ) * ( c(1,s3) - c(1,s1) )
303 if(((.not.direct).and.det.gt.0).or.(direct.and.det.lt.0)) then
304 if(direct) then
305 tt4 = nu(2,ppf)
306 tt5 = nu(2,pf)
307 else
308 tt4 = nu(2,pf)
309 tt5 = nu(2,psf)
310 endif
311 t4 = tt4/(2**3)
312 t5 = tt5/(2**3)
313 a4 = tt4 -8 * t4
314 a5 = tt5 -8 * t5
315 nu(ps,ppf) = psf
316 nu(pp,psf) = ppf
317 t = pf
318 if(direct) then
319 nu(2,ppf) = (2**3) * t + i6
320 else
321 nu(2,psf) = (2**3) * t + i6
322 endif
323 nu(i1,t ) = s1
324 nu(i2,t ) = s2
325 nu(i3,t ) = s3
326 nu(i4,t ) = (2**3) * t4 + a4
327 nu(i5,t ) = (2**3) * t5 + a5
328 if(direct) then
329 nu(i6,t ) = -ppf
330 else
331 nu(i6,t ) = -psf
332 endif
333 nu(a4,t4) = (2**3) * t + i4
334 nu(a5,t5) = (2**3) * t + i5
335 call mshopt (c,nu,t5,a5,nbs,err)
336 if(err.ne.0) return
337 goto 10
338 endif
339 end
340c**********************************************************************
341 subroutine mshcxi (c,nu,tri,nbs,tete,err,n4)
342 integer nbs,c(2,nbs),nu(6,2*nbs-2),tri(n4),tete
343 integer mshlcl,err,n4
344 integer i,j,s,t,pf,ppf,psf,npf,pp,ps,taf,iaf,free,ttaf
345 parameter (pp=3,ps=4)
346 do 10 i=1,nbs+nbs-2
347 nu(1,i)=i+1
348 do 10 j=2,6
349 nu(j,i)=0
35010 continue
351 nu(1,nbs+nbs-2)=0
352 free = 1
353 t=free
354 free = nu(1,free)
355 tete=free
356 pf =free
357 do 20 i=1,3
358 nu(i ,t) = tri(i)
359 nu(3+i,t) = -pf
360 ppf = pf
361 free = nu(1,pf)
362 pf = free
363 if(i.eq.3) pf=tete
364 nu(1,ppf) = tri(i)
365 nu(2,ppf) = i + 3 + (2**3) * t
366 nu(ps,ppf) = pf
367 nu(pp,pf ) = ppf
36820 continue
369 do 30 i=4,nbs
370 s=tri(i)
371 pf=mshlcl(c,nu,tete,s,nbs)
372 t=free
373 free = nu(1,free)
374 npf = free
375 free = nu(1,free)
376 ppf = nu(pp,pf)
377 psf = nu(ps,pf)
378 ttaf = nu(2,pf)
379 taf = ttaf / (2**3)
380 iaf = ttaf - (2**3) * taf
381 nu(1,t) = s
382 nu(2,t) = nu(1,psf)
383 nu(3,t) = nu(1,pf )
384 nu(4,t) = -npf
385 nu(5,t) = (2**3) * taf + iaf
386 nu(6,t) = -pf
387 nu(iaf,taf) = (2**3) * t + 5
388 nu(ps,npf) = psf
389 nu(ps,pf ) = npf
390 nu(pp,npf) = pf
391 nu(pp,psf) = npf
392 nu(1,npf) = s
393 nu(2,npf) = (2**3) * t + 4
394 nu(2,pf ) = (2**3) * t + 6
395 call mshopt (c,nu,t,5,nbs,err)
396 if(err.ne.0) return
397 call mshcvx (.true. ,c,nu,npf,nbs,err)
398 if(err.ne.0) return
399 call mshcvx (.false.,c,nu,npf,nbs,err)
400 if(err.ne.0) return
40130 continue
402 end
403c**********************************************************************
404 subroutine mshopt (c,nu,t,a,nbs,err)
405 integer nbs,c(2,nbs),nu(6,nbs+nbs-2),t,a,err
406 integer vide
407 parameter (vide=-2**30)
408 integer mxpile
409 parameter (mxpile=512)
410 integer pile(2,mxpile)
411 integer t1,t2,i,s1,s2,s3,s4,sin1,cos1,sin2,cos2,sgn
412 integer tt1,tt,i11,i12,i13,i21,i22,i23,a1,a2,aa,mod3(1:3)
413 double precision reel1,reel2
414 double precision reel8
415 data mod3/2,3,1/
416 i=1
417 pile(1,i) = t
418 pile(2,i) = a
41910 continue
420 if(i.gt.0) then
421 t1=pile(1,i)
422 a1=pile(2,i)
423 i=i-1
424 if(t1.le.0) goto 10
425 tt1 = nu(a1,t1)
426 if(tt1.le.0) goto 10
427 t2 = tt1/(2**3)
428 a2 = tt1-t2*(2**3)
429 i11 = a1 -3
430 i12 = mod3(i11)
431 i13 = mod3(i12)
432 i21 = a2 -3
433 i22 = mod3(i21)
434 i23 = mod3(i22)
435 s1 = nu(i13,t1)
436 s2 = nu(i11,t1)
437 s3 = nu(i12,t1)
438 s4 = nu(i23,t2)
439 sin1 = (c(2,s3)-c(2,s1)) * (c(1,s2)-c(1,s1))
440 & - (c(1,s3)-c(1,s1)) * (c(2,s2)-c(2,s1))
441 cos1 = (c(1,s3)-c(1,s1)) * (c(1,s3)-c(1,s2))
442 & + (c(2,s3)-c(2,s1)) * (c(2,s3)-c(2,s2))
443 if(sin1.eq.0.and.cos1.eq.0) then
444c print *,'fatal error mshopt:'
445c & ,'3 points confondus ',s1,s2,s3
446 err = 12
447 return
448 end if
449 sin2 = (c(1,s4)-c(1,s1)) * (c(2,s2)-c(2,s1))
450 & - (c(2,s4)-c(2,s1)) * (c(1,s2)-c(1,s1))
451 cos2 = (c(1,s4)-c(1,s2)) * (c(1,s4)-c(1,s1))
452 & + (c(2,s4)-c(2,s2)) * (c(2,s4)-c(2,s1))
453 reel1=float(cos2)*float(sin1)
454 reel2=float(cos1)*float(sin2)
455 if(abs(reel1)+abs(reel2).ge.2**30) then
456 reel8=dble(cos2)*dble(sin1)
457 & +dble(cos1)*dble(sin2)
458 reel8=min(max(reel8,-1.d0),1.d0)
459 sgn=reel8
460 else
461 sgn = cos2*sin1 + cos1*sin2
462 endif
463 if(min(max(sgn,-1),+1)*sin1.ge.0) goto 10
464 nu(i12,t1) = s4
465 nu(i22,t2) = s1
466 tt1 = nu(i22+3,t2)
467 nu(a1 ,t1) = tt1
468 if(tt1.gt.0) then
469 tt=tt1/(2**3)
470 aa = tt1-(2**3)*tt
471 nu(aa,tt)= a1 + (2**3) * t1
472 elseif(tt1.ne.vide) then
473 nu(2,-tt1)= a1 + (2**3) * t1
474 endif
475 tt1 = nu(i12+3,t1)
476 nu(a2 ,t2) = tt1
477 if(tt1.gt.0) then
478 tt=tt1/(2**3)
479 aa=tt1-(2**3)*tt
480 nu(aa,tt)= a2 + (2**3) * t2
481 elseif(tt1.ne.vide) then
482 nu(2,-tt1)= a2 + (2**3) * t2
483 endif
484 nu(i12+3,t1) = i22+3 + (2**3)*t2
485 nu(i22+3,t2) = i12+3 + (2**3)*t1
486 if(i+4.gt.mxpile) then
487c print *,' fatal error mshopt la pile est trop petite ',mxpile
488 err =13
489 return
490 endif
491c
492 i=i+1
493 pile(1,i)=t1
494 pile(2,i)=a1
495 i=i+1
496 pile(1,i)=t2
497 pile(2,i)=a2
498 i=i+1
499 pile(1,i)=t1
500 pile(2,i)=i13+3
501 i=i+1
502 pile(1,i)=t2
503 pile(2,i)=i23+3
504 goto 10
505 endif
506 end
507c**********************************************************************
508 subroutine mshfrt (c,nu,nbs,frt,lfrt,w,err,n4)
509 integer nbs,c(2,nbs),nu(6,nbs+nbs-2)
510 integer lfrt,frt(lfrt),err,w(n4)
511 integer i,ifrt,sinit,lnu,is,ie,tinter,nbac,nbaf,nbacpp
512 integer s0,s1,s2,ta,is1,it,s2t,s3t,det2,det3
513 integer p3(1:3)
514 integer vide
515 parameter (vide=-2**30)
516 logical fin
517 data p3/2,3,1/
518 if(lfrt.eq.0) return
519 tinter =0
520 ifrt=0
521 lnu = nbs+nbs-2
522c inite du tableau w
523 do 10 i=1,nbs
524 w(i)=-1
52510 continue
526 nbaf = 0
527 s1 = 0
528 sinit= 0
529 fin =.true.
530 do 20 i=1,lfrt
531 s0 = s1
532 s1 = frt(i)
533 if(s1.le.0.or.s1.gt.nbs) then
534 err=5
535c print *,' fatal error mshfrt '
536c print *,' le tableau des la frontiere est mauvais en ',i,s1
537 return
538 endif
539 if(s0.eq.sinit) then
540 if(fin) then
541 sinit=s1
542 else
543 nbaf = nbaf + 1
544 if(w(s0).ne.-1) then
545c print *,'fatal error mshfrt : la frontiere est croisee '
546c & ,' en ',s0
547 err=6
548 endif
549 w(s0)=i
550 endif
551 fin=.not.fin
552 else
553 nbaf = nbaf + 1
554 if(w(s0).ne.-1) then
555c print *,'fatal error mshfrt : la frontiere est croisee '
556c & ,' en ',s0
557 err=6
558 endif
559 w(s0)=i
560 endif
56120 continue
562 if(sinit.ne.s1) then
563c print *,'warning mshfrt:la frontiere n''est pas fermee'
564c & ,' on la ferme avec l''arete ',s1,sinit
565 if(w(s1).ne.-1) then
566c print *,'fatal error mshfrt : la frontiere est croisee '
567c & ,' en ',s1
568 err=6
569 endif
570 w(s1)=sinit
571 nbaf = nbaf + 1
572 endif
573 nbac = 0
574 nbacpp = 1
57530 continue
576 if(err.ne.0) return
577 if(nbac.lt.nbaf) then
578 if(nbacpp.eq.0) then
579 err = 7
580c print *,' fatal error mshfrt :l''algorithme boucle :'
581c & ,nbaf,nbac
582c print *,' la frontiere est certainement mal orientee '
583 return
584 endif
585c on s'occupe des aretes du maillage et frontiere de omega
586c---------------------------------------------------------------------
587 nbacpp = 0
588 do 60 ie=1,lnu
589 if(nu(5,ie).ne.0) then
590 do 50 is=1,3
591 s1 =nu( is ,ie)
592 s2t =nu( p3(is),ie)
593 if(w(s1).gt.0) then
594 s2 = frt(w(s1))
595 if(s2.eq.s2t) then
596 tinter = ie
597 nbacpp = nbacpp + 1
598 w(s1) = 0
599 if(nu(is+3,ie).gt.0) then
600 ta = nu(is+3,ie) /(2**3)
601 i = nu(is+3,ie)-(2**3) * ta
602 nu(i,ta)=vide
603 endif
604 nu(is+3,ie)=vide
605 else
606 it = ie
607 is1 = is
608 s3t = nu(p3(p3(is)),it)
609 det2 = (c(1,s2t)-c(1,s1))*(c(2,s2)-c(2,s1))
610 & - (c(2,s2t)-c(2,s1))*(c(1,s2)-c(1,s1))
611 det3 = (c(1,s3t)-c(1,s1))*(c(2,s2)-c(2,s1))
612 & - (c(2,s3t)-c(2,s1))*(c(1,s2)-c(1,s1))
613 if(det2.ge.0.and.det3.le.0) then
614 if(det2.eq.0) then
615 if(w(s2t).eq.-1) then
616 print *,' fatal error mshfrt: le point ',s2t
617 & ,' qui ne doit pas etre frontiere , l''est'
618 err = 10
619 endif
620 goto 50
621 endif
622 if(det3.eq.0) then
623 if(w(s3t).eq.-1) then
624 print *,' fatal error mshfrt: le point ',s3t
625 & ,' qui ne doit pas etre frontiere , l''est'
626 err = 10
627 endif
628 goto 50
629 endif
630 call mshfr1 (c,nu,nbs,it,is1,s2,err)
631 if(err.ne.0) return
632 tinter=it
633 w(s1) = 0
634 nbacpp = nbacpp + 1
635 endif
636 endif
637 endif
63850 continue
639 endif
64060 continue
641 nbac = nbac + nbacpp
642 goto 30
643 endif
644 i=2
645 w(1)=tinter
646 w(2)=3
647 nu(1,tinter) = -nu(1,tinter)
64870 continue
649 if(i.gt.0) then
650 w(i)=w(i)+1
651 if(w(i).le.6) then
652 ta=nu(w(i),w(i-1))
653 if(ta.gt.0) then
654 ta = ta / (2**3)
655 if(nu(1,ta).gt.0) then
656 w(i+1)=ta
657 w(i+2)=3
658 i=i+2
659 nu(1,ta)=-nu(1,ta)
660 endif
661 endif
662 else
663 i=i-2
664 endif
665 goto 70
666 endif
667 do 90 ie=1,lnu
668 if(nu(1,ie).lt.0) then
669 nu(1,ie)=-nu(1,ie)
670 else
671 do 80 i=1,6
672 nu(i,ie)=0
67380 continue
674 endif
67590 continue
676 end
677c**********************************************************************
678 subroutine mshfr1 (c,nu,nbs,it1,is1,s2,err)
679 integer nbs,c(2,nbs),nu(6,nbs+nbs-2),is1,s2,err,it1
680 integer lstmx
681 parameter (lstmx=256)
682 integer lst(3,lstmx)
683 integer s1,s3,x,y,det,nbac,s2t,s3t,t,ta
684 integer l1,l2,l3,la,p3(1:5)
685 logical direct
686 data p3 /2,3,1,2,3/
687 direct = .true.
688 t = it1
689 s1 = nu(is1,t)
690 x = c(1,s2)-c(1,s1)
691 y = c(2,s2)-c(2,s1)
692 nbac = 0
693 l1 = is1
694 l2 = p3(l1)
695 l3 = p3(l2)
696 s2t = nu(l2,t)
697 s3t = nu(l3,t)
698 la = l2 + 3
69920 continue
700 nbac = nbac + 1
701 if(nbac.gt.lstmx) then
702 print *,' fatal error mshfr1 : lst trop petit ',nbac,lstmx
703 err =8
704 return
705 endif
706 lst(2,nbac) = t
707 lst(3,nbac) = la
708 ta = nu(la,t)
709 if(ta.le.0) then
710 print *,' fatal error mshfr1:la frontiere est croisee en ',t
711 err =9
712 return
713 endif
714 t = ta/8
715 la = ta-8*t
716 s3 = nu(p3(la-2),t)
717 if(s3.ne.s2) then
718 det = x*(c(2,s3)-c(2,s1))-y*(c(1,s3)-c(1,s1))
719 if(det.gt.0) then
720 la = 3+p3(la-3)
721 elseif(det.lt.0) then
722 la = 3+p3(la-2)
723 else
724 print *,' fatal error mshfr1: le point ',s3
725 & ,' qui ne doit pas etre frontiere , l''est'
726 err = 10
727 return
728 endif
729 goto 20
730 endif
731 call mshfr2 (c,nu,nbs,lst,nbac,it1,s1,s2)
732 return
733 end
734c**********************************************************************
735 subroutine mshfr2 (c,nu,nbs,lst,nbac,t,ss1,ss2)
736 integer nbs,nbac,c(2,nbs),nu(6,nbs+nbs-2),lst(3,nbac)
737 integer t,ss1,ss2
738 integer ptlst,ttlst,pslst,pplst,s1,s2,s3,s4,x41,y41,x,y
739 integer i,t1,a1,tt1,t2,a2,tt,i11,i12,i13,i21,i22,i23,aas,aa
740 integer det1,det4,det2,det3
741 integer mod3(3)
742 integer vide
743 parameter (vide=-2**30)
744 data mod3/2,3,1/
745 x = c(1,ss1)-c(1,ss2)
746 y = c(2,ss1)-c(2,ss2)
747 do 10 i=1,nbac-1
748 lst(1,i)=i+1
74910 continue
750 lst(1,nbac)=0
751 ttlst = 1
75220 continue
753 ptlst = ttlst
754 pplst = 0
75530 continue
756 if(ptlst.gt.0) then
757 t1=lst(2,ptlst)
758 a1=lst(3,ptlst)
759 tt1 = nu(a1,t1)
760 t2 = tt1/(2**3)
761 a2 = tt1-t2*(2**3)
762 i11 = a1 -3
763 i12 = mod3(i11)
764 i13 = mod3(i12)
765 i21 = a2 -3
766 i22 = mod3(i21)
767 i23 = mod3(i22)
768 s1 = nu(i13,t1)
769 s2 = nu(i11,t1)
770 s3 = nu(i12,t1)
771 s4 = nu(i23,t2)
772 x41 = c(1,s4)-c(1,s1)
773 y41 = c(2,s4)-c(2,s1)
774 det2 = (c(1,s2)-c(1,s1))*y41-(c(2,s2)-c(2,s1))*x41
775 det3 = (c(1,s3)-c(1,s1))*y41-(c(2,s3)-c(2,s1))*x41
776 if(det2.gt.0.and.det3.lt.0) then
777 nu(i12,t1) = s4
778 nu(i22,t2) = s1
779 pslst=lst(1,ptlst)
780 if(pslst.gt.0) then
781 aas=lst(3,pslst)
782 if(aas.eq.i22+3) then
783 lst(2,pslst) = t1
784 lst(3,pslst) = i11 + 3
785 endif
786 endif
787 tt1 = nu(i22+3,t2)
788 nu(a1 ,t1) = tt1
789 if(tt1.gt.0) then
790 tt=tt1/(2**3)
791 aa = tt1-(2**3)*tt
792 nu(aa,tt)= a1 + (2**3) * t1
793 elseif(tt1.ne.vide) then
794 nu(2,-tt1)= a1 + (2**3) * t1
795 endif
796 tt1 = nu(i12+3,t1)
797 nu(a2 ,t2) = tt1
798 if(tt1.gt.0) then
799 tt=tt1/(2**3)
800 aa=tt1-(2**3)*tt
801 nu(aa,tt)= a2 + (2**3) * t2
802 elseif(tt1.ne.vide) then
803 nu(2,-tt1)= a2 + (2**3) * t2
804 endif
805 nu(i12+3,t1) = i22+3 + (2**3)*t2
806 nu(i22+3,t2) = i12+3 + (2**3)*t1
807 det1 = (c(1,s1)-c(1,ss1))*y-(c(2,s1)-c(2,ss1))*x
808 det4 = (c(1,s4)-c(1,ss1))*y-(c(2,s4)-c(2,ss1))*x
809 if(det1.lt.0.and.det4.gt.0) then
810 lst(2,ptlst) = t2
811 lst(3,ptlst) = i22+3
812 elseif(det1.gt.0.and.det4.lt.0) then
813 lst(2,ptlst) = t1
814 lst(3,ptlst) = i12+3
815 else
816 if(pplst.eq.0) then
817 ttlst = lst(1,ptlst)
818 ptlst = ttlst
819 else
820 ptlst = lst(1,ptlst)
821 lst(1,pplst) = ptlst
822 endif
823 goto 30
824 endif
825 endif
826 pplst = ptlst
827 ptlst = lst(1,ptlst)
828 goto 30
829 endif
830 if(ttlst.ne.0) goto 20
831 nu(i12+3,t1) = vide
832 nu(i22+3,t2) = vide
833 t = t2
834 do 40 i=1,nbac
835 call mshopt (c,nu,lst(2,i),4,nbs,ierr)
836 call mshopt (c,nu,lst(2,i),5,nbs,ierr)
837 call mshopt (c,nu,lst(2,i),6,nbs,ierr)
83840 continue
839 end
diff --git a/scilab/modules/interpolation/tests/unit_tests/mesh2d.tst b/scilab/modules/interpolation/tests/unit_tests/mesh2d.tst
new file mode 100644
index 0000000..2155815
--- /dev/null
+++ b/scilab/modules/interpolation/tests/unit_tests/mesh2d.tst
@@ -0,0 +1,35 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2018 - Stéphane MOTTELET
4//
5//, This file is distributed under the same license as the Scilab package.
6// =============================================================================
7//
8// <-- CLI SHELL MODE -->
9// <-- NO CHECK REF -->
10
11[x,y] = meshgrid(1:4,1:3);
12
13// Test returned boundary
14tri1_1 = [1, 5, 8, 7, 3, 8, 10, 6, 9, 10, 11, 12
154, 2, 5, 5, 2, 6, 11, 3, 6, 8, 9, 9
162, 4, 7, 4, 5, 5, 8, 5, 8, 7, 8, 11];
17[tri1_2, cv_hull_1] = mesh2d(x(:), y(:));
18assert_checkequal(cv_hull_1, [1, 4, 7, 10, 11, 12, 9, 6, 3, 2, 1]');
19assert_checkequal(tri1_1, tri1_2);
20
21// Test with non-convex boundary
22tri2_1 = [1, 5, 3, 8, 10, 6, 9, 10, 11, 12.
234, 2, 2, 6, 11, 3, 6, 8, 9, 9.
242, 4, 5, 5, 8, 5, 8, 7, 8, 11];
25tri2_2 = mesh2d(x(:),y(:), [1, 4, 5, 8, 7, 10, 11, 12, 9, 6, 3, 2, 1]);
26assert_checkequal(tri2_1, tri2_2);
27
28// Test with hole
29[x,y]=meshgrid(1:4,1:4);
30[tri3_1, cv_hull_3] = mesh2d(x(:), y(:));
31tri3_2 = mesh2d(x(:), y(:), [cv_hull_3; 6; 10; 11; 7; 6]);
32tri3_3 = [1, 6, 10, 9, 3, 13, 7, 8, 15, 13, 4, 14, 8, 15, 12, 16
335, 2, 6, 6, 2, 14, 3, 7, 12, 10, 3, 11, 4, 11, 8, 12
342, 5, 9, 5, 6, 10, 6, 11, 11, 9, 7, 10, 7, 14, 11, 15];
35assert_checkequal(tri3_2, tri3_3);