"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "GENERATED/PDL/GSL/INTEG.pm" between
PDL-2.074.tar.gz and PDL-2.075.tar.gz

About: PDL (Perl Data Language) aims to turn perl into an efficient numerical language for scientific computing (similar to IDL and MatLab).

INTEG.pm  (PDL-2.074):INTEG.pm  (PDL-2.075)
skipping to change at line 19 skipping to change at line 19
our %EXPORT_TAGS = (Func=>\@EXPORT_OK); our %EXPORT_TAGS = (Func=>\@EXPORT_OK);
use PDL::Core; use PDL::Core;
use PDL::Exporter; use PDL::Exporter;
use DynaLoader; use DynaLoader;
our @ISA = ( 'PDL::Exporter','DynaLoader' ); our @ISA = ( 'PDL::Exporter','DynaLoader' );
push @PDL::Core::PP, __PACKAGE__; push @PDL::Core::PP, __PACKAGE__;
bootstrap PDL::GSL::INTEG ; bootstrap PDL::GSL::INTEG ;
#line 5 "gsl_integ.pd" #line 4 "gsl_integ.pd"
use strict; use strict;
use warnings; use warnings;
=head1 NAME =head1 NAME
PDL::GSL::INTEG - PDL interface to numerical integration routines in GSL PDL::GSL::INTEG - PDL interface to numerical integration routines in GSL
=head1 DESCRIPTION =head1 DESCRIPTION
This is an interface to the numerical integration package present in the This is an interface to the numerical integration package present in the
skipping to change at line 123 skipping to change at line 124
# Adaptive integration with warnings on # Adaptive integration with warnings on
my $limit = 1000; my $limit = 1000;
my $key = 5; my $key = 5;
my ($res,$abserr,$ierr) = gslinteg_qag(\&myf,$la,$lb,$epsrel, my ($res,$abserr,$ierr) = gslinteg_qag(\&myf,$la,$lb,$epsrel,
$epsabs,$limit,$key,{Warn=>'y'}); $epsabs,$limit,$key,{Warn=>'y'});
sub myf{ sub myf{
my ($x) = @_; my ($x) = @_;
return exp(-$x**2); return exp(-$x**2);
} }
#line 132 "INTEG.pm" #line 133 "INTEG.pm"
=head1 FUNCTIONS =head1 FUNCTIONS
=cut =cut
#line 554 "gsl_integ.pd" #line 553 "gsl_integ.pd"
sub gslinteg_qng{ sub gslinteg_qng{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$la,$lb,$epsabs,$epsrel) = @_; my ($f,$la,$lb,$epsabs,$epsrel) = @_;
barf 'Usage: gslinteg_qng($function_ref,$la,$lb,$epsabs,$epsrel,[opt]) ' barf 'Usage: gslinteg_qng($function_ref,$la,$lb,$epsabs,$epsrel,[opt]) '
unless ($#_ == 4); unless ($#_ == 4);
my ($res,$abserr,$neval,$ierr) = qng_meat($la,$lb,$epsabs,$epsrel,$warn,$f); my ($res,$abserr,$neval,$ierr) = qng_meat($la,$lb,$epsabs,$epsrel,$warn,$f);
return ($res,$abserr,$ierr,$neval); return ($res,$abserr,$ierr,$neval);
} }
#line 160 "INTEG.pm" #line 162 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qng_meat =head2 qng_meat
=for sig =for sig
Signature: (double a(); double b(); double epsabs(); Signature: (double a(); double b(); double epsabs();
double epsrel(); double [o] result(); double [o] abserr(); double epsrel(); double [o] result(); double [o] abserr();
int [o] neval(); int [o] ierr(); int gslwarn(); SV* function) int [o] neval(); int [o] ierr(); int gslwarn(); SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qng_meat does not process bad values. qng_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 188 "INTEG.pm" #line 191 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qng_meat = \&PDL::qng_meat; *qng_meat = \&PDL::qng_meat;
#line 194 "INTEG.pm" #line 198 "INTEG.pm"
#line 586 "gsl_integ.pd" #line 585 "gsl_integ.pd"
sub gslinteg_qag{ sub gslinteg_qag{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$la,$lb,$epsabs,$epsrel,$limit,$key) = @_; my ($f,$la,$lb,$epsabs,$epsrel,$limit,$key) = @_;
barf 'Usage: gslinteg_qag($function_ref,$la,$lb,$epsabs,$epsrel,$limit,$key,[ opt]) ' barf 'Usage: gslinteg_qag($function_ref,$la,$lb,$epsabs,$epsrel,$limit,$key,[ opt]) '
unless ($#_ == 6); unless ($#_ == 6);
my ($res,$abserr,$ierr) = qag_meat($la,$lb,$epsabs,$epsrel,$limit,$key,$limit ,$warn,$f); my ($res,$abserr,$ierr) = qag_meat($la,$lb,$epsabs,$epsrel,$limit,$key,$limit ,$warn,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 212 "INTEG.pm" #line 217 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qag_meat =head2 qag_meat
=for sig =for sig
Signature: (double a(); double b(); double epsabs();double epsrel(); int limit (); Signature: (double a(); double b(); double epsabs();double epsrel(); int limit ();
int key(); double [o] result(); double [o] abserr();int n();in t [o] ierr();int gslwarn();; SV* function) int key(); double [o] result(); double [o] abserr();int n();in t [o] ierr();int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qag_meat does not process bad values. qag_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 239 "INTEG.pm" #line 245 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qag_meat = \&PDL::qag_meat; *qag_meat = \&PDL::qag_meat;
#line 245 "INTEG.pm" #line 252 "INTEG.pm"
#line 622 "gsl_integ.pd" #line 621 "gsl_integ.pd"
sub gslinteg_qags{ sub gslinteg_qags{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$la,$lb,$epsabs,$epsrel,$limit) = @_; my ($f,$la,$lb,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qags($function_ref,$la,$lb,$epsabs,$epsrel,$limit,[opt]) ' barf 'Usage: gslinteg_qags($function_ref,$la,$lb,$epsabs,$epsrel,$limit,[opt]) '
unless ($#_ == 5); unless ($#_ == 5);
my ($res,$abserr,$ierr) = qags_meat($la,$lb,$epsabs,$epsrel,$limit,$limit,$war n,$f); my ($res,$abserr,$ierr) = qags_meat($la,$lb,$epsabs,$epsrel,$limit,$limit,$war n,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 263 "INTEG.pm" #line 271 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qags_meat =head2 qags_meat
=for sig =for sig
Signature: (double a(); double b(); double epsabs();double epsrel(); int limit (); Signature: (double a(); double b(); double epsabs();double epsrel(); int limit ();
double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function) double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qags_meat does not process bad values. qags_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 290 "INTEG.pm" #line 299 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qags_meat = \&PDL::qags_meat; *qags_meat = \&PDL::qags_meat;
#line 296 "INTEG.pm" #line 306 "INTEG.pm"
#line 657 "gsl_integ.pd" #line 656 "gsl_integ.pd"
sub gslinteg_qagp{ sub gslinteg_qagp{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$points,$epsabs,$epsrel,$limit) = @_; my ($f,$points,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qagp($function_ref,$points,$epsabs,$epsrel,$limit,[opt]) ' barf 'Usage: gslinteg_qagp($function_ref,$points,$epsabs,$epsrel,$limit,[opt]) '
unless ($#_ == 4); unless ($#_ == 4);
my ($res,$abserr,$ierr) = qagp_meat($points,$epsabs,$epsrel,$limit,$limit,$war n,$f); my ($res,$abserr,$ierr) = qagp_meat($points,$epsabs,$epsrel,$limit,$limit,$war n,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 314 "INTEG.pm" #line 325 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qagp_meat =head2 qagp_meat
=for sig =for sig
Signature: (double pts(l); double epsabs();double epsrel();int limit(); Signature: (double pts(l); double epsabs();double epsrel();int limit();
double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function) double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qagp_meat does not process bad values. qagp_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 341 "INTEG.pm" #line 353 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qagp_meat = \&PDL::qagp_meat; *qagp_meat = \&PDL::qagp_meat;
#line 347 "INTEG.pm" #line 360 "INTEG.pm"
#line 691 "gsl_integ.pd" #line 690 "gsl_integ.pd"
sub gslinteg_qagi{ sub gslinteg_qagi{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$epsabs,$epsrel,$limit) = @_; my ($f,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qagi($function_ref,$epsabs,$epsrel,$limit,[opt]) ' barf 'Usage: gslinteg_qagi($function_ref,$epsabs,$epsrel,$limit,[opt]) '
unless ($#_ == 3); unless ($#_ == 3);
my ($res,$abserr,$ierr) = qagi_meat($epsabs,$epsrel,$limit,$limit,$warn,$f); my ($res,$abserr,$ierr) = qagi_meat($epsabs,$epsrel,$limit,$limit,$warn,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 365 "INTEG.pm" #line 379 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qagi_meat =head2 qagi_meat
=for sig =for sig
Signature: (double epsabs();double epsrel(); int limit(); Signature: (double epsabs();double epsrel(); int limit();
double [o] result(); double [o] abserr(); int n(); int [o] ier r();int gslwarn();; SV* function) double [o] result(); double [o] abserr(); int n(); int [o] ier r();int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qagi_meat does not process bad values. qagi_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 392 "INTEG.pm" #line 407 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qagi_meat = \&PDL::qagi_meat; *qagi_meat = \&PDL::qagi_meat;
#line 398 "INTEG.pm" #line 414 "INTEG.pm"
#line 725 "gsl_integ.pd" #line 724 "gsl_integ.pd"
sub gslinteg_qagiu{ sub gslinteg_qagiu{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$la,$epsabs,$epsrel,$limit) = @_; my ($f,$la,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qagiu($function_ref,$la,$epsabs,$epsrel,$limit,[opt]) ' barf 'Usage: gslinteg_qagiu($function_ref,$la,$epsabs,$epsrel,$limit,[opt]) '
unless ($#_ == 4); unless ($#_ == 4);
my ($res,$abserr,$ierr) = qagiu_meat($la,$epsabs,$epsrel,$limit,$limit,$warn,$ f); my ($res,$abserr,$ierr) = qagiu_meat($la,$epsabs,$epsrel,$limit,$limit,$warn,$ f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 416 "INTEG.pm" #line 433 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qagiu_meat =head2 qagiu_meat
=for sig =for sig
Signature: (double a(); double epsabs();double epsrel();int limit(); Signature: (double a(); double epsabs();double epsrel();int limit();
double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function) double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qagiu_meat does not process bad values. qagiu_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 443 "INTEG.pm" #line 461 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qagiu_meat = \&PDL::qagiu_meat; *qagiu_meat = \&PDL::qagiu_meat;
#line 449 "INTEG.pm" #line 468 "INTEG.pm"
#line 760 "gsl_integ.pd" #line 759 "gsl_integ.pd"
sub gslinteg_qagil{ sub gslinteg_qagil{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$lb,$epsabs,$epsrel,$limit) = @_; my ($f,$lb,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qagil($function_ref,$lb,$epsabs,$epsrel,$limit,[opt]) ' barf 'Usage: gslinteg_qagil($function_ref,$lb,$epsabs,$epsrel,$limit,[opt]) '
unless ($#_ == 4); unless ($#_ == 4);
my ($res,$abserr,$ierr) = qagil_meat($lb,$epsabs,$epsrel,$limit,$limit,$warn,$ f); my ($res,$abserr,$ierr) = qagil_meat($lb,$epsabs,$epsrel,$limit,$limit,$warn,$ f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 467 "INTEG.pm" #line 487 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qagil_meat =head2 qagil_meat
=for sig =for sig
Signature: (double b(); double epsabs();double epsrel();int limit(); Signature: (double b(); double epsabs();double epsrel();int limit();
double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function) double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qagil_meat does not process bad values. qagil_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 494 "INTEG.pm" #line 515 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qagil_meat = \&PDL::qagil_meat; *qagil_meat = \&PDL::qagil_meat;
#line 500 "INTEG.pm" #line 522 "INTEG.pm"
#line 795 "gsl_integ.pd" #line 794 "gsl_integ.pd"
sub gslinteg_qawc{ sub gslinteg_qawc{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$la,$lb,$c,$epsabs,$epsrel,$limit) = @_; my ($f,$la,$lb,$c,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qawc($function_ref,$la,$lb,$c,$epsabs,$epsrel,$limit,[op t]) ' barf 'Usage: gslinteg_qawc($function_ref,$la,$lb,$c,$epsabs,$epsrel,$limit,[op t]) '
unless ($#_ == 6); unless ($#_ == 6);
my ($res,$abserr,$ierr) = qawc_meat($la,$lb,$c,$epsabs,$epsrel,$limit,$limit,$ warn,$f); my ($res,$abserr,$ierr) = qawc_meat($la,$lb,$c,$epsabs,$epsrel,$limit,$limit,$ warn,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 518 "INTEG.pm" #line 541 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qawc_meat =head2 qawc_meat
=for sig =for sig
Signature: (double a(); double b(); double c(); double epsabs();double epsrel( );int limit(); Signature: (double a(); double b(); double c(); double epsabs();double epsrel( );int limit();
double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function) double [o] result(); double [o] abserr();int n();int [o] ierr( );int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qawc_meat does not process bad values. qawc_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 545 "INTEG.pm" #line 569 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qawc_meat = \&PDL::qawc_meat; *qawc_meat = \&PDL::qawc_meat;
#line 551 "INTEG.pm" #line 576 "INTEG.pm"
#line 829 "gsl_integ.pd" #line 828 "gsl_integ.pd"
sub gslinteg_qaws{ sub gslinteg_qaws{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$alpha,$beta,$mu,$nu,$la,$lb,$epsabs,$epsrel,$limit) = @_; my ($f,$alpha,$beta,$mu,$nu,$la,$lb,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qaws($function_ref,$alpha,$beta,$mu,$nu,$la,$lb,$epsabs, $epsrel,$limit,[opt]) ' barf 'Usage: gslinteg_qaws($function_ref,$alpha,$beta,$mu,$nu,$la,$lb,$epsabs, $epsrel,$limit,[opt]) '
unless ($#_ == 9); unless ($#_ == 9);
my ($res,$abserr,$ierr) = qaws_meat($la,$lb,$epsabs,$epsrel,$limit,$limit,$alp ha,$beta,$mu,$nu,$warn,$f); my ($res,$abserr,$ierr) = qaws_meat($la,$lb,$epsabs,$epsrel,$limit,$limit,$alp ha,$beta,$mu,$nu,$warn,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 569 "INTEG.pm" #line 595 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qaws_meat =head2 qaws_meat
=for sig =for sig
Signature: (double a(); double b();double epsabs();double epsrel();int limit() ; Signature: (double a(); double b();double epsabs();double epsrel();int limit() ;
double [o] result(); double [o] abserr();int n(); double [o] result(); double [o] abserr();int n();
double alpha(); double beta(); int mu(); int nu();int [o] ierr() ;int gslwarn();; SV* function) double alpha(); double beta(); int mu(); int nu();int [o] ierr() ;int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qaws_meat does not process bad values. qaws_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 597 "INTEG.pm" #line 624 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qaws_meat = \&PDL::qaws_meat; *qaws_meat = \&PDL::qaws_meat;
#line 603 "INTEG.pm" #line 631 "INTEG.pm"
#line 869 "gsl_integ.pd" #line 868 "gsl_integ.pd"
sub gslinteg_qawo{ sub gslinteg_qawo{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$omega,$sincosopt,$la,$lb,$epsabs,$epsrel,$limit) = @_; my ($f,$omega,$sincosopt,$la,$lb,$epsabs,$epsrel,$limit) = @_;
barf 'Usage: gslinteg_qawo($function_ref,$omega,$sin_or_cos,$la,$lb,$epsabs,$e psrel,$limit,[opt]) ' barf 'Usage: gslinteg_qawo($function_ref,$omega,$sin_or_cos,$la,$lb,$epsabs,$e psrel,$limit,[opt]) '
unless ($#_ == 7); unless ($#_ == 7);
my $OPTION_SIN_COS; my $OPTION_SIN_COS;
if($sincosopt=~/cos/i){ $OPTION_SIN_COS = 0;} if($sincosopt=~/cos/i){ $OPTION_SIN_COS = 0;}
elsif($sincosopt=~/sin/i){ $OPTION_SIN_COS = 1;} elsif($sincosopt=~/sin/i){ $OPTION_SIN_COS = 1;}
else { barf("Error in argument 3 of function gslinteg_qawo: specify 'cos' or ' sin'\n");} else { barf("Error in argument 3 of function gslinteg_qawo: specify 'cos' or ' sin'\n");}
my $L = $lb - $la; my $L = $lb - $la;
my $nlevels = $limit; my $nlevels = $limit;
my ($res,$abserr,$ierr) = qawo_meat($la,$lb,$epsabs,$epsrel,$limit,$limit,$OPT ION_SIN_COS,$omega,$L,$nlevels,$warn,$f); my ($res,$abserr,$ierr) = qawo_meat($la,$lb,$epsabs,$epsrel,$limit,$limit,$OPT ION_SIN_COS,$omega,$L,$nlevels,$warn,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 628 "INTEG.pm" #line 657 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qawo_meat =head2 qawo_meat
=for sig =for sig
Signature: (double a(); double b();double epsabs();double epsrel();int limit() ; Signature: (double a(); double b();double epsabs();double epsrel();int limit() ;
double [o] result(); double [o] abserr();int n(); double [o] result(); double [o] abserr();int n();
int sincosopt(); double omega(); double L(); int nlevels();int [ o] ierr();int gslwarn();; SV* function) int sincosopt(); double omega(); double L(); int nlevels();int [ o] ierr();int gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qawo_meat does not process bad values. qawo_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 656 "INTEG.pm" #line 686 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qawo_meat = \&PDL::qawo_meat; *qawo_meat = \&PDL::qawo_meat;
#line 662 "INTEG.pm" #line 693 "INTEG.pm"
#line 920 "gsl_integ.pd" #line 919 "gsl_integ.pd"
sub gslinteg_qawf{ sub gslinteg_qawf{
my ($opt,$warn); my ($opt,$warn);
if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; } if (ref($_[$#_]) eq 'HASH'){ $opt = pop @_; }
else{ $opt = {Warn => 'n'}; } else{ $opt = {Warn => 'n'}; }
if($$opt{Warn}=~/y/i) { $warn = 1;} if($$opt{Warn}=~/y/i) { $warn = 1;}
else {$warn = 0;} else {$warn = 0;}
my ($f,$omega,$sincosopt,$la,$epsabs,$limit) = @_; my ($f,$omega,$sincosopt,$la,$epsabs,$limit) = @_;
barf 'Usage: gslinteg_qawf($function_ref,$omega,$sin_or_cos,$la,$epsabs,$limit ,[opt]) ' barf 'Usage: gslinteg_qawf($function_ref,$omega,$sin_or_cos,$la,$epsabs,$limit ,[opt]) '
unless ($#_ == 5); unless ($#_ == 5);
my $OPTION_SIN_COS; my $OPTION_SIN_COS;
if($sincosopt=~/cos/i){ $OPTION_SIN_COS = 0;} if($sincosopt=~/cos/i){ $OPTION_SIN_COS = 0;}
elsif($sincosopt=~/sin/i){ $OPTION_SIN_COS = 1;} elsif($sincosopt=~/sin/i){ $OPTION_SIN_COS = 1;}
else { barf("Error in argument 3 of function gslinteg_qawf: specify 'cos' or ' sin'\n");} else { barf("Error in argument 3 of function gslinteg_qawf: specify 'cos' or ' sin'\n");}
my $nlevels = $limit; my $nlevels = $limit;
my ($res,$abserr,$ierr) = qawf_meat($la,$epsabs,$limit,$limit,$OPTION_SIN_COS, $omega,$nlevels,$warn,$f); my ($res,$abserr,$ierr) = qawf_meat($la,$epsabs,$limit,$limit,$OPTION_SIN_COS, $omega,$nlevels,$warn,$f);
return ($res,$abserr,$ierr); return ($res,$abserr,$ierr);
} }
#line 685 "INTEG.pm" #line 717 "INTEG.pm"
#line 1059 "../../../blib/lib/PDL/PP.pm" #line 1058 "../../../blib/lib/PDL/PP.pm"
=head2 qawf_meat =head2 qawf_meat
=for sig =for sig
Signature: (double a(); double epsabs();int limit(); Signature: (double a(); double epsabs();int limit();
double [o] result(); double [o] abserr();int n(); double [o] result(); double [o] abserr();int n();
int sincosopt(); double omega(); int nlevels();int [o] ierr();in t gslwarn();; SV* function) int sincosopt(); double omega(); int nlevels();int [o] ierr();in t gslwarn();; SV* function)
=for ref =for ref
info not available info not available
=for bad =for bad
qawf_meat does not process bad values. qawf_meat does not process bad values.
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.
=cut =cut
#line 713 "INTEG.pm" #line 746 "INTEG.pm"
#line 1060 "../../../blib/lib/PDL/PP.pm"
#line 1061 "../../../blib/lib/PDL/PP.pm"
*qawf_meat = \&PDL::qawf_meat; *qawf_meat = \&PDL::qawf_meat;
#line 719 "INTEG.pm" #line 753 "INTEG.pm"
#line 112 "gsl_integ.pd"
#line 113 "gsl_integ.pd"
=head2 gslinteg_qng - Non-adaptive Gauss-Kronrod integration =head2 gslinteg_qng - Non-adaptive Gauss-Kronrod integration
This function applies the Gauss-Kronrod 10-point, 21-point, 43-point and 87-poin t This function applies the Gauss-Kronrod 10-point, 21-point, 43-point and 87-poin t
integration rules in succession until an estimate of the integral of f over ($la ,$lb) integration rules in succession until an estimate of the integral of f over ($la ,$lb)
is achieved within the desired absolute and relative error limits, $epsabs and $ epsrel. is achieved within the desired absolute and relative error limits, $epsabs and $ epsrel.
It is meant for fast integration of smooth functions. It returns an array with t he It is meant for fast integration of smooth functions. It returns an array with t he
result, an estimate of the absolute error, an error flag and the number of funct ion result, an estimate of the absolute error, an error flag and the number of funct ion
evaluations performed. evaluations performed.
=for usage =for usage
skipping to change at line 1012 skipping to change at line 1025
This file copyright (C) 2003,2005 Andres Jordan <ajordan@eso.org> This file copyright (C) 2003,2005 Andres Jordan <ajordan@eso.org>
All rights reserved. There is no warranty. You are allowed to redistribute All rights reserved. There is no warranty. You are allowed to redistribute
this software documentation under certain conditions. For details, see the file this software documentation under certain conditions. For details, see the file
COPYING in the PDL distribution. If this file is separated from the COPYING in the PDL distribution. If this file is separated from the
PDL distribution, the copyright notice should be included in the file. PDL distribution, the copyright notice should be included in the file.
The GSL integration routines were written by Brian Gough. QUADPACK The GSL integration routines were written by Brian Gough. QUADPACK
was written by Piessens, Doncker-Kapenga, Uberhuber and Kahaner. was written by Piessens, Doncker-Kapenga, Uberhuber and Kahaner.
=cut =cut
#line 1145 "INTEG.pm" #line 1180 "INTEG.pm"
# Exit with OK status # Exit with OK status
1; 1;
 End of changes. 70 change blocks. 
70 lines changed or deleted 83 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)