@@ -11,6 +11,7 @@ open GraphBLAS.FSharp.Objects
11
11
open GraphBLAS.FSharp .Objects .MatrixExtensions
12
12
13
13
let config = Utils.undirectedAlgoConfig
14
+
14
15
let workGroupSize = Utils.defaultWorkGroupSize
15
16
16
17
let makeLevelsTest context queue bfs ( matrix : int [,]) =
@@ -19,11 +20,14 @@ let makeLevelsTest context queue bfs (matrix: int [,]) =
19
20
let largestComponent =
20
21
ConnectedComponents.largestComponent graph
21
22
23
+ Array.sortInPlace largestComponent
24
+
22
25
if largestComponent.Length > 1 then
23
26
let sourceVertexCount = max 2 ( largestComponent.Length / 10 )
24
27
25
28
let source =
26
- largestComponent.[ 0 .. sourceVertexCount]
29
+ largestComponent.[ 0 .. sourceVertexCount - 1 ]
30
+ |> Array.sort
27
31
|> Array.toList
28
32
29
33
let matrixHost =
@@ -35,7 +39,7 @@ let makeLevelsTest context queue bfs (matrix: int [,]) =
35
39
Array2D.zeroCreate sourceVertexCount ( Array2D.length1 matrix)
36
40
37
41
source
38
- |> Seq .iteri
42
+ |> List .iteri
39
43
( fun i vertex ->
40
44
( snd ( BFS.runUndirected graph vertex))
41
45
|> Utils.createArrayFromDictionary ( Array2D.length1 matrix) 0
@@ -53,7 +57,7 @@ let makeLevelsTest context queue bfs (matrix: int [,]) =
53
57
| Matrix.COO a, Matrix.COO e -> Utils.compareCOOMatrix (=) a e
54
58
| _ -> failwith " Not implemented"
55
59
56
- let createLevelsTest context queue testFun =
60
+ let createLevelsTest < 'a > context queue testFun =
57
61
testFun
58
62
|> makeLevelsTest context queue
59
63
|> testPropertyWithConfig config $" test on %A {typeof<'a>}"
@@ -64,12 +68,12 @@ let levelsTestFixtures (testContext: TestContext) =
64
68
65
69
let bfsLevels =
66
70
Algorithms.MSBFS.runLevels
67
- ( fst ArithmeticOperations.intAdd )
68
- ( fst ArithmeticOperations.intMul )
71
+ ArithmeticOperations.intAddWithoutZero
72
+ ArithmeticOperations.intMulWithoutZero
69
73
context
70
74
workGroupSize
71
75
72
- createLevelsTest context queue bfsLevels ]
76
+ createLevelsTest< int > context queue bfsLevels ]
73
77
74
78
let levelsTests =
75
79
TestCases.gpuTests " MSBFS Levels tests" levelsTestFixtures
0 commit comments