| 189 | } |
| 190 | |
| 191 | void QGNode_ConnectNode |
| 192 | ( |
| 193 | QGNode *src, |
| 194 | QGNode *dest, |
| 195 | QGEdge *e |
| 196 | ) { |
| 197 | ASSERT(e != NULL); |
| 198 | ASSERT(src != NULL); |
| 199 | ASSERT(dest != NULL); |
| 200 | |
| 201 | array_append(src->outgoing_edges, e); |
| 202 | array_append(dest->incoming_edges, e); |
| 203 | |
| 204 | // set src node as highly connected if in-degree + out-degree > 2 |
| 205 | if(src->highly_connected == false && QGNode_Degree(src) > 2) { |
| 206 | src->highly_connected = true; |
| 207 | } |
| 208 | |
| 209 | // set dest node as highly connected if in-degree + out-degree > 2 |
| 210 | if(dest->highly_connected == false && QGNode_Degree(dest) > 2) { |
| 211 | dest->highly_connected = true; |
| 212 | } |
| 213 | } |
| 214 | |
| 215 | inline void QGNode_RemoveIncomingEdge |
| 216 | ( |
no test coverage detected