public void configure_facet_topology(int[] facet_topology, Instantiator.UnitMappingType[] unit_mapping) { IDictionary <int, IList <int> > facet_instances_list = new Dictionary <int, IList <int> > (); foreach (Instantiator.UnitMappingType unit_mapping_item in unit_mapping) { int facet = unit_mapping_item.facet; int facet_instance = unit_mapping_item.facet_instance; IList <int> facet_instance_list = null; if (!facet_instances_list.TryGetValue(facet, out facet_instance_list)) { facet_instance_list = new List <int>(); facet_instances_list.Add(facet, facet_instance_list); } facet_instance_list.Add(facet_instance); } Console.WriteLine("configure_facet_topology 2 - " + facet_instances_list.Count); foreach (KeyValuePair <int, IList <int> > f in facet_instances_list) { int facet = f.Key; IList <int> facet_instance_list = f.Value; FacetMultiplicity.Add(facet, facet_instance_list.Count); int[] facet_instance_array = new int[FacetMultiplicity [facet]]; facet_instance_list.CopyTo(facet_instance_array, 0); FacetIndexes.Add(facet, facet_instance_array); } foreach (Instantiator.UnitMappingType unit_mapping_item in unit_mapping) { int facet_instance = unit_mapping_item.facet_instance; string unit_id = unit_mapping_item.unit_id; int size = unit_mapping_item.node.Length; IDictionary <string, int> dict; Console.WriteLine("configure_facet_topology --- facet_instance=" + facet_instance + " / unit_id=" + unit_id + " / size=" + size); if (!UnitSizeInFacet.TryGetValue(facet_instance, out dict)) { dict = new Dictionary <string, int> (); UnitSizeInFacet [facet_instance] = dict; } dict[unit_id] = size; } }
public void configure_facet_topology(int[] facet_topology, Instantiator.UnitMappingType[] unit_mapping) { IDictionary <int, IList <int> > facet_instances_list = new Dictionary <int, IList <int> > (); foreach (Instantiator.UnitMappingType unit_mapping_item in unit_mapping) { int facet = unit_mapping_item.facet; int facet_instance = unit_mapping_item.facet_instance; IList <int> facet_instance_list = null; if (!facet_instances_list.TryGetValue(facet, out facet_instance_list)) { facet_instance_list = new List <int>(); facet_instances_list.Add(facet, facet_instance_list); } facet_instance_list.Add(facet_instance); } /*for (int facet_instance = 0; facet_instance < facet_topology.Length; facet_instance++) * { * int facet = facet_topology [facet_instance]; * if (facet >= 0) * { * IList<int> facet_instance_list = null; * if (!facet_instances_list.TryGetValue (facet, out facet_instance_list)) * { * facet_instance_list = new List<int> (); * facet_instances_list.Add (facet, facet_instance_list); * } * facet_instance_list.Add (facet_instance); * } * }*/ Console.WriteLine("{1} - facet_instance={0}, configure_facet_topology 2 - " + facet_instances_list.Count, this_facet_instance, this.GetHashCode()); foreach (KeyValuePair <int, IList <int> > f in facet_instances_list) { int facet = f.Key; IList <int> facet_instance_list = f.Value; FacetMultiplicity.Add(facet, facet_instance_list.Count); int[] facet_instance_array = new int[FacetMultiplicity [facet]]; facet_instance_list.CopyTo(facet_instance_array, 0); FacetIndexes.Add(facet, facet_instance_array); } foreach (KeyValuePair <int, int[]> kv in FacetIndexes) { Console.Write("{1} - facet_instance={0}, configure_facet_topology - facet=" + kv.Key + ": ", this_facet_instance, this.GetHashCode()); foreach (int v in kv.Value) { Trace.Write(v + " "); } Console.WriteLine("."); } foreach (KeyValuePair <int, int> kv in FacetMultiplicity) { Console.WriteLine("{1} - facet_instance={0}, configure_facet_topology - facet=" + kv.Key + " - size=" + kv.Value, this_facet_instance, this.GetHashCode()); } foreach (Instantiator.UnitMappingType unit_mapping_item in unit_mapping) { int facet_instance = unit_mapping_item.facet_instance; int facet = unit_mapping_item.facet; string unit_id = unit_mapping_item.unit_id; int size = unit_mapping_item.node.Length; IDictionary <string, int> dict; Console.WriteLine("{1} - facet_instance={0}, configure_facet_topology --- facet=" + facet + " / facet_instance=" + facet_instance + " / unit_id=" + unit_id + " / size=" + size, this_facet_instance, this.GetHashCode()); if (!UnitSizeInFacet.TryGetValue(facet_instance, out dict)) { dict = new Dictionary <string, int> (); UnitSizeInFacet [facet_instance] = dict; } dict[unit_id] = size; } foreach (KeyValuePair <int, IDictionary <string, int> > r in UnitSizeInFacet) { foreach (KeyValuePair <string, int> s in r.Value) { Console.WriteLine("{1} - facet_instance={0}, " + this.GlobalRank + ": UnitSizeInFacet: facet_instance = " + r.Key + " -- unit_id = " + s.Key + " -- size = " + s.Value, this_facet_instance, this.GetHashCode()); } } }