1
0
mirror of https://github.com/kalmarek/GroupRings.jl.git synced 2024-12-29 11:00:28 +01:00

stylistic changes to mul!

This commit is contained in:
kalmarek 2019-03-15 08:05:14 +01:00
parent a1bc8e8c2a
commit f6b270696e
No known key found for this signature in database
GPG Key ID: 8BF1A3855328FC15

View File

@ -302,11 +302,11 @@ function mul(a::T, X::GroupRingElem{S}) where {T<:Number, S<:Number}
return GroupRingElem(a.*X.coeffs, parent(X)) return GroupRingElem(a.*X.coeffs, parent(X))
end end
(*)(a::Number, X::GroupRingElem) = mul(a,X) (*)(a::Number, X::GroupRingElem) = mul(a, X)
(*)(X::GroupRingElem, a::Number) = mul(a,X) (*)(X::GroupRingElem, a::Number) = mul(a, X)
# disallow Rings to hijack *(::, ::GroupRingElem) # disallow Rings to hijack *(::, ::GroupRingElem)
*(a::Union{AbstractFloat, Integer, RingElem, Rational}, X::GroupRingElem) = mul(a,X) *(a::Union{AbstractFloat, Integer, RingElem, Rational}, X::GroupRingElem) = mul(a, X)
(/)(X::GroupRingElem, a) = 1/a*X (/)(X::GroupRingElem, a) = 1/a*X
(//)(X::GroupRingElem, a::Union{Integer, Rational}) = 1//a*X (//)(X::GroupRingElem, a::Union{Integer, Rational}) = 1//a*X
@ -376,10 +376,8 @@ function fmac!(result::AbstractVector{T},
end end
@doc doc""" @doc doc"""
GRmul!(result::AbstractVector{T}, GRmul!(result::AbstractVector{T}, X::AbstractVector, Y::AbstractVector,
X::AbstractVector, pm::Matrix{<:Integer}) where {T<:Number}
Y::AbstractVector,
pm::Array{Int,2}) where {T<:Number}
> The most specialised multiplication for `X` and `Y` (intended for `coeffs` of > The most specialised multiplication for `X` and `Y` (intended for `coeffs` of
> `GroupRingElems`), using multiplication table `pm`. > `GroupRingElems`), using multiplication table `pm`.
> Notes: > Notes:
@ -392,7 +390,7 @@ end
function GRmul!(result::AbstractVector{T}, function GRmul!(result::AbstractVector{T},
X::AbstractVector, X::AbstractVector,
Y::AbstractVector, Y::AbstractVector,
pm::Array{Int,2}) where {T<:Number} pm::AbstractMatrix{<:Integer}) where {T<:Number}
z = zero(T) z = zero(T)
result .= z result .= z
@ -400,9 +398,7 @@ function GRmul!(result::AbstractVector{T},
end end
@doc doc""" @doc doc"""
mul!{T}(result::GroupRingElem{T}, mul!(result::GroupRingElem, X::GroupRingElem, Y::GroupRingElem)
X::GroupRingElem,
Y::GroupRingElem)
> In-place multiplication for `GroupRingElem`s `X` and `Y`. > In-place multiplication for `GroupRingElem`s `X` and `Y`.
> `mul!` will make use the initialised entries of `pm` attribute of > `mul!` will make use the initialised entries of `pm` attribute of
> `parent(X)::GroupRing` (if available), and will compute and store in `pm` the > `parent(X)::GroupRing` (if available), and will compute and store in `pm` the