18namespace layer1_foundations {
19namespace graph_theory {
46 int id_of_first_node,
int verbose_level)
76 int *group_size,
int nb_groups,
77 double x_stretch,
int verbose_level)
80 int f_v = (verbose_level >= 1);
84 int i, j, nb_elements;
87 cout <<
"graph_layer::place_with_grouping "
88 "nb_groups=" << nb_groups << endl;
90 group_start =
NEW_int(nb_groups + 1);
91 group_dx =
new double[nb_groups + 1];
92 group_x =
new double[nb_groups + 1];
94 for (j = 0; j < nb_groups; j++) {
95 group_start[j + 1] = group_start[j] + group_size[j];
97 nb_elements = group_start[nb_groups];
98 for (j = 0; j < nb_groups; j++) {
99 group_dx[j] = group_size[j] / (double) nb_elements;
101 for (j = 0; j < nb_groups; j++) {
102 group_x[j] = (double) group_start[j] / (
double) nb_elements
103 + (double) group_dx[j] * .5;
105 for (j = 0; j < nb_groups; j++) {
107 cout <<
"j=" << j <<
" / " << nb_groups
108 <<
" group_size[j]=" << group_size[j] << endl;
110 for (i = 0; i < group_size[j]; i++) {
112 cout <<
"i=" << i <<
" / " << group_size[j] << endl;
116 ((double) group_dx[j] * .5) * x_stretch +
117 (((double)i + .5) * group_dx[j] / (double) group_size[j]) * x_stretch;
124 cout <<
"graph_layer::place_with_grouping done" << endl;
141 int f_v = (verbose_level >= 1);
145 cout <<
"graph_layer::write_memory_object "
156 cout <<
"graph_layer::write_memory_object finished, "
157 "data size (in chars) = " << m->
used_length << endl;
164 int f_v = (verbose_level >= 1);
168 cout <<
"graph_layer::read_memory_object" << endl;
183 cout <<
"graph_layer::read_memory_object finished" << endl;
void write_memory_object(orbiter_kernel_system::memory_object *m, int verbose_level)
void place(int verbose_level)
void init(int nb_nodes, int id_of_first_node, int verbose_level)
void scale_x_coordinates(double x_stretch, int verbose_level)
void place_with_grouping(int *group_size, int nb_groups, double x_stretch, int verbose_level)
void read_memory_object(orbiter_kernel_system::memory_object *m, int verbose_level)
part of the data structure layered_graph
void read_memory_object(orbiter_kernel_system::memory_object *m, int verbose_level)
void write_memory_object(orbiter_kernel_system::memory_object *m, int verbose_level)
void scale_x_coordinate(double x_stretch, int verbose_level)
for serialization of complex data types
void read_double(double *f)
void write_double(double f)
#define NEW_OBJECTS(type, n)
the orbiter library for the classification of combinatorial objects