Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rudimentary Octave interface #9

Merged
merged 32 commits into from
Jun 18, 2024
Merged

Conversation

redstone99
Copy link
Contributor

This adds a basic Octave interface that exposes a function piqp(), that invokes the dense PIQP solver and returns the result. The integration mainly translates between Eigen3 data structures and Octave native data structs and then passes args & results back & forth between the C PIQP implementation and Octave.

This integration is not very polished and the CMake support is pretty basic.
I played around with it on Ubuntu 24.04 and Octave 8.4.0

If it looks ok, I think there's a way to merge and squash all the commits into one commit, but let me know if not, and I'll squash things on my end.

@RSchwan
Copy link
Contributor

RSchwan commented Jun 13, 2024

In the end, I decided to port the Matlab interface to Octave and added proper packaging (see .github/workflows/octave.yml). There are still some open points before I merge this PR which I try to address in the coming days:

  • The Windows build doesn't seem to work yet, i.e., the CI looks like it's not working
  • The documentation has to be updated

You can also directly download the zipped package here: https://github.com/PREDICT-EPFL/piqp/actions/runs/9497107452 if you want to give it a test.

@redstone99
Copy link
Contributor Author

Wow, nice work - looks like you did a much more comprehensive job of adapting to Octave than the bare-bones pull request I did.
I downloaded the artifact, started octave and ran "pre_install" and it completed without error.
It might be helpful to have pre_install print out where it dumped output files (./inst) and maybe some options for next steps or link to documentation of next step.

Shall I close my pull request?

@RSchwan RSchwan merged commit d1503cd into PREDICT-EPFL:main Jun 18, 2024
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants