1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13 
14 // AdvApp2Var_MathBase.hxx
15 #ifndef AdvApp2Var_MathBase_HeaderFile
16 #define AdvApp2Var_MathBase_HeaderFile
17 
18 
19 #include <Standard_Macro.hxx>
20 #include <AdvApp2Var_Data_f2c.hxx>
21 class AdvApp2Var_MathBase {
22  public:
23   ///
24   Standard_EXPORT static int mmapcmp_(integer*,
25 				      integer*,
26 				      integer*,
27 				      double*,
28 				      double*);
29 
30   Standard_EXPORT static int mmdrc11_(integer* ,
31 				      integer* ,
32 				      integer* ,
33 				      doublereal* ,
34 				      doublereal* ,
35 				      doublereal* );
36 
37   Standard_EXPORT static int mmfmca9_( integer* ,
38 				      integer* ,
39 				      integer* ,
40 				      integer* ,
41 				      integer* ,
42 				      integer* ,
43 				      doublereal* ,
44 				      doublereal* );
45 
46   Standard_EXPORT static int mmfmcb5_( integer* ,
47 				      integer* ,
48 				      integer* ,
49 				      doublereal* ,
50 				      integer* ,
51 				      integer* ,
52 				      integer* ,
53 				      doublereal* ,
54 				      integer* );
55 
56   Standard_EXPORT static void mmwprcs_(doublereal*,
57 				       doublereal*,
58 				       doublereal*,
59 				       doublereal*,
60 				       integer*,
61 				       integer*);
62   ///
63   Standard_EXPORT static int mmcglc1_(integer *ndimax,
64 				      integer *ndimen,
65 				      integer *ncoeff,
66 				      doublereal *courbe,
67 				      doublereal *tdebut,
68 				      doublereal *tfinal,
69 				      doublereal *epsiln,
70 				      doublereal *xlongc,
71 				      doublereal *erreur,
72 				      integer *iercod);
73 
74 
75 
76   Standard_EXPORT static int mmbulld_(integer *nbcoln,
77 				      integer *nblign,
78 				      doublereal *dtabtr,
79 				      integer *numcle);
80 
81   Standard_EXPORT static int mmcdriv_(integer *ndimen,
82 				      integer *ncoeff,
83 				      doublereal *courbe,
84 				      integer *ideriv,
85 				      integer *ncofdv,
86 				      doublereal *crvdrv);
87 
88 
89   Standard_EXPORT static int mmcvctx_(integer *ndimen,
90 			      integer *ncofmx,
91 			      integer *nderiv,
92 			      doublereal *ctrtes,
93 			      doublereal *crvres,
94 			      doublereal *tabaux,
95 			      doublereal *xmatri,
96 			      integer *iercod);
97 
98   Standard_EXPORT static int mdsptpt_(integer *ndimen,
99 				      doublereal *point1,
100 				      doublereal *point2,
101 				      doublereal *distan);
102 
103 
104   Standard_EXPORT static int mmaperx_(integer *ncofmx,
105 				      integer *ndimen,
106 				      integer *ncoeff,
107 				      integer *iordre,
108 				      doublereal *crvjac,
109 				      integer *ncfnew,
110 				      doublereal *ycvmax,
111 				      doublereal *errmax,
112 				      integer *iercod);
113 
114   Standard_EXPORT static int mmdrvck_(integer *ncoeff,
115 				      integer *ndimen,
116 				      doublereal *courbe,
117 				      integer *ideriv,
118 				      doublereal *tparam,
119 				      doublereal *pntcrb);
120 
121   Standard_EXPORT static int mmeps1_(doublereal *epsilo);
122 
123   Standard_EXPORT static int mmfmca8_(const integer *ndimen,
124 				      const integer *ncoefu,
125 				      const integer *ncoefv,
126 				      const integer *ndimax,
127 				      const integer *ncfumx,
128 				      const integer *ncfvmx,
129 				      doublereal *tabini,
130 				      doublereal *tabres);
131 
132   Standard_EXPORT static int mmfmcar_(integer *ndimen,
133 				      integer *ncofmx,
134 				      integer *ncoefu,
135 				      integer *ncoefv,
136 				      doublereal *patold,
137 				      doublereal *upara1,
138 				      doublereal *upara2,
139 				      doublereal *vpara1,
140 				      doublereal *vpara2,
141 				      doublereal *patnew,
142 				      integer *iercod);
143 
144   Standard_EXPORT static int mmfmtb1_(integer *maxsz1,
145 				      doublereal *table1,
146 				      integer *isize1,
147 				      integer *jsize1,
148 				      integer *maxsz2,
149 				      doublereal *table2,
150 				      integer *isize2,
151 				      integer *jsize2,
152 				      integer *iercod);
153 
154   Standard_EXPORT static int mmgaus1_(integer *ndimf,
155 				      int (*bfunx) (
156 						    integer *ninteg,
157 						    doublereal *parame,
158 						    doublereal *vfunj1,
159 						    integer *iercod
160 						    ), //mmfunj1_() from Smoothing.cxx
161 				      integer *k,
162 				      doublereal *xd,
163 				      doublereal *xf,
164 				      doublereal *saux1,
165 				      doublereal *saux2,
166 				      doublereal *somme,
167 				      integer *niter,
168 				      integer *iercod);
169 
170   Standard_EXPORT static int mmhjcan_(integer *ndimen,
171 				      integer *ncourb,
172 				      integer *ncftab,
173 				      integer *orcont,
174 				      integer *ncflim,
175 				      doublereal *tcbold,
176 				      doublereal *tdecop,
177 				      doublereal *tcbnew,
178 				      integer *iercod);
179 
180   Standard_EXPORT static int mminltt_(integer *ncolmx,
181 				      integer *nlgnmx,
182 				      doublereal *tabtri,
183 				      integer *nbrcol,
184 				      integer *nbrlgn,
185 				      doublereal *ajoute,
186 				      doublereal *epseg,
187 				      integer *iercod);
188 
189   Standard_EXPORT static int mmjaccv_(const integer *ncoef,
190 				      const integer *ndim,
191 				      const integer *ider,
192 				      const doublereal *crvlgd,
193 				      doublereal *polaux,
194 				      doublereal *crvcan);
195 
196   Standard_EXPORT static int mmpobas_(doublereal *tparam,
197 				      integer *iordre,
198 				      integer *ncoeff,
199 				      integer *nderiv,
200 				      doublereal *valbas,
201 				      integer *iercod);
202 
203   Standard_EXPORT static int mmmpocur_(integer *ncofmx,
204 				       integer *ndim,
205 				       integer *ndeg,
206 				       doublereal *courbe,
207 				       doublereal *tparam,
208 				       doublereal *tabval);
209 
210   Standard_EXPORT static int mmposui_(integer *dimmat,
211 				      integer *nistoc,
212 				      integer *aposit,
213 				      integer *posuiv,
214 				      integer *iercod);
215 
216   Standard_EXPORT static int mmresol_(integer *hdimen,
217 				      integer *gdimen,
218 				      integer *hnstoc,
219 				      integer *gnstoc,
220 				      integer *mnstoc,
221 				      doublereal *matsyh,
222 				      doublereal *matsyg,
223 				      doublereal *vecsyh,
224 				      doublereal *vecsyg,
225 				      integer *hposit,
226 				      integer *hposui,
227 				      integer *gposit,
228 				      integer *mmposui,
229 				      integer *mposit,
230 				      doublereal *vecsol,
231 				      integer *iercod);
232 
233   Standard_EXPORT static int mmrtptt_(integer *ndglgd,
234 				      doublereal *rtlegd);
235 
236   Standard_EXPORT static int mmsrre2_(doublereal *tparam,
237 				      integer *nbrval,
238 				      doublereal *tablev,
239 				      doublereal *epsil,
240 				      integer *numint,
241 				      integer *itypen,
242 				      integer *iercod);
243 
244   Standard_EXPORT static int mmtrpjj_(integer *ncofmx,
245 				      integer *ndimen,
246 				      integer *ncoeff,
247 				      doublereal *epsi3d,
248 				      integer *iordre,
249 				      doublereal *crvlgd,
250 				      doublereal *ycvmax,
251 				      doublereal *errmax,
252 				      integer *ncfnew);
253 
254   Standard_EXPORT static int mmunivt_(integer *ndimen,
255 				      doublereal *vector,
256 				      doublereal *vecnrm,
257 				      doublereal *epsiln,
258 				      integer *iercod);
259 
260   Standard_EXPORT static int mmvncol_(integer *ndimen,
261 				      doublereal *vecin,
262 				      doublereal *vecout,
263 				      integer *iercod);
264 
265   Standard_EXPORT static doublereal msc_(integer *ndimen,
266 					 doublereal *vecte1,
267 					 doublereal *vecte2);
268 
269   Standard_EXPORT static int mvsheld_(integer *n,
270 				      integer *is,
271 				      doublereal *dtab,
272 				      integer *icle);
273 
274 
275   Standard_EXPORT static int mmarcin_(integer *ndimax,
276 				      integer *ndim,
277 				      integer *ncoeff,
278 				      doublereal *crvold,
279 				      doublereal *u0,
280 				      doublereal *u1,
281 				      doublereal *crvnew,
282 				      integer *iercod);
283 
284 
285   Standard_EXPORT static int mmcvinv_(integer *ndimax,
286 				      integer *ncoef,
287 				      integer *ndim,
288 				      doublereal *curveo,
289 				      doublereal *curve);
290 
291   Standard_EXPORT static int mmjacan_(const integer *ideriv,
292 				      integer *ndeg,
293 				      doublereal *poljac,
294 				      doublereal *polcan);
295 
296   Standard_EXPORT static int mmpocrb_(integer *ndimax,
297 				      integer *ncoeff,
298 				      doublereal *courbe,
299 				      integer *ndim,
300 				      doublereal *tparam,
301 				      doublereal *pntcrb);
302 
303   Standard_EXPORT static int mmmrslwd_(integer *normax,
304 				       integer *nordre,
305 				       integer *ndim,
306 				       doublereal *amat,
307 				       doublereal *bmat,
308 				       doublereal *epspiv,
309 				       doublereal *aaux,
310 				       doublereal *xmat,
311 				       integer *iercod);
312 
313   Standard_EXPORT static int mmveps3_(doublereal *eps03);
314 
315   Standard_EXPORT static doublereal  pow__di (doublereal *x,
316 					      integer *n);
317 
318   Standard_EXPORT static doublereal mzsnorm_(integer *ndimen,
319 					     doublereal *vecteu);
320 };
321 
322 
323 #endif
324