forked from snap-stanford/snap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-sim.cpp
64 lines (58 loc) · 1.22 KB
/
test-sim.cpp
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
58
59
60
61
62
63
64
#include <gtest/gtest.h>
#include "Snap.h"
TEST(sim, sequential) {
PNGraph G = new TNGraph();
G->AddNode(1);
G->AddNode(2);
G->AddNode(3);
G->AddNode(4);
G->AddNode(10);
G->AddNode(11);
G->AddNode(12);
G->AddEdge(1,10);
G->AddEdge(2,10);
G->AddEdge(1,11);
G->AddEdge(2,12);
G->AddEdge(3,11);
G->AddEdge(3,12);
G->AddEdge(2,11);
G->AddEdge(4,10);
PNEANet K = KNNJaccard(G,3);
int s = 0;
float sum = 0;
for (TNEANet::TEdgeI EI = K->BegEI(); EI < K->EndEI(); EI++ ){
s += EI.GetDstNId();
sum += K->GetFltAttrDatE(EI.GetId(), "sim");
}
EXPECT_EQ(26, s);
EXPECT_EQ(8, int(sum));
}
#ifdef GCC_ATOMIC
TEST(sim, parallel) {
PNGraph G = new TNGraph();
G->AddNode(1);
G->AddNode(2);
G->AddNode(3);
G->AddNode(4);
G->AddNode(10);
G->AddNode(11);
G->AddNode(12);
G->AddEdge(1,10);
G->AddEdge(2,10);
G->AddEdge(1,11);
G->AddEdge(2,12);
G->AddEdge(3,11);
G->AddEdge(3,12);
G->AddEdge(2,11);
G->AddEdge(4,10);
PNEANet K = KNNJaccardParallel(G,3);
int s = 0;
float sum = 0;
for (TNEANet::TEdgeI EI = K->BegEI(); EI < K->EndEI(); EI++ ){
s += EI.GetDstNId();
sum += K->GetFltAttrDatE(EI.GetId(), "sim");
}
EXPECT_EQ(26, s);
EXPECT_EQ(8, int(sum));
}
#endif