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::Heapsort; 8use base qw(Exporter); 9use base qw(DynaLoader); 10package Math::GSL::Heapsortc; 11bootstrap Math::GSL::Heapsort; 12package Math::GSL::Heapsort; 13@EXPORT = qw(); 14 15# ---------- BASE METHODS ------------- 16 17package Math::GSL::Heapsort; 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::Heapsort; 51 52*gsl_error = *Math::GSL::Heapsortc::gsl_error; 53*gsl_stream_printf = *Math::GSL::Heapsortc::gsl_stream_printf; 54*gsl_strerror = *Math::GSL::Heapsortc::gsl_strerror; 55*gsl_set_error_handler = *Math::GSL::Heapsortc::gsl_set_error_handler; 56*gsl_set_error_handler_off = *Math::GSL::Heapsortc::gsl_set_error_handler_off; 57*gsl_set_stream_handler = *Math::GSL::Heapsortc::gsl_set_stream_handler; 58*gsl_set_stream = *Math::GSL::Heapsortc::gsl_set_stream; 59*gsl_permutation_alloc = *Math::GSL::Heapsortc::gsl_permutation_alloc; 60*gsl_permutation_calloc = *Math::GSL::Heapsortc::gsl_permutation_calloc; 61*gsl_permutation_init = *Math::GSL::Heapsortc::gsl_permutation_init; 62*gsl_permutation_free = *Math::GSL::Heapsortc::gsl_permutation_free; 63*gsl_permutation_memcpy = *Math::GSL::Heapsortc::gsl_permutation_memcpy; 64*gsl_permutation_fread = *Math::GSL::Heapsortc::gsl_permutation_fread; 65*gsl_permutation_fwrite = *Math::GSL::Heapsortc::gsl_permutation_fwrite; 66*gsl_permutation_fscanf = *Math::GSL::Heapsortc::gsl_permutation_fscanf; 67*gsl_permutation_fprintf = *Math::GSL::Heapsortc::gsl_permutation_fprintf; 68*gsl_permutation_size = *Math::GSL::Heapsortc::gsl_permutation_size; 69*gsl_permutation_data = *Math::GSL::Heapsortc::gsl_permutation_data; 70*gsl_permutation_swap = *Math::GSL::Heapsortc::gsl_permutation_swap; 71*gsl_permutation_valid = *Math::GSL::Heapsortc::gsl_permutation_valid; 72*gsl_permutation_reverse = *Math::GSL::Heapsortc::gsl_permutation_reverse; 73*gsl_permutation_inverse = *Math::GSL::Heapsortc::gsl_permutation_inverse; 74*gsl_permutation_next = *Math::GSL::Heapsortc::gsl_permutation_next; 75*gsl_permutation_prev = *Math::GSL::Heapsortc::gsl_permutation_prev; 76*gsl_permutation_mul = *Math::GSL::Heapsortc::gsl_permutation_mul; 77*gsl_permutation_linear_to_canonical = *Math::GSL::Heapsortc::gsl_permutation_linear_to_canonical; 78*gsl_permutation_canonical_to_linear = *Math::GSL::Heapsortc::gsl_permutation_canonical_to_linear; 79*gsl_permutation_inversions = *Math::GSL::Heapsortc::gsl_permutation_inversions; 80*gsl_permutation_linear_cycles = *Math::GSL::Heapsortc::gsl_permutation_linear_cycles; 81*gsl_permutation_canonical_cycles = *Math::GSL::Heapsortc::gsl_permutation_canonical_cycles; 82*gsl_permutation_get = *Math::GSL::Heapsortc::gsl_permutation_get; 83*gsl_heapsort = *Math::GSL::Heapsortc::gsl_heapsort; 84*gsl_heapsort_index = *Math::GSL::Heapsortc::gsl_heapsort_index; 85 86############# Class : Math::GSL::Heapsort::gsl_permutation_struct ############## 87 88package Math::GSL::Heapsort::gsl_permutation_struct; 89use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); 90@ISA = qw( Math::GSL::Heapsort ); 91%OWNER = (); 92%ITERATORS = (); 93*swig_size_get = *Math::GSL::Heapsortc::gsl_permutation_struct_size_get; 94*swig_size_set = *Math::GSL::Heapsortc::gsl_permutation_struct_size_set; 95*swig_data_get = *Math::GSL::Heapsortc::gsl_permutation_struct_data_get; 96*swig_data_set = *Math::GSL::Heapsortc::gsl_permutation_struct_data_set; 97sub new { 98 my $pkg = shift; 99 my $self = Math::GSL::Heapsortc::new_gsl_permutation_struct(@_); 100 bless $self, $pkg if defined($self); 101} 102 103sub DESTROY { 104 return unless $_[0]->isa('HASH'); 105 my $self = tied(%{$_[0]}); 106 return unless defined $self; 107 delete $ITERATORS{$self}; 108 if (exists $OWNER{$self}) { 109 Math::GSL::Heapsortc::delete_gsl_permutation_struct($self); 110 delete $OWNER{$self}; 111 } 112} 113 114sub DISOWN { 115 my $self = shift; 116 my $ptr = tied(%$self); 117 delete $OWNER{$ptr}; 118} 119 120sub ACQUIRE { 121 my $self = shift; 122 my $ptr = tied(%$self); 123 $OWNER{$ptr} = 1; 124} 125 126 127# ------- VARIABLE STUBS -------- 128 129package Math::GSL::Heapsort; 130 131*GSL_VERSION = *Math::GSL::Heapsortc::GSL_VERSION; 132*GSL_MAJOR_VERSION = *Math::GSL::Heapsortc::GSL_MAJOR_VERSION; 133*GSL_MINOR_VERSION = *Math::GSL::Heapsortc::GSL_MINOR_VERSION; 134*GSL_POSZERO = *Math::GSL::Heapsortc::GSL_POSZERO; 135*GSL_NEGZERO = *Math::GSL::Heapsortc::GSL_NEGZERO; 136*GSL_SUCCESS = *Math::GSL::Heapsortc::GSL_SUCCESS; 137*GSL_FAILURE = *Math::GSL::Heapsortc::GSL_FAILURE; 138*GSL_CONTINUE = *Math::GSL::Heapsortc::GSL_CONTINUE; 139*GSL_EDOM = *Math::GSL::Heapsortc::GSL_EDOM; 140*GSL_ERANGE = *Math::GSL::Heapsortc::GSL_ERANGE; 141*GSL_EFAULT = *Math::GSL::Heapsortc::GSL_EFAULT; 142*GSL_EINVAL = *Math::GSL::Heapsortc::GSL_EINVAL; 143*GSL_EFAILED = *Math::GSL::Heapsortc::GSL_EFAILED; 144*GSL_EFACTOR = *Math::GSL::Heapsortc::GSL_EFACTOR; 145*GSL_ESANITY = *Math::GSL::Heapsortc::GSL_ESANITY; 146*GSL_ENOMEM = *Math::GSL::Heapsortc::GSL_ENOMEM; 147*GSL_EBADFUNC = *Math::GSL::Heapsortc::GSL_EBADFUNC; 148*GSL_ERUNAWAY = *Math::GSL::Heapsortc::GSL_ERUNAWAY; 149*GSL_EMAXITER = *Math::GSL::Heapsortc::GSL_EMAXITER; 150*GSL_EZERODIV = *Math::GSL::Heapsortc::GSL_EZERODIV; 151*GSL_EBADTOL = *Math::GSL::Heapsortc::GSL_EBADTOL; 152*GSL_ETOL = *Math::GSL::Heapsortc::GSL_ETOL; 153*GSL_EUNDRFLW = *Math::GSL::Heapsortc::GSL_EUNDRFLW; 154*GSL_EOVRFLW = *Math::GSL::Heapsortc::GSL_EOVRFLW; 155*GSL_ELOSS = *Math::GSL::Heapsortc::GSL_ELOSS; 156*GSL_EROUND = *Math::GSL::Heapsortc::GSL_EROUND; 157*GSL_EBADLEN = *Math::GSL::Heapsortc::GSL_EBADLEN; 158*GSL_ENOTSQR = *Math::GSL::Heapsortc::GSL_ENOTSQR; 159*GSL_ESING = *Math::GSL::Heapsortc::GSL_ESING; 160*GSL_EDIVERGE = *Math::GSL::Heapsortc::GSL_EDIVERGE; 161*GSL_EUNSUP = *Math::GSL::Heapsortc::GSL_EUNSUP; 162*GSL_EUNIMPL = *Math::GSL::Heapsortc::GSL_EUNIMPL; 163*GSL_ECACHE = *Math::GSL::Heapsortc::GSL_ECACHE; 164*GSL_ETABLE = *Math::GSL::Heapsortc::GSL_ETABLE; 165*GSL_ENOPROG = *Math::GSL::Heapsortc::GSL_ENOPROG; 166*GSL_ENOPROGJ = *Math::GSL::Heapsortc::GSL_ENOPROGJ; 167*GSL_ETOLF = *Math::GSL::Heapsortc::GSL_ETOLF; 168*GSL_ETOLX = *Math::GSL::Heapsortc::GSL_ETOLX; 169*GSL_ETOLG = *Math::GSL::Heapsortc::GSL_ETOLG; 170*GSL_EOF = *Math::GSL::Heapsortc::GSL_EOF; 171 172@EXPORT_OK = qw/ 173 gsl_heapsort 174 gsl_heapsort_index 175 /; 176%EXPORT_TAGS = ( all => [ @EXPORT_OK ] ); 177 178__END__ 179 180=encoding utf8 181 182 183=head1 NAME 184 185Math::GSL::Heapsort - Functions for sorting data, both directly and indirectly (using an index) 186 187=head1 SYNOPSIS 188 189This module is not yet implemented. Patches Welcome! 190 191 use Math::GSL::Heapsort qw /:all/; 192 193=head1 DESCRIPTION 194 195Here is a list of all the functions in this module : 196 197=over 198 199=item * gsl_heapsort 200 201=item * gsl_heapsort_index 202 203=back 204 205For more informations on the functions, we refer you to the GSL official 206documentation: L<http://www.gnu.org/software/gsl/manual/html_node/> 207 208 209 210 211=head1 AUTHORS 212 213Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com> 214 215=head1 COPYRIGHT AND LICENSE 216 217Copyright (C) 2008-2021 Jonathan "Duke" Leto and Thierry Moisan 218 219This program is free software; you can redistribute it and/or modify it 220under the same terms as Perl itself. 221 222=cut 223 2241; 225