Would folks find it useful if mod(z,m)
worked when z
is a Gaussian integer? This is easy enough to implement:
import Base.mod
function mod(z::Complex{T}, m::Integer) where T<:Integer
a,b = reim(z)
return mod(a,m) + mod(b,m)*im
end
I’m wondering if this should be included in Base
?
5 Likes
In the package Grassmann
I implemented such a method which applies mod
to each coefficient in the TensorAlgebra
, so I don’t see any issue with doing the same for Complex
also. It wouldn’t cause any issues as far as I am aware. Try making a PR?
Have a look at https://github.com/JuliaLang/julia/pull/35374. If you are interested in this, fell free to bump that PR.
1 Like
Thanks folks, but I’m sufficiently inept at git that I wouldn’t know how to do the things you suggest. I’m just going to add Complex
support to my Mods
package.
That PR only has mod(::Complex, ::Complex)
, unless I’m missing something?
I filed an issue (mod(::Complex{<:Integer}, ::Integer) and div etc. · Issue #37376 · JuliaLang/julia · GitHub) — should be an easy first PR for someone wants to get their feet wet with contributing to Julia.
2 Likes