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

Move arith.gi to JuliaInterface; add methods for EQ and LT, add some tests #132

Merged
merged 6 commits into from
Nov 6, 2018

Conversation

fingolfin
Copy link
Member

Contains PR #127

... for consistency in the auto-conversion behaviour of JuliaInterface versus
LibGAP.jl, and for ease of use.

There is more work to be done here, though, and we need to properly
document the rules for when and where which conversion is applied,
and why.
These are convenience helpers, it seems plausible to always load them,
just like we do with their counterparts written in Julia (in LibGAP.jl)
@codecov
Copy link

codecov bot commented Nov 5, 2018

Codecov Report

Merging #132 into master will decrease coverage by 0.04%.
The diff coverage is 95.83%.

@@            Coverage Diff             @@
##           master     #132      +/-   ##
==========================================
- Coverage   54.33%   54.28%   -0.05%     
==========================================
  Files          44       44              
  Lines        2632     2590      -42     
==========================================
- Hits         1430     1406      -24     
+ Misses       1202     1184      -18
Impacted Files Coverage Δ
JuliaExperimental/read.g 96.55% <ø> (-0.23%) ⬇️
JuliaInterface/gap/JuliaInterface.gi 91.97% <100%> (-0.48%) ⬇️
JuliaInterface/gap/JuliaInterface.gd 100% <100%> (ø) ⬆️
JuliaInterface/read.g 100% <100%> (+7.69%) ⬆️
JuliaInterface/src/calls.c 94.26% <100%> (+0.27%) ⬆️
JuliaInterface/src/JuliaInterface.c 88.34% <83.33%> (+0.24%) ⬆️
JuliaInterface/gap/arith.gi 96.66% <96.66%> (ø)
JuliaExperimental/gap/hnf.g 42.85% <0%> (ø) ⬆️
... and 12 more

Copy link
Contributor

@sebasguts sebasguts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aprroving this for now, as I think all the changes are good and concerns were adressed in #127.

About ariths.gi: I would really rather move this functionality into the c code. Do you see any obstacles with it?

@sebasguts sebasguts merged commit 9aba162 into oscar-system:master Nov 6, 2018
@fingolfin fingolfin deleted the mh/arith branch November 6, 2018 09:11
@fingolfin
Copy link
Member Author

I don't see an obstacle, but I am also not sure how much of an advantage there is. Would be useful to at least benchmark it, to get an idea. That said, I really think that all these convenience functions should not be used by code that wants highest performance: If you need to add a million Julia objects, don't write a GAP loop using GAP's wrapper around Julia's +; instead, write a Julia loop doing that and call it from GAP.

The advantage of keeping the code in GAP then is that it is very easy to debug and maintain there, and also to add new mappings. So, if I may make a recommendation, I'd leave arith.gi as it is for now, and at most add a TODO / an issue mentioning the possibility of replacing those by GAP kernel functions (installed into the various tables, like EqFuncs etc.), in the future. Then, let's focus on other things for now :).

@sebasguts
Copy link
Contributor

Agreed.

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