<div dir="ltr"><div><br>On Wed, Oct 7, 2015 at 7:00 PM, Glynn Clements <<a href="mailto:glynn@gclements.plus.com">glynn@gclements.plus.com</a>> wrote:<br>><br>> Vaclav Petras wrote:<br>><br>> > I was not able to determine from svn why gmath.h contains la.h.<br>><br>> AFAICT, it's because the functions are in lib/gmath. Of course, that<br>> then brings up the question why they're there, rather than in a<br>> separate library ...<br>><br>> Incidentally, the whole of lib/gmath/la.c is conditionalised upon<br>><br>>         #if defined(HAVE_LIBLAPACK) && defined(HAVE_LIBBLAS)<br>><br>> but individual functions (and even sections of functions) are<br>> conditionalised as necessary.<br><br></div>I have seen this code before and I was not courageous enough to clean it up.<br><div><br>> And there are a few functions for which we could reasonably supply our<br>> own implementation if BLAS/LAPACK aren't available. E.g.<br>> G_matrix_product() and G_vector_norm_euclid() should be<br>> straightforward.<br><br></div><div>Perhaps this is the idea of having the functionality in gmath itself is behind having it part of gmath. Then the question is if we actually want this or we want to move it. If we will be able to provide our implementations, it doesn't matter where the functions are.<br><br></div><div>I like the idea of a separate header but I would leave the implementation in lib/gmath. Or is this going too much against how other libraries are done? I'm also not sure how the prefixes should work, but these seems OK since there are functions with same prefix (G_) in several libraries.<br></div><div><br></div><div>Having la.h as a separate header would conveniently hide the compilation issue on that Debian server.<br></div><div><br></div><div>So, should I remove la.h from gmath.h?<br></div><div><br>> AFAICT, G_matrix_LU_solve() is the only function that's moderately<br>> complex.<br><br></div></div>