[Avida-SVN] r1765 - branches/uml/source/main

hjg at myxo.css.msu.edu hjg at myxo.css.msu.edu
Mon Jul 9 11:03:31 PDT 2007


Author: hjg
Date: 2007-07-09 14:03:31 -0400 (Mon, 09 Jul 2007)
New Revision: 1765

Modified:
   branches/uml/source/main/cOrganism.cc
   branches/uml/source/main/cStats.cc
   branches/uml/source/main/cStats.h
   branches/uml/source/main/cUMLModel.cc
   branches/uml/source/main/cUMLModel.h
   branches/uml/source/main/cUMLStateDiagram.cc
   branches/uml/source/main/cUMLStateDiagram.h
Log:
Updated stats.



Modified: branches/uml/source/main/cOrganism.cc
===================================================================
--- branches/uml/source/main/cOrganism.cc	2007-07-09 15:37:04 UTC (rev 1764)
+++ branches/uml/source/main/cOrganism.cc	2007-07-09 18:03:31 UTC (rev 1765)
@@ -638,6 +638,11 @@
  
 	m_world->GetStats().addState(m_model.numStates());
 	m_world->GetStats().addTrans(m_model.numTrans());
+	m_world->GetStats().addTriggers(m_model.numTriggers());
+	m_world->GetStats().addGuards(m_model.numGuards());
+	m_world->GetStats().addActions(m_model.numActions());
+	m_world->GetStats().addStateDiagrams(m_model.numSDs());
+	
 //	m_world->GetStats().addTransLabel(transition_labels.size());
 
   

Modified: branches/uml/source/main/cStats.cc
===================================================================
--- branches/uml/source/main/cStats.cc	2007-07-09 15:37:04 UTC (rev 1764)
+++ branches/uml/source/main/cStats.cc	2007-07-09 18:03:31 UTC (rev 1765)
@@ -1001,6 +1001,10 @@
 	df.Write( GetUpdate(), "update" );
 	df.Write( av_number_of_states.Average(), "av num states");
 	df.Write( av_number_of_trans.Average(), "av num trans");
+	df.Write( av_number_of_triggers.Average(), "av num triggers");
+	df.Write( av_number_of_guards.Average(), "av num guards");
+	df.Write( av_number_of_actions.Average(), "av num actions");
+	df.Write( av_number_of_state_diagrams.Average(), "av num state diagrams");
 	df.Write( av_number_of_trans_lab.Average(), "av num of trans lab");
 	df.Write( m_hydraAttempt.Sum(), "total number of hydra attempts" );
 	df.Write( m_hydraPassed.Sum(), "total number of hydra passes" );
@@ -1011,6 +1015,11 @@
 	
 	av_number_of_states.Clear();
 	av_number_of_trans.Clear();
+	av_number_of_triggers.Clear();
+	av_number_of_guards.Clear();
+	av_number_of_actions.Clear();
+	av_number_of_state_diagrams.Clear();
+	
 	av_number_of_trans_lab.Clear();
 
   m_hydraAttempt.Clear();

Modified: branches/uml/source/main/cStats.h
===================================================================
--- branches/uml/source/main/cStats.h	2007-07-09 15:37:04 UTC (rev 1764)
+++ branches/uml/source/main/cStats.h	2007-07-09 18:03:31 UTC (rev 1765)
@@ -251,6 +251,11 @@
   // Stats for UML state diagrams
   cDoubleSum av_number_of_states;
   cDoubleSum av_number_of_trans;	
+  cDoubleSum av_number_of_triggers;
+  cDoubleSum av_number_of_guards;
+  cDoubleSum av_number_of_actions;
+  cDoubleSum av_number_of_state_diagrams;
+  
   cDoubleSum av_number_of_trans_lab;
   cDoubleSum m_hydraAttempt;
   cDoubleSum m_hydraPassed;
@@ -493,6 +498,11 @@
   // UML Data Function
   void addState(int x) { av_number_of_states.Add(x); }
   void addTrans(int x) { av_number_of_trans.Add(x); }
+  void addTriggers(int x) { av_number_of_triggers.Add(x); }
+  void addGuards(int x) { av_number_of_guards.Add(x); }
+  void addActions(int x) { av_number_of_actions.Add(x); }
+  void addStateDiagrams(int x) { av_number_of_state_diagrams.Add(x); }
+  
   void addTransLabel(int x) { av_number_of_trans_lab.Add(x); }
   void HydraAttempt() { m_hydraAttempt.Add(1); }
   void HydraPassed() { m_hydraPassed.Add(1); }

Modified: branches/uml/source/main/cUMLModel.cc
===================================================================
--- branches/uml/source/main/cUMLModel.cc	2007-07-09 15:37:04 UTC (rev 1764)
+++ branches/uml/source/main/cUMLModel.cc	2007-07-09 18:03:31 UTC (rev 1765)
@@ -166,3 +166,36 @@
 	}
 	return temp_trans;
 }
+
+int cUMLModel::numTriggers()
+{
+int temp_trigger = 0;
+	for (int i=0; i<state_diagrams.size(); i++) { 
+		temp_trigger += getStateDiagram(i)->numTriggers();
+	}
+	return temp_trigger;
+}
+
+int cUMLModel::numGuards() 
+{
+int temp = 0;
+	for (int i=0; i<state_diagrams.size(); i++) { 
+		temp += getStateDiagram(i)->numGuards();
+	}
+	return temp;
+}
+
+int cUMLModel::numActions()
+{
+int temp = 0;
+	for (int i=0; i<state_diagrams.size(); i++) { 
+		temp += getStateDiagram(i)->numActions();
+	}
+	return temp;
+}
+
+int cUMLModel::numSDs()
+{
+	return state_diagrams.size();
+}
+

Modified: branches/uml/source/main/cUMLModel.h
===================================================================
--- branches/uml/source/main/cUMLModel.h	2007-07-09 15:37:04 UTC (rev 1764)
+++ branches/uml/source/main/cUMLModel.h	2007-07-09 18:03:31 UTC (rev 1765)
@@ -28,6 +28,10 @@
 	cUMLStateDiagram* getStateDiagram (int); 
 	int numStates();
 	int numTrans();
+	int numTriggers();
+	int numGuards();
+	int numActions();
+	int numSDs();
 	
 
 protected: 

Modified: branches/uml/source/main/cUMLStateDiagram.cc
===================================================================
--- branches/uml/source/main/cUMLStateDiagram.cc	2007-07-09 15:37:04 UTC (rev 1764)
+++ branches/uml/source/main/cUMLStateDiagram.cc	2007-07-09 18:03:31 UTC (rev 1765)
@@ -238,6 +238,8 @@
 bool cUMLStateDiagram::absoluteJumpOriginState(int jump_amount) 
 {	
 	bool result = false;
+	int x = num_vertices(sd0);
+	
 	if (num_vertices(sd0) > jump_amount) {  	
 		orig = vertex(jump_amount, sd0);
 		result = true;

Modified: branches/uml/source/main/cUMLStateDiagram.h
===================================================================
--- branches/uml/source/main/cUMLStateDiagram.h	2007-07-09 15:37:04 UTC (rev 1764)
+++ branches/uml/source/main/cUMLStateDiagram.h	2007-07-09 18:03:31 UTC (rev 1765)
@@ -69,6 +69,9 @@
   std::string StringifyAnInt(int);
   int numStates();
   int numTrans();
+  int numTriggers() { return triggers.size(); } 
+  int numGuards() { return guards.size(); } 
+  int numActions() { return actions.size(); }
 
 
   bool findTrans(int, int, int, int, int);




More information about the Avida-cvs mailing list