|
- package pipeline
-
- func monitorBounds(policy Policy) (float64, float64, bool) {
- start := policy.MonitorStartHz
- end := policy.MonitorEndHz
- if start != 0 && end != 0 && end > start {
- return start, end, true
- }
- if policy.MonitorSpanHz > 0 && policy.MonitorCenterHz != 0 {
- half := policy.MonitorSpanHz / 2
- return policy.MonitorCenterHz - half, policy.MonitorCenterHz + half, true
- }
- return 0, 0, false
- }
-
- func candidateInMonitor(policy Policy, candidate Candidate) bool {
- start, end, ok := monitorBounds(policy)
- if !ok {
- return true
- }
- left := candidate.CenterHz
- right := candidate.CenterHz
- if candidate.BandwidthHz > 0 {
- left = candidate.CenterHz - candidate.BandwidthHz/2
- right = candidate.CenterHz + candidate.BandwidthHz/2
- }
- return right >= start && left <= end
- }
|