예제 #1
0
 public ForceDirectedSchedulerImpl(IFDSAdapater <T> adapter, IList <T> instructions, SchedulingConstraints constraints)
 {
     Adapter      = adapter;
     Instructions = instructions;
     Constraints  = constraints;
     CheckInput();
 }
예제 #2
0
 public static void Schedule(IFDSAdapater <T> adapter, IEnumerable <IList <T> > blocks,
                             SchedulingConstraints constraints,
                             bool minimizeBuses = true, bool minimizeRegisters = false)
 {
     foreach (var block in blocks)
     {
         Schedule(adapter, block, constraints, minimizeBuses, minimizeRegisters);
     }
 }
예제 #3
0
        public static void Schedule(IFDSAdapater <T> adapter, IList <T> instructions,
                                    SchedulingConstraints constraints,
                                    bool minimizeBuses = true, bool minimizeRegisters = false)
        {
            var sched = new ForceDirectedSchedulerImpl <T>(adapter, instructions, constraints)
            {
                MinimizeBuses     = minimizeBuses,
                MinimizeRegisters = minimizeRegisters
            };

            sched.Run();
        }