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

Implement __index__ for PARI Gen #22319

Closed
defeo opened this issue Feb 6, 2017 · 14 comments
Closed

Implement __index__ for PARI Gen #22319

defeo opened this issue Feb 6, 2017 · 14 comments

Comments

@defeo
Copy link
Member

defeo commented Feb 6, 2017

Pari integers cannot be used to index lists:

sage: [1,2][pari(1)]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-f2823fec0752> in <module>()
----> 1 [Integer(1),Integer(2)][pari(Integer(1))]

TypeError: list indices must be integers, not sage.libs.cypari2.gen.Gen

With this ticket

sage: [1,2][pari(1)]
2

Incidentally, this also fixes pow

sage: 1^pari(1)
1

CC: @jdemeyer @videlec

Component: interfaces

Keywords: PARI, rd3

Author: Jeroen Demeyer

Branch/Commit: 50593d6

Reviewer: Luca De Feo

Issue created by migration from https://trac.sagemath.org/ticket/22319

@defeo defeo added this to the sage-7.6 milestone Feb 6, 2017
@jdemeyer jdemeyer changed the title Coercion broken in pow for PARI exponents Implement __index__ for PARI Gen Feb 7, 2017
@jdemeyer
Copy link

jdemeyer commented Feb 7, 2017

Author: Jeroen Demeyer

@jdemeyer
Copy link

jdemeyer commented Feb 7, 2017

@jdemeyer
Copy link

jdemeyer commented Feb 7, 2017

New commits:

0348e00Implement `__index__` for PARI Gen

@jdemeyer
Copy link

jdemeyer commented Feb 7, 2017

Commit: 0348e00

@defeo
Copy link
Member Author

defeo commented Feb 7, 2017

comment:5

This only solves part of the issue:

sage: 2^1.5
2.82842712474619
sage: 2^pari(1.5)
---------------------------------------------------------------------------
PariError                                 Traceback (most recent call last)
...
PariError: incorrect type in coercion to integer (t_REAL)

@jdemeyer
Copy link

jdemeyer commented Feb 7, 2017

comment:6

Feel free to create a new ticket for other related issues.

@jdemeyer
Copy link

jdemeyer commented Feb 7, 2017

comment:7

Although the exception type could be improved...

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 7, 2017

Changed commit from 0348e00 to 50593d6

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 7, 2017

Branch pushed to git repo; I updated commit sha1. New commits:

50593d6Minor fixes to __index__

@defeo
Copy link
Member Author

defeo commented Feb 7, 2017

comment:10

I call this "ticket hijacking" :p

@defeo
Copy link
Member Author

defeo commented Feb 7, 2017

Reviewer: Luca De Feo

@defeo

This comment has been minimized.

@defeo
Copy link
Member Author

defeo commented Feb 7, 2017

Changed keywords from PARI to PARI, rd3

@vbraun
Copy link
Member

vbraun commented Feb 12, 2017

Changed branch from u/jdemeyer/implement___index___for_pari_gen to 50593d6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants