-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
fix coercion from libgap's finite fields, use libgap in sage/rings/finite_rings #34770
Comments
This comment has been minimized.
This comment has been minimized.
Commit: |
New commits:
|
comment:4
I've left intact the ability to accept pexpect GAP data to be converted in Sage finite field elements - this means I need a test for this type.
and a call to |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:7
I can also resort to not calling However, there are still explicit tests like
So these tests will have to go as soon as |
comment:9
I am not familiar with libgap and less with GAP... This |
comment:10
Replying to Kwankyu Lee:
Loading In this particular case, you only need One should not use pexpect |
comment:11
the only "real" use of Thus the only possible speed regression can appear in user code, while using pexpect GAP. |
This comment has been minimized.
This comment has been minimized.
comment:12
Replying to Dima Pasechnik:
Why is there a possibility of import exception? The definition of |
comment:13
Replying to Kwankyu Lee:
Great, this will simplify things a bit. It didn't cross my mind that |
comment:14
Replying to Dima Pasechnik:
well, not really, as one still need to import |
comment:15
Do you want to avoid importing from |
comment:16
If this is for modularization purposes in which an import may fail: I am using this idiom for such isinstance tests:
|
comment:17
Replying to Kwankyu Lee:
as a preparation for deprecation and removal. We really don't need |
comment:18
Replying to Matthias Köppe:
It's for coming deprecation and removal, seems to do the job here, too. |
comment:19
Another approach: #34804 Deprecate |
comment:20
Replying to Dima Pasechnik:
For deprecation it will not work so well because modules such as |
comment:21
Replying to Dima Pasechnik:
Okay. So this ticket is not removing pexpect GAP, but just drying it out(not sure if this phrase conveys the meaning). This seems to force you to write clumsy code. How about adding only deprecation warnings without touching actual pexpect GAP code in this ticket, and then remove all of it in another ticket after deprecation period? |
comment:23
Replying to Matthias Köppe:
OK, this is interesting. So this would mean unconditionally importing |
comment:24
Replying to Dima Pasechnik:
Yes.
I've pushed a barebones version to #34804. |
comment:26
OK, how about this? The branch of #34804 should be based on this one. |
comment:27
Yes, looking good. |
comment:28
review? |
comment:29
In this change:
it would be good to use the |
comment:30
Replying to Matthias Köppe:
there are more importings of Why don't we instead go the way we went with |
comment:31
Replying to Dima Pasechnik:
That's also fine |
comment:32
Replying to Matthias Köppe:
Can we do |
comment:33
It's kind of why I suggested to use |
comment:34
Replying to Matthias Köppe:
but we are not doing modularisation of libgap module here. that's why I don't want to |
comment:35
The ticket is introducing a modularization regression by inserting this new module-level import. |
comment:36
Replying to Matthias Köppe:
it replaces one modularization regression with another. There are about 180 |
comment:37
There are no unprotected module-level imports from |
comment:38
Replying to Matthias Köppe:
Do you mean it's OK for you to have imports in functions, say? |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:40
Yes, that's https://doc.sagemath.org/html/en/developer/packaging_sage_library.html#module-level-runtime-dependencies bullet point 2 "Replace module-level imports by method-level imports." |
Reviewer: Matthias Koeppe |
comment:41
LGTM, thanks. |
Changed branch from u/dimpase/rings/FFEs_to_accept_libgap to |
implement coercion from libgap's finite fields, to fix e.g.
With the ticket branch, this works:
As well, we switch to use libgap instead of pexpect GAP - internally
in the affected files. This is a part of #26902
CC: @nbruin @mkoeppe @kwankyu
Component: number theory
Author: Dima Pasechnik
Branch/Commit:
6e5ea79
Reviewer: Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/34770
The text was updated successfully, but these errors were encountered: