File tree Expand file tree Collapse file tree 1 file changed +15
-11
lines changed Expand file tree Collapse file tree 1 file changed +15
-11
lines changed Original file line number Diff line number Diff line change 48
48
"""
49
49
function tet_to_edges! (pair:: Vector , pair_set:: Set , t)
50
50
empty! (pair_set)
51
- for i in eachindex (t)
51
+ length (pair) < length (t)* 6 && resize! (pair, length (t)* 6 )
52
+ num_pair = 1
53
+ @inbounds for i in eachindex (t)
52
54
for ep in 1 : 6
53
55
p1 = t[i][tetpairs[ep][1 ]]
54
56
p2 = t[i][tetpairs[ep][2 ]]
55
- push! (pair_set, p1 > p2 ? (p2,p1) : (p1,p2))
57
+ elt = p1 > p2 ? (p2,p1) : (p1,p2)
58
+ if ! in (elt, pair_set)
59
+ push! (pair_set, elt)
60
+ pair[num_pair] = elt
61
+ num_pair += 1
62
+ end
56
63
end
57
64
end
58
- length (pair) < length (pair_set) && resize! (pair, length (pair_set))
59
- # copy pair set to array since sets are not sortable
60
- i = 1
61
- for elt in pair_set
62
- pair[i] = elt
63
- i = i + 1
64
- end
65
65
66
66
# sort the edge pairs for better point lookup
67
- sort! (view (pair, 1 : (i- 1 )))
67
+ sort! (view (pair, 1 : (num_pair- 1 )))
68
+
69
+ return num_pair - 1 # return the number of pairs
70
+ end
68
71
69
- return i - 1 # return the number of pairs
72
+ function bitpack (xi,yi)
73
+ (unsafe_trunc (UInt64, xi) << 32 ) | unsafe_trunc (UInt64, yi)
70
74
end
You can’t perform that action at this time.
0 commit comments