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

DISCRETA class for integers of arbitrary magnitude. More...

#include <discreta.h>

Inheritance diagram for orbiter::layer2_discreta::longinteger:
Collaboration diagram for orbiter::layer2_discreta::longinteger:

Public Member Functions

 longinteger ()
 
 longinteger (int a)
 
 longinteger (const char *s)
 
 longinteger (const discreta_base &x)
 
longintegeroperator= (const discreta_base &x)
 
void * operator new (size_t, void *p)
 
void settype_longinteger ()
 
 ~longinteger ()
 
void freeself_longinteger ()
 
kind s_virtual_kind ()
 
void copyobject_to (discreta_base &x)
 
std::ostream & print (std::ostream &)
 
LONGINTEGER_REPRESENTATIONs_rep ()
 
int & s_sign ()
 
int & s_len ()
 
char & s_p (int i)
 
void allocate (int sign, const char *p)
 
void allocate_internal (int sign, int len, const char *p)
 
void allocate_empty (int len)
 
void normalize_representation ()
 
int compare_with (discreta_base &b)
 
int compare_with_unsigned (longinteger &b)
 
void mult_to (discreta_base &x, discreta_base &y)
 
int invert_to (discreta_base &x)
 
void add_to (discreta_base &x, discreta_base &y)
 
void negate_to (discreta_base &x)
 
void zero ()
 
void one ()
 
void m_one ()
 
void homo_z (int z)
 
void inc ()
 
void dec ()
 
int is_zero ()
 
int is_one ()
 
int is_m_one ()
 
int is_even ()
 
int is_odd ()
 
int compare_with_euclidean (discreta_base &b)
 
void integral_division (discreta_base &x, discreta_base &q, discreta_base &r, int verbose_level)
 
void square_root_floor (discreta_base &x)
 
longintegerMersenne (int n)
 
longintegerFermat (int n)
 
int s_i ()
 
int retract_to_integer_if_possible (integer &x)
 
int modp (int p)
 
int ny_p (int p)
 
void divide_out_int (int d)
 
int Lucas_test_Mersenne (int m, int verbose_level)
 
- Public Member Functions inherited from orbiter::layer2_discreta::discreta_base
 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)
 

Additional Inherited Members

- Public Attributes inherited from orbiter::layer2_discreta::discreta_base
kind k
 
OBJECTSELF self
 

Detailed Description

DISCRETA class for integers of arbitrary magnitude.

Definition at line 726 of file discreta.h.

Constructor & Destructor Documentation

◆ longinteger() [1/4]

orbiter::layer2_discreta::longinteger::longinteger ( )

Definition at line 23 of file longinteger.cpp.

◆ longinteger() [2/4]

orbiter::layer2_discreta::longinteger::longinteger ( int  a)

Definition at line 29 of file longinteger.cpp.

◆ longinteger() [3/4]

orbiter::layer2_discreta::longinteger::longinteger ( const char *  s)

Definition at line 45 of file longinteger.cpp.

◆ longinteger() [4/4]

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

Definition at line 57 of file longinteger.cpp.

◆ ~longinteger()

orbiter::layer2_discreta::longinteger::~longinteger ( )

Definition at line 80 of file longinteger.cpp.

Member Function Documentation

◆ add_to()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 363 of file longinteger.cpp.

◆ allocate()

void orbiter::layer2_discreta::longinteger::allocate ( int  sign,
const char *  p 
)

Definition at line 159 of file longinteger.cpp.

◆ allocate_empty()

void orbiter::layer2_discreta::longinteger::allocate_empty ( int  len)

Definition at line 191 of file longinteger.cpp.

◆ allocate_internal()

void orbiter::layer2_discreta::longinteger::allocate_internal ( int  sign,
int  len,
const char *  p 
)

Definition at line 176 of file longinteger.cpp.

◆ compare_with()

int orbiter::layer2_discreta::longinteger::compare_with ( discreta_base b)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 221 of file longinteger.cpp.

◆ compare_with_euclidean()

int orbiter::layer2_discreta::longinteger::compare_with_euclidean ( discreta_base b)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 569 of file longinteger.cpp.

◆ compare_with_unsigned()

int orbiter::layer2_discreta::longinteger::compare_with_unsigned ( longinteger b)

Definition at line 261 of file longinteger.cpp.

◆ copyobject_to()

void orbiter::layer2_discreta::longinteger::copyobject_to ( discreta_base x)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 99 of file longinteger.cpp.

◆ dec()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 522 of file longinteger.cpp.

◆ divide_out_int()

void orbiter::layer2_discreta::longinteger::divide_out_int ( int  d)

Definition at line 860 of file longinteger.cpp.

◆ Fermat()

longinteger & orbiter::layer2_discreta::longinteger::Fermat ( int  n)

Definition at line 792 of file longinteger.cpp.

◆ freeself_longinteger()

void orbiter::layer2_discreta::longinteger::freeself_longinteger ( )

Definition at line 86 of file longinteger.cpp.

◆ homo_z()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 506 of file longinteger.cpp.

◆ inc()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 516 of file longinteger.cpp.

◆ integral_division()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 594 of file longinteger.cpp.

◆ invert_to()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 353 of file longinteger.cpp.

◆ is_even()

int orbiter::layer2_discreta::longinteger::is_even ( )

Definition at line 555 of file longinteger.cpp.

◆ is_m_one()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 546 of file longinteger.cpp.

◆ is_odd()

int orbiter::layer2_discreta::longinteger::is_odd ( )

Definition at line 562 of file longinteger.cpp.

◆ is_one()

int orbiter::layer2_discreta::longinteger::is_one ( )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 537 of file longinteger.cpp.

◆ is_zero()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 528 of file longinteger.cpp.

◆ Lucas_test_Mersenne()

int orbiter::layer2_discreta::longinteger::Lucas_test_Mersenne ( int  m,
int  verbose_level 
)

Definition at line 869 of file longinteger.cpp.

◆ m_one()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 500 of file longinteger.cpp.

◆ Mersenne()

longinteger & orbiter::layer2_discreta::longinteger::Mersenne ( int  n)

Definition at line 780 of file longinteger.cpp.

◆ modp()

int orbiter::layer2_discreta::longinteger::modp ( int  p)

Definition at line 835 of file longinteger.cpp.

◆ mult_to()

void orbiter::layer2_discreta::longinteger::mult_to ( discreta_base x,
discreta_base y 
)
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 293 of file longinteger.cpp.

◆ negate_to()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 470 of file longinteger.cpp.

◆ normalize_representation()

void orbiter::layer2_discreta::longinteger::normalize_representation ( )

Definition at line 208 of file longinteger.cpp.

◆ ny_p()

int orbiter::layer2_discreta::longinteger::ny_p ( int  p)

Definition at line 844 of file longinteger.cpp.

◆ one()

void orbiter::layer2_discreta::longinteger::one ( )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 494 of file longinteger.cpp.

◆ operator new()

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

Definition at line 736 of file discreta.h.

◆ operator=()

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

Definition at line 66 of file longinteger.cpp.

◆ print()

ostream & orbiter::layer2_discreta::longinteger::print ( std::ostream &  )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 109 of file longinteger.cpp.

◆ retract_to_integer_if_possible()

int orbiter::layer2_discreta::longinteger::retract_to_integer_if_possible ( integer x)

Definition at line 824 of file longinteger.cpp.

◆ s_i()

int orbiter::layer2_discreta::longinteger::s_i ( )

Definition at line 806 of file longinteger.cpp.

◆ s_len()

int & orbiter::layer2_discreta::longinteger::s_len ( )

Definition at line 149 of file longinteger.cpp.

◆ s_p()

char & orbiter::layer2_discreta::longinteger::s_p ( int  i)

Definition at line 154 of file longinteger.cpp.

◆ s_rep()

LONGINTEGER_REPRESENTATION * orbiter::layer2_discreta::longinteger::s_rep ( )

Definition at line 139 of file longinteger.cpp.

◆ s_sign()

int & orbiter::layer2_discreta::longinteger::s_sign ( )

Definition at line 144 of file longinteger.cpp.

◆ s_virtual_kind()

kind orbiter::layer2_discreta::longinteger::s_virtual_kind ( )
virtual

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 94 of file longinteger.cpp.

◆ settype_longinteger()

void orbiter::layer2_discreta::longinteger::settype_longinteger ( )

Definition at line 74 of file longinteger.cpp.

◆ square_root_floor()

void orbiter::layer2_discreta::longinteger::square_root_floor ( discreta_base x)

Definition at line 734 of file longinteger.cpp.

◆ zero()

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

Reimplemented from orbiter::layer2_discreta::discreta_base.

Definition at line 488 of file longinteger.cpp.


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