func (q *SweepEvents) Fix(i int) { if !q.down(i, len(*q)) { q.up(i) } } from container/heap
(j int)
| 471 | |
| 472 | // from container/heap |
| 473 | func (q SweepEvents) up(j int) { |
| 474 | for { |
| 475 | i := (j - 1) / 2 // parent |
| 476 | if i == j || !q.Less(j, i) { |
| 477 | break |
| 478 | } |
| 479 | q.Swap(i, j) |
| 480 | j = i |
| 481 | } |
| 482 | } |
| 483 | |
| 484 | func (q SweepEvents) down(i0, n int) bool { |
| 485 | i := i0 |