aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryuta.256 <yuta.256@b7c3aa3b-274f-0410-ae0b-edc9d07c929d>2008-08-23 02:40:50 +0000
committeryuta.256 <yuta.256@b7c3aa3b-274f-0410-ae0b-edc9d07c929d>2008-08-23 02:40:50 +0000
commit5f60ac8a026473087ecf1315f9436ae5871e4f69 (patch)
tree300eb8fcd2f96f0544e03511439889bc25b00b93
parenta844abd2925b6820947c8887e314a44435b884da (diff)
downloadplatform_external_libdivsufsort-5f60ac8a026473087ecf1315f9436ae5871e4f69.tar.gz
platform_external_libdivsufsort-5f60ac8a026473087ecf1315f9436ae5871e4f69.tar.bz2
platform_external_libdivsufsort-5f60ac8a026473087ecf1315f9436ae5871e4f69.zip
A few bug fixes.
-rw-r--r--examples/sasearch.c4
-rw-r--r--lib/sssort.c14
2 files changed, 9 insertions, 9 deletions
diff --git a/examples/sasearch.c b/examples/sasearch.c
index c4ecdc1..7e5ca4f 100644
--- a/examples/sasearch.c
+++ b/examples/sasearch.c
@@ -109,8 +109,8 @@ main(int argc, const char *argv[]) {
}
/* Allocate 5n bytes of memory. */
- T = malloc((size_t)n * sizeof(sauchar_t));
- SA = malloc((size_t)n * sizeof(saidx_t));
+ T = (sauchar_t *)malloc((size_t)n * sizeof(sauchar_t));
+ SA = (saidx_t *)malloc((size_t)n * sizeof(saidx_t));
if((T == NULL) || (SA == NULL)) {
fprintf(stderr, "%s: Cannot allocate memory.\n", argv[0]);
exit(EXIT_FAILURE);
diff --git a/lib/sssort.c b/lib/sssort.c
index 79ab181..4a18fd2 100644
--- a/lib/sssort.c
+++ b/lib/sssort.c
@@ -47,19 +47,19 @@ saint_t
ss_ilg(saidx_t n) {
#if SS_BLOCKSIZE == 0
# if defined(BUILD_DIVSUFSORT64)
- return (n & 0xffffffff00000000) ?
- ((n & 0xffff000000000000) ?
- ((n & 0xff00000000000000) ?
+ return (n >> 32) ?
+ ((n >> 48) ?
+ ((n >> 56) ?
56 + lg_table[(n >> 56) & 0xff] :
48 + lg_table[(n >> 48) & 0xff]) :
- ((n & 0x0000ff0000000000) ?
+ ((n >> 40) ?
40 + lg_table[(n >> 40) & 0xff] :
32 + lg_table[(n >> 32) & 0xff])) :
- ((n & 0x00000000ffff0000) ?
- ((n & 0x00000000ff000000) ?
+ ((n & 0xffff0000) ?
+ ((n & 0xff000000) ?
24 + lg_table[(n >> 24) & 0xff] :
16 + lg_table[(n >> 16) & 0xff]) :
- ((n & 0x000000000000ff00) ?
+ ((n & 0x0000ff00) ?
8 + lg_table[(n >> 8) & 0xff] :
0 + lg_table[(n >> 0) & 0xff]));
# else