14namespace layer2_discreta {
16#undef INTEGER_M_I_VERBOSE
97 ost <<
" mod " << dom->p.s_i_i();
116#ifdef PRINT_WITH_TYPE
125 cout <<
"error: integer::m_i "
126 "this not an integer, converting\n";
147 cout <<
"integer::compare_with "
148 "a is neither integer nor longinteger\n";
230 cout <<
"integer::mult_to() objectkind of x:";
239 int verbose_level = 1;
240 int f_v = (verbose_level >= 1);
245 cout <<
"integer::invert_to" << endl;
248 cout <<
"integer::invert_to() this not an integer" << endl;
256 cout <<
"integer::invert_to is_GFp_domain" << endl;
262 cout <<
"integer::invert_to a=" << a << endl;
266 cout <<
"integer::invert_to p=" << p << endl;
270 cout <<
"integer::invert_to av=" << av << endl;
277 cout <<
"integer::invert_to is_GFq_domain" << endl;
306 cout <<
"integer::invert_to Orbiter_finite_field domain" << endl;
314 if (i == 1 || i == -1) {
319 cout <<
"integer::invert_to cannot invert " << *
this << endl;
386 cout <<
"integer::add_to() objectkind of x:";
399 cout <<
"integer::negate_to() this not an integer\n";
502 cout <<
"homo_z in GFq, characteristic = " << p << endl;
524 cout <<
"integer::inc() not allowed for GF(q) domain" << endl;
528 cout <<
"integer::inc() not allowed for finite_field domain" << endl;
544 cout <<
"integer::dec() not allowed for GF(q) domain" << endl;
548 cout <<
"integer::dec() not allowed for finite_field domain" << endl;
597 cout <<
"integer::compare_with_euclidean() a is not an integer\n";
615 cout <<
"integer::integral_division() this not an integer\n";
622 cout <<
"integer::integral_division() "
623 "longinteger x cannot be retracted to integer\n";
624 cout <<
"x=" << x << endl;
631 cout <<
"integer::integral_division() "
632 "x is neither integer nor longinteger\n";
640 cout <<
"integer::integral_division() b = " << b <<
"\n";
651 int l = high + 1 - low;
652 double r = (double)
::rand() * (double)l / RAND_MAX;
DISCRETA base class. All DISCRETA classes are derived from this class.
longinteger & as_longinteger()
integer & change_to_integer()
int invert_mod(discreta_base &p)
std::ostream & printobjectkind(std::ostream &)
void add(discreta_base &x, discreta_base &y)
discreta_base & power_int_mod(int l, discreta_base &p)
void copyobject(discreta_base &x)
void mult_mod(discreta_base &x, discreta_base &y, discreta_base &p)
DISCRETA class for influencing arithmetic operations.
layer1_foundations::field_theory::finite_field * get_F()
void add_to(discreta_base &x, discreta_base &y)
std::ostream & print(std::ostream &)
int invert_to(discreta_base &x)
void rand(int low, int high)
void negate_to(discreta_base &x)
void copyobject_to(discreta_base &x)
void normalize(discreta_base &p)
integer & operator=(const discreta_base &x)
int compare_with_euclidean(discreta_base &a)
int compare_with(discreta_base &a)
void integral_division(discreta_base &x, discreta_base &q, discreta_base &r, int verbose_level)
void mult_to(discreta_base &x, discreta_base &y)
DISCRETA class for integers of arbitrary magnitude.
int compare_with(discreta_base &b)
int retract_to_integer_if_possible(integer &x)
void mult_to(discreta_base &x, discreta_base &y)
void add_to(discreta_base &x, discreta_base &y)
DISCRETA class for polynomials in one variable.
void numeric_polynomial(int n, int q)
int polynomial_numeric(int q)
DISCRETA class related to class domain.
int is_Orbiter_finite_field_domain(domain *&d)
int finite_field_domain_characteristic(domain *d)
int is_GFq_domain(domain *&d)
@ LONGINTEGER
LONGINTEGER.
int is_GFp_domain(domain *&d)
int remainder_mod(int i, int n)
int invert_mod_integer(int i, int p)
the orbiter library for the classification of combinatorial objects