14namespace layer2_discreta {
24 cout <<
"design_parameter::copy constructor for object: "
32 cout <<
"design_parameter::operator = (copy assignment)" << endl;
66 cout <<
"design_parameter::copyobject_to()\n";
67 print_as_vector(cout);
129 h.
append(
"(selfsupplementary) ");
136 h.
append(
"(supplementary design has lambda=");
140 for (
int i = 0; i <
source().
s_l(); i++) {
174 a.
m_i(
v() -
t() + 1);
175 b.
m_i(
K() -
t() + 1);
224 a.
m_i(q.
v() - q.
t() + 1);
225 b.
m_i(q.
K() - q.
t() + 1);
294 a.
m_i(
v() -
t() + 1);
295 b.
m_i(
K() -
t() + 1);
340 int f_special =
FALSE;
346 cout <<
"determining ancestor of " << s << endl;
349 if (s.
t() + 1 == s.
K()) {
351 cout <<
"determining ancestor of steiner system "
352 << s.
t() <<
"(" << s.
v() <<
"," << s.
K()
353 <<
"1) with v - t prime" << endl;
374 cout <<
"ancestor, increasing t to " << q << endl;
381 cout <<
"ancestor, derived_inverse gives " << q << endl;
388 cout <<
"ancestor, residual_inverse gives " << q << endl;
396 cout <<
"ancestor of " << *
this << endl <<
"is " << p <<
" "
397 << path.
s_ii(0) <<
" times reduced t, "
398 << path.
s_ii(1) <<
" times derived, "
399 << path.
s_ii(2) <<
" times residual." << endl;
412 a.
m_i(q.
v() - q.
t() + 1);
413 b.
m_i(q.
K() - q.
t() + 1);
437 if (
v() != 2 *
K() + 1)
441 a.
m_i(2 *
K() + 2 -
t());
442 b.
m_i(
K() -
t() + 1);
459 int& t_new,
int& v_new,
int& k_new,
discreta_base& lambda_new)
466 b.
m_i(
v() -
K() + 1);
484 int& t_new,
int& v_new,
int& k_new,
discreta_base& lambda_new)
491 b.
m_i(
K() + 1 -
t());
515 if (
v() == 2 *
K() + 1 &&
EVEN(
t())) {
527 if (
v() == 2 *
K() + 1 &&
ODD(
t())) {
575 long int num, denom, n, d, g, i;
582 for (i = 0; i <
K() -
t(); i++) {
588 if (g != 1 && g != -1) {
594 cout <<
"design_parameter::supplementary error: denom != 1" << endl;
597 lambda_new.
m_i_i(num);
635 lambda_supplementary = q.
lambda();
650 int f_compress =
TRUE;
651 int f_duplicatekeys =
TRUE;
659 hh.
append(
"design_parameters.db");
660 h0.
append(
"design_parameters0.idx");
661 h1.
append(
"design_parameters1.idx");
662 h2.
append(
"design_parameters2.idx");
663 h3.
append(
"design_parameters3.idx");
664 h4.
append(
"design_parameters4.idx");
675 B.
init(h0.
s(), f_duplicatekeys, 0 );
683 B.
init(h1.
s(), f_duplicatekeys, 1 );
691 B.
init(h2.
s(), f_duplicatekeys, 2 );
699 B.
init(h3.
s(), f_duplicatekeys, 3 );
707 B.
init(h4.
s(), f_duplicatekeys, 4 );
basic number theoretic functions
long int gcd_lint(long int m, long int n)
DISCRETA vector class for vectors of DISCRETA objects.
Vector & append(discreta_base &x)
discreta_base & s_i(int i)
void copyobject_to(discreta_base &x)
DISCRETA class for a database.
void add_key_int4(int field1, int field2)
void init(const char *file_name, int f_duplicatekeys, int btree_idx)
DISCRETA class for a database.
void init(const char *filename, int objectkind, int f_compress)
DISCRETA class for the design parameters database.
void text2(design_parameter &p, hollerith &h)
DISCRETA class for design parameters.
void copyobject_to(discreta_base &x)
void lambda_of_supplementary(discreta_base &lambda_supplementary)
void supplementary_reduced_t(design_parameter &p)
void settype_design_parameter()
void init_database(database &D, char *path)
int trung_complementary(design_parameter &p)
void reduced_t(design_parameter &p)
void text_parameter(hollerith &h)
design_parameter_source & source_i(int i)
void supplementary_derived(design_parameter &p)
void residual(design_parameter &p)
int trung_left_partner(int &t1, int &v1, int &k1, discreta_base &lambda1, int &t_new, int &v_new, int &k_new, discreta_base &lambda_new)
int derived_inverse(design_parameter &p)
int trung_right_partner(int &t1, int &v1, int &k1, discreta_base &lambda1, int &t_new, int &v_new, int &k_new, discreta_base &lambda_new)
void derived(design_parameter &p)
design_parameter & operator=(const discreta_base &x)
void complementary(design_parameter &p)
void supplementary_residual(design_parameter &p)
int is_selfsupplementary()
void freeself_design_parameter()
void supplementary(design_parameter &p)
int increased_t(design_parameter &p)
void ancestor(design_parameter &p, Vector &path, int f_v, int f_vv)
int alltop(design_parameter &p)
std::ostream & print(std::ostream &)
int residual_inverse(design_parameter &p)
DISCRETA base class. All DISCRETA classes are derived from this class.
virtual void integral_division(discreta_base &x, discreta_base &q, discreta_base &r, int verbose_level)
void add(discreta_base &x, discreta_base &y)
void mult(discreta_base &x, discreta_base &y)
void swap(discreta_base &a)
discreta_base & divide_by_exact(discreta_base &x)
void copyobject(discreta_base &x)
void print_to_hollerith(hollerith &h)
design_parameter & as_design_parameter()
Vector & change_to_vector()
void append(const char *p)
int design_parameters_admissible(int v, int t, int k, discreta_base &lambda)
@ DESIGN_PARAMETER
DESIGN_PARAMETER.
void design_lambda_max(int t, int v, int k, discreta_base &lambda_max)
@ rule_supplementary_residual
@ rule_supplementary_reduced_t
@ rule_trung_complementary
@ rule_supplementary_derived
void design_lambda_ijs(int t, int v, int k, discreta_base &lambda, int s, int i, int j, discreta_base &lambda_ijs)
the orbiter library for the classification of combinatorial objects