help-gsl
[Top][All Lists]
Advanced

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

Re: [Help-gsl] possible bug for vectors and matrices


From: Rhys Ulerich
Subject: Re: [Help-gsl] possible bug for vectors and matrices
Date: Sat, 2 Jun 2012 08:34:47 -0500

Hi Jerome (and bug-gsl added on CC),

> I have just gone through some gsl_(vector|matrix)_TYPE.h headers (with
> TYPE=long, long_double, ...). Functions that scale by or add a
> constant has a *double* as constant argument: should this argument
> constant not be in type TYPE rather than in type double?

Just to be concrete, you're saying all of

int gsl_vector_long_double_scale (gsl_vector_long_double * a, const double x);
int gsl_vector_long_double_add_constant (gsl_vector_long_double * a,
const double x);
int gsl_matrix_long_double_scale (gsl_matrix_long_double * a, const double x);
int gsl_matrix_long_double_add_constant (gsl_matrix_long_double * a,
const double x);
int gsl_matrix_long_double_add_diagonal (gsl_matrix_long_double * a,
const double x);

should be taking long doubles as their second argument?  Likewise for
other types?  I agree.

For anything "smaller" than double I doubt that the bug will cause a
loss of precision.  But for long doubles and above it is indeed a
problem.  Either way, the API isn't right.

Anyone have an objection if I throw this in a ticket on savannah and
take a stab at fixing it by correcting the templating?  (I think the
right template macro is BASE rather than TYPE, but that's an
implementation detail).

- Rhys



reply via email to

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