本文整理汇总了PHP中Fhaculty\Graph\Graph::getEdgeClone方法的典型用法代码示例。如果您正苦于以下问题:PHP Graph::getEdgeClone方法的具体用法?PHP Graph::getEdgeClone怎么用?PHP Graph::getEdgeClone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fhaculty\Graph\Graph
的用法示例。
在下文中一共展示了Graph::getEdgeClone方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addFlow
/**
* helper used to add $newFlow to original edges of $clonedEdges in graph $resultGraph
*
* @param Graph $resultGraph graph to look for original edges
* @param Edges $clonedEdges set of cloned edges to be modified
* @param number $newFlow flow to add
* @uses Graph::getEdgeClone()
* @uses Graph::getEdgeCloneInverted()
* @uses Edge::getFlow()
* @uses Edge::setFlow()
*/
protected function addFlow(Graph $resultGraph, Edges $clonedEdges, $newFlow)
{
foreach ($clonedEdges as $clonedEdge) {
try {
// get edge from clone
$edge = $resultGraph->getEdgeClone($clonedEdge);
// add flow
$edge->setFlow($edge->getFlow() + $newFlow);
// if the edge doesn't exist => use the residual edge
} catch (UnderflowException $ignore) {
$edge = $resultGraph->getEdgeCloneInverted($clonedEdge);
// remove flow
$edge->setFlow($edge->getFlow() - $newFlow);
}
}
}
示例2: testEdgesFailParallel
/**
* @expectedException OverflowException
*/
public function testEdgesFailParallel()
{
// 1 -> 2, 1 -> 2
$graph = new Graph();
$v1 = $graph->createVertex(1);
$v2 = $graph->createVertex(2);
$e1 = $v1->createEdgeTo($v2);
$e2 = $v1->createEdgeTo($v2);
// which one to return? e1? e2?
$graph->getEdgeClone($e1);
}