Fix binding handling of transposed matrix parameters #3327
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Digging into #3324, I realized that none of our bindings (except command-line programs) have handling for parameters declared as
PARAM_TMATRIX_IN()
(i.e. a transposed matrix). LARS happens to be the only binding that actually uses this parameter type, and so what happens is that in languages other than command-line bindings (such as Python), the user's data will be unexpectedly transposed.This PR adds support for transposed matrices to Python, Go, R, and Julia bindings, which will in turn fix the strange behavior specific to LARS that was encountered in #3324 (and probably by other users).
For each language, this boils down to:
PARAM_TMATRIX_IN
parameternoTranspose
parameter fromParamData
while generating the bindingsThere are also a couple other tiny fixes in here:
matrix_utils.py
python_bindings_test
is not added unlessBUILD_TESTS
isON
go_bindings_test
is not added unlessBUILD_TESTS
isON