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