rewrite Radec.cpp to use new Simulation class
This commit is contained in:
		
							
								
								
									
										26
									
								
								src/Radec.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/Radec.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					#include "Simulation.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main() {
 | 
				
			||||||
 | 
						// 1. Parse circuit file to create in-memory data structure of Gates and Wires
 | 
				
			||||||
 | 
						//		to simulate
 | 
				
			||||||
 | 
						string fileName;
 | 
				
			||||||
 | 
						getline(cin, fileName);
 | 
				
			||||||
 | 
						Simulation e;
 | 
				
			||||||
 | 
						e.parseCircuit(fileName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 2. Parse the vector file to initialize the simulation Queue with initial
 | 
				
			||||||
 | 
						//		Wire state (i.e., value) changes
 | 
				
			||||||
 | 
						e.parseVector(fileName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 3. Simulate the circuit using Event-driven control
 | 
				
			||||||
 | 
						// first, remove the top Event e in the Queue
 | 
				
			||||||
 | 
						// second, determine if e causes a future Wire state change
 | 
				
			||||||
 | 
						// third, create and queue any future Wire state changes as new Events
 | 
				
			||||||
 | 
						// fourth, apply e's effects
 | 
				
			||||||
 | 
						e.simulate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 4. Print the results of the simulation
 | 
				
			||||||
 | 
						e.print();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user