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