The exported signature of `isprime` and `prime` is not useful
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 38/100
Direzione di ricerca
Inizia in src/importexport.jl, nelle definizioni esportate di isprime e prime intorno alle righe 109 e 124, quindi confronta le loro firme Julia con il comportamento mostrato di SymPy. Verifica come dovrebbero essere sottoposte a dispatch le chiamate con interi e SymbolicObject, incluso il caso di un’espressione, e aggiungi o aggiorna test mirati se il repository dispone di una coverage per questi wrapper. Il lavoro è concluso quando le firme esportate non indicano più argomenti espressione non supportati e le chiamate con interi mostrate funzionano come previsto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The exported signature of these two functions are
isprime(ex::SymbolicObject, args...; kwargs...)
prime(ex::SymbolicObject, args...; kwargs...)
However, from its python source code, sympy.prime only accepts integers, and errors if given expressions:
julia> sympy.prime(1)
2
julia> prime(1)
ERROR: MethodError: no method matching prime(::Int64)
Closest candidates are:
prime(::SymPy.SymbolicObject, ::Any...; kwargs...) at C:\Users\melonedo\.julia\packages\SymPy\4256i\src\importexport.jl:124
julia> @vars s
(s,)
julia> prime(s)
ERROR: PyError ($(Expr(:escape, :(ccall(#= C:\Users\melonedo\.julia\packages\PyCall\tqyST\src\pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw))))) <class 'ValueError'>
ValueError('s is not an integer',)
File "C:\Users\melonedo\.julia\conda\3\lib\site-packages\sympy\ntheory\generate.py", line 368, in prime
n = as_int(nth)
File "C:\Users\melonedo\.julia\conda\3\lib\site-packages\sympy\core\compatibility.py", line 425, in as_int
raise ValueError('%s is not an integer' % (n,))
sympy.isprime is only meaningful for integers, and returns false for expression:
julia> sympy.isprime(7)
true
julia> isprime(7)
ERROR: MethodError: no method matching isprime(::Int64)
Closest candidates are:
isprime(::SymPy.SymbolicObject, ::Any...; kwargs...) at C:\Users\melonedo\.julia\packages\SymPy\4256i\src\importexport.jl:109
julia> isprime(s)
false
- Lingua principale
- Julia
- Stelle
- 282
- Fork
- 59
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaPy/SymPy.jl
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
-
Not updated in registryAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Tutte le issue di JuliaPy/SymPy.jl
Issue simili
-
TSDAE's docstring implies a theta argument it does not takeForse già presa @singhharsh1708 l’ha presa oggi. Apertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
SciML/PETScDiffEq.jl#282 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SciML/SciMLBase.jl#1643 ·
I maintainer di solito rispondono entro 2 giorni
-
authority-vechtstromen ready-for-agent
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
Deltares/Ribasim-NL#890 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno