get rid of temp variables
This commit is contained in:
		
							parent
							
								
									c163aa0f23
								
							
						
					
					
						commit
						1fe3e8e7cb
					
				| 
						 | 
				
			
			@ -78,29 +78,30 @@ func (g *projectNetwork) backwardPass(toposort []*activity) {
 | 
			
		|||
 | 
			
		||||
// setEarlyTimes sets the early times for an activity
 | 
			
		||||
func (g *projectNetwork) setEarlyTimes(a *activity) {
 | 
			
		||||
	es := 0.0
 | 
			
		||||
	predecessors := g.To(a.ID())
 | 
			
		||||
	for predecessors.Next() {
 | 
			
		||||
		p := predecessors.Node().(*activity)
 | 
			
		||||
		es = math.Max(es, p.earlyFinish)
 | 
			
		||||
		if a.earlyStart < p.earlyFinish {
 | 
			
		||||
			a.earlyStart = p.earlyFinish
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	a.earlyStart = es
 | 
			
		||||
	a.earlyFinish = a.earlyStart + a.duration
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// setLateTimes sets the late times for an activity
 | 
			
		||||
func (g *projectNetwork) setLateTimes(a *activity) {
 | 
			
		||||
	lf := math.Inf(1)
 | 
			
		||||
	a.lateFinish = math.Inf(1)
 | 
			
		||||
	successors := g.From(a.ID())
 | 
			
		||||
	for successors.Next() {
 | 
			
		||||
		s := successors.Node().(*activity)
 | 
			
		||||
		lf = math.Min(lf, s.lateStart)
 | 
			
		||||
		if a.lateFinish > s.lateStart {
 | 
			
		||||
			a.lateFinish = s.lateStart
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if lf == math.Inf(1) {
 | 
			
		||||
		lf = a.earlyFinish
 | 
			
		||||
	if a.lateFinish == math.Inf(1) {
 | 
			
		||||
		a.lateFinish = a.earlyFinish
 | 
			
		||||
	}
 | 
			
		||||
	a.lateFinish = lf
 | 
			
		||||
	a.lateStart = a.lateFinish - a.duration
 | 
			
		||||
	a.slack = a.lateFinish - a.earlyFinish
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue