// $Id: ALPHA_TEST.java,v 1.2 1998/04/07 13:34:10 mich Exp $ package agg.xt_basis.colim; //------------------------------------------------------------------- // Alpha Algebra Diagram Test Driver //------------------------------------------------------------------- // Copyright (c) 1995 Technical University of Berlin, Dept TFS. // All rights reserved. // Colimes Computation Project V0.7 96/08/01 // Author: Dietmar Wolz, Technical University Berlin FB 13, WE 1331 // email: dietmar@cs.tu-berlin.de //------------------------------------------------------------------- //import java.lang.System; // import COLIM_DEFS; // import COLIM_VECTOR; // import INT_VECTOR; // import ALPHA_DIAGRAM; // import GRAPH_DIAGRAM; // import GRAPH_TEST; public class ALPHA_TEST implements COLIM_DEFS { public ALPHA_TEST() { alpha_diagram = new ALPHA_DIAGRAM(); gen_alpha_test(); System.out.print("\nalpha diagram:\n" + alpha_diagram.toString()); COLIM_VECTOR items = alpha_diagram.get_colimit_items_total(); COLIM_VECTOR refs = alpha_diagram.get_colimit_refs_total(); COLIM_VECTOR attrs = alpha_diagram.get_colimit_attrs_total(); COLIM_VECTOR attr_sets = alpha_diagram.get_colimit_attr_sets_total(); System.out.print("\ncolimit alpha algebra:\n" + alpha_diagram.out_object(items,refs,attrs) + "\ncolimit alpha algebra with attribute sets:\n" + alpha_diagram.out_object_attr_sets(items,refs,attr_sets)); System.out.flush(); } @SuppressWarnings("unused") private void gen_alpha_test() { GRAPH_TEST graph_test = new GRAPH_TEST(); GRAPH_DIAGRAM graph_diagram = graph_test.graph_diagram; SET_DIAGRAM node_diagram = graph_diagram.get_node_diagram(); SET_DIAGRAM edge_diagram = graph_diagram.get_edge_diagram(); for (int obj = 0; obj < node_diagram.object_count(); obj++) { COPROD_OBJECT nodes = node_diagram.set_at_node(obj); COPROD_OBJECT edges = edge_diagram.set_at_node(obj); COLIM_VECTOR items = new COLIM_VECTOR(); COLIM_VECTOR refs = new COLIM_VECTOR(); COLIM_VECTOR attrs = new COLIM_VECTOR(); for (int node = nodes.lower; node <= nodes.upper; node++) { INT_VECTOR ref = new INT_VECTOR(); COLIM_VECTOR attr = new COLIM_VECTOR(); attr.push_back(node_diagram.get_element(node)); items.push_back(node_diagram.get_element(node)); refs.push_back(ref); attrs.push_back(attr); } for (int edge = edges.lower; edge <= edges.upper; edge++) { INT_VECTOR ref = new INT_VECTOR(); ref.push_back(items.indexOf(graph_diagram.get_source(edge))); ref.push_back(items.indexOf(graph_diagram.get_target(edge))); COLIM_VECTOR attr = new COLIM_VECTOR(); attr.push_back(edge_diagram.get_element(edge)); items.push_back(edge_diagram.get_element(edge)); refs.push_back(ref); attrs.push_back(attr); } int n = alpha_diagram.insert_object(items,refs,attrs, graph_diagram.get_node_diagram().get_name(obj)); } for (int mor = 0; mor < node_diagram.morphism_count(); mor++) { INT_VECTOR morphism = new INT_VECTOR (node_diagram.morphism_at_edge(mor)); int target_upper = node_diagram.object_size(node_diagram.target_at_edge(mor)); INT_VECTOR e_mor = edge_diagram.morphism_at_edge(mor); for (int i = 0; i < e_mor.size(); i++) morphism.push_back(e_mor.item(i) + target_upper); int e = alpha_diagram.insert_morphism(morphism, node_diagram.source_at_edge(mor), node_diagram.target_at_edge(mor)); } } private ALPHA_DIAGRAM alpha_diagram; }