1# This file was automatically generated by SWIG (http://www.swig.org).
2# Version 4.0.1
3#
4# Do not make changes to this file unless you know what you are doing--modify
5# the SWIG interface file instead.
6
7package Math::GSL::DHT;
8use base qw(Exporter);
9use base qw(DynaLoader);
10package Math::GSL::DHTc;
11bootstrap Math::GSL::DHT;
12package Math::GSL::DHT;
13@EXPORT = qw();
14
15# ---------- BASE METHODS -------------
16
17package Math::GSL::DHT;
18
19sub TIEHASH {
20    my ($classname,$obj) = @_;
21    return bless $obj, $classname;
22}
23
24sub CLEAR { }
25
26sub FIRSTKEY { }
27
28sub NEXTKEY { }
29
30sub FETCH {
31    my ($self,$field) = @_;
32    my $member_func = "swig_${field}_get";
33    $self->$member_func();
34}
35
36sub STORE {
37    my ($self,$field,$newval) = @_;
38    my $member_func = "swig_${field}_set";
39    $self->$member_func($newval);
40}
41
42sub this {
43    my $ptr = shift;
44    return tied(%$ptr);
45}
46
47
48# ------- FUNCTION WRAPPERS --------
49
50package Math::GSL::DHT;
51
52*gsl_error = *Math::GSL::DHTc::gsl_error;
53*gsl_stream_printf = *Math::GSL::DHTc::gsl_stream_printf;
54*gsl_strerror = *Math::GSL::DHTc::gsl_strerror;
55*gsl_set_error_handler = *Math::GSL::DHTc::gsl_set_error_handler;
56*gsl_set_error_handler_off = *Math::GSL::DHTc::gsl_set_error_handler_off;
57*gsl_set_stream_handler = *Math::GSL::DHTc::gsl_set_stream_handler;
58*gsl_set_stream = *Math::GSL::DHTc::gsl_set_stream;
59*gsl_dht_alloc = *Math::GSL::DHTc::gsl_dht_alloc;
60*gsl_dht_new = *Math::GSL::DHTc::gsl_dht_new;
61*gsl_dht_init = *Math::GSL::DHTc::gsl_dht_init;
62*gsl_dht_x_sample = *Math::GSL::DHTc::gsl_dht_x_sample;
63*gsl_dht_k_sample = *Math::GSL::DHTc::gsl_dht_k_sample;
64*gsl_dht_free = *Math::GSL::DHTc::gsl_dht_free;
65*gsl_dht_apply = *Math::GSL::DHTc::gsl_dht_apply;
66
67############# Class : Math::GSL::DHT::gsl_dht_struct ##############
68
69package Math::GSL::DHT::gsl_dht_struct;
70use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
71@ISA = qw( Math::GSL::DHT );
72%OWNER = ();
73%ITERATORS = ();
74*swig_size_get = *Math::GSL::DHTc::gsl_dht_struct_size_get;
75*swig_size_set = *Math::GSL::DHTc::gsl_dht_struct_size_set;
76*swig_nu_get = *Math::GSL::DHTc::gsl_dht_struct_nu_get;
77*swig_nu_set = *Math::GSL::DHTc::gsl_dht_struct_nu_set;
78*swig_xmax_get = *Math::GSL::DHTc::gsl_dht_struct_xmax_get;
79*swig_xmax_set = *Math::GSL::DHTc::gsl_dht_struct_xmax_set;
80*swig_kmax_get = *Math::GSL::DHTc::gsl_dht_struct_kmax_get;
81*swig_kmax_set = *Math::GSL::DHTc::gsl_dht_struct_kmax_set;
82*swig_j_get = *Math::GSL::DHTc::gsl_dht_struct_j_get;
83*swig_j_set = *Math::GSL::DHTc::gsl_dht_struct_j_set;
84*swig_Jjj_get = *Math::GSL::DHTc::gsl_dht_struct_Jjj_get;
85*swig_Jjj_set = *Math::GSL::DHTc::gsl_dht_struct_Jjj_set;
86*swig_J2_get = *Math::GSL::DHTc::gsl_dht_struct_J2_get;
87*swig_J2_set = *Math::GSL::DHTc::gsl_dht_struct_J2_set;
88sub new {
89    my $pkg = shift;
90    my $self = Math::GSL::DHTc::new_gsl_dht_struct(@_);
91    bless $self, $pkg if defined($self);
92}
93
94sub DESTROY {
95    return unless $_[0]->isa('HASH');
96    my $self = tied(%{$_[0]});
97    return unless defined $self;
98    delete $ITERATORS{$self};
99    if (exists $OWNER{$self}) {
100        Math::GSL::DHTc::delete_gsl_dht_struct($self);
101        delete $OWNER{$self};
102    }
103}
104
105sub DISOWN {
106    my $self = shift;
107    my $ptr = tied(%$self);
108    delete $OWNER{$ptr};
109}
110
111sub ACQUIRE {
112    my $self = shift;
113    my $ptr = tied(%$self);
114    $OWNER{$ptr} = 1;
115}
116
117
118# ------- VARIABLE STUBS --------
119
120package Math::GSL::DHT;
121
122*GSL_VERSION = *Math::GSL::DHTc::GSL_VERSION;
123*GSL_MAJOR_VERSION = *Math::GSL::DHTc::GSL_MAJOR_VERSION;
124*GSL_MINOR_VERSION = *Math::GSL::DHTc::GSL_MINOR_VERSION;
125*GSL_POSZERO = *Math::GSL::DHTc::GSL_POSZERO;
126*GSL_NEGZERO = *Math::GSL::DHTc::GSL_NEGZERO;
127*GSL_SUCCESS = *Math::GSL::DHTc::GSL_SUCCESS;
128*GSL_FAILURE = *Math::GSL::DHTc::GSL_FAILURE;
129*GSL_CONTINUE = *Math::GSL::DHTc::GSL_CONTINUE;
130*GSL_EDOM = *Math::GSL::DHTc::GSL_EDOM;
131*GSL_ERANGE = *Math::GSL::DHTc::GSL_ERANGE;
132*GSL_EFAULT = *Math::GSL::DHTc::GSL_EFAULT;
133*GSL_EINVAL = *Math::GSL::DHTc::GSL_EINVAL;
134*GSL_EFAILED = *Math::GSL::DHTc::GSL_EFAILED;
135*GSL_EFACTOR = *Math::GSL::DHTc::GSL_EFACTOR;
136*GSL_ESANITY = *Math::GSL::DHTc::GSL_ESANITY;
137*GSL_ENOMEM = *Math::GSL::DHTc::GSL_ENOMEM;
138*GSL_EBADFUNC = *Math::GSL::DHTc::GSL_EBADFUNC;
139*GSL_ERUNAWAY = *Math::GSL::DHTc::GSL_ERUNAWAY;
140*GSL_EMAXITER = *Math::GSL::DHTc::GSL_EMAXITER;
141*GSL_EZERODIV = *Math::GSL::DHTc::GSL_EZERODIV;
142*GSL_EBADTOL = *Math::GSL::DHTc::GSL_EBADTOL;
143*GSL_ETOL = *Math::GSL::DHTc::GSL_ETOL;
144*GSL_EUNDRFLW = *Math::GSL::DHTc::GSL_EUNDRFLW;
145*GSL_EOVRFLW = *Math::GSL::DHTc::GSL_EOVRFLW;
146*GSL_ELOSS = *Math::GSL::DHTc::GSL_ELOSS;
147*GSL_EROUND = *Math::GSL::DHTc::GSL_EROUND;
148*GSL_EBADLEN = *Math::GSL::DHTc::GSL_EBADLEN;
149*GSL_ENOTSQR = *Math::GSL::DHTc::GSL_ENOTSQR;
150*GSL_ESING = *Math::GSL::DHTc::GSL_ESING;
151*GSL_EDIVERGE = *Math::GSL::DHTc::GSL_EDIVERGE;
152*GSL_EUNSUP = *Math::GSL::DHTc::GSL_EUNSUP;
153*GSL_EUNIMPL = *Math::GSL::DHTc::GSL_EUNIMPL;
154*GSL_ECACHE = *Math::GSL::DHTc::GSL_ECACHE;
155*GSL_ETABLE = *Math::GSL::DHTc::GSL_ETABLE;
156*GSL_ENOPROG = *Math::GSL::DHTc::GSL_ENOPROG;
157*GSL_ENOPROGJ = *Math::GSL::DHTc::GSL_ENOPROGJ;
158*GSL_ETOLF = *Math::GSL::DHTc::GSL_ETOLF;
159*GSL_ETOLX = *Math::GSL::DHTc::GSL_ETOLX;
160*GSL_ETOLG = *Math::GSL::DHTc::GSL_ETOLG;
161*GSL_EOF = *Math::GSL::DHTc::GSL_EOF;
162
163@EXPORT_OK = qw/
164               gsl_dht_alloc
165               gsl_dht_new
166               gsl_dht_init
167               gsl_dht_x_sample
168               gsl_dht_k_sample
169               gsl_dht_free
170               gsl_dht_apply
171             /;
172%EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
173
174=encoding utf8
175
176__END__
177
178=head1 NAME
179
180Math::GSL::DHT - Discrete Hankel Transforms
181
182=head1 SYNOPSIS
183
184    use Math::GSL::DHT qw/:all/;
185
186=head1 DESCRIPTION
187
188Here is a list of all the functions included in this module :
189
190=over
191
192=item C<gsl_dht_alloc($size)> - This function allocates a Discrete Hankel transform object of size $size.
193
194=item C<gsl_dht_new($size, $nu, $xmax)> -  This function allocates a Discrete Hankel transform object of size $size and initializes it for the given values of $nu and $xmax.
195
196=item C<gsl_dht_init($t, $nu, $xmax)> - This function initializes the transform $t for the given values of $nu and $xmax.
197
198=item C<gsl_dht_x_sample($t, $n)> - This function returns the value of the $n-th sample point in the unit interval, (j_{\nu,n+1}/j_{\nu,M}) X. These are the points where the function f(t) is assumed to be sampled.
199
200=item C<gsl_dht_k_sample($t, $n)> - This function returns the value of the $n-th sample point in "k-space", j_{\nu,n+1}/X.
201
202=item C<gsl_dht_free($t)> - This function frees the transform $t.
203
204=item C<gsl_dht_apply>
205
206=back
207
208=head1 EXAMPLES
209
210=head1 AUTHORS
211
212Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
213
214=head1 COPYRIGHT AND LICENSE
215
216Copyright (C) 2008-2021 Jonathan "Duke" Leto and Thierry Moisan
217
218This program is free software; you can redistribute it and/or modify it
219under the same terms as Perl itself.
220
221=cut
2221;
223