projects
/
SXSI
/
libbp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Small fixes and optimization
[SXSI/libbp.git]
/
bp-core.c
diff --git
a/bp-core.c
b/bp-core.c
index
67cc780
..
700e3e5
100644
(file)
--- a/
bp-core.c
+++ b/
bp-core.c
@@
-14,17
+14,16
@@
#define MBid(i) ((i)>>logMB)
#define MBfirst(i) ((i) & (~(MB-1)))
#define MBlast(i) ((i) | (MB-1))
#define MBid(i) ((i)>>logMB)
#define MBfirst(i) ((i) & (~(MB-1)))
#define MBlast(i) ((i) | (MB-1))
-#define max(a,b) \
- ({ __typeof__ (a) _a = (a); \
- __typeof__ (b) _b = (b); \
- _a > _b ? _a : _b; })
+static int min(int a, int b)
+{
+ return (a <= b) ? a : b;
+}
-#define min(a,b) \
- ({ __typeof__ (a) _a = (a); \
- __typeof__ (b) _b = (b); \
- _a <= _b ? _a : _b; })
-
+static int max(int a, int b)
+{
+ return (a >= b) ? a : b;
+}
pb getpat_preorder(pb *b)
{
pb getpat_preorder(pb *b)
{
@@
-109,7
+108,7
@@
int search_SB_r(bp *b, int i, int rel)
pb *p,x,w;
n = b->n;
pb *p,x,w;
n = b->n;
- il = min((SBid(i) + 1) << logSB,n);
+ il = min((SBid(i) + 1) << logSB,
n);
p = &b->B[i>>logD];
while (i<il) {
x = *p++;
p = &b->B[i>>logD];
while (i<il) {
x = *p++;
@@
-126,7
+125,7
@@
int search_SB_r(bp *b, int i, int rel)
}
}
r = min(j,ETW);
}
}
r = min(j,ETW);
- rel -=
2*popcount(w
)-r;
+ rel -=
(popcount(w) << 1
)-r;
x <<= r;
i += r;
j -= r;
x <<= r;
i += r;
j -= r;