@@ -43,17 +43,17 @@ void grin_destroy_adjacent_list(GRIN_GRAPH g, GRIN_ADJACENT_LIST al) {
43
43
44
44
size_t grin_get_adjacent_list_size (GRIN_GRAPH g, GRIN_ADJACENT_LIST al) {
45
45
auto _al = static_cast <GRIN_ADJACENT_LIST_T*>(al);
46
- if (_al->is_simple ) return _al->end_ - _al->begin_ ;
47
- if (_al->offsets .empty ()) __grin_init_complex_adjacent_list (static_cast <GRIN_GRAPH_T*>(g)->g , _al);
46
+ if (likely ( _al->is_simple ) ) return _al->end_ - _al->begin_ ;
47
+ if (unlikely ( _al->offsets .empty () )) __grin_init_complex_adjacent_list (static_cast <GRIN_GRAPH_T*>(g)->g , _al);
48
48
return _al->offsets [_al->etype ].first ;
49
49
}
50
50
51
51
GRIN_VERTEX grin_get_neighbor_from_adjacent_list (GRIN_GRAPH g, GRIN_ADJACENT_LIST al, size_t idx) {
52
52
auto _al = static_cast <GRIN_ADJACENT_LIST_T*>(al);
53
53
auto nbr = _al->begin_ + idx;
54
- if (nbr < _al->end_ ) return nbr->vid ;
55
- if (_al->is_simple ) return GRIN_NULL_VERTEX;
56
- if (_al->offsets .empty ()) __grin_init_complex_adjacent_list (static_cast <GRIN_GRAPH_T*>(g)->g , _al);
54
+ if (likely ( nbr < _al->end_ ) ) return nbr->vid ;
55
+ if (likely ( _al->is_simple ) ) return GRIN_NULL_VERTEX;
56
+ if (unlikely ( _al->offsets .empty () )) __grin_init_complex_adjacent_list (static_cast <GRIN_GRAPH_T*>(g)->g , _al);
57
57
for (unsigned i = 0 ; i < _al->etype ; ++i) {
58
58
if (idx < _al->offsets [i+1 ].first ) {
59
59
nbr = _al->offsets [i].second + idx - _al->offsets [i].first ;
@@ -66,7 +66,7 @@ GRIN_VERTEX grin_get_neighbor_from_adjacent_list(GRIN_GRAPH g, GRIN_ADJACENT_LIS
66
66
GRIN_EDGE grin_get_edge_from_adjacent_list (GRIN_GRAPH g, GRIN_ADJACENT_LIST al, size_t idx) {
67
67
auto _al = static_cast <GRIN_ADJACENT_LIST_T*>(al);
68
68
auto nbr = _al->begin_ + idx;
69
- if (nbr < _al->end_ ) {
69
+ if (likely ( nbr < _al->end_ ) ) {
70
70
auto e = new GRIN_EDGE_T ();
71
71
e->dir = _al->dir ;
72
72
e->etype = _al->etype ;
@@ -80,8 +80,8 @@ GRIN_EDGE grin_get_edge_from_adjacent_list(GRIN_GRAPH g, GRIN_ADJACENT_LIST al,
80
80
}
81
81
return e;
82
82
}
83
- if (_al->is_simple ) return GRIN_NULL_EDGE;
84
- if (_al->offsets .empty ()) __grin_init_complex_adjacent_list (static_cast <GRIN_GRAPH_T*>(g)->g , _al);
83
+ if (likely ( _al->is_simple ) ) return GRIN_NULL_EDGE;
84
+ if (unlikely ( _al->offsets .empty () )) __grin_init_complex_adjacent_list (static_cast <GRIN_GRAPH_T*>(g)->g , _al);
85
85
for (unsigned i = 0 ; i < _al->etype ; ++i) {
86
86
if (idx < _al->offsets [i+1 ].first ) {
87
87
nbr = _al->offsets [i].second + idx - _al->offsets [i].first ;
@@ -132,7 +132,7 @@ void grin_get_next_adjacent_list_iter(GRIN_GRAPH g, GRIN_ADJACENT_LIST_ITERATOR
132
132
auto _ali = static_cast <GRIN_ADJACENT_LIST_ITERATOR_T*>(ali);
133
133
_ali->current_ ++;
134
134
if (_ali->current_ < _ali->end_ ) return ;
135
- if (_ali->is_simple ) {
135
+ if (likely ( _ali->is_simple ) ) {
136
136
_ali->etype_current ++;
137
137
return ;
138
138
}
0 commit comments