Apply nan/inf handling patch from Sisyphus
[Math-GSL.git] / CBLAS.i
blobca90bac774319388774df2e5e95fd81d5f645bdf
1 %module "Math::GSL::CBLAS"
2 %include "typemaps.i"
3 %include "gsl_typemaps.i"
5 %apply double *INPUT { float const *X };
6 %apply float *INPUT { double const *X };
8 %apply double *OUTPUT { float *C };
9 %{
10 #include "gsl/gsl_cblas.h"
13 %include "gsl/gsl_cblas.h"
15 %perlcode %{
16 @EXPORT_OK = qw/
17 cblas_sdsdot
18 cblas_dsdot
19 cblas_sdot
20 cblas_ddot
21 cblas_cdotu_sub
22 cblas_cdotc_sub
23 cblas_zdotu_sub
24 cblas_zdotc_sub
25 cblas_snrm2
26 cblas_sasum
27 cblas_dnrm2
28 cblas_dasum
29 cblas_scnrm2
30 cblas_scasum
31 cblas_dznrm2
32 cblas_dzasum
33 cblas_isamax
34 cblas_idamax
35 cblas_icamax
36 cblas_izamax
37 cblas_sswap
38 cblas_scopy
39 cblas_saxpy
40 cblas_dswap
41 cblas_dcopy
42 cblas_daxpy
43 cblas_cswap
44 cblas_ccopy
45 cblas_caxpy
46 cblas_zswap
47 cblas_zcopy
48 cblas_zaxpy
49 cblas_srotg
50 cblas_srotmg
51 cblas_srot
52 cblas_srotm
53 cblas_drotg
54 cblas_drotmg
55 cblas_drot
56 cblas_drotm
57 cblas_sscal
58 cblas_dscal
59 cblas_cscal
60 cblas_zscal
61 cblas_csscal
62 cblas_zdscal
63 cblas_sgemv
64 cblas_sgbmv
65 cblas_strmv
66 cblas_stbmv
67 cblas_stpmv
68 cblas_strsv
69 cblas_stbsv
70 cblas_stpsv
71 cblas_dgemv
72 cblas_dgbmv
73 cblas_dtrmv
74 cblas_dtbmv
75 cblas_dtpmv
76 cblas_dtrsv
77 cblas_dtbsv
78 cblas_dtpsv
79 cblas_cgemv
80 cblas_cgbmv
81 cblas_ctrmv
82 cblas_ctbmv
83 cblas_ctpmv
84 cblas_ctrsv
85 cblas_ctbsv
86 cblas_ctpsv
87 cblas_zgemv
88 cblas_zgbmv
89 cblas_ztrmv
90 cblas_ztbmv
91 cblas_ztpmv
92 cblas_ztrsv
93 cblas_ztbsv
94 cblas_ztpsv
95 cblas_ssymv
96 cblas_ssbmv
97 cblas_sspmv
98 cblas_sger
99 cblas_ssyr
100 cblas_sspr
101 cblas_ssyr2
102 cblas_sspr2
103 cblas_dsymv
104 cblas_dsbmv
105 cblas_dspmv
106 cblas_dger
107 cblas_dsyr
108 cblas_dspr
109 cblas_dsyr2
110 cblas_dspr2
111 cblas_chemv
112 cblas_chbmv
113 cblas_chpmv
114 cblas_cgeru
115 cblas_cgerc
116 cblas_cher
117 cblas_chpr
118 cblas_cher2
119 cblas_chpr2
120 cblas_zhemv
121 cblas_zhbmv
122 cblas_zhpmv
123 cblas_zgeru
124 cblas_zgerc
125 cblas_zher
126 cblas_zhpr
127 cblas_zher2
128 cblas_zhpr2
129 cblas_sgemm
130 cblas_ssymm
131 cblas_ssyrk
132 cblas_ssyr2k
133 cblas_strmm
134 cblas_strsm
135 cblas_dgemm
136 cblas_dsymm
137 cblas_dsyrk
138 cblas_dsyr2k
139 cblas_dtrmm
140 cblas_dtrsm
141 cblas_cgemm
142 cblas_csymm
143 cblas_csyrk
144 cblas_csyr2k
145 cblas_ctrmm
146 cblas_ctrsm
147 cblas_zgemm
148 cblas_zsymm
149 cblas_zsyrk
150 cblas_zsyr2k
151 cblas_ztrmm
152 cblas_ztrsm
153 cblas_chemm
154 cblas_cherk
155 cblas_cher2k
156 cblas_zhemm
157 cblas_zherk
158 cblas_zher2k
159 cblas_xerbla
160 $CblasRowMajor
161 $CblasColMajor
162 $CblasNoTrans
163 $CblasTrans
164 $CblasConjTrans
165 $CblasUpper
166 $CblasLower
167 $CblasNonUnit
168 $CblasUnit
169 $CblasLeft
170 $CblasRight
172 %EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
174 __END__
176 =head1 NAME
178 Math::GSL::CBLAS - Basic Linear Algebra Subprograms based on C functions
180 =head1 SYNOPSIS
182 use Math::GSL::CBLAS qw/:all/;
184 =head1 DESCRIPTION
186 Here is a list of all the functions included in this module :
188 =over 1
190 =item C<cblas_sdsdot>
192 =item C<cblas_dsdot>
194 =item C<cblas_sdot>
196 =item C<cblas_ddot>
198 =item C<cblas_cdotu_sub>
200 =item C<cblas_cdotc_sub>
202 =item C<cblas_zdotu_sub>
204 =item C<cblas_zdotc_sub>
206 =item C<cblas_snrm2>
208 =item C<cblas_sasum>
210 =item C<cblas_dnrm2>
212 =item C<cblas_dasum>
214 =item C<cblas_scnrm2>
216 =item C<cblas_scasum>
218 =item C<cblas_dznrm2>
220 =item C<cblas_dzasum>
222 =item C<cblas_isamax>
224 =item C<cblas_idamax>
226 =item C<cblas_icamax>
228 =item C<cblas_izamax>
230 =item C<cblas_sswap>
232 =item C<cblas_scopy>
234 =item C<cblas_saxpy>
236 =item C<cblas_dswap>
238 =item C<cblas_dcopy>
240 =item C<cblas_daxpy>
242 =item C<cblas_cswap>
244 =item C<cblas_ccopy>
246 =item C<cblas_caxpy>
248 =item C<cblas_zswap>
250 =item C<cblas_zcopy>
252 =item C<cblas_zaxpy>
254 =item C<cblas_srotg>
256 =item C<cblas_srotmg>
258 =item C<cblas_srot>
260 =item C<cblas_srotm>
262 =item C<cblas_drotg>
264 =item C<cblas_drotmg>
266 =item C<cblas_drot>
268 =item C<cblas_drotm>
270 =item C<cblas_sscal>
272 =item C<cblas_dscal>
274 =item C<cblas_cscal>
276 =item C<cblas_zscal>
278 =item C<cblas_csscal>
280 =item C<cblas_zdscal>
282 =item C<cblas_sgemv>
284 =item C<cblas_sgbmv>
286 =item C<cblas_strmv>
288 =item C<cblas_stbmv>
290 =item C<cblas_stpmv>
292 =item C<cblas_strsv>
294 =item C<cblas_stbsv>
296 =item C<cblas_stpsv>
298 =item C<cblas_dgemv>
300 =item C<cblas_dgbmv>
302 =item C<cblas_dtrmv>
304 =item C<cblas_dtbmv>
306 =item C<cblas_dtpmv>
308 =item C<cblas_dtrsv>
310 =item C<cblas_dtbsv>
312 =item C<cblas_dtpsv>
314 =item C<cblas_cgemv>
316 =item C<cblas_cgbmv>
318 =item C<cblas_ctrmv>
320 =item C<cblas_ctbmv>
322 =item C<cblas_ctpmv>
324 =item C<cblas_ctrsv>
326 =item C<cblas_ctbsv>
328 =item C<cblas_ctpsv>
330 =item C<cblas_zgemv>
332 =item C<cblas_zgbmv>
334 =item C<cblas_ztrmv>
336 =item C<cblas_ztbmv>
338 =item C<cblas_ztpmv>
340 =item C<cblas_ztrsv>
342 =item C<cblas_ztbsv>
344 =item C<cblas_ztpsv>
346 =item C<cblas_ssymv>
348 =item C<cblas_ssbmv>
350 =item C<cblas_sspmv>
352 =item C<cblas_sger>
354 =item C<cblas_ssyr>
356 =item C<cblas_sspr>
358 =item C<cblas_ssyr2>
360 =item C<cblas_sspr2>
362 =item C<cblas_dsymv>
364 =item C<cblas_dsbmv>
366 =item C<cblas_dspmv>
368 =item C<cblas_dger>
370 =item C<cblas_dsyr>
372 =item C<cblas_dspr>
374 =item C<cblas_dsyr2>
376 =item C<cblas_dspr2>
378 =item C<cblas_chemv>
380 =item C<cblas_chbmv>
382 =item C<cblas_chpmv>
384 =item C<cblas_cgeru>
386 =item C<cblas_cgerc>
388 =item C<cblas_cher>
390 =item C<cblas_chpr>
392 =item C<cblas_cher2>
394 =item C<cblas_chpr2>
396 =item C<cblas_zhemv>
398 =item C<cblas_zhbmv>
400 =item C<cblas_zhpmv>
402 =item C<cblas_zgeru>
404 =item C<cblas_zgerc>
406 =item C<cblas_zher>
408 =item C<cblas_zhpr>
410 =item C<cblas_zher2>
412 =item C<cblas_zhpr2>
414 =item C<cblas_sgemm>
416 =item C<cblas_ssymm>
418 =item C<cblas_ssyrk>
420 =item C<cblas_ssyr2k>
422 =item C<cblas_strmm>
424 =item C<cblas_strsm>
426 =item C<cblas_dgemm>
428 =item C<cblas_dsymm>
430 =item C<cblas_dsyrk>
432 =item C<cblas_dsyr2k>
434 =item C<cblas_dtrmm>
436 =item C<cblas_dtrsm>
438 =item C<cblas_cgemm>
440 =item C<cblas_csymm>
442 =item C<cblas_csyrk>
444 =item C<cblas_csyr2k>
446 =item C<cblas_ctrmm>
448 =item C<cblas_ctrsm>
450 =item C<cblas_zgemm>
452 =item C<cblas_zsymm>
454 =item C<cblas_zsyrk>
456 =item C<cblas_zsyr2k>
458 =item C<cblas_ztrmm>
460 =item C<cblas_ztrsm>
462 =item C<cblas_chemm>
464 =item C<cblas_cherk>
466 =item C<cblas_cher2k>
468 =item C<cblas_zhemm>
470 =item C<cblas_zherk>
472 =item C<cblas_zher2k>
474 =item C<cblas_xerbla>
476 =back
478 This module also contains the following constants :
480 =over 1
482 =item C<$CblasRowMajor>
484 =item C<$CblasColMajor>
486 =item C<$CblasNoTrans >
488 =item C<$CblasTrans >
490 =item C<$CblasConjTrans >
492 =item C<$CblasUpper>
494 =item C<$CblasLower>
496 =item C<$CblasNonUnit>
498 =item C<$CblasUnit >
500 =item C<$CblasLeft >
502 =item C<$CblasRight >
504 =back
506 For more informations on the functions, we refer you to the GSL offcial documentation: L<http://www.gnu.org/software/gsl/manual/html_node/>
508 Tip : search on google: site:http://www.gnu.org/software/gsl/manual/html_node/ name_of_the_function_you_want
511 =head1 EXAMPLES
513 =head1 AUTHORS
515 Jonathan Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
517 =head1 COPYRIGHT AND LICENSE
519 Copyright (C) 2008 Jonathan Leto and Thierry Moisan
521 This program is free software; you can redistribute it and/or modify it
522 under the same terms as Perl itself.
524 =cut