(messages, v, context)
| 108 | |
| 109 | @staticmethod |
| 110 | def Compute(messages, v, context): |
| 111 | src_id = context.get_config(b"src") |
| 112 | cur_dist = v.value() |
| 113 | new_dist = 1000000000.0 |
| 114 | if v.id() == src_id: |
| 115 | new_dist = 0 |
| 116 | for message in messages: |
| 117 | new_dist = min(message, new_dist) |
| 118 | if new_dist < cur_dist: |
| 119 | v.set_value(new_dist) |
| 120 | for e_label_id in range(context.edge_label_num()): |
| 121 | edges = v.outgoing_edges(e_label_id) |
| 122 | for e in edges: |
| 123 | v.send(e.vertex(), new_dist + e.get_int(2)) |
| 124 | v.vote_to_halt() |
| 125 | |
| 126 | |
| 127 | # Example of pie sssp |
nothing calls this directly
no test coverage detected