TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Lapack.h
1/****************************************************************************
2* Copyright (c) 2024, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16#ifndef Lapack_inclus
17#define Lapack_inclus
18
19#include <arch.h>
20/*! @brief Encapsulation de Lapack:
21 *
22 */
23
24extern "C"
25{
26
27#ifdef F77_Majuscule
28
29 void F77DECLARE(DPBTRF)(const char* const, const int* const, const int* const, const double* const, const int* const, const int* const);
30
31 void F77DECLARE(DPBTRS)(const char* const, const int* const, const int* const, const int* const, const double* const, const int* const, const double* const, const int* const, const int* const);
32
33 void F77DECLARE(DGBSV)(int*, int*,int*, int*, double*,int*, int*, double*, int*, int*);
34
35
36 void F77DECLARE(DGBTRS)(const char* const, const int* const, const int* const, const int* const, const int* const, const double* const, const int* const, const int* const, const double* const, const int* const, const int* const);
37
38 void F77DECLARE(DGBTRF)(const int*, const int*, const int*, const int*, double*, const int*, int*, int*);
39
40 void F77DECLARE(DTRTRS)(const char* const, const char* const, const char* const, const int* const, const int* const, const double* const, const int* const, const double* const, const int* const, const int* const);
41
42 void F77DECLARE(DTRTRS)(const char* const, const char* const, const char* const, const int* const, const int* const, const double* const, const int* const, const double* const, const int* const, const int* const);
43
44 void F77DECLARE(SSBMV)(const char* const, const int* const, const int* const, const double* const, const double* const, const int* const, const double* const, const int* const, const double* const, const double* const, const int* const);
45
46 void F77DECLARE(DLASWP)(const int* const, double*, const int* const, const int* const, const int* const, const int* const, const int* const);
47
48 void F77DECLARE(DGBTF2)(const int* const, const int* const,const int* const,const int* const, double* , const int* const, int* , int*);
49
50
51 void F77DECLARE(DPBCON)(const char* const, const int* const, const int* const, const double* const, const int* const, const double* const, const double* const, const double* const, const int* const, const int* const);
52
53 // MODIF ELI LAUCOIN (26/11/2007) : j'ajoute les routines d'interpolation SVD
54 void F77DECLARE(DGESVD)(const char* const, // JOBU
55 const char* const, // JOBVT
56 const int* const, // M
57 const int* const, // N
58 const double* const, // A
59 const int* const, // LDA
60 const double* const, // S
61 const double* const, // U
62 const int* const, // LDU
63 const double* const, // VT
64 const int* const, // LDVT
65 const double* const, // WORK
66 const int* const, // LWORK
67 const int* const // INFO
68 );
69
70 void F77DECLARE(DGESSD)(const char* const, // JOBZ
71 const int* const, // M
72 const int* const, // N
73 const double* const, // A
74 const int* const, // LDA
75 const double* const, // S
76 const double* const, // U
77 const int* const, // LDU
78 const double* const, // VT
79 const int* const, // LDVT
80 const double* const, // WORK
81 const int* const, // LWORK
82 const int* const, // IWORK
83 const int* const // INFO
84 );
85
86 void F77DECLARE(DGESV)(const int* const, // N
87 const int* const, // NRHS
88 const double* const, // A
89 const int* const, // LDA
90 const int* const, // IPIV
91 const double* const, // B
92 const int* const, // LDB
93 const int* const // INFO
94 );
95 // FIN MODIF ELI LAUCOIN (26/11/2007)
96
97 // MULTIPLICATION MATRICIELLE C = alpha*op( A )*op( B ) + beta*C
98 void F77DECLARE(DGEMM)(const char* const, // TRANSA
99 const char* const, // TRANSB
100 const int* const, // M
101 const int* const, // N
102 const int* const, // K
103 const double* const, // ALPHA
104 const double* const, // A
105 const int* const, // LDA
106 const double* const, // B
107 const int* const, // LDB
108 const double* const, // BETA
109 const double* const, // C
110 const int* const // LDC
111 );
112
113 // MODIF ELI LAUCOIN (19/03/2008) : j'ajoute les routines suivantes pour la resolution LU
114 void F77DECLARE(DGETRF)(const int* const, // M
115 const int* const, // N
116 const double* const, // A
117 const int* const, // LDA
118 const int* const, // IPIV
119 const int* const // INFO
120 );
121
122 void F77DECLARE(DGETRI)(const int* const, // N
123 const double* const, // A
124 const int* const, // LDA
125 const int* const, // IPIV
126 const double* const, // WORK
127 const int* const, // LWORK
128 const int* const // INFO
129 );
130
131 void F77DECLARE(DGETRS)(const char* const, // TRANS
132 const int* const, // N
133 const int* const, // NRHS
134 const double* const, // A
135 const int* const, // LDA
136 const int* const, // IPIV
137 const double* const, // B
138 const int* const, // LDB
139 const int* const // INFO
140 );
141
142 // FIN MODIF ELI LAUCOIN (19/03/2008)
143
144 void F77DECLARE(DSYEV)(const char* const, // JOBZ
145 const char* const, // UPLO
146 const int* const, // N
147 const double* const, // A
148 const int* const, // LDA
149 const double* const, // W
150 const double* const, // WORK
151 const int* const, // LWORK
152 const int* const // INFO
153 );
154
155 void F77DECLARE(DSYEVR)(const char* const, // JOBZ
156 const char* const, // RANGE
157 const char* const, // UPLO
158 const int* const, // N
159 const double* const, // A
160 const int* const, // LDA
161 const double* const, // VL
162 const double* const, // VU
163 const int* const, // IL
164 const int* const, // IU
165 const double* const, // ABSTOL
166 const int* const, // M
167 const double* const, // W
168 const double* const, // Z
169 const int* const, // LDZ
170 const double* const, // WORK
171 const int* const, // LWORK
172 const int* const, // IWORK
173 const int* const, // LIWORK
174 const int* const // INFO
175 );
176
177 void F77DECLARE(DSYEVD)(const char* const, // JOBZ
178 const char* const, // UPLO
179 const int* const, // N
180 const double* const, // A
181 const int* const, // LDA
182 const double* const, // W
183 const double* const, // WORK
184 const int* const, // LWORK
185 const int* const, // IWORK
186 const int* const, // LIWORK
187 const int* const // INFO
188 );
189
190 void F77DECLARE(DGELS)(const char* const, // TRANS
191 const int* const, // M
192 const int* const, // N
193 const int* const, // NRHS
194 const double* const, // A
195 const int* const, // LDA
196 const double* const, // B
197 const int* const, // LDB
198 const double* const, // WORK
199 const int* const, // LWORK
200 const int* const // INFO
201 );
202
203 void F77DECLARE(DGELSY)(const int* const, // M
204 const int* const, // N
205 const int* const, // NRHS
206 const double* const, // A
207 const int* const, // LDA
208 const double* const, // B
209 const int* const, // LDB
210 const int* const, // JPVT
211 const double* const, // RCOND
212 const int* const, // RANK
213 const double* const, // WORK
214 const int* const, // LWORK
215 const int* const // INFO
216 );
217
218 void F77DECLARE(DGGLSE)(const int* const, // M
219 const int* const, // N
220 const int* const, // P
221 const double* const, // A
222 const int* const, // LDA
223 const double* const, // B
224 const int* const, // LDB
225 const double* const, // C
226 const double* const, // D
227 const double* const, // X
228 const double* const, // WORK
229 const int* const, // LWORK
230 const int* const // INFO
231 );
232
233 void F77DECLARE(DGEQRF)(const int* const, // M
234 const int* const, // N
235 const double* const, // A
236 const int* const, // LDA
237 const double* const, // TAU
238 const double* const, // WORK
239 const int* const, // LWORK
240 const int* const // INFO
241 );
242
243 void F77DECLARE(DORGQR)(const int* const, // M
244 const int* const, // N
245 const int* const, // K
246 const double* const, // A
247 const int* const, // LDA
248 const double* const, // TAU
249 const double* const, // WORK
250 const int* const, // LWORK
251 const int* const // INFO
252 );
253
254 void F77DECLARE(DPOTRF)(const char* const, // UPLO
255 const int* const, // N
256 const double* const, // A
257 const int* const, // LDA
258 const int* const // INFO
259 );
260
261 void F77DECLARE(DPOTRI)(const char* const, // UPLO
262 const int* const, // N
263 const double* const, // A
264 const int* const, // LDA
265 const int* const // INFO
266 );
267
268 void F77DECLARE(DPOSV)(const char* const, // UPLO
269 const int* const, // N
270 const int* const, // NRHS
271 const double* const, // A
272 const int* const, // LDA
273 const double* const, // B
274 const int* const, // LDB
275 const int* const // INFO
276 );
277
278 void F77DECLARE(DPPSV)(const char* const, // UPLO
279 const int* const, // N
280 const int* const, // NRHS
281 const double* const, // AP
282 const double* const, // B
283 const int* const, // LDB
284 const int* const // INFO
285 );
286
287#else
288
289 void F77DECLARE(dpbtrf)(const char* const, const int* const, const int* const, const double* const, const int* const, const int* const);
290
291 void F77DECLARE(dpbtrs)(const char* const, const int* const, const int* const, const int* const, const double* const, const int* const, const double* const, const int* const, const int* const);
292
293 void F77DECLARE(dgbsv)(int*, int*,int*, int*, double*,int*, int*, double*, int*, int*);
294
295 void F77DECLARE(dgbtrs)(const char* const, const int* const, const int* const, const int* const, const int* const, const double* const, const int* const, const int* const, const double* const, const int* const, const int* const);
296
297 void F77DECLARE(dgbtrf)(const int*, const int*, const int*, const int*, double*, const int*, int*, int*);
298
299 void F77DECLARE(dtrtrs)(const char* const, const char* const, const char* const, const int* const, const int* const, const double* const, const int* const, const double* const, const int* const, const int* const);
300
301 void F77DECLARE(ssbmv)(const char* const, const int* const, const int* const, const double* const, const double* const, const int* const, const double* const, const int* const, const double* const, const double* const, const int* const);
302
303 void F77DECLARE(dsbmv)(const char* const, const int* const, const int* const, const double* const, const double* const, const int* const, const double* const, const int* const, const double* const, const double* const, const int* const);
304
305 void F77DECLARE(ilaenv)(const int* const, const char* const, const char* const, const int* const, const int* const, const int* const,const int* const);
306
307
308
309 void F77DECLARE(dpbcon)(const char* const, const int* const, const int* const, const double* const, const int* const, const double* const, const double* const, const double* const, const int* const, const int* const);
310 void F77DECLARE(dlaswp)(const int* const, double*, const int* const, const int* const, const int* const, const int* const, const int* const);
311
312 void F77DECLARE(dgbtf2)(const int* const, const int* const,const int* const,const int* const, double* , const int* const, int* , int*);
313
314 // MODIF ELI LAUCOIN (26/11/2007) : j'ajoute les routines d'interpolation SVD
315
316 void F77DECLARE(dgesdd)(const char* const,
317 const int* const,
318 const int* const,
319 const double* const,
320 const int* const,
321 const double* const,
322 const double* const,
323 const int* const,
324 const double* const,
325 const int* const,
326 const double* const,
327 const int* const,
328 const int* const,
329 const int* const );
330
331 void F77DECLARE(dgesvd)(const char* const, // JOBU
332 const char* const, // JOBVT
333 const int* const, // M
334 const int* const, // N
335 const double* const, // A
336 const int* const, // LDA
337 const double* const, // S
338 const double* const, // U
339 const int* const, // LDU
340 const double* const, // VT
341 const int* const, // LDVT
342 const double* const, // WORK
343 const int* const, // LWORK
344 const int* const // INFO
345 );
346
347 void F77DECLARE(dgesv)(const int* const, // N
348 const int* const, // NRHS
349 const double* const, // A
350 const int* const, // LDA
351 const int* const, // IPIV
352 const double* const, // B
353 const int* const, // LDB
354 const int* const // INFO
355 );
356 // FIN MODIF ELI LAUCOIN (26/11/2007)
357
358 // MULTIPLICATION MATRICIELLE C = alpha*op( A )*op( B ) + beta*C
359 void F77DECLARE(dgemm)(const char* const, // TRANSA
360 const char* const, // TRANSB
361 const int* const, // M
362 const int* const, // N
363 const int* const, // K
364 const double* const, // ALPHA
365 const double* const, // A
366 const int* const, // LDA
367 const double* const, // B
368 const int* const, // LDB
369 const double* const, // BETA
370 const double* const, // C
371 const int* const // LDC
372 );
373
374 // MODIF ELI LAUCOIN (19/03/2008) : j'ajoute les routines suivantes pour la resolution LU
375 void F77DECLARE(dgetrf)(const int* const, // M
376 const int* const, // N
377 const double* const, // A
378 const int* const, // LDA
379 const int* const, // IPIV
380 const int* const // INFO
381 );
382
383 void F77DECLARE(dgetri)(const int* const, // N
384 const double* const, // A
385 const int* const, // LDA
386 const int* const, // IPIV
387 const double* const, // WORK
388 const int* const, // LWORK
389 const int* const // INFO
390 );
391
392 void F77DECLARE(dgetrs)(const char* const, // TRANS
393 const int* const, // N
394 const int* const, // NRHS
395 const double* const, // A
396 const int* const, // LDA
397 const int* const, // IPIV
398 const double* const, // B
399 const int* const, // LDB
400 const int* const // INFO
401 );
402
403 // FIN MODIF ELI LAUCOIN (19/03/2008)
404
405 void F77DECLARE(dsyev)(const char* const, // JOBZ
406 const char* const, // UPLO
407 const int* const, // N
408 const double* const, // A
409 const int* const, // LDA
410 const double* const, // W
411 const double* const, // WORK
412 const int* const, // LWORK
413 const int* const // INFO
414 );
415
416 void F77DECLARE(dsyevr)(const char* const, // JOBZ
417 const char* const, // RANGE
418 const char* const, // UPLO
419 const int* const, // N
420 const double* const, // A
421 const int* const, // LDA
422 const double* const, // VL
423 const double* const, // VU
424 const int* const, // IL
425 const int* const, // IU
426 const double* const, // ABSTOL
427 const int* const, // M
428 const double* const, // W
429 const double* const, // Z
430 const int* const, // LDZ
431 const double* const, // WORK
432 const int* const, // LWORK
433 const int* const, // IWORK
434 const int* const, // LIWORK
435 const int* const // INFO
436 );
437
438 void F77DECLARE(dsyevd)(const char* const, // JOBZ
439 const char* const, // UPLO
440 const int* const, // N
441 const double* const, // A
442 const int* const, // LDA
443 const double* const, // W
444 const double* const, // WORK
445 const int* const, // LWORK
446 const int* const, // IWORK
447 const int* const, // LIWORK
448 const int* const // INFO
449 );
450
451 void F77DECLARE(dgels)(const char* const, // TRANS
452 const int* const, // M
453 const int* const, // N
454 const int* const, // NRHS
455 const double* const, // A
456 const int* const, // LDA
457 const double* const, // B
458 const int* const, // LDB
459 const double* const, // WORK
460 const int* const, // LWORK
461 const int* const // INFO
462 );
463
464 void F77DECLARE(dgelsy)(const int* const, // M
465 const int* const, // N
466 const int* const, // NRHS
467 const double* const, // A
468 const int* const, // LDA
469 const double* const, // B
470 const int* const, // LDB
471 const int* const, // JPVT
472 const double* const, // RCOND
473 const int* const, // RANK
474 const double* const, // WORK
475 const int* const, // LWORK
476 const int* const // INFO
477 );
478
479 void F77DECLARE(dgglse)(const int* const, // M
480 const int* const, // N
481 const int* const, // P
482 const double* const, // A
483 const int* const, // LDA
484 const double* const, // B
485 const int* const, // LDB
486 const double* const, // C
487 const double* const, // D
488 const double* const, // X
489 const double* const, // WORK
490 const int* const, // LWORK
491 const int* const // INFO
492 );
493
494 void F77DECLARE(dgeqrf)(const int* const, // M
495 const int* const, // N
496 const double* const, // A
497 const int* const, // LDA
498 const double* const, // TAU
499 const double* const, // WORK
500 const int* const, // LWORK
501 const int* const // INFO
502 );
503
504 void F77DECLARE(dorgqr)(const int* const, // M
505 const int* const, // N
506 const int* const, // K
507 const double* const, // A
508 const int* const, // LDA
509 const double* const, // TAU
510 const double* const, // WORK
511 const int* const, // LWORK
512 const int* const // INFO
513 );
514
515 void F77DECLARE(dpotrf)(const char* const, // UPLO
516 const int* const, // N
517 const double* const, // A
518 const int* const, // LDA
519 const int* const // INFO
520 );
521
522 void F77DECLARE(dpotri)(const char* const, // UPLO
523 const int* const, // N
524 const double* const, // A
525 const int* const, // LDA
526 const int* const // INFO
527 );
528
529 void F77DECLARE(dposv)(const char* const, // UPLO
530 const int* const, // N
531 const int* const, // NRHS
532 const double* const, // A
533 const int* const, // LDA
534 const double* const, // B
535 const int* const, // LDB
536 const int* const // INFO
537 );
538
539 void F77DECLARE(dppsv)(const char* const, // UPLO
540 const int* const, // N
541 const int* const, // NRHS
542 const double* const, // AP
543 const double* const, // B
544 const int* const, // LDB
545 const int* const // INFO
546 );
547
548#endif
549}
550
551#ifndef F77_Majuscule
552
553inline void F77NAME(DPBTRF)(const char* const a, const int* const b, const int* const c, const double* const d, const int* const e, const int* const f)
554{
555 F77NAME(dpbtrf)(a,b,c,d,e,f);
556}
557
558inline void F77NAME(DPBTRS)(const char* const a, const int* const b, const int* const c, const int* const d, const double* const e, const int* const f, const double* const g, const int* const h, const int* const i)
559{
560 F77NAME(dpbtrs)(a,b,c,d,e,f,g,h,i);
561}
562
563inline void F77NAME(DGBSV)(int* a, int* b,int* c, int* d, double* e,int* f, int* g, double* h, int* i, int* j)
564{
565 F77NAME(dgbsv)(a,b,c,d,e,f,g,h,i,j);
566}
567
568inline void F77NAME(DGBTRS)(const char* const a, const int* const b, const int* const c, const int* const d, const int* const e, const double* const f, const int* const g, const int* const h, const double* const i, const int* const j, const int* const k)
569{
570 F77NAME(dgbtrs)(a,b,c,d,e,f,g,h,i,j,k);
571}
572
573inline void F77NAME(DGBTRF)(const int* a, const int* b, const int* c, const int* d, double* e, const int* f, int* g, int* h)
574{
575 F77NAME(dgbtrf)(a,b,c,d,e,f,g,h);
576}
577
578inline void F77NAME(DTRTRS)(const char* const a, const char* const b, const char* const c, const int* const d, const int* const e,
579 const double* const f, const int* const g, const double* const h, const int* const i, const int* const j)
580{
581 F77NAME(dtrtrs)(a,b,c,d,e,f,g,h,i,j);
582}
583
584inline void F77NAME(SSBMV)(const char* const a, const int* const b, const int* const c, const double* const d, const double* const e, const int* const f, const double* const g, const int* const h, const double* const i, const double* const j, const int* const k)
585{
586 F77NAME(ssbmv)(a,b,c,d,e,f,g,h,i,j,k);
587}
588
589inline void F77NAME(DPBCON)(const char* const a, const int* const b, const int* const c, const double* const d, const int* const e, const double* const f, const double* const g, const double* const h, const int* const i, const int* const j)
590{
591 F77NAME(dpbcon)(a,b,c,d,e,f,g,h,i,j);
592}
593
594inline void F77NAME(ILAENV)(const int* const a, const char* const b, const char* const c, const int* const d, const int* const e, const int* const f,const int* const g)
595{
596 F77NAME(ilaenv)(a,b,c,d,e,f,g);
597}
598
599inline void F77NAME(DLASWP)(const int* const a, double* b, const int* const c, const int* const d, const int* const e, const int* const f, const int* const g)
600{
601 F77NAME(dlaswp)(a,b,c,d,e,f,g);
602}
603
604
605inline void F77NAME(DGBTF2)(const int* const a, const int* const b,const int* const c,const int* const d, double* e, const int* const f, int* g, int* h)
606{
607 F77NAME(dgbtf2)(a,b,c,d,e,f,g,h);
608}
609
610// MODIF ELI LAUCOIN (26/11/2007) : j'ajoute les routines d'interpolation SVD
611
612inline void F77NAME(DGESDD)(const char* const JOBZ,
613 const int* const M,
614 const int* const N,
615 const double* const A,
616 const int* const LDA,
617 const double* const S,
618 const double* const U,
619 const int* const LDU,
620 const double* const VT,
621 const int* const LDVT,
622 const double* const WORK,
623 const int* const LWORK,
624 const int* const IWORK,
625 const int* const INFO
626 )
627{
628 F77NAME(dgesdd)( JOBZ, M, N, A, LDA, S, U, LDU, VT, LDVT, WORK,LWORK, IWORK, INFO );
629}
630
631inline void F77NAME(DGESVD)(const char* const JOBU,
632 const char* const JOBVT,
633 const int* const M,
634 const int* const N,
635 const double* const A,
636 const int* const LDA,
637 const double* const S,
638 const double* const U,
639 const int* const LDU,
640 const double* const VT,
641 const int* const LDVT,
642 const double* const WORK,
643 const int* const LWORK,
644 const int* const INFO )
645{
646 F77NAME(dgesvd)(JOBU,JOBVT,M,N,A,LDA,S,U,LDU,VT,LDVT,WORK,LWORK,INFO);
647}
648
649// FIN MODIF ELI LAUCOIN (26/11/2007)
650
651// MULTIPLICATION MATRICIELLE C = alpha*op( A )*op( B ) + beta*C
652inline void F77NAME(DGEMM)(const char* const TRANSA,
653 const char* const TRANSB,
654 const int* const M,
655 const int* const N,
656 const int* const K,
657 const double* const ALPHA,
658 const double* const A,
659 const int* const LDA,
660 const double* const B,
661 const int* const LDB,
662 const double* const BETA,
663 const double* const C,
664 const int* const LDC)
665{
666 F77NAME(dgemm)(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC);
667}
668
669// MODIF ELI LAUCOIN (19/03/2008) : j'ajoute les routines suivantes pour la resolution LU
670inline void F77NAME(DGETRF)(const int* const M,
671 const int* const N,
672 const double* const A,
673 const int* const LDA,
674 const int* const IPIV,
675 const int* const INFO)
676{
677 F77NAME(dgetrf)(M,N,A,LDA,IPIV,INFO);
678}
679
680inline void F77NAME(DGETRI)(const int* const N,
681 const double* const A ,
682 const int* const LDA,
683 const int* const IPIV,
684 const double* const WORK,
685 const int* const LWORK,
686 const int* const INFO
687 )
688{
689 F77NAME(dgetri)(N,A,LDA,IPIV,WORK,LWORK,INFO);
690}
691
692inline void F77DECLARE(DGETRS)(const char* const TRANS,
693 const int* const N,
694 const int* const NRHS,
695 const double* const A,
696 const int* const LDA,
697 const int* const IPIV,
698 const double* const B,
699 const int* const LDB,
700 const int* const INFO
701 )
702{
703 F77NAME(dgetrs)(TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO);
704}
705
706// FIN MODIF ELI LAUCOIN (19/03/2008)
707
708inline void F77NAME(DSYEV)(const char* const JOBZ,
709 const char* const UPLO,
710 const int* const N,
711 const double* const A,
712 const int* const LDA,
713 const double* const W,
714 const double* const WORK,
715 const int* const LWORK,
716 const int* const INFO
717 )
718{
719 F77NAME(dsyev)(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO);
720}
721
722inline void F77DECLARE(DSYEVR)(const char* const JOBZ,
723 const char* const RANGE,
724 const char* const UPLO,
725 const int* const N,
726 const double* const A,
727 const int* const LDA,
728 const double* const VL,
729 const double* const VU,
730 const int* const IL,
731 const int* const IU,
732 const double* const ABSTOL,
733 const int* const M,
734 const double* const W,
735 const double* const Z,
736 const int* const LDZ,
737 const double* const WORK,
738 const int* const LWORK,
739 const int* const IWORK,
740 const int* const LIWORK,
741 const int* const INFO
742 )
743{
744 F77NAME(dsyevr)(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO);
745}
746
747inline void F77NAME(DSYEVD)(const char* const JOBZ,
748 const char* const UPLO,
749 const int* const N,
750 const double* const A,
751 const int* const LDA,
752 const double* const W,
753 const double* const WORK,
754 const int* const LWORK,
755 const int* const IWORK,
756 const int* const LIWORK,
757 const int* const INFO
758 )
759{
760 F77NAME(dsyevd)(JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LIWORK, INFO);
761}
762
763inline void F77NAME(DGELS)(const char* const TRANS,
764 const int* const M,
765 const int* const N,
766 const int* const NRHS,
767 const double* const A,
768 const int* const LDA,
769 const double* const B,
770 const int* const LDB,
771 const double* const WORK,
772 const int* const LWORK,
773 const int* const INFO
774 )
775{
776 F77NAME(dgels)(TRANS, M, N, NRHS, A, LDA, B, LDB, WORK, LWORK, INFO);
777}
778
779inline void F77NAME(DGELSY)(const int* const M,
780 const int* const N,
781 const int* const NRHS,
782 const double* const A,
783 const int* const LDA,
784 const double* const B,
785 const int* const LDB,
786 const int* const JPVT,
787 const double* const RCOND,
788 const int* const RANK,
789 const double* const WORK,
790 const int* const LWORK,
791 const int* const INFO
792 )
793{
794 F77NAME(dgelsy)(M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK, WORK, LWORK, INFO);
795}
796
797inline void F77DECLARE(DGGLSE)(const int* const M,
798 const int* const N,
799 const int* const P,
800 const double* const A,
801 const int* const LDA,
802 const double* const B,
803 const int* const LDB,
804 const double* const C,
805 const double* const D,
806 const double* const X,
807 const double* const WORK,
808 const int* const LWORK,
809 const int* const INFO
810 )
811{
812 F77NAME(dgglse)(M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK, INFO);
813}
814
815inline void F77NAME(DGEQRF)(const int* const M,
816 const int* const N,
817 const double* const A,
818 const int* const LDA,
819 const double* const TAU,
820 const double* const WORK,
821 const int* const LWORK,
822 const int* const INFO
823 )
824{
825 F77NAME(dgeqrf)(M, N, A, LDA, TAU, WORK, LWORK, INFO);
826}
827
828inline void F77NAME(DORGQR)(const int* const M,
829 const int* const N,
830 const int* const K,
831 const double* const A,
832 const int* const LDA,
833 const double* const TAU,
834 const double* const WORK,
835 const int* const LWORK,
836 const int* const INFO
837 )
838{
839 F77NAME(dorgqr)(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
840}
841
842inline void F77NAME(DPOTRF)(const char* const UPLO,
843 const int* const N,
844 const double* const A,
845 const int* const LDA,
846 const int* const INFO
847 )
848{
849 F77NAME(dpotrf)(UPLO, N, A, LDA, INFO);
850}
851
852inline void F77NAME(DPOTRI)(const char* const UPLO,
853 const int* const N,
854 const double* const A,
855 const int* const LDA,
856 const int* const INFO
857 )
858{
859 F77NAME(dpotri)(UPLO, N, A, LDA, INFO);
860}
861
862inline void F77NAME(DPOSV)(const char* const UPLO,
863 const int* const N,
864 const int* const NRHS,
865 const double* const A,
866 const int* const LDA,
867 const double* const B,
868 const int* const LDB,
869 const int* const INFO
870 )
871{
872 F77NAME(dposv)(UPLO, N, NRHS, A, LDA, B, LDB, INFO);
873}
874
875inline void F77NAME(DPPSV)(const char* const UPLO,
876 const int* const N,
877 const int* const NRHS,
878 const double* const AP,
879 const double* const B,
880 const int* const LDB,
881 const int* const INFO
882 )
883{
884 F77NAME(dppsv)(UPLO, N, NRHS, AP, B, LDB, INFO);
885}
886#endif
887
888#endif