Merge branch 'master' into enh/pmfree_mul

This commit is contained in:
kalmar 2017-07-25 00:03:02 +02:00
commit 14e9a8505c
1 changed files with 2 additions and 5 deletions

View File

@ -417,9 +417,6 @@ function *{T<:Number, S<:Number}(X::GroupRingElem{T}, Y::GroupRingElem{S}, check
TT = typeof(first(X.coeffs)*first(Y.coeffs))
warn("Multiplying elements with different base rings! Promoting the result to $TT.")
result = mul!(result, X, Y)
return result
if isdefined(parent(X), :basis)
result = parent(X)(similar(X.coeffs))
result = convert(TT, result)
@ -436,11 +433,11 @@ end
function divexact{T}(X::GroupRingElem{T}, Y::GroupRingElem{T})
if length(Y) != 1
throw("Can not divide by a non-primitive element $(Y)!")
throw("Can not divide by a non-primitive element: $(Y)!")
else
idx = findfirst(Y)
c = Y[idx]
c == 0 || throw("Can not invert")
c != 0 || throw("Can not invert: $c not found in $Y")
g = parent(Y).basis[idx]
return X*1//c*parent(Y)(inv(g))
end