This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Compilation of GSL on Visual C++ 6.0 mostly done ...


Jose Miguel Buenaposada Biencinto writes:
 > - I don't understand the Brian Gough suggestion, how this define is
 >    suposed to solve the lost of acosh and atanh in the math.h?
 > 
 > #define acosh gsl_acosh
 > #define atanh gsl_atanh
 > 
 > I think I need a C version of acosh and atanh to replace the non existing
 > ones, Is that right?

Ah, my mistake, in the CVS version you can find some functions
gsl_acosh and gsl_atanh, in sys/invhyp.c, which can be substituted
this way but I forgot that they were not included in 0.7. You might
want to add them to your version.

 > 
 > - I have eliminated some of the warnings on const/not const parameters to
 > 
 > functions on definition/declaration, but still remains a lot of them. I
 > can
 > post to the list the output of the compiler if it's usefull.

Yes please, I would be interested to see it ... if you can put the
whole log on the web or send it to me.

 > 
 > - There is some warnings related to conversions between types with a
 > possible lost of data.
 > - The worst thing is in matrix/rowcol_source.c, I have isolated the
 > problem in both ocurrences of BASE_GSL_COMPLEX. If thouse are
 > present the these errors are tiggered:
 > 
 > >  >  rowcol_source.c(21) : error C2061: syntax error : identifier
 > >  > 'gsl_matrix__complex_submatrix' rowcol_source.c(21) : error C2059:
 > >  > syntax error : ';' rowcol_source.c(21) : error C2143: syntax error
 > >  > : missing ')' before '*'
 > >  >  rowcol_source.c(21) : error C2143: syntax error : missing '{'
 > >  > before '*'
 > 
 > On the other hand if both ocurrences are commented out then the errors
 > desapears and, of course, the support for complex matrices.

I'm not sure what is going on there -- if the other files work then
rowcol.c should be ok too, I can't see anything different about it.


 > - In order to Visual C++ to perform as a strictly ANSI C compliant
 > compiler
 > (defining __STDC__) I have to check "Disable all extensions" in
 > Settings->C/C++->Customize. In this case I have to change an
 > initiallitation
 > in interpolation/cspline.c to look like:
 > 
 > #ifdef __STDC__
 >     gsl_vector solution_vec;
 >     gsl_vector_set(&solution_vec, 0, sys_size);
 >     gsl_vector_set(&solution_vec, 1, 1);
 >     gsl_vector_set(&solution_vec, 2, *(interp->c) + 1.);
 >     gsl_vector_set(&solution_vec, 3, 0);
 > #else
 >     // Ilegal Initiallitation in VC++ with "Disable all extensions"
 > checked.
 >     gsl_vector solution_vec = { sys_size, 1, interp->c + 1, 0 };
 > #endif
 > 
 > Is this correct ? Or I'm missing something ?
 > 

For gsl-0.7 this should be changed to,

  gsl_vector solution_vec;
  solution_vec.size   = sys_size;
  solution_vec.stride = 1;
  solution_vec.data   = interp->c + 1;
  solution_vec.block  = 0;

(it is fixed in the CVS version).
        


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]