Orbiter 2022
Combinatorial Objects
orbiter::layer2_discreta::discreta_base Class Reference

DISCRETA base class. All DISCRETA classes are derived from this class. More...

#include <discreta.h>

Inheritance diagram for orbiter::layer2_discreta::discreta_base:
Collaboration diagram for orbiter::layer2_discreta::discreta_base:

Public Member Functions

 discreta_base ()
 
 discreta_base (const discreta_base &x)
 
discreta_baseoperator= (const discreta_base &x)
 
virtual ~discreta_base ()
 
void freeself_discreta_base ()
 
void freeself ()
 
void freeself_kind (kind k)
 
void clearself ()
 
integeras_integer ()
 
longintegeras_longinteger ()
 
Vectoras_vector ()
 
permutationas_permutation ()
 
number_partitionas_number_partition ()
 
discreta_matrixas_matrix ()
 
unipolyas_unipoly ()
 
memoryas_memory ()
 
hollerithas_hollerith ()
 
bt_keyas_bt_key ()
 
databaseas_database ()
 
btreeas_btree ()
 
design_parameter_sourceas_design_parameter_source ()
 
design_parameteras_design_parameter ()
 
integerchange_to_integer ()
 
longintegerchange_to_longinteger ()
 
Vectorchange_to_vector ()
 
permutationchange_to_permutation ()
 
number_partitionchange_to_number_partition ()
 
discreta_matrixchange_to_matrix ()
 
unipolychange_to_unipoly ()
 
memorychange_to_memory ()
 
hollerithchange_to_hollerith ()
 
bt_keychange_to_bt_key ()
 
databasechange_to_database ()
 
btreechange_to_btree ()
 
design_parameter_sourcechange_to_design_parameter_source ()
 
design_parameterchange_to_design_parameter ()
 
void * operator new (size_t, void *p)
 
void settype_base ()
 
kind s_kind ()
 
virtual kind s_virtual_kind ()
 
void c_kind (kind k)
 
void swap (discreta_base &a)
 
void copyobject (discreta_base &x)
 
virtual void copyobject_to (discreta_base &x)
 
virtual std::ostream & print (std::ostream &)
 
void print_to_hollerith (hollerith &h)
 
std::ostream & println (std::ostream &)
 
std::ostream & printobjectkind (std::ostream &)
 
std::ostream & printobjectkindln (std::ostream &)
 
int & s_i_i ()
 
void m_i_i (int i)
 
virtual int compare_with (discreta_base &a)
 
int eq (discreta_base &a)
 
int neq (discreta_base &a)
 
int le (discreta_base &a)
 
int lt (discreta_base &a)
 
int ge (discreta_base &a)
 
int gt (discreta_base &a)
 
int is_even ()
 
int is_odd ()
 
void mult (discreta_base &x, discreta_base &y)
 
void mult_mod (discreta_base &x, discreta_base &y, discreta_base &p)
 
virtual void mult_to (discreta_base &x, discreta_base &y)
 
int invert ()
 
int invert_mod (discreta_base &p)
 
virtual int invert_to (discreta_base &x)
 
void mult_apply (discreta_base &x)
 
discreta_baseoperator*= (discreta_base &y)
 
discreta_basepower_int (int l)
 
discreta_basepower_int_mod (int l, discreta_base &p)
 
discreta_basepower_longinteger (longinteger &l)
 
discreta_basepower_longinteger_mod (longinteger &l, discreta_base &p)
 
discreta_basecommutator (discreta_base &x, discreta_base &y)
 
discreta_baseconjugate (discreta_base &x, discreta_base &y)
 
discreta_basedivide_by (discreta_base &x)
 
discreta_basedivide_by_exact (discreta_base &x)
 
int order ()
 
int order_mod (discreta_base &p)
 
void add (discreta_base &x, discreta_base &y)
 
void add_mod (discreta_base &x, discreta_base &y, discreta_base &p)
 
virtual void add_to (discreta_base &x, discreta_base &y)
 
void negate ()
 
virtual void negate_to (discreta_base &x)
 
void add_apply (discreta_base &x)
 
discreta_baseoperator+= (discreta_base &y)
 
virtual void normalize (discreta_base &p)
 
virtual void zero ()
 
virtual void one ()
 
virtual void m_one ()
 
virtual void homo_z (int z)
 
virtual void inc ()
 
virtual void dec ()
 
virtual int is_zero ()
 
virtual int is_one ()
 
virtual int is_m_one ()
 
discreta_basefactorial (int z)
 
discreta_basei_power_j (int i, int j)
 
virtual int compare_with_euclidean (discreta_base &a)
 
virtual void integral_division (discreta_base &x, discreta_base &q, discreta_base &r, int verbose_level)
 
void integral_division_exact (discreta_base &x, discreta_base &q)
 
void integral_division_by_integer (int x, discreta_base &q, discreta_base &r)
 
void integral_division_by_integer_exact (int x, discreta_base &q)
 
void integral_division_by_integer_exact_apply (int x)
 
int is_divisor (discreta_base &y)
 
void modulo (discreta_base &p)
 
void extended_gcd (discreta_base &n, discreta_base &u, discreta_base &v, discreta_base &g, int verbose_level)
 
void write_memory (memory &m, int debug_depth)
 
void read_memory (memory &m, int debug_depth)
 
int calc_size_on_file ()
 
void pack (memory &M, int verbose_level, int debug_depth)
 
void unpack (memory &M, int verbose_level, int debug_depth)
 
void save_ascii (std::ostream &f)
 
void load_ascii (std::istream &f)
 
void save_file (const char *fname)
 
void load_file (const char *fname)
 

Public Attributes

kind k
 
OBJECTSELF self
 

Detailed Description

DISCRETA base class. All DISCRETA classes are derived from this class.

Definition at line 381 of file discreta.h.

Constructor & Destructor Documentation

◆ discreta_base() [1/2]

orbiter::layer2_discreta::discreta_base::discreta_base ( )

Definition at line 19 of file base.cpp.

◆ discreta_base() [2/2]

orbiter::layer2_discreta::discreta_base::discreta_base ( const discreta_base x)

Definition at line 25 of file base.cpp.

◆ ~discreta_base()

orbiter::layer2_discreta::discreta_base::~discreta_base ( )
virtual

Definition at line 49 of file base.cpp.

Member Function Documentation

◆ add()

void orbiter::layer2_discreta::discreta_base::add ( discreta_base x,
discreta_base y 
)

Definition at line 674 of file base.cpp.

◆ add_apply()

void orbiter::layer2_discreta::discreta_base::add_apply ( discreta_base x)

Definition at line 724 of file base.cpp.

◆ add_mod()

void orbiter::layer2_discreta::discreta_base::add_mod ( discreta_base x,
discreta_base y,
discreta_base p 
)

Definition at line 680 of file base.cpp.

◆ add_to()

void orbiter::layer2_discreta::discreta_base::add_to ( discreta_base x,
discreta_base y 
)
virtual

◆ as_bt_key()

bt_key & orbiter::layer2_discreta::discreta_base::as_bt_key ( )
inline

Definition at line 413 of file discreta.h.

◆ as_btree()

btree & orbiter::layer2_discreta::discreta_base::as_btree ( )
inline

Definition at line 415 of file discreta.h.

◆ as_database()

database & orbiter::layer2_discreta::discreta_base::as_database ( )
inline

Definition at line 414 of file discreta.h.

◆ as_design_parameter()

design_parameter & orbiter::layer2_discreta::discreta_base::as_design_parameter ( )
inline

Definition at line 417 of file discreta.h.

◆ as_design_parameter_source()

design_parameter_source & orbiter::layer2_discreta::discreta_base::as_design_parameter_source ( )
inline

Definition at line 416 of file discreta.h.

◆ as_hollerith()

hollerith & orbiter::layer2_discreta::discreta_base::as_hollerith ( )
inline

Definition at line 412 of file discreta.h.

◆ as_integer()

integer & orbiter::layer2_discreta::discreta_base::as_integer ( )
inline

Definition at line 402 of file discreta.h.

◆ as_longinteger()

longinteger & orbiter::layer2_discreta::discreta_base::as_longinteger ( )
inline

Definition at line 403 of file discreta.h.

◆ as_matrix()

discreta_matrix & orbiter::layer2_discreta::discreta_base::as_matrix ( )
inline

Definition at line 408 of file discreta.h.

◆ as_memory()

memory & orbiter::layer2_discreta::discreta_base::as_memory ( )
inline

Definition at line 410 of file discreta.h.

◆ as_number_partition()

number_partition & orbiter::layer2_discreta::discreta_base::as_number_partition ( )
inline

Definition at line 407 of file discreta.h.

◆ as_permutation()

permutation & orbiter::layer2_discreta::discreta_base::as_permutation ( )
inline

Definition at line 405 of file discreta.h.

◆ as_unipoly()

unipoly & orbiter::layer2_discreta::discreta_base::as_unipoly ( )
inline

Definition at line 409 of file discreta.h.

◆ as_vector()

Vector & orbiter::layer2_discreta::discreta_base::as_vector ( )
inline

Definition at line 404 of file discreta.h.

◆ c_kind()

void orbiter::layer2_discreta::discreta_base::c_kind ( kind  k)

Definition at line 141 of file base.cpp.

◆ calc_size_on_file()

int orbiter::layer2_discreta::discreta_base::calc_size_on_file ( )

Definition at line 1291 of file base.cpp.

◆ change_to_bt_key()

bt_key & orbiter::layer2_discreta::discreta_base::change_to_bt_key ( )
inline

Definition at line 428 of file discreta.h.

◆ change_to_btree()

btree & orbiter::layer2_discreta::discreta_base::change_to_btree ( )
inline

Definition at line 430 of file discreta.h.

◆ change_to_database()

database & orbiter::layer2_discreta::discreta_base::change_to_database ( )
inline

Definition at line 429 of file discreta.h.

◆ change_to_design_parameter()

design_parameter & orbiter::layer2_discreta::discreta_base::change_to_design_parameter ( )
inline

Definition at line 432 of file discreta.h.

◆ change_to_design_parameter_source()

design_parameter_source & orbiter::layer2_discreta::discreta_base::change_to_design_parameter_source ( )
inline

Definition at line 431 of file discreta.h.

◆ change_to_hollerith()

hollerith & orbiter::layer2_discreta::discreta_base::change_to_hollerith ( )
inline

Definition at line 427 of file discreta.h.

◆ change_to_integer()

integer & orbiter::layer2_discreta::discreta_base::change_to_integer ( )
inline

Definition at line 419 of file discreta.h.

◆ change_to_longinteger()

longinteger & orbiter::layer2_discreta::discreta_base::change_to_longinteger ( )
inline

Definition at line 420 of file discreta.h.

◆ change_to_matrix()

discreta_matrix & orbiter::layer2_discreta::discreta_base::change_to_matrix ( )
inline

Definition at line 424 of file discreta.h.

◆ change_to_memory()

memory & orbiter::layer2_discreta::discreta_base::change_to_memory ( )
inline

Definition at line 426 of file discreta.h.

◆ change_to_number_partition()

number_partition & orbiter::layer2_discreta::discreta_base::change_to_number_partition ( )
inline

Definition at line 423 of file discreta.h.

◆ change_to_permutation()

permutation & orbiter::layer2_discreta::discreta_base::change_to_permutation ( )
inline

Definition at line 422 of file discreta.h.

◆ change_to_unipoly()

unipoly & orbiter::layer2_discreta::discreta_base::change_to_unipoly ( )
inline

Definition at line 425 of file discreta.h.

◆ change_to_vector()

Vector & orbiter::layer2_discreta::discreta_base::change_to_vector ( )
inline

Definition at line 421 of file discreta.h.

◆ clearself()

void orbiter::layer2_discreta::discreta_base::clearself ( )
inline

Definition at line 400 of file discreta.h.

◆ commutator()

discreta_base & orbiter::layer2_discreta::discreta_base::commutator ( discreta_base x,
discreta_base y 
)

Definition at line 589 of file base.cpp.

◆ compare_with()

◆ compare_with_euclidean()

int orbiter::layer2_discreta::discreta_base::compare_with_euclidean ( discreta_base a)
virtual

◆ conjugate()

discreta_base & orbiter::layer2_discreta::discreta_base::conjugate ( discreta_base x,
discreta_base y 
)

Definition at line 604 of file base.cpp.

◆ copyobject()

void orbiter::layer2_discreta::discreta_base::copyobject ( discreta_base x)

Definition at line 194 of file base.cpp.

◆ copyobject_to()

◆ dec()

void orbiter::layer2_discreta::discreta_base::dec ( )
virtual

◆ divide_by()

discreta_base & orbiter::layer2_discreta::discreta_base::divide_by ( discreta_base x)

Definition at line 621 of file base.cpp.

◆ divide_by_exact()

discreta_base & orbiter::layer2_discreta::discreta_base::divide_by_exact ( discreta_base x)

Definition at line 629 of file base.cpp.

◆ eq()

int orbiter::layer2_discreta::discreta_base::eq ( discreta_base a)

Definition at line 287 of file base.cpp.

◆ extended_gcd()

void orbiter::layer2_discreta::discreta_base::extended_gcd ( discreta_base n,
discreta_base u,
discreta_base v,
discreta_base g,
int  verbose_level 
)

Definition at line 972 of file base.cpp.

◆ factorial()

discreta_base & orbiter::layer2_discreta::discreta_base::factorial ( int  z)

Definition at line 859 of file base.cpp.

◆ freeself()

void orbiter::layer2_discreta::discreta_base::freeself ( )

Definition at line 72 of file base.cpp.

◆ freeself_discreta_base()

void orbiter::layer2_discreta::discreta_base::freeself_discreta_base ( )

Definition at line 57 of file base.cpp.

◆ freeself_kind()

void orbiter::layer2_discreta::discreta_base::freeself_kind ( kind  k)

Definition at line 77 of file base.cpp.

◆ ge()

int orbiter::layer2_discreta::discreta_base::ge ( discreta_base a)

Definition at line 325 of file base.cpp.

◆ gt()

int orbiter::layer2_discreta::discreta_base::gt ( discreta_base a)

Definition at line 334 of file base.cpp.

◆ homo_z()

void orbiter::layer2_discreta::discreta_base::homo_z ( int  z)
virtual

Reimplemented in orbiter::layer2_discreta::integer, and orbiter::layer2_discreta::longinteger.

Definition at line 784 of file base.cpp.

◆ i_power_j()

discreta_base & orbiter::layer2_discreta::discreta_base::i_power_j ( int  i,
int  j 
)

Definition at line 873 of file base.cpp.

◆ inc()

void orbiter::layer2_discreta::discreta_base::inc ( )
virtual

◆ integral_division()

void orbiter::layer2_discreta::discreta_base::integral_division ( discreta_base x,
discreta_base q,
discreta_base r,
int  verbose_level 
)
virtual

◆ integral_division_by_integer()

void orbiter::layer2_discreta::discreta_base::integral_division_by_integer ( int  x,
discreta_base q,
discreta_base r 
)

Definition at line 926 of file base.cpp.

◆ integral_division_by_integer_exact()

void orbiter::layer2_discreta::discreta_base::integral_division_by_integer_exact ( int  x,
discreta_base q 
)

Definition at line 935 of file base.cpp.

◆ integral_division_by_integer_exact_apply()

void orbiter::layer2_discreta::discreta_base::integral_division_by_integer_exact_apply ( int  x)

Definition at line 944 of file base.cpp.

◆ integral_division_exact()

void orbiter::layer2_discreta::discreta_base::integral_division_exact ( discreta_base x,
discreta_base q 
)

Definition at line 907 of file base.cpp.

◆ invert()

int orbiter::layer2_discreta::discreta_base::invert ( )

Definition at line 395 of file base.cpp.

◆ invert_mod()

int orbiter::layer2_discreta::discreta_base::invert_mod ( discreta_base p)

Definition at line 407 of file base.cpp.

◆ invert_to()

int orbiter::layer2_discreta::discreta_base::invert_to ( discreta_base x)
virtual

◆ is_divisor()

int orbiter::layer2_discreta::discreta_base::is_divisor ( discreta_base y)

Definition at line 953 of file base.cpp.

◆ is_even()

int orbiter::layer2_discreta::discreta_base::is_even ( )

Definition at line 343 of file base.cpp.

◆ is_m_one()

int orbiter::layer2_discreta::discreta_base::is_m_one ( )
virtual

Reimplemented in orbiter::layer2_discreta::integer, and orbiter::layer2_discreta::longinteger.

Definition at line 847 of file base.cpp.

◆ is_odd()

int orbiter::layer2_discreta::discreta_base::is_odd ( )

Definition at line 355 of file base.cpp.

◆ is_one()

◆ is_zero()

int orbiter::layer2_discreta::discreta_base::is_zero ( )
virtual

◆ le()

int orbiter::layer2_discreta::discreta_base::le ( discreta_base a)

Definition at line 305 of file base.cpp.

◆ load_ascii()

void orbiter::layer2_discreta::discreta_base::load_ascii ( std::istream &  f)

Definition at line 1478 of file base.cpp.

◆ load_file()

void orbiter::layer2_discreta::discreta_base::load_file ( const char *  fname)

Definition at line 1578 of file base.cpp.

◆ lt()

int orbiter::layer2_discreta::discreta_base::lt ( discreta_base a)

Definition at line 314 of file base.cpp.

◆ m_i_i()

void orbiter::layer2_discreta::discreta_base::m_i_i ( int  i)

Definition at line 268 of file base.cpp.

◆ m_one()

void orbiter::layer2_discreta::discreta_base::m_one ( )
virtual

Reimplemented in orbiter::layer2_discreta::integer, and orbiter::layer2_discreta::longinteger.

Definition at line 771 of file base.cpp.

◆ modulo()

void orbiter::layer2_discreta::discreta_base::modulo ( discreta_base p)

Definition at line 964 of file base.cpp.

◆ mult()

void orbiter::layer2_discreta::discreta_base::mult ( discreta_base x,
discreta_base y 
)

Definition at line 367 of file base.cpp.

◆ mult_apply()

void orbiter::layer2_discreta::discreta_base::mult_apply ( discreta_base x)

Definition at line 436 of file base.cpp.

◆ mult_mod()

void orbiter::layer2_discreta::discreta_base::mult_mod ( discreta_base x,
discreta_base y,
discreta_base p 
)

Definition at line 372 of file base.cpp.

◆ mult_to()

◆ negate()

void orbiter::layer2_discreta::discreta_base::negate ( )

Definition at line 703 of file base.cpp.

◆ negate_to()

void orbiter::layer2_discreta::discreta_base::negate_to ( discreta_base x)
virtual

◆ neq()

int orbiter::layer2_discreta::discreta_base::neq ( discreta_base a)

Definition at line 296 of file base.cpp.

◆ normalize()

void orbiter::layer2_discreta::discreta_base::normalize ( discreta_base p)
virtual

Reimplemented in orbiter::layer2_discreta::integer, and orbiter::layer2_discreta::unipoly.

Definition at line 732 of file base.cpp.

◆ one()

◆ operator new()

void * orbiter::layer2_discreta::discreta_base::operator new ( size_t  ,
void *  p 
)
inline

Definition at line 434 of file discreta.h.

◆ operator*=()

discreta_base & orbiter::layer2_discreta::discreta_base::operator*= ( discreta_base y)
inline

Definition at line 495 of file discreta.h.

◆ operator+=()

discreta_base & orbiter::layer2_discreta::discreta_base::operator+= ( discreta_base y)
inline

Definition at line 524 of file discreta.h.

◆ operator=()

discreta_base & orbiter::layer2_discreta::discreta_base::operator= ( const discreta_base x)

Definition at line 40 of file base.cpp.

◆ order()

int orbiter::layer2_discreta::discreta_base::order ( )

Definition at line 639 of file base.cpp.

◆ order_mod()

int orbiter::layer2_discreta::discreta_base::order_mod ( discreta_base p)

Definition at line 659 of file base.cpp.

◆ pack()

void orbiter::layer2_discreta::discreta_base::pack ( memory M,
int  verbose_level,
int  debug_depth 
)

Definition at line 1387 of file base.cpp.

◆ power_int()

discreta_base & orbiter::layer2_discreta::discreta_base::power_int ( int  l)

Definition at line 447 of file base.cpp.

◆ power_int_mod()

discreta_base & orbiter::layer2_discreta::discreta_base::power_int_mod ( int  l,
discreta_base p 
)

Definition at line 499 of file base.cpp.

◆ power_longinteger()

discreta_base & orbiter::layer2_discreta::discreta_base::power_longinteger ( longinteger l)

Definition at line 526 of file base.cpp.

◆ power_longinteger_mod()

discreta_base & orbiter::layer2_discreta::discreta_base::power_longinteger_mod ( longinteger l,
discreta_base p 
)

Definition at line 558 of file base.cpp.

◆ print()

◆ print_to_hollerith()

void orbiter::layer2_discreta::discreta_base::print_to_hollerith ( hollerith h)

Definition at line 231 of file base.cpp.

◆ println()

ostream & orbiter::layer2_discreta::discreta_base::println ( std::ostream &  )

Definition at line 225 of file base.cpp.

◆ printobjectkind()

ostream & orbiter::layer2_discreta::discreta_base::printobjectkind ( std::ostream &  )

Definition at line 246 of file base.cpp.

◆ printobjectkindln()

ostream & orbiter::layer2_discreta::discreta_base::printobjectkindln ( std::ostream &  )

Definition at line 252 of file base.cpp.

◆ read_memory()

void orbiter::layer2_discreta::discreta_base::read_memory ( memory m,
int  debug_depth 
)

Definition at line 1201 of file base.cpp.

◆ s_i_i()

int & orbiter::layer2_discreta::discreta_base::s_i_i ( )

Definition at line 258 of file base.cpp.

◆ s_kind()

kind orbiter::layer2_discreta::discreta_base::s_kind ( )

Definition at line 121 of file base.cpp.

◆ s_virtual_kind()

◆ save_ascii()

void orbiter::layer2_discreta::discreta_base::save_ascii ( std::ostream &  f)

Definition at line 1425 of file base.cpp.

◆ save_file()

void orbiter::layer2_discreta::discreta_base::save_file ( const char *  fname)

Definition at line 1571 of file base.cpp.

◆ settype_base()

void orbiter::layer2_discreta::discreta_base::settype_base ( )

Definition at line 110 of file base.cpp.

◆ swap()

void orbiter::layer2_discreta::discreta_base::swap ( discreta_base a)

Definition at line 179 of file base.cpp.

◆ unpack()

void orbiter::layer2_discreta::discreta_base::unpack ( memory M,
int  verbose_level,
int  debug_depth 
)

Definition at line 1418 of file base.cpp.

◆ write_memory()

void orbiter::layer2_discreta::discreta_base::write_memory ( memory m,
int  debug_depth 
)

Definition at line 1103 of file base.cpp.

◆ zero()

void orbiter::layer2_discreta::discreta_base::zero ( )
virtual

Member Data Documentation

◆ k

kind orbiter::layer2_discreta::discreta_base::k

Definition at line 387 of file discreta.h.

◆ self

OBJECTSELF orbiter::layer2_discreta::discreta_base::self

Definition at line 388 of file discreta.h.


The documentation for this class was generated from the following files: