From 80e1137a6c27f9d2984f28400175a0e9d96eb82a Mon Sep 17 00:00:00 2001 From: Heng Li Date: Tue, 26 Feb 2013 11:57:36 -0500 Subject: [PATCH] move bwt_invPsi() from bwt.h to bwt.c --- bwt.c | 8 ++++++++ bwt.h | 17 ----------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/bwt.c b/bwt.c index ab0a6fc..43979ac 100644 --- a/bwt.c +++ b/bwt.c @@ -45,6 +45,14 @@ void bwt_gen_cnt_table(bwt_t *bwt) } } +static inline bwtint_t bwt_invPsi(const bwt_t *bwt, bwtint_t k) // compute inverse CSA +{ + bwtint_t x = k - (k > bwt->primary); + x = bwt_B0(bwt, x); + x = bwt->L2[x] + bwt_occ(bwt, k, x); + return k == bwt->primary? 0 : x; +} + // bwt->bwt and bwt->occ must be precalculated void bwt_cal_sa(bwt_t *bwt, int intv) { diff --git a/bwt.h b/bwt.h index ab5aecd..e7b0f97 100644 --- a/bwt.h +++ b/bwt.h @@ -124,21 +124,4 @@ extern "C" { } #endif -// inverse Psi function -#if 0 -#define bwt_invPsi(bwt, k) \ - (((k) == (bwt)->primary)? 0 : \ - ((k) < (bwt)->primary)? \ - (bwt)->L2[bwt_B0(bwt, k)] + bwt_occ(bwt, k, bwt_B0(bwt, k)) \ - : (bwt)->L2[bwt_B0(bwt, (k)-1)] + bwt_occ(bwt, k, bwt_B0(bwt, (k)-1))) -#else -static inline bwtint_t bwt_invPsi(const bwt_t *bwt, bwtint_t k) -{ - bwtint_t x = k - (k > bwt->primary); - x = bwt_B0(bwt, x); - x = bwt->L2[x] + bwt_occ(bwt, k, x); - return k == bwt->primary? 0 : x; -} -#endif - #endif