Skip to content

is matrix.h needed?

Two files used by lbfgsb conditionally include a header matrix.h:

  • util/lbfgsb/arrayofmatrices.cpp includes it if the compiler definition __linux__ is not defined (otherwise it includes mex.h)
  • util/lbfgsb/lbfgsb.cpp includes it if the compiler definition __linux__ is not defined (but unconditionally include mex.h)

If matrix.h is needed at all in any system for compilation, the logic of inclusion can be simplified to use just the second case for both files. Otherwise (as is the case of GNU Octave in linux and Windows), matrix.h can be just dropped, and mex.h should always be included.

Can you check when do you need matrix.h to be included?

If it is for old Octave version, lets drop that dependency for the next release. This would allow the package to be installed from the web for both linux and windows.