summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2014-02-05 20:09:33 +0100
committerAlberto Ruiz <aruiz@um.es>2014-02-05 20:09:33 +0100
commit8dc7f16f02f71894c40fb7eae26c416b1893c0d4 (patch)
treecd52d3577dd34fbbfd58e7f80c5b9b022a7e949a
parent0686d07e2d575b9ff2021853b7dc20eeab8e1555 (diff)
absolute tolerance added to C interface for integration
-rw-r--r--lib/Numeric/GSL/gsl-aux.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/lib/Numeric/GSL/gsl-aux.c b/lib/Numeric/GSL/gsl-aux.c
index 24d82c4..1a4a3e6 100644
--- a/lib/Numeric/GSL/gsl-aux.c
+++ b/lib/Numeric/GSL/gsl-aux.c
@@ -737,80 +737,80 @@ int deriv(int code, double f(double, void*), double x, double h, double * result
737} 737}
738 738
739 739
740int integrate_qng(double f(double, void*), double a, double b, double prec, 740int integrate_qng(double f(double, void*), double a, double b, double aprec, double prec,
741 double *result, double*error) { 741 double *result, double*error) {
742 DEBUGMSG("integrate_qng"); 742 DEBUGMSG("integrate_qng");
743 gsl_function F; 743 gsl_function F;
744 F.function = f; 744 F.function = f;
745 F.params = NULL; 745 F.params = NULL;
746 size_t neval; 746 size_t neval;
747 int res = gsl_integration_qng (&F, a,b, 0, prec, result, error, &neval); 747 int res = gsl_integration_qng (&F, a,b, aprec, prec, result, error, &neval);
748 CHECK(res,res); 748 CHECK(res,res);
749 OK 749 OK
750} 750}
751 751
752int integrate_qags(double f(double,void*), double a, double b, double prec, int w, 752int integrate_qags(double f(double,void*), double a, double b, double aprec, double prec, int w,
753 double *result, double* error) { 753 double *result, double* error) {
754 DEBUGMSG("integrate_qags"); 754 DEBUGMSG("integrate_qags");
755 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w); 755 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w);
756 gsl_function F; 756 gsl_function F;
757 F.function = f; 757 F.function = f;
758 F.params = NULL; 758 F.params = NULL;
759 int res = gsl_integration_qags (&F, a,b, 0, prec, w,wk, result, error); 759 int res = gsl_integration_qags (&F, a,b, aprec, prec, w,wk, result, error);
760 CHECK(res,res); 760 CHECK(res,res);
761 gsl_integration_workspace_free (wk); 761 gsl_integration_workspace_free (wk);
762 OK 762 OK
763} 763}
764 764
765int integrate_qagi(double f(double,void*), double prec, int w, 765int integrate_qagi(double f(double,void*), double aprec, double prec, int w,
766 double *result, double* error) { 766 double *result, double* error) {
767 DEBUGMSG("integrate_qagi"); 767 DEBUGMSG("integrate_qagi");
768 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w); 768 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w);
769 gsl_function F; 769 gsl_function F;
770 F.function = f; 770 F.function = f;
771 F.params = NULL; 771 F.params = NULL;
772 int res = gsl_integration_qagi (&F, 0, prec, w,wk, result, error); 772 int res = gsl_integration_qagi (&F, aprec, prec, w,wk, result, error);
773 CHECK(res,res); 773 CHECK(res,res);
774 gsl_integration_workspace_free (wk); 774 gsl_integration_workspace_free (wk);
775 OK 775 OK
776} 776}
777 777
778 778
779int integrate_qagiu(double f(double,void*), double a, double prec, int w, 779int integrate_qagiu(double f(double,void*), double a, double aprec, double prec, int w,
780 double *result, double* error) { 780 double *result, double* error) {
781 DEBUGMSG("integrate_qagiu"); 781 DEBUGMSG("integrate_qagiu");
782 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w); 782 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w);
783 gsl_function F; 783 gsl_function F;
784 F.function = f; 784 F.function = f;
785 F.params = NULL; 785 F.params = NULL;
786 int res = gsl_integration_qagiu (&F, a, 0, prec, w,wk, result, error); 786 int res = gsl_integration_qagiu (&F, a, aprec, prec, w,wk, result, error);
787 CHECK(res,res); 787 CHECK(res,res);
788 gsl_integration_workspace_free (wk); 788 gsl_integration_workspace_free (wk);
789 OK 789 OK
790} 790}
791 791
792 792
793int integrate_qagil(double f(double,void*), double b, double prec, int w, 793int integrate_qagil(double f(double,void*), double b, double aprec, double prec, int w,
794 double *result, double* error) { 794 double *result, double* error) {
795 DEBUGMSG("integrate_qagil"); 795 DEBUGMSG("integrate_qagil");
796 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w); 796 gsl_integration_workspace * wk = gsl_integration_workspace_alloc (w);
797 gsl_function F; 797 gsl_function F;
798 F.function = f; 798 F.function = f;
799 F.params = NULL; 799 F.params = NULL;
800 int res = gsl_integration_qagil (&F, b, 0, prec, w,wk, result, error); 800 int res = gsl_integration_qagil (&F, b, aprec, prec, w,wk, result, error);
801 CHECK(res,res); 801 CHECK(res,res);
802 gsl_integration_workspace_free (wk); 802 gsl_integration_workspace_free (wk);
803 OK 803 OK
804} 804}
805 805
806int integrate_cquad(double f(double,void*), double a, double b, double prec, 806int integrate_cquad(double f(double,void*), double a, double b, double aprec, double prec,
807 int w, double *result, double* error, int *neval) { 807 int w, double *result, double* error, int *neval) {
808 DEBUGMSG("integrate_cquad"); 808 DEBUGMSG("integrate_cquad");
809 gsl_integration_cquad_workspace * wk = gsl_integration_cquad_workspace_alloc (w); 809 gsl_integration_cquad_workspace * wk = gsl_integration_cquad_workspace_alloc (w);
810 gsl_function F; 810 gsl_function F;
811 F.function = f; 811 F.function = f;
812 F.params = NULL; 812 F.params = NULL;
813 int res = gsl_integration_cquad (&F, a, b, 0, prec, wk, result, error, neval); 813 int res = gsl_integration_cquad (&F, a, b, aprec, prec, wk, result, error, neval);
814 CHECK(res,res); 814 CHECK(res,res);
815 gsl_integration_cquad_workspace_free (wk); 815 gsl_integration_cquad_workspace_free (wk);
816 OK 816 OK