bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gsl] [Fwd: Re: [Help-gsl] Error reporting question]


From: Xuebin Wu
Subject: Re: [Bug-gsl] [Fwd: Re: [Help-gsl] Error reporting question]
Date: Thu, 28 Apr 2011 10:35:21 -0400

Hi,

When you turn off the gsl_error handler, the macro GSL_ERROR will do
nothing but return the error code GSL_FAILURE. The
gsl_integration_qags does not know the GSL_ERROR is called, and it
simply think the function returns -1, which is the value of
GSL_FAILURE. That's why the result is always -1.

I do not think it is a bug. Maybe you can write your own error handler
to solve your problem. For example, you can use "goto" to jump out of
gsl_integration_qags, or set some global variable to indicate the
integration result is incorrect.

On Wed, Apr 27, 2011 at 2:59 AM,  <address@hidden> wrote:
> Dear GSL-developer,
>
> I want to submit this bug-report. I used this code to perform an integration
>
> #include <stdio.h>
> #include <math.h>
> #include <gsl/gsl_integration.h>
> #include <gsl/gsl_errno.h>
>
> double f (double x, void * params) {
>        GSL_ERROR("test error",GSL_FAILURE);
>        return GSL_NAN;
> }
>
>
>
> int main (void)
> {
> gsl_integration_workspace * w = gsl_integration_workspace_alloc (1000);
>
> double result, error;
>
> gsl_function F;
> F.function = &f;
>
> gsl_set_error_handler_off();
> int status = gsl_integration_qags (&F, 0, 1, 0, 1e-7, 1000,
>                     w, &result, &error);
>
> printf ("status          = %d\n", status);
> status  = GSL_FAILURE;
> printf ("status          = %d\n", status);
>
>
> gsl_integration_workspace_free (w);
>
> return 0;
> }
>
> However, the integration returns 0 on my system (I use GSL 1.14 compiled
> from source on an ubuntu 10.10 machine.
>
> Best,
>
> Sebastian Meuren
>
>
>
> ---------------------------- Original Message ----------------------------
> Subject: Re: [Help-gsl] Error reporting question
> From:    "Brian Gough" <address@hidden>
> Date:    Wed, April 27, 2011 12:37 am
> To:     address@hidden
> Cc:     address@hidden
> --------------------------------------------------------------------------
>
> At Tue, 19 Apr 2011 15:11:27 +0200,
> address@hidden wrote:
>>
>> Dear GSL-users,
>>
>> I posed the following question
>>
>> http://stackoverflow.com/questions/5716288/gsl-error-reporting.
>>
>> However, there seems only little activity concerning GSL questions.
>> Therefore I also ask here.  Does anybody has a good answer?
>>
>
> To stop an integration with qags try returning NaN from the integrand.
> If it does not work please report it to address@hidden Thanks.
>
> Brian Gough
>
>
>
>
>
>
>
> _______________________________________________
> Bug-gsl mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-gsl
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]