don't compare bases when ==(::GroupRing, ::GroupRing)

comparing pm should be enough
This commit is contained in:
kalmarek 2018-08-13 19:34:24 +02:00
parent 4dd2c02a4c
commit f6b31ec2c9
1 changed files with 10 additions and 8 deletions

View File

@ -250,22 +250,24 @@ end
###############################################################################
function (==)(X::GroupRingElem, Y::GroupRingElem)
parent(X) == parent(Y) || return false
if eltype(X.coeffs) != eltype(Y.coeffs)
warn("Comparing elements with different coeffs Rings!")
end
all(X.coeffs .== Y.coeffs) || return false
suppX = supp(X)
suppX == supp(Y) || return false
for g in suppX
X[g] == Y[g] || return false
end
return true
end
function (==)(A::GroupRing, B::GroupRing)
A.group == B.group || return false
if isdefined(A, :basis) && isdefined(B, :basis)
A.basis == B.basis || return false
else
baseless_warn && warn("Bases of GroupRings are not defined, comparing products mats.")
A.pm == B.pm || return false
end
complete!(A)
complete!(B)
A.pm == B.pm || return false
return true
end