Skip to content

Remove all Fortran items for bindings #199

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

Merged
merged 4 commits into from
Nov 13, 2023
Merged

Remove all Fortran items for bindings #199

merged 4 commits into from
Nov 13, 2023

Conversation

CGMossa
Copy link
Member

@CGMossa CGMossa commented Nov 12, 2023

All Fortran things are renamed, so they have _ appended to their name.
We can remove all of these with this PR.

We don't actually load Rblas.dll or Rlapack.dll (on Windows atleast), so I'm not even sure these things
would work, even if someone called them, meaning this isn't a breaking change.

This is an alternative to removing Applic.h, BLAS.h, Linpack.h, and Lapack.h, as this basically removes the Fortran in all of them, see #197.

Note that this PR is more or less another approach to #197.
So only one should be merged; There are no real issues if both are accepted, though.

@CGMossa
Copy link
Member Author

CGMossa commented Nov 12, 2023

/bindings

@CGMossa CGMossa changed the title Remove all Fotran items for bindings Remove all Fortran items for bindings Nov 12, 2023
@yutannihilation
Copy link
Contributor

I can approve this because this doesn't remove what should not be removed, but I think I still don't understand the context. Why does Fortran matter here?

@CGMossa
Copy link
Member Author

CGMossa commented Nov 12, 2023

I updated the description. These won't work anyways. We don't include the libraries in the compilation. Extendr shouldn't also provide bindings to blas or lapack anyways. I think Rcpp people use other libraries for linear algebra routines, because using these is not good.
I want these binding files to be nice, neat, and stuff like that. I'm constantly looking for ways to improve them.

And them having redundant, not linked, symbols is just wrong.

Plus.... It will make librsys smaller in size. With merge extern blocks we went from 4mb to 2.8mb, and this will further help.

@CGMossa CGMossa mentioned this pull request Nov 12, 2023
2 tasks
and not `__` like for some other things in the API
@CGMossa
Copy link
Member Author

CGMossa commented Nov 12, 2023

/bindings

@CGMossa
Copy link
Member Author

CGMossa commented Nov 12, 2023

To ease your concern about excluding the wrong items, I've now made a regex, that matches only the items, with one single _ at the end of the variable name. You can see in the diff, that now I don't exclude an item that was __<NAME>__. But this item is not useful anyways, so either approach works.

@yutannihilation
Copy link
Contributor

Thanks for the explanation.

your concern about excluding the wrong items

I don't have such a concern. I just didn't see what's the criteria of what should be included or excluded.

@CGMossa CGMossa merged commit cfaff8c into master Nov 13, 2023
@CGMossa CGMossa deleted the remove_fortran_items branch November 13, 2023 00:04
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