Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
tpl_maxflow_test.cc File Reference
#include <gtest/gtest.h>
#include <tpl_maxflow.H>
#include <tpl_net.H>
#include <chrono>
#include <random>
#include <stdexcept>
Include dependency graph for tpl_maxflow_test.cc:

Go to the source code of this file.

Functions

 TEST (DinicTest, LinearNetwork)
 
 TEST (DinicTest, DiamondNetwork)
 
 TEST (DinicTest, ComplexNetwork)
 
 TEST (DinicTest, ZeroCapacity)
 
 TEST (DinicTest, SingleArc)
 
 TEST (CapacityScalingTest, LinearNetwork)
 
 TEST (CapacityScalingTest, DiamondNetwork)
 
 TEST (CapacityScalingTest, ComplexNetwork)
 
 TEST (CapacityScalingTest, LargeCapacities)
 
 TEST (HLPPTest, LinearNetwork)
 
 TEST (HLPPTest, DiamondNetwork)
 
 TEST (HLPPTest, ComplexNetwork)
 
 TEST (FlowDecompositionTest, LinearFlow)
 
 TEST (FlowDecompositionTest, DiamondFlow)
 
 TEST (FlowDecompositionTest, ComplexFlow)
 
 TEST (FlowDecompositionTest, ZeroFlow)
 
 TEST (FlowDecompositionTest, CycleDetection)
 
 TEST (FlowStatisticsTest, BeforeFlow)
 
 TEST (FlowStatisticsTest, AfterFlow)
 
template<class Net >
double compute_min_cut_capacity (Net &net)
 
template<class Net >
bool verify_max_flow_min_cut (Net &net, double max_flow)
 
 TEST (MinCutTest, LinearNetwork)
 
 TEST (MinCutTest, DiamondNetwork)
 
 TEST (MinCutTest, ComplexNetwork)
 
 TEST (MinCutTest, GridNetwork)
 
 TEST (MinCutTest, SingleBottleneck)
 
 TEST (MinCutTest, ParallelArcs)
 
 TEST (MinCutTest, AllAlgorithmsGiveSameMinCut)
 
 TEST (MinCutTest, VerifyCutPartition)
 
 TEST (AlgorithmComparisonTest, AllAlgorithmsAgree)
 
 TEST (AlgorithmComparisonTest, GridNetwork)
 
 TEST (EdgeCasesTest, ParallelArcs)
 
 TEST (EdgeCasesTest, SourceBottleneck)
 
 TEST (EdgeCasesTest, SinkBottleneck)
 
 TEST (FunctorTest, DinicFunctor)
 
 TEST (FunctorTest, CapacityScalingFunctor)
 
 TEST (FunctorTest, HLPPFunctor)
 
 TEST (FunctorTest, DecomposeFunctor)
 
 TEST (PerformanceTest, Benchmark)
 
 TEST (RegressionTest, HLPPDisconnectedNodeRelabel)
 
Node * build_antiparallel_network (TestNet &net)
 
 TEST (AntiParallelTest, AllAlgorithmsAgreeOnAntiParallel)
 
 TEST (AntiParallelTest, PureAntiParallel)
 
 TEST (CapacityScalingTest, FractionalCapacities)
 
 TEST (CapacityScalingTest, MixedIntegerFractional)
 
template<class Net >
void verify_flow_conservation (const Net &net)
 
 TEST (HLPPStressTest, LadderNetwork)
 
 TEST (HLPPStressTest, HighExcessBottleneck)
 
 TEST (FlowDecompositionTest, ArcFlowConsistency)
 
 TEST (FlowDecompositionTest, Phase2CycleClosingNode)
 
 TEST (FlowDecompositionTest, Phase1CycleClosingNode)
 
 TEST (DisconnectedTest, ZeroCapacityBottleneck)
 
 TEST (DisconnectedTest, InvalidNetworkThrows)
 
 TEST (DinicStressTest, LongChain)
 
 TEST (DinicStressTest, WideParallel)
 
 TEST (RandomStressTest, SmallRandomGraphs)
 
 TEST (RandomStressTest, MediumRandomGraphs)
 
 TEST (IntegerFlowTest, AllAlgorithmsAgree)
 
 TEST (IntegerFlowTest, ComplexIntegerNetwork)
 
 TEST (IntegerFlowTest, RandomIntegerGraphs)
 
 TEST (IntegerFlowTest, MinCutVerification)
 
int main (int argc, char **argv)
 

Function Documentation

◆ build_antiparallel_network()

Node * build_antiparallel_network ( TestNet &  net)

◆ compute_min_cut_capacity()

◆ main()

int main ( int  argc,
char **  argv 
)

◆ TEST() [1/57]

◆ TEST() [2/57]

◆ TEST() [3/57]

◆ TEST() [4/57]

◆ TEST() [5/57]

TEST ( CapacityScalingTest  ,
ComplexNetwork   
)

◆ TEST() [6/57]

TEST ( CapacityScalingTest  ,
DiamondNetwork   
)

◆ TEST() [7/57]

◆ TEST() [8/57]

◆ TEST() [9/57]

TEST ( CapacityScalingTest  ,
LinearNetwork   
)

◆ TEST() [10/57]

◆ TEST() [11/57]

◆ TEST() [12/57]

◆ TEST() [13/57]

TEST ( DinicTest  ,
ComplexNetwork   
)

◆ TEST() [14/57]

TEST ( DinicTest  ,
DiamondNetwork   
)

◆ TEST() [15/57]

◆ TEST() [16/57]

◆ TEST() [17/57]

◆ TEST() [18/57]

◆ TEST() [19/57]

◆ TEST() [20/57]

◆ TEST() [21/57]

◆ TEST() [22/57]

◆ TEST() [23/57]

◆ TEST() [24/57]

TEST ( FlowDecompositionTest  ,
ComplexFlow   
)

◆ TEST() [25/57]

◆ TEST() [26/57]

TEST ( FlowDecompositionTest  ,
DiamondFlow   
)

◆ TEST() [27/57]

TEST ( FlowDecompositionTest  ,
LinearFlow   
)

◆ TEST() [28/57]

◆ TEST() [29/57]

◆ TEST() [30/57]

◆ TEST() [31/57]

TEST ( FlowStatisticsTest  ,
AfterFlow   
)

◆ TEST() [32/57]

TEST ( FlowStatisticsTest  ,
BeforeFlow   
)

◆ TEST() [33/57]

TEST ( FunctorTest  ,
CapacityScalingFunctor   
)

◆ TEST() [34/57]

TEST ( FunctorTest  ,
DecomposeFunctor   
)

◆ TEST() [35/57]

TEST ( FunctorTest  ,
DinicFunctor   
)

◆ TEST() [36/57]

TEST ( FunctorTest  ,
HLPPFunctor   
)

◆ TEST() [37/57]

◆ TEST() [38/57]

◆ TEST() [39/57]

TEST ( HLPPTest  ,
ComplexNetwork   
)

◆ TEST() [40/57]

TEST ( HLPPTest  ,
DiamondNetwork   
)

◆ TEST() [41/57]

◆ TEST() [42/57]

◆ TEST() [43/57]

◆ TEST() [44/57]

◆ TEST() [45/57]

◆ TEST() [46/57]

◆ TEST() [47/57]

◆ TEST() [48/57]

◆ TEST() [49/57]

◆ TEST() [50/57]

◆ TEST() [51/57]

◆ TEST() [52/57]

◆ TEST() [53/57]

◆ TEST() [54/57]

◆ TEST() [55/57]

◆ TEST() [56/57]

◆ TEST() [57/57]

◆ verify_flow_conservation()

◆ verify_max_flow_min_cut()

template<class Net >
bool verify_max_flow_min_cut ( Net &  net,
double  max_flow 
)

Definition at line 475 of file tpl_maxflow_test.cc.

References compute_min_cut_capacity(), and Aleph::min_cut().

Referenced by TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().