summaryrefslogtreecommitdiff
path: root/lib/Numeric/GSL/gsl-aux.c
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2012-02-08 09:26:46 -0800
committerAlberto Ruiz <aruiz@um.es>2012-02-08 09:26:46 -0800
commit746427e5ec5d1f3fec2ec2ddec4f041f5563596a (patch)
treef38528b173720ed9b20f8c9adcf9a28b227170ab /lib/Numeric/GSL/gsl-aux.c
parent3ac7bc8155e472b2c85966bd1d521d0739e67562 (diff)
parent1319c4ddae89c41633a4cd894ba28896d3445e79 (diff)
Merge pull request #9 from cdhf/master
Support for integration over infinite intervals
Diffstat (limited to 'lib/Numeric/GSL/gsl-aux.c')
-rw-r--r--lib/Numeric/GSL/gsl-aux.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/Numeric/GSL/gsl-aux.c b/lib/Numeric/GSL/gsl-aux.c
index 33d7dab..5c17836 100644
--- a/lib/Numeric/GSL/gsl-aux.c
+++ b/lib/Numeric/GSL/gsl-aux.c
@@ -761,6 +761,48 @@ int integrate_qags(double f(double,void*), double a, double b, double prec, int
761 OK 761 OK
762} 762}
763 763
764int integrate_qagi(double f(double,void*), double prec, int w,
765 double *result, double* error) {
766 DEBUGMSG("integrate_qagi");
767 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w);
768 gsl_function F;
769 F.function = f;
770 F.params = NULL;
771 int res = gsl_integration_qagi (&F, 0, prec, w,wk, result, error);
772 CHECK(res,res);
773 gsl_integration_workspace_free (wk);
774 OK
775}
776
777
778int integrate_qagiu(double f(double,void*), double a, double prec, int w,
779 double *result, double* error) {
780 DEBUGMSG("integrate_qagiu");
781 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w);
782 gsl_function F;
783 F.function = f;
784 F.params = NULL;
785 int res = gsl_integration_qagiu (&F, a, 0, prec, w,wk, result, error);
786 CHECK(res,res);
787 gsl_integration_workspace_free (wk);
788 OK
789}
790
791
792int integrate_qagil(double f(double,void*), double b, double prec, int w,
793 double *result, double* error) {
794 DEBUGMSG("integrate_qagil");
795 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w);
796 gsl_function F;
797 F.function = f;
798 F.params = NULL;
799 int res = gsl_integration_qagil (&F, b, 0, prec, w,wk, result, error);
800 CHECK(res,res);
801 gsl_integration_workspace_free (wk);
802 OK
803}
804
805
764int polySolve(KRVEC(a), CVEC(z)) { 806int polySolve(KRVEC(a), CVEC(z)) {
765 DEBUGMSG("polySolve"); 807 DEBUGMSG("polySolve");
766 REQUIRES(an>1,BAD_SIZE); 808 REQUIRES(an>1,BAD_SIZE);