JuliaPy / JuliaPy/PyCall.jl

Binary operators (+-/*) don't auto convert to Julia Types

Aperta
#769 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Julia
Stelle
1.5k
Fork
186
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

```
julia> using PyCall
julia> np=pyimport("numpy")
julia> a=PyCall.NpyArray(rand(3,2), false)
PyObject array([[0.82703672, 0.52055539],
[0.33942729, 0.33577722],
[0.49147636, 0.67564576]])

julia> np.exp(a) # autoconverts to a julia type
3×2 Array{Float64,2}:
2.28653 1.68296
1.40414 1.39903
1.63473 1.9653

julia> a * 2 # does not auto convert
PyObject array([[1.65407344, 1.04111078],
[0.67885458, 0.67155445],
[0.98295273, 1.35129152]])

```

This is because in [pyoperators.jl](https://github.com/JuliaPy/PyCall.jl/blob/1d0d17d4095962613fd97021407bd10a9a51c015/src/pyoperators.jl#L11) a PyObject is returned.

Maybe to be consistent with other function calls a `convert(PyAny, ...)` should be added?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.