Version bump.
[Math-GSL.git] / Wavelet.i
blob94c8d18bb0f89c214298e08067094bc405319af5
1 %module "Math::GSL::Wavelet"
2 %include "gsl_typemaps.i"
3 %{
4 #include "gsl/gsl_types.h"
5 #include "gsl/gsl_wavelet.h"
6 %}
8 typedef int size_t;
10 %include "gsl/gsl_types.h"
11 %include "gsl/gsl_wavelet.h"
13 %include "typemaps.i"
16 %perlcode %{
19 @EXPORT_OK = qw/
20 gsl_wavelet_alloc
21 gsl_wavelet_free
22 gsl_wavelet_name
23 gsl_wavelet_workspace_alloc
24 gsl_wavelet_workspace_free
25 gsl_wavelet_transform
26 gsl_wavelet_transform_forward
27 gsl_wavelet_transform_inverse
28 $gsl_wavelet_daubechies
29 $gsl_wavelet_daubechies_centered
30 $gsl_wavelet_haar
31 $gsl_wavelet_haar_centered
32 $gsl_wavelet_bspline
33 $gsl_wavelet_bspline_centered
37 %EXPORT_TAGS = ( all => [ @EXPORT_OK ], );
39 =head1 NAME
41 Math::GSL::Wavelet - wavelets for real data in one dimension
43 =head1 SYNOPSIS
45 use Math::GSL::Wavelet qw/:all/;
47 =cut
49 =head1 DESCRIPTION
51 Here is a list of all the functions included in this module :
53 =over 1
55 =item C<gsl_wavelet_alloc($T, $k)> - This function allocates and initializes a wavelet object of type $T, where $T must be one of the constants below. The parameter $k selects the specific member of the wavelet family.
57 =item C<gsl_wavelet_free($w)> - This function frees the wavelet object $w.
59 =item C<gsl_wavelet_name>
61 =item C<gsl_wavelet_workspace_alloc($n)> - This function allocates a workspace for the discrete wavelet transform. To perform a one-dimensional transform on $n elements, a workspace of size $n must be provided. For two-dimensional transforms of $n-by-$n matrices it is sufficient to allocate a workspace of size $n, since the transform operates on individual rows and columns.
63 =item C<gsl_wavelet_workspace_free($work)> - This function frees the allocated workspace work.
65 =item C<gsl_wavelet_transform>
67 =item C<gsl_wavelet_transform_forward>
69 =item C<gsl_wavelet_transform_inverse>
71 =back
73 This module also contains the following constants with their valid k value for the gsl_wavelet_alloc function :
75 =over 1
77 =item $gsl_wavelet_daubechies
79 =item $gsl_wavelet_daubechies_centered
81 =back
83 This is the Daubechies wavelet family of maximum phase with k/2 vanishing moments. The implemented wavelets are k=4, 6, ..., 20, with k even.
85 =over 1
87 =item $gsl_wavelet_haar
89 =item $gsl_wavelet_haar_centered
91 =back
93 This is the Haar wavelet. The only valid choice of k for the Haar wavelet is k=2.
95 =over 1
97 =item $gsl_wavelet_bspline
99 =item $gsl_wavelet_bspline_centered
101 =back
103 This is the biorthogonal B-spline wavelet family of order (i,j). The implemented values of k = 100*i + j are 103, 105, 202, 204, 206, 208, 301, 303, 305 307, 309.
105 =head1 AUTHORS
107 Jonathan Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
109 =head1 COPYRIGHT AND LICENSE
111 Copyright (C) 2008 Jonathan Leto and Thierry Moisan
113 This program is free software; you can redistribute it and/or modify it
114 under the same terms as Perl itself.
116 =cut