Skip to content

Commit f191f1e

Browse files
committed
Simplify rand for UniversalPolyRing
1 parent 0eb3ed5 commit f191f1e

File tree

1 file changed

+3
-35
lines changed

1 file changed

+3
-35
lines changed

src/generic/UnivPoly.jl

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -880,43 +880,11 @@ end
880880
#
881881
###############################################################################
882882

883-
RandomExtensions.maketype(S::AbstractAlgebra.UniversalPolyRing, _, _, _) = elem_type(S)
884-
885-
function RandomExtensions.make(S::AbstractAlgebra.UniversalPolyRing, term_range::AbstractUnitRange{Int},
886-
exp_bound::AbstractUnitRange{Int}, vs...)
887-
R = coefficient_ring(S)
888-
if length(vs) == 1 && elem_type(R) == Random.gentype(vs[1])
889-
Make(S, term_range, exp_bound, vs[1])
890-
else
891-
Make(S, term_range, exp_bound, make(R, vs...))
892-
end
893-
end
894-
895-
function rand(rng::AbstractRNG, sp::SamplerTrivial{<:Make4{
896-
<:RingElement, <:AbstractAlgebra.UniversalPolyRing, <:AbstractUnitRange{Int}, <:AbstractUnitRange{Int}}})
897-
S, term_range, exp_bound, v = sp[][1:end]
898-
f = S()
899-
g = gens(S)
900-
R = coefficient_ring(S)
901-
for i = 1:rand(rng, term_range)
902-
term = S(1)
903-
for j = 1:length(g)
904-
term *= g[j]^rand(rng, exp_bound)
905-
end
906-
term *= rand(rng, v)
907-
f += term
908-
end
909-
return f
883+
function rand(rng::AbstractRNG, S::UniversalPolyRing, args...)
884+
return UnivPoly(rand(rng, make(base_ring(S), args...)), S)
910885
end
911886

912-
function rand(rng::AbstractRNG, S::AbstractAlgebra.UniversalPolyRing,
913-
term_range::AbstractUnitRange{Int}, exp_bound::AbstractUnitRange{Int}, v...)
914-
rand(rng, make(S, term_range, exp_bound, v...))
915-
end
916-
917-
function rand(S::AbstractAlgebra.UniversalPolyRing, term_range, exp_bound, v...)
918-
rand(Random.default_rng(), S, term_range, exp_bound, v...)
919-
end
887+
rand(S::UniversalPolyRing, args...) = rand(Random.default_rng(), S, args...)
920888

921889
###############################################################################
922890
#

0 commit comments

Comments
 (0)