diff options
author | Alberto Ruiz <aruiz@um.es> | 2014-02-05 20:09:33 +0100 |
---|---|---|
committer | Alberto Ruiz <aruiz@um.es> | 2014-02-05 20:09:33 +0100 |
commit | 8dc7f16f02f71894c40fb7eae26c416b1893c0d4 (patch) | |
tree | cd52d3577dd34fbbfd58e7f80c5b9b022a7e949a /lib/Numeric/GSL/gsl-aux.c | |
parent | 0686d07e2d575b9ff2021853b7dc20eeab8e1555 (diff) |
absolute tolerance added to C interface for integration
Diffstat (limited to 'lib/Numeric/GSL/gsl-aux.c')
-rw-r--r-- | lib/Numeric/GSL/gsl-aux.c | 24 |
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 | ||
740 | int integrate_qng(double f(double, void*), double a, double b, double prec, | 740 | int 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 | ||
752 | int integrate_qags(double f(double,void*), double a, double b, double prec, int w, | 752 | int 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 | ||
765 | int integrate_qagi(double f(double,void*), double prec, int w, | 765 | int 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 | ||
779 | int integrate_qagiu(double f(double,void*), double a, double prec, int w, | 779 | int 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 | ||
793 | int integrate_qagil(double f(double,void*), double b, double prec, int w, | 793 | int 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 | ||
806 | int integrate_cquad(double f(double,void*), double a, double b, double prec, | 806 | int 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 |