@@ -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)
910885end
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