-
Notifications
You must be signed in to change notification settings - Fork 16
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
[HSL_MC66] Add a Julia interface #121
base: main
Are you sure you want to change the base?
Conversation
Hold on. We don't yet have interfaces to those, right? We should add a version together with the interface. |
I discovered that:
I can't interface them without the dependencies. |
Oh, the content of the dependencies is already in the |
Yes. We have to decide if we will interface the dependencies or not (to not have them duplicated). Also, let's please add one at a time. |
@JSOBot runtests |
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #121 +/- ##
========================================
- Coverage 0.53% 0.52% -0.02%
========================================
Files 11 12 +1
Lines 1488 1524 +36
========================================
Hits 8 8
- Misses 1480 1516 +36
☔ View full report in Codecov by Sentry. |
We cited this ordering in the GPMR paper for information :). |
src/mc21.jl
Outdated
function mc21ad(n, icn, licn, ip, lenr, iperm, numnz, iw) | ||
ccall((:mc21ad_, libmc21), | ||
Nothing, | ||
Cvoid, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's put this in a separate pr
Could you please also add a paragraph and an example in the docs each time you add an interface? |
Yes, but can I do a few interfaces before I update the documentation? |
I'm thinking minimal documentation so we don't forget. We know how essential is it to users. One paragraph + 1 example is enough. |
Needs to be rebased. The source files should be available now. |
@JSOBot runtests |
Testing HSL tests passed: https://gist.github.com/6d4c924998108f089c299991e944e1a0 |
@amontoison What is the status here? Should this be rebased? |
6e09e00
to
cea2f01
Compare
The interface is finished and I rebased the PR. |
src/hsl_mc66.jl
Outdated
lp = Ref{Int32}(6) | ||
wp = Ref{Int32}(6) | ||
context = Ptr{Cvoid}() | ||
ccall((:__hsl_mc66_single_MOD_monet_print_message, libhsl_mc66), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have a segmentation fault with this ccall
(Linux CI builds).
Maybe the mangling is different... It's the first time that I wrap a routine from a Fortran submodule.
src/hsl_mc66.jl
Outdated
rowdiff = Ref{Float64}() | ||
kblocks = Ref{Cint}() | ||
mc66d(m, n, nz, irn, jcn, nblocks, control, seed, row_order, info, rowptr, column_order, colptr, netcut, rowdiff, kblocks) | ||
mc66d_print_message(info[], control) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe just pass info
here?
The generic build script was able to compile HSL_MC66 and HSL_MI35 without any error.