Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "Options.h"
int main(int argc, char **argv) {
/* This test function should be called by
test_GetParameters pi.mtx 4 0.25 -SplitStrategy=onedimrow -SplitMethod simple
to overrule the defaults for SplitStrategy and SplitMethod.
*/
struct opts Options ;
printf("Test GetParameters: ") ;
SetDefaultOptions(&Options);
SetOptionsFromFile(&Options, "test_GetParameters.defaults");
GetParameters(&Options, argc, argv);
/* Check option values */
if ( Options.P != 4 ||
strcmp(Options.matrix, "pi.mtx") ||
Options.eps != 0.25 ||
Options.LoadbalanceStrategy != Constant ||
Options.LoadbalanceAdjust != AdjustYes ||
Options.SplitStrategy != OneDimRow ||
Options.Alternate_FirstDirection != FirstDirRatio ||
Options.SplitMethod != Simple ||
Options.SquareMatrix_DistributeVectorsEqual != EqVecNo ||
Options.SquareMatrix_DistributeVectorsEqual_AddDummies != DumYes ||
Options.SymmetricMatrix_UseSingleEntry != SingleEntNo ||
Options.SymmetricMatrix_SingleEntryType != ETypeLower ||
Options.Coarsening_NrVertices != 200 ||
Options.Coarsening_MaxNrVtxInMatch != 2 ||
Options.Coarsening_StopRatio != 0.05 ||
Options.Coarsening_VtxMaxFractionOfWeight != 0.2 ||
Options.Coarsening_MatchingStrategy != MatchInprod ||
Options.Coarsening_InprodMatchingOrder != DecreasingWgt ||
Options.Coarsening_FineSwitchLevel != 2 ||
Options.Coarsening_NetScaling != NetSclLinear ||
Options.Coarsening_InprodScaling != IpSclMin ||
Options.Coarsening_MatchIdenticalFirst != MatchIdYes ||
Options.KLFM_InitPart_NrRestarts != 8 ||
Options.KLFM_InitPart_MaxNrLoops != 25 ||
Options.KLFM_InitPart_MaxNrNoGainMoves != 200 ||
Options.KLFM_Refine_MaxNrLoops != 25 ||
Options.KLFM_Refine_MaxNrNoGainMoves != 200 ||
Options.VectorPartition_Step3 != VecRandom ||
Options.VectorPartition_MaxNrLoops != 10 ||
Options.VectorPartition_MaxNrGreedyImproves != 10 ||
Options.Seed != 99 ) {
printf("Error\n") ;
exit(1);
}
printf("OK\n") ;
exit(0);
} /* end main */