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

DISCRETA class for a database. More...

#include <discreta.h>

Inheritance diagram for orbiter::layer2_discreta::database:
Collaboration diagram for orbiter::layer2_discreta::database:

Public Member Functions

 database ()
 
 database (const discreta_base &x)
 
databaseoperator= (const discreta_base &x)
 
void * operator new (size_t, void *p)
 
void settype_database ()
 
kind s_virtual_kind ()
 
 ~database ()
 
void freeself_database ()
 
void copyobject_to (discreta_base &x)
 
std::ostream & print (std::ostream &)
 
Vectorbtree_access ()
 
btreebtree_access_i (int i)
 
hollerithfilename ()
 
int & f_compress ()
 
int & objectkind ()
 
int & f_open ()
 
int & stream ()
 
int & file_size ()
 
int & file_type ()
 
void init (const char *filename, int objectkind, int f_compress)
 
void init_with_file_type (const char *filename, int objectkind, int f_compress, int file_type)
 
void create (int verbose_level)
 
void open (int verbose_level)
 
void close (int verbose_level)
 
void delete_files ()
 
void put_file_size ()
 
void get_file_size ()
 
void user2total (int user, int &total, int &pad)
 
int size_of_header ()
 
int size_of_header_log ()
 
void add_object_return_datref (Vector &the_object, uint_4 &datref, int verbose_level)
 
void add_object (Vector &the_object, int verbose_level)
 
void delete_object (Vector &the_object, uint_4 datref, int verbose_level)
 
void get_object (uint_4 datref, Vector &the_object, int verbose_level)
 
void get_object (DATATYPE *data_type, Vector &the_object, int verbose_level)
 
void get_object_by_unique_int4 (int btree_idx, int id, Vector &the_object, int verbose_level)
 
int get_object_by_unique_int4_if_there (int btree_idx, int id, Vector &the_object, int verbose_level)
 
int get_highest_int4 (int btree_idx)
 
void ith_object (int i, int btree_idx, Vector &the_object, int verbose_level)
 
void ith (int i, int btree_idx, KEYTYPE *key_type, DATATYPE *data_type, int verbose_level)
 
void print_by_btree (int btree_idx, std::ostream &ost)
 
void print_by_btree_with_datref (int btree_idx, std::ostream &ost)
 
void print_subset (Vector &datrefs, std::ostream &ost)
 
void extract_subset (Vector &datrefs, char *out_path, int verbose_level)
 
void search_int4 (int btree_idx, int imin, int imax, Vector &datrefs, int verbose_level)
 
void search_int4_2dimensional (int btree_idx0, int imin0, int imax0, int btree_idx1, int imin1, int imax1, Vector &datrefs, int verbose_level)
 
void search_int4_multi_dimensional (Vector &btree_idx, Vector &i_min, Vector &i_max, Vector &datrefs, int verbose_level)
 
int get_size_from_datref (uint_4 datref, int verbose_level)
 
void add_data_DB (void *d, int size, uint_4 *datref, int verbose_level)
 
void add_data_DB_standard (void *d, int size, uint_4 *datref, int verbose_level)
 
void add_data_DB_compact (void *d, int size, uint_4 *datref, int verbose_level)
 
void free_data_DB (uint_4 datref, int size, int verbose_level)
 
void file_open (int verbose_level)
 
void file_create (int verbose_level)
 
void file_close (int verbose_level)
 
void file_seek (int offset)
 
void file_write (void *p, int size, int nb)
 
void file_read (void *p, int size, int nb)
 
- Public Member Functions inherited from orbiter::layer2_discreta::Vector
 Vector ()
 
 Vector (const discreta_base &x)
 
Vectoroperator= (const discreta_base &x)
 
void * operator new (size_t, void *p)
 
void settype_vector ()
 
 ~Vector ()
 
void freeself_vector ()
 
kind s_virtual_kind ()
 
void copyobject_to (discreta_base &x)
 
std::ostream & Print (std::ostream &)
 
std::ostream & print (std::ostream &)
 
std::ostream & print_unformatted (std::ostream &ost)
 
std::ostream & print_intvec (std::ostream &ost)
 
discreta_bases_i (int i)
 
int & s_ii (int i)
 
void m_ii (int i, int a)
 
discreta_baseoperator[] (int i)
 
int s_l ()
 
void m_l (int l)
 
void m_l_n (int l)
 
void m_l_e (int l)
 
void m_l_x (int l, discreta_base &x)
 
Vectorrealloc (int l)
 
void mult_to (discreta_base &x, discreta_base &y)
 
void add_to (discreta_base &x, discreta_base &y)
 
void inc ()
 
void dec ()
 
int compare_with (discreta_base &a)
 
void append_vector (Vector &v)
 
Vectorappend_integer (int a)
 
Vectorappend (discreta_base &x)
 
Vectorinsert_element (int i, discreta_base &x)
 
Vectorget_and_delete_element (int i, discreta_base &x)
 
Vectordelete_element (int i)
 
void get_first_and_remove (discreta_base &x)
 
bool insert_sorted (discreta_base &x)
 
bool search (discreta_base &x, int *idx)
 
Vectorsort ()
 
void sort_with_fellow (Vector &fellow)
 
Vectorsort_with_logging (permutation &p)
 
void sum_of_all_entries (discreta_base &x)
 
void n_choose_k_first (int n, int k)
 
int n_choose_k_next (int n, int k)
 
void first_lehmercode (int n)
 
int next_lehmercode ()
 
void lehmercode2perm (permutation &p)
 
void q_adic (int n, int q)
 
int q_adic_as_int (int q)
 
void mult_scalar (discreta_base &a)
 
void first_word (int n, int q)
 
int next_word (int q)
 
void first_regular_word (int n, int q)
 
int next_regular_word (int q)
 
int is_regular_word ()
 
void apply_permutation (permutation &p)
 
void apply_permutation_to_elements (permutation &p)
 
void content (Vector &c, Vector &where)
 
void content_multiplicities_only (Vector &c, Vector &mult)
 
int hip ()
 
int hip1 ()
 
void write_mem (memory &m, int debug_depth)
 
void read_mem (memory &m, int debug_depth)
 
int csf ()
 
void conjugate (discreta_base &a)
 
void conjugate_with_inverse (discreta_base &a)
 
void replace (Vector &v)
 
void vector_of_vectors_replace (Vector &v)
 
void extract_subvector (Vector &v, int first, int len)
 
void PG_element_normalize ()
 
void PG_element_rank (int &a)
 
void PG_element_rank_modified (int &a)
 
void PG_element_unrank (int a)
 
void PG_element_unrank_modified (int a)
 
void AG_element_rank (int &a)
 
void AG_element_unrank (int a)
 
int hamming_weight ()
 
void scalar_product (Vector &w, discreta_base &a)
 
void hadamard_product (Vector &w)
 
void intersect (Vector &b, Vector &c)
 
int vector_of_vectors_overall_length ()
 
void first_divisor (Vector &exponents)
 
int next_divisor (Vector &exponents)
 
int next_non_trivial_divisor (Vector &exponents)
 
void multiply_out (Vector &primes, discreta_base &x)
 
int hash (int hash0)
 
int is_subset_of (Vector &w)
 
void concatenation (Vector &v1, Vector &v2)
 
void print_word_nicely (std::ostream &ost, int f_generator_labels, Vector &generator_labels)
 
void print_word_nicely2 (std::ostream &ost)
 
void print_word_nicely_with_generator_labels (std::ostream &ost, Vector &generator_labels)
 
void vector_of_vectors_lengths (Vector &lengths)
 
void get_element_orders (Vector &vec_of_orders)
 
- 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 a database.

Definition at line 1524 of file discreta.h.

Constructor & Destructor Documentation

◆ database() [1/2]

orbiter::layer2_discreta::database::database ( )

Definition at line 18 of file database.cpp.

◆ database() [2/2]

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

Definition at line 23 of file database.cpp.

◆ ~database()

orbiter::layer2_discreta::database::~database ( )

Definition at line 49 of file database.cpp.

Member Function Documentation

◆ add_data_DB()

void orbiter::layer2_discreta::database::add_data_DB ( void *  d,
int  size,
uint_4 datref,
int  verbose_level 
)

Definition at line 855 of file database.cpp.

◆ add_data_DB_compact()

void orbiter::layer2_discreta::database::add_data_DB_compact ( void *  d,
int  size,
uint_4 datref,
int  verbose_level 
)

Definition at line 955 of file database.cpp.

◆ add_data_DB_standard()

void orbiter::layer2_discreta::database::add_data_DB_standard ( void *  d,
int  size,
uint_4 datref,
int  verbose_level 
)

Definition at line 866 of file database.cpp.

◆ add_object()

void orbiter::layer2_discreta::database::add_object ( Vector the_object,
int  verbose_level 
)

Definition at line 325 of file database.cpp.

◆ add_object_return_datref()

void orbiter::layer2_discreta::database::add_object_return_datref ( Vector the_object,
uint_4 datref,
int  verbose_level 
)

Definition at line 256 of file database.cpp.

◆ btree_access()

Vector & orbiter::layer2_discreta::database::btree_access ( )
inline

Definition at line 1541 of file discreta.h.

◆ btree_access_i()

btree & orbiter::layer2_discreta::database::btree_access_i ( int  i)
inline

Definition at line 1542 of file discreta.h.

◆ close()

void orbiter::layer2_discreta::database::close ( int  verbose_level)

Definition at line 142 of file database.cpp.

◆ copyobject_to()

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

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 65 of file database.cpp.

◆ create()

void orbiter::layer2_discreta::database::create ( int  verbose_level)

Definition at line 105 of file database.cpp.

◆ delete_files()

void orbiter::layer2_discreta::database::delete_files ( )

Definition at line 157 of file database.cpp.

◆ delete_object()

void orbiter::layer2_discreta::database::delete_object ( Vector the_object,
uint_4  datref,
int  verbose_level 
)

Definition at line 339 of file database.cpp.

◆ extract_subset()

void orbiter::layer2_discreta::database::extract_subset ( Vector datrefs,
char *  out_path,
int  verbose_level 
)

Definition at line 627 of file database.cpp.

◆ f_compress()

int & orbiter::layer2_discreta::database::f_compress ( )
inline

Definition at line 1544 of file discreta.h.

◆ f_open()

int & orbiter::layer2_discreta::database::f_open ( )
inline

Definition at line 1546 of file discreta.h.

◆ file_close()

void orbiter::layer2_discreta::database::file_close ( int  verbose_level)

Definition at line 1120 of file database.cpp.

◆ file_create()

void orbiter::layer2_discreta::database::file_create ( int  verbose_level)

Definition at line 1087 of file database.cpp.

◆ file_open()

void orbiter::layer2_discreta::database::file_open ( int  verbose_level)

Definition at line 1072 of file database.cpp.

◆ file_read()

void orbiter::layer2_discreta::database::file_read ( void *  p,
int  size,
int  nb 
)

Definition at line 1168 of file database.cpp.

◆ file_seek()

void orbiter::layer2_discreta::database::file_seek ( int  offset)

Definition at line 1138 of file database.cpp.

◆ file_size()

int & orbiter::layer2_discreta::database::file_size ( )
inline

Definition at line 1548 of file discreta.h.

◆ file_type()

int & orbiter::layer2_discreta::database::file_type ( )
inline

Definition at line 1549 of file discreta.h.

◆ file_write()

void orbiter::layer2_discreta::database::file_write ( void *  p,
int  size,
int  nb 
)

Definition at line 1153 of file database.cpp.

◆ filename()

hollerith & orbiter::layer2_discreta::database::filename ( )
inline

Definition at line 1543 of file discreta.h.

◆ free_data_DB()

void orbiter::layer2_discreta::database::free_data_DB ( uint_4  datref,
int  size,
int  verbose_level 
)

Definition at line 1020 of file database.cpp.

◆ freeself_database()

void orbiter::layer2_discreta::database::freeself_database ( )

Definition at line 54 of file database.cpp.

◆ get_file_size()

void orbiter::layer2_discreta::database::get_file_size ( )

Definition at line 187 of file database.cpp.

◆ get_highest_int4()

int orbiter::layer2_discreta::database::get_highest_int4 ( int  btree_idx)

Definition at line 540 of file database.cpp.

◆ get_object() [1/2]

void orbiter::layer2_discreta::database::get_object ( DATATYPE data_type,
Vector the_object,
int  verbose_level 
)

Definition at line 390 of file database.cpp.

◆ get_object() [2/2]

void orbiter::layer2_discreta::database::get_object ( uint_4  datref,
Vector the_object,
int  verbose_level 
)

Definition at line 374 of file database.cpp.

◆ get_object_by_unique_int4()

void orbiter::layer2_discreta::database::get_object_by_unique_int4 ( int  btree_idx,
int  id,
Vector the_object,
int  verbose_level 
)

Definition at line 498 of file database.cpp.

◆ get_object_by_unique_int4_if_there()

int orbiter::layer2_discreta::database::get_object_by_unique_int4_if_there ( int  btree_idx,
int  id,
Vector the_object,
int  verbose_level 
)

Definition at line 516 of file database.cpp.

◆ get_size_from_datref()

int orbiter::layer2_discreta::database::get_size_from_datref ( uint_4  datref,
int  verbose_level 
)

Definition at line 799 of file database.cpp.

◆ init()

void orbiter::layer2_discreta::database::init ( const char *  filename,
int  objectkind,
int  f_compress 
)

Definition at line 84 of file database.cpp.

◆ init_with_file_type()

void orbiter::layer2_discreta::database::init_with_file_type ( const char *  filename,
int  objectkind,
int  f_compress,
int  file_type 
)

Definition at line 89 of file database.cpp.

◆ ith()

void orbiter::layer2_discreta::database::ith ( int  i,
int  btree_idx,
KEYTYPE key_type,
DATATYPE data_type,
int  verbose_level 
)

Definition at line 561 of file database.cpp.

◆ ith_object()

void orbiter::layer2_discreta::database::ith_object ( int  i,
int  btree_idx,
Vector the_object,
int  verbose_level 
)

Definition at line 547 of file database.cpp.

◆ objectkind()

int & orbiter::layer2_discreta::database::objectkind ( )
inline

Definition at line 1545 of file discreta.h.

◆ open()

void orbiter::layer2_discreta::database::open ( int  verbose_level)

Definition at line 128 of file database.cpp.

◆ operator new()

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

Definition at line 1533 of file discreta.h.

◆ operator=()

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

Definition at line 31 of file database.cpp.

◆ print()

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

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 78 of file database.cpp.

◆ print_by_btree()

void orbiter::layer2_discreta::database::print_by_btree ( int  btree_idx,
std::ostream &  ost 
)

Definition at line 574 of file database.cpp.

◆ print_by_btree_with_datref()

void orbiter::layer2_discreta::database::print_by_btree_with_datref ( int  btree_idx,
std::ostream &  ost 
)

Definition at line 591 of file database.cpp.

◆ print_subset()

void orbiter::layer2_discreta::database::print_subset ( Vector datrefs,
std::ostream &  ost 
)

Definition at line 614 of file database.cpp.

◆ put_file_size()

void orbiter::layer2_discreta::database::put_file_size ( )

Definition at line 172 of file database.cpp.

◆ s_virtual_kind()

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

Reimplemented from orbiter::layer2_discreta::Vector.

Definition at line 60 of file database.cpp.

◆ search_int4()

void orbiter::layer2_discreta::database::search_int4 ( int  btree_idx,
int  imin,
int  imax,
Vector datrefs,
int  verbose_level 
)

Definition at line 664 of file database.cpp.

◆ search_int4_2dimensional()

void orbiter::layer2_discreta::database::search_int4_2dimensional ( int  btree_idx0,
int  imin0,
int  imax0,
int  btree_idx1,
int  imin1,
int  imax1,
Vector datrefs,
int  verbose_level 
)

Definition at line 678 of file database.cpp.

◆ search_int4_multi_dimensional()

void orbiter::layer2_discreta::database::search_int4_multi_dimensional ( Vector btree_idx,
Vector i_min,
Vector i_max,
Vector datrefs,
int  verbose_level 
)

Definition at line 696 of file database.cpp.

◆ settype_database()

void orbiter::layer2_discreta::database::settype_database ( )

Definition at line 39 of file database.cpp.

◆ size_of_header()

int orbiter::layer2_discreta::database::size_of_header ( )

Definition at line 225 of file database.cpp.

◆ size_of_header_log()

int orbiter::layer2_discreta::database::size_of_header_log ( )

Definition at line 240 of file database.cpp.

◆ stream()

int & orbiter::layer2_discreta::database::stream ( )
inline

Definition at line 1547 of file discreta.h.

◆ user2total()

void orbiter::layer2_discreta::database::user2total ( int  user,
int &  total,
int &  pad 
)

Definition at line 202 of file database.cpp.


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