Bug #10574 fixed - Runge-Kutta-Method failed for vector [x, 1] with x > 9.
[scilab.git] / scilab / modules / differential_equations / src / c / DllmainDifferential_equations.c
1
2 /*
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2010 - DIGITEO - Allan CORNET
5  *
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  */
13
14 #include <windows.h> 
15 #include "machine.h"
16 #include "dynlib_differential_equations.h"
17 /*--------------------------------------------------------------------------*/ 
18 #pragma comment(lib,"../../../../bin/libintl.lib")
19 /*--------------------------------------------------------------------------*/ 
20
21 /* we force fortran COMMON initialization */
22
23 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
24 {
25     int iero;
26 } C2F(iercol);
27
28 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
29 {
30     double rho[7], coef[49];
31 } C2F(colloc);
32
33 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
34 {
35     int itfeval;
36 } C2F(fevaltyp);
37
38 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
39 {
40     char ename[25];
41 } C2F(fevalname);
42
43 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
44 {
45     char efsub[25], edfsub[25], egsub[25], edgsub[25], eguess[25];
46 } C2F(colname);
47
48 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
49 {
50     int iero;
51 } C2F(ierajf);
52
53 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
54 {
55     double br[1000], pas, ppr, ppk, ppa, ppb, ppm, pps, ppl, h__[2], l[2], k[2],
56         xe[2], f[4]     /* was [2][2] */, g[2], ue;
57     int nn;
58 } C2F(bcompc);
59
60 DIFFERENTIAL_EQUATIONS_IMPEXP struct 
61 {
62     char namer[25], namej[25], names[25];
63 } C2F(dassln);
64
65 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
66     int mshflg, mshnum, mshlmt, mshalt;
67 } C2F(colmsh);
68
69 DIFFERENTIAL_EQUATIONS_IMPEXP union {
70     struct {
71         double tzeta[40], tleft, tright;
72         int izeta, idum;
73     } _1;
74     struct {
75         double zeta[40], aleft, aright;
76         int izeta, idum;
77     } _2;
78     struct {
79         double zeta[40], aleft, aright;
80         int izeta, izsave;
81     } _3;
82 } C2F(colsid);
83
84 DIFFERENTIAL_EQUATIONS_IMPEXP union {
85     struct {
86         double ttl[40], wgtmsh[40], wgterr[40], tolin[40], root[40];
87         int jtol[40], lttol[40], ntol;
88     } _1;
89     struct {
90         double tol[40], wgtmsh[40], wgterr[40], tolin[40], root[40];
91         int jtol[40], ltol[40], ntol;
92     } _2;
93 } C2F(colest);
94
95 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
96     int n, nold, nmax, nz, ndmz;
97 } C2F(colapr);
98
99
100 DIFFERENTIAL_EQUATIONS_IMPEXP union {
101     struct {
102         int k, nc, mstar, kd, mmax, mt[20];
103     } _1;
104     struct {
105         int k, ncomp, mstar, kd, mmax, m[20];
106     } _2;
107     struct {
108         int k, ncomp, id1, id2, mmax, m[20];
109     } _3;
110     struct {
111         int kdum, ncomp, mstar, kd, mmax, m[20];
112     } _4;
113     struct {
114         int kdum, ndum, mstar, kd, mmax, m[20];
115     } _5;
116     struct {
117         int k, ncdum, mstar, kdum, mmax, m[20];
118     } _6;
119     struct {
120         int k, ncomp, mstar, kdum, mmax, m[20];
121     } _7;
122 } C2F(colord);
123
124 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
125     int nonlin, iter, limit, icare, iguess;
126 } C2F(colnln);
127
128 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
129     double precis;
130     int iout, iprint;
131 } C2F(colout);
132
133 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
134     double b[28], acol[196], asave[112];
135 } C2F(colbas);
136
137 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
138     int iero;
139 } C2F(ierdcu);
140
141 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
142     int jupbnd;
143 } C2F(dqa001);
144
145
146 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
147     int iero;
148 } C2F(iertwo);
149
150 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
151     int ncomp, mstar;
152 } C2F(icolnew);
153
154 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
155     int kfsub, kdfsub, kgsub, kdgsub, kguess, kx, ki, kz;
156 } C2F(coladr);
157
158 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
159     int itfsub, itdfsub, itgsub, itdgsub, itguess;
160 } C2F(coltyp);
161
162 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
163     int kfeval, kx1top, kx2top;
164 } C2F(fevaladr);
165
166 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
167     char namef[6];
168 } C2F(cintg);
169
170 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
171     double rownr3[2]; 
172     double t0; 
173     double tlast; 
174     double toutc;  
175     int lg0; 
176     int lg1; 
177     int lgx; 
178     int iownr3[2]; 
179     int irfnd; 
180     int itaskc; 
181     int ngc; 
182     int nge; 
183 } C2F(lsr001);
184
185 DIFFERENTIAL_EQUATIONS_IMPEXP struct {
186     double tret; 
187     double rowns[209]; 
188     double ccmax; 
189     double el0; 
190     double h__; 
191     double hmin; 
192     double hmxi; 
193     double hu; 
194     double rc; 
195     double tn; 
196     double uround; 
197     int illin; 
198     int init; 
199     int lyh; 
200     int lewt; 
201     int lacor; 
202     int lsavf; 
203     int lwm; 
204     int liwm; 
205     int mxstep; 
206     int mxhnil; 
207
208     int nhnil; 
209     int ntrep; 
210     int nslast; 
211     int nyh; 
212     int iowns[6]; 
213     int icf; 
214     int ierpj; 
215     int iersl; 
216     int jcur; 
217
218     int jstart; 
219     int kflag; 
220     int l; 
221     int meth; 
222     int miter; 
223     int maxord; 
224     int maxcor; 
225     int msbp; 
226     int mxncf; 
227     int n; 
228     int nq; 
229     int nst; 
230     int nfe; 
231     int nje; 
232     int nqu; 
233 } C2F(ls0001);
234
235 /*--------------------------------------------------------------------------*/ 
236 int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
237 {
238   switch (reason) 
239     {
240     case DLL_PROCESS_ATTACH:
241       break;
242     case DLL_PROCESS_DETACH:
243       break;
244     case DLL_THREAD_ATTACH:
245       break;
246     case DLL_THREAD_DETACH:
247       break;
248     }
249   return 1;
250 }
251 /*--------------------------------------------------------------------------*/ 
252