23 void seedInit(
int ss ) { s = ((ss == 0) ? deflt : ss); }
69 if ( i ==
gf_q1 ) i++;
103 ASSERT( 0,
"not a valid random generator" );
108 ASSERT( 0,
"not a valid random generator" );
113 ASSERT( 0,
"not a valid random generator" );
119 ASSERT( v.
level() < 0,
"not an algebraic extension" );
127 ASSERT( v1.
level() < 0 && v2.
level() < 0 && v1 != v2,
"not an algebraic extension" );
148 for (
int i = 0;
i < n;
i++ )
149 result +=
power( algext,
i ) * gen->generate();
generate random elements in GF
void factoryseed(int s)
random seed initializer
int factoryrandom(int n)
random integers with abs less than n
factory's class for variables
InternalCF * int2imm_p(long i)
AlgExtRandomF & operator=(const AlgExtRandomF &)
CanonicalForm getMipo(const Variable &alpha, const Variable &x)
CanonicalForm generate() const
Operations in GF, where GF is a finite field of size less than 2^16 represented by a root of Conway p...
static int max(int a, int b)
CanonicalForm generate() const
CanonicalForm generate() const
InternalCF * int2imm_gf(long i)
generate random elements in F_p
generate random integers, random elements of finite fields
static CFRandom * generate()
const Variable & v
< [in] a sqrfree bivariate poly
generate random elements in F_p(alpha)
CanonicalForm generate() const
operations on immediates, that is elements of F_p, GF, Z, Q that fit into intrinsic int...
virtual class for random element generation
#define ASSERT(expression, message)
operations in a finite prime field F_p.