diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-08-19 10:47:27 -0400 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-09-15 23:01:32 -0400 |
commit | e361a51248ca4cdea89395d53b24e98d9b1805a2 (patch) | |
tree | f53642319f05ed5ac2174a9f85b1a0f264f71be6 /lisc/tools/slot.c | |
parent | 61d07bbb147018cffd2120754c1f3f4f20f3f4dc (diff) | |
download | roux-e361a51248ca4cdea89395d53b24e98d9b1805a2.tar.gz |
new NAlign constant and fix frame size computation
Diffstat (limited to 'lisc/tools/slot.c')
-rw-r--r-- | lisc/tools/slot.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lisc/tools/slot.c b/lisc/tools/slot.c index 4b97be7..caee851 100644 --- a/lisc/tools/slot.c +++ b/lisc/tools/slot.c @@ -14,7 +14,7 @@ #define VARL 1 -enum { N = 3 }; +enum { NAlign = 3 }; static int slota(int sz, int al, int *sa) @@ -31,18 +31,18 @@ slota(int sz, int al, int *sa) * todo, could sophisticate */ l = (l + a-1) & ~(a-1); - s = sa[N-1] + l; + s = sa[NAlign-1] + l; ret = s; - for (j=0, k=1; j<N; j++, k*=2) { + for (j=0, k=1; j<NAlign; j++, k*=2) { l = (l + k-1) & ~(k-1); - sa[j] = sa[N-1] + l; + sa[j] = sa[NAlign-1] + l; } } else { j = al; s = sa[j] + a; ret = s; Shift: - if (j < N-1 && s < sa[j+1]) + if (j < NAlign-1 && s < sa[j+1]) /* ........-----------... * ^ ^ ^ * sa[j] sa[j]+a sa[j+1] @@ -59,7 +59,7 @@ slota(int sz, int al, int *sa) if (sa[k] == sa[j]) sa[k] = s; - if (j < N-1 && s > sa[j+1]) { + if (j < NAlign-1 && s > sa[j+1]) { /* we were in a bigger hole, * it needs to shift further */ @@ -75,7 +75,7 @@ enum { S = 300 }; int main(int ac, char *av[]) { - int sa[N] = {0, 0, 2}; + int sa[NAlign] = {0, 0, 2}; char stk[S] = {0}, buf[4] = {0}; unsigned seed; int i, a, l, s, itr; @@ -97,7 +97,7 @@ main(int ac, char *av[]) printf("\n"); do a = rand() % 4; - while (a >= N); + while (a >= NAlign); if ((float)rand()/RAND_MAX < 0.1 && VARL) { l = rand() % (S/20); printf("[(%02d) %02d %d] ", itr, l, a); @@ -135,7 +135,7 @@ end: for (i=0; i<S; i++) printf("%02d ", stk[i]); printf("\n\n"); - for (i=0; i<N; i++) + for (i=0; i<NAlign; i++) printf("sa[%d] = %d\n", i, sa[i]); exit(ret); } |