From 86bafaee272809546f82ac104beb8b8a53d3812a Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Thu, 2 Feb 2023 11:56:16 -0600 Subject: [PATCH] Dropped lfsr_sid_t for lfs_ssize_t --- lfs.c | 126 +++++++++++++++++++++---------------------- lfs.h | 2 - tests/test_rbyd.toml | 108 ++++++++++++++++++------------------- 3 files changed, 117 insertions(+), 119 deletions(-) diff --git a/lfs.c b/lfs.c index 4293fe86..95769894 100644 --- a/lfs.c +++ b/lfs.c @@ -565,25 +565,25 @@ static inline lfsr_tag_t lfsr_tag_key(lfsr_tag_t tag) { return tag & ~0xf; } -static inline bool lfsr_tag_follow(lfsr_tag_t alt, lfs_size_t weight, - lfsr_sid_t lower, lfsr_sid_t upper, - lfsr_tag_t tag, lfsr_sid_t id) { +static inline bool lfsr_tag_follow(lfsr_tag_t alt, lfs_ssize_t weight, + lfs_ssize_t lower, lfs_ssize_t upper, + lfsr_tag_t tag, lfs_ssize_t id) { if (lfsr_tag_isgt(alt)) { - return id > upper - (lfs_ssize_t)weight - 1 - || (id == upper - (lfs_ssize_t)weight - 1 + return id > upper - weight - 1 + || (id == upper - weight - 1 && lfsr_tag_key(tag) > lfsr_tag_key(alt)); } else { - return id < lower + (lfs_ssize_t)weight - || (id == lower + (lfs_ssize_t)weight + return id < lower + weight + || (id == lower + weight && lfsr_tag_key(tag) <= lfsr_tag_key(alt)); } } static inline bool lfsr_tag_follow2( - lfsr_tag_t alt, lfs_size_t weight, - lfsr_tag_t alt2, lfs_size_t weight2, - lfsr_sid_t lower, lfsr_sid_t upper, - lfsr_tag_t tag, lfsr_sid_t id) { + lfsr_tag_t alt, lfs_ssize_t weight, + lfsr_tag_t alt2, lfs_ssize_t weight2, + lfs_ssize_t lower, lfs_ssize_t upper, + lfsr_tag_t tag, lfs_ssize_t id) { if (lfsr_tag_isred(alt2) && lfsr_tag_isparallel(alt, alt2)) { weight += weight2; } @@ -592,9 +592,9 @@ static inline bool lfsr_tag_follow2( } static inline bool lfsr_tag_prune2( - lfsr_tag_t alt, lfs_size_t weight, - lfsr_tag_t alt2, lfs_size_t weight2, - lfsr_sid_t lower_id, lfsr_sid_t upper_id, + lfsr_tag_t alt, lfs_ssize_t weight, + lfsr_tag_t alt2, lfs_ssize_t weight2, + lfs_ssize_t lower_id, lfs_ssize_t upper_id, lfsr_tag_t lower_tag, lfsr_tag_t upper_tag) { if (lfsr_tag_isgt(alt)) { return lfsr_tag_follow2( @@ -611,15 +611,15 @@ static inline bool lfsr_tag_prune2( } } -static inline void lfsr_tag_flip(lfsr_tag_t *alt, lfs_size_t *weight, - lfsr_sid_t lower, lfsr_sid_t upper) { +static inline void lfsr_tag_flip(lfsr_tag_t *alt, lfs_ssize_t *weight, + lfs_ssize_t lower, lfs_ssize_t upper) { *alt = *alt ^ 0x4; *weight = (upper-lower) - *weight - 1; } -static inline void lfsr_tag_flip2(lfsr_tag_t *alt, lfs_size_t *weight, +static inline void lfsr_tag_flip2(lfsr_tag_t *alt, lfs_ssize_t *weight, lfsr_tag_t alt2, lfs_size_t weight2, - lfsr_sid_t lower, lfsr_sid_t upper) { + lfs_ssize_t lower, lfs_ssize_t upper) { if (lfsr_tag_isred(alt2)) { *weight += weight2; } @@ -628,8 +628,8 @@ static inline void lfsr_tag_flip2(lfsr_tag_t *alt, lfs_size_t *weight, } static inline void lfsr_tag_trim( - lfsr_tag_t alt, lfs_size_t weight, - lfsr_sid_t *lower_id, lfsr_sid_t *upper_id, + lfsr_tag_t alt, lfs_ssize_t weight, + lfs_ssize_t *lower_id, lfs_ssize_t *upper_id, lfsr_tag_t *lower_tag, lfsr_tag_t *upper_tag) { if (lfsr_tag_isgt(alt)) { *upper_id -= weight; @@ -645,9 +645,9 @@ static inline void lfsr_tag_trim( } static inline void lfsr_tag_trim2( - lfsr_tag_t alt, lfs_size_t weight, - lfsr_tag_t alt2, lfs_size_t weight2, - lfsr_sid_t *lower_id, lfsr_sid_t *upper_id, + lfsr_tag_t alt, lfs_ssize_t weight, + lfsr_tag_t alt2, lfs_ssize_t weight2, + lfs_ssize_t *lower_id, lfs_ssize_t *upper_id, lfsr_tag_t *lower_tag, lfsr_tag_t *upper_tag) { if (lfsr_tag_isred(alt2)) { lfsr_tag_trim(alt2, weight2, lower_id, upper_id, lower_tag, upper_tag); @@ -674,7 +674,7 @@ struct lfs_diskoff { struct lfsr_attr { lfsr_tag_t tag; - lfsr_sid_t id; + lfs_ssize_t id; const void *buffer; lfs_size_t size; const struct lfsr_attr *next; @@ -716,8 +716,8 @@ struct lfsr_pat { // the id will at least contain where you should insert lfsr_tag_t predicted_type; lfsr_tag_t found_type; - lfsr_id_t predicted_id; - lfsr_id_t found_id; + lfs_ssize_t predicted_id; + lfs_ssize_t found_id; }; @@ -1119,7 +1119,7 @@ static int lfs_alloc(lfs_t *lfs, lfs_block_t *block) { static lfs_ssize_t lfsr_rbyd_readtag(lfs_t *lfs, const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, lfs_block_t block, lfs_off_t off, - lfsr_tag_t *tag, lfsr_sid_t *id, lfs_size_t *size, uint32_t *crc) { + lfsr_tag_t *tag, lfs_ssize_t *id, lfs_size_t *size, uint32_t *crc) { // // needed to quiet an uninitialized warning, zeroing tag on error is // // probably a good idea anyways // *tag = 0; @@ -1164,7 +1164,7 @@ static lfs_ssize_t lfsr_rbyd_readtag(lfs_t *lfs, } delta += delta_; - lfsr_id_t id_; + lfs_size_t id_; delta_ = lfs_fromleb128(&id_, &buffer[delta], 5); if (delta_ < 0) { return delta_; @@ -1188,7 +1188,7 @@ static lfs_ssize_t lfsr_rbyd_readtag(lfs_t *lfs, // - adjust id so reserved id is -1, so we don't have mixed zero/one indexed // *tag = tag_ & ~0x1; - *id = (lfsr_sid_t)id_ - 1; + *id = id_ - 1; *size = size_; return delta; @@ -1234,7 +1234,7 @@ static int lfsr_rbyd_fetch(lfs_t *lfs, lfsr_rbyd_t *rbyd, // scan tags, checking valid bits, crcs, etc while (true) { lfsr_tag_t tag; - lfsr_sid_t id; + lfs_ssize_t id; lfs_size_t size; lfs_ssize_t delta = lfsr_rbyd_readtag(lfs, NULL, &lfs->rcache, limit-off, @@ -1475,8 +1475,9 @@ static int lfsr_rbyd_fetch(lfs_t *lfs, lfsr_rbyd_t *rbyd, } static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd, - lfsr_tag_t tag, lfsr_sid_t id, - lfsr_tag_t *tag_, lfsr_sid_t *id_, lfs_off_t *off_, lfs_size_t *size_) { + lfsr_tag_t tag, lfs_ssize_t id, + lfsr_tag_t *tag_, lfs_ssize_t *id_, + lfs_off_t *off_, lfs_size_t *size_) { // tag must be non-zero! zero tags may deceptively look like they work but // fail when the tree contains a deleted id0 LFS_ASSERT(tag != 0); @@ -1488,17 +1489,17 @@ static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd, } // keep track of bounds as we descend down the tree - lfsr_sid_t lower = -1; - lfsr_sid_t upper = rbyd->weight; + lfs_ssize_t lower = -1; + lfs_ssize_t upper = rbyd->weight; // descend down tree while (true) { lfsr_tag_t alt; - lfs_size_t weight; + lfs_ssize_t weight; lfs_off_t jump; lfs_ssize_t delta = lfsr_rbyd_readtag(lfs, &lfs->pcache, &lfs->rcache, 0, - rbyd->block, branch, &alt, (lfs_ssize_t*)&weight, &jump, NULL); + rbyd->block, branch, &alt, &weight, &jump, NULL); if (delta < 0) { return delta; } @@ -1519,7 +1520,7 @@ static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd, } else { // update the tag id lfsr_tag_t tag__ = alt; - lfsr_sid_t id__ = upper-1; + lfs_ssize_t id__ = upper-1; // not what we're looking for? if (id__ < id @@ -1545,9 +1546,9 @@ static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd, } static lfs_ssize_t lfsr_rbyd_get(lfs_t *lfs, const lfsr_rbyd_t *rbyd, - lfsr_tag_t tag, lfsr_sid_t id, void *buffer, lfs_size_t size) { + lfsr_tag_t tag, lfs_ssize_t id, void *buffer, lfs_size_t size) { lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; int err = lfsr_rbyd_lookup(lfs, rbyd, tag, id, @@ -1637,7 +1638,7 @@ static int lfsr_rbyd_prog(lfs_t *lfs, lfsr_rbyd_t *rbyd_, } static int lfsr_rbyd_progtag(lfs_t *lfs, lfsr_rbyd_t *rbyd_, - lfsr_tag_t tag, lfsr_sid_t id, lfs_size_t size, uint32_t *crc) { + lfsr_tag_t tag, lfs_ssize_t id, lfs_size_t size, uint32_t *crc) { LFS_ASSERT(tag <= 0x3fff); // make sure to include the parity of the current crc @@ -1677,7 +1678,7 @@ static int lfsr_rbyd_progtag(lfs_t *lfs, lfsr_rbyd_t *rbyd_, static int lfsr_rbyd_p_flush(lfs_t *lfs, lfsr_rbyd_t *rbyd_, lfsr_tag_t p_alts[static 3], - lfs_size_t p_weights[static 3], + lfs_ssize_t p_weights[static 3], lfs_off_t p_jumps[static 3], unsigned count) { // write out some number of alt pointers in our queue @@ -1685,7 +1686,7 @@ static int lfsr_rbyd_p_flush(lfs_t *lfs, lfsr_rbyd_t *rbyd_, if (p_alts[3-1-i]) { // change to a relative jump at the last minute lfsr_tag_t alt = p_alts[3-1-i]; - lfsr_sid_t weight = p_weights[3-1-i] - 1; + lfs_ssize_t weight = p_weights[3-1-i] - 1; lfs_off_t jump = rbyd_->off - p_jumps[3-1-i]; int err = lfsr_rbyd_progtag(lfs, rbyd_, @@ -1701,9 +1702,9 @@ static int lfsr_rbyd_p_flush(lfs_t *lfs, lfsr_rbyd_t *rbyd_, static inline int lfsr_rbyd_p_push(lfs_t *lfs, lfsr_rbyd_t *rbyd_, lfsr_tag_t p_alts[static 3], - lfs_size_t p_weights[static 3], + lfs_ssize_t p_weights[static 3], lfs_off_t p_jumps[static 3], - lfsr_tag_t alt, lfs_size_t weight, lfs_off_t jump) { + lfsr_tag_t alt, lfs_ssize_t weight, lfs_off_t jump) { int err = lfsr_rbyd_p_flush(lfs, rbyd_, p_alts, p_weights, p_jumps, 1); if (err) { return err; @@ -1721,10 +1722,10 @@ static inline int lfsr_rbyd_p_push(lfs_t *lfs, lfsr_rbyd_t *rbyd_, static inline void lfsr_rbyd_p_pop( lfsr_tag_t p_alts[static 3], - lfs_size_t p_weights[static 3], + lfs_ssize_t p_weights[static 3], lfs_off_t p_jumps[static 3]) { memmove(p_alts, p_alts+1, 2*sizeof(lfsr_tag_t)); - memmove(p_weights, p_weights+1, 2*sizeof(lfs_size_t)); + memmove(p_weights, p_weights+1, 2*sizeof(lfs_ssize_t)); memmove(p_jumps, p_jumps+1, 2*sizeof(lfs_off_t)); p_alts[2] = 0; p_weights[2] = 0; @@ -1733,7 +1734,7 @@ static inline void lfsr_rbyd_p_pop( static void lfsr_rbyd_p_red( lfsr_tag_t p_alts[static 3], - lfs_size_t p_weights[static 3], + lfs_ssize_t p_weights[static 3], lfs_off_t p_jumps[static 3]) { LFS_ASSERT(lfsr_tag_isblack(p_alts[0])); @@ -1747,7 +1748,7 @@ static void lfsr_rbyd_p_red( // no reorder needed } else if (lfsr_tag_isparallel(p_alts[0], p_alts[2])) { lfsr_tag_t alt_ = p_alts[1]; - lfs_size_t weight_ = p_weights[1]; + lfs_ssize_t weight_ = p_weights[1]; lfs_off_t jump_ = p_jumps[1]; p_alts[1] = lfsr_tag_mkred(p_alts[0]); p_weights[1] = p_weights[0]; @@ -1757,7 +1758,7 @@ static void lfsr_rbyd_p_red( p_jumps[0] = jump_; } else if (lfsr_tag_isparallel(p_alts[0], p_alts[1])) { lfsr_tag_t alt_ = p_alts[2]; - lfs_size_t weight_ = p_weights[2]; + lfs_ssize_t weight_ = p_weights[2]; lfs_off_t jump_ = p_jumps[2]; p_alts[2] = lfsr_tag_mkred(p_alts[1]); p_weights[2] = p_weights[1]; @@ -1777,7 +1778,7 @@ static void lfsr_rbyd_p_red( // core rbyd algorithm static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, - lfsr_tag_t tag, lfsr_sid_t id, const void *buffer, lfs_size_t size) { + lfsr_tag_t tag, lfs_ssize_t id, const void *buffer, lfs_size_t size) { // assume we'll update our trunk lfs_off_t branch = rbyd_->trunk; rbyd_->trunk = rbyd_->off; @@ -1789,9 +1790,9 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, // figure out the range of tags to operate on lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfsr_tag_t other_tag_; - lfsr_sid_t other_id_; + lfs_ssize_t other_id_; if (lfsr_tag_ismk(tag)) { LFS_ASSERT(rbyd_->weight < 0xffff); LFS_ASSERT(id <= rbyd_->weight); @@ -1825,8 +1826,8 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, // this gets a bit confusing as we also may need to keep // track of both the lower and upper bounds of diverging paths // in the case of range deletions - lfsr_sid_t lower_id = -1; - lfsr_sid_t upper_id = rbyd_->weight; + lfs_ssize_t lower_id = -1; + lfs_ssize_t upper_id = rbyd_->weight; lfsr_tag_t lower_tag = 0; lfsr_tag_t upper_tag = 0xffff; @@ -1839,14 +1840,14 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, // will end up very unbalanced. uint8_t diverged = 0; lfs_off_t other_branch = 0; - lfsr_sid_t other_lower_id = 0; - lfsr_sid_t other_upper_id = 0; + lfs_ssize_t other_lower_id = 0; + lfs_ssize_t other_upper_id = 0; lfsr_tag_t other_lower_tag = 0; lfsr_tag_t other_upper_tag = 0; // queue of pending alts we can emulate rotations with lfsr_tag_t p_alts[3] = {0, 0, 0}; - lfs_size_t p_weights[3] = {0, 0, 0}; + lfs_ssize_t p_weights[3] = {0, 0, 0}; lfs_off_t p_jumps[3] = {0, 0, 0}; lfs_off_t graft = 0; @@ -1866,12 +1867,11 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, // read the alt pointer lfsr_tag_t alt; - // TODO should readtag take lfs_size_t? - lfs_size_t weight; + lfs_ssize_t weight; lfs_off_t jump; lfs_ssize_t delta = lfsr_rbyd_readtag(lfs, &lfs->pcache, &lfs->rcache, 0, - rbyd_->block, branch, &alt, (lfsr_sid_t*)&weight, &jump, NULL); + rbyd_->block, branch, &alt, &weight, &jump, NULL); if (delta < 0) { return delta; } @@ -1968,7 +1968,7 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, lfs_swap32(&jump, &branch_); lfs_swap16(&p_alts[0], &alt); - lfs_swap32(&p_weights[0], &weight); + lfs_swaps32(&p_weights[0], &weight); lfs_swap32(&p_jumps[0], &jump); p_alts[0] = lfsr_tag_mkblack(p_alts[0]); alt = lfsr_tag_mkblack(alt); @@ -2034,7 +2034,7 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, lower_id, upper_id, tag_, id_)) { lfs_swap16(&p_alts[0], &alt); - lfs_swap32(&p_weights[0], &weight); + lfs_swaps32(&p_weights[0], &weight); lfs_swap32(&p_jumps[0], &jump); p_alts[0] = lfsr_tag_mkred(p_alts[0]); alt = lfsr_tag_mkblack(alt); @@ -2063,7 +2063,7 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd_, } // push alt onto our queue - LFS_ASSERT((lfs_ssize_t)weight >= 0); + LFS_ASSERT(weight >= 0); int err = lfsr_rbyd_p_push(lfs, rbyd_, p_alts, p_weights, p_jumps, alt, weight, jump); diff --git a/lfs.h b/lfs.h index d7b50f20..3fa96fc6 100644 --- a/lfs.h +++ b/lfs.h @@ -46,8 +46,6 @@ typedef uint32_t lfs_block_t; typedef uint16_t lfsr_tag_t; typedef int16_t lfsr_stag_t; -typedef uint32_t lfsr_id_t; -typedef int32_t lfsr_sid_t; // Maximum name size in bytes, may be redefined to reduce the size of the // info struct. Limited to <= 1022. Stored in superblock and must be diff --git a/tests/test_rbyd.toml b/tests/test_rbyd.toml index 206d51c0..666999c7 100644 --- a/tests/test_rbyd.toml +++ b/tests/test_rbyd.toml @@ -137,7 +137,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -263,7 +263,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -579,7 +579,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -645,7 +645,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -713,7 +713,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -795,7 +795,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -941,7 +941,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -1115,7 +1115,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -1289,7 +1289,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -1471,7 +1471,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -1681,7 +1681,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -1850,7 +1850,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2037,7 +2037,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2141,7 +2141,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2238,7 +2238,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2331,7 +2331,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2426,7 +2426,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2516,7 +2516,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2603,7 +2603,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2728,7 +2728,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2797,7 +2797,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -2906,7 +2906,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -3063,7 +3063,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -3178,7 +3178,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -3332,7 +3332,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -3572,7 +3572,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -3657,7 +3657,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; @@ -3965,7 +3965,7 @@ code = ''' # }; # lfsr_rbyd_t rbyd; # lfsr_tag_t tag_; -# lfsr_sid_t id_; +# lfs_ssize_t id_; # lfs_off_t off_; # lfs_size_t size_; # @@ -4649,7 +4649,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -4759,7 +4759,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -4879,7 +4879,7 @@ code = ''' "\xff\xff\xff\xff", }; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -4990,7 +4990,7 @@ code = ''' "\xff\xff\xff\xff", }; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -5132,7 +5132,7 @@ code = ''' // // note with random order we can't check that stored values reliably lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; @@ -5909,7 +5909,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -6078,7 +6078,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -6263,7 +6263,7 @@ code = ''' "\xff\xff\xff\xff", }; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -6394,7 +6394,7 @@ code = ''' "\xff\xff\xff\xff", }; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -6657,7 +6657,7 @@ code = ''' }; lfsr_rbyd_t rbyd; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -7044,7 +7044,7 @@ code = ''' // // note with random order we can't check that stored values reliably lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; @@ -7829,7 +7829,7 @@ code = ''' "\xff\xff\xff\xff", }; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -7971,7 +7971,7 @@ code = ''' "\xff\xff\xff\xff", }; lfsr_tag_t tag_; - lfsr_sid_t id_; + lfs_ssize_t id_; lfs_off_t off_; lfs_size_t size_; uint8_t buffer[4]; @@ -9061,9 +9061,9 @@ code = ''' lfs_size_t count = 0; for (unsigned i = 0; i < N; i++) { // choose an id - lfsr_sid_t id = TEST_PRNG(&prng) % (count+1); + lfs_ssize_t id = TEST_PRNG(&prng) % (count+1); // choose create or delete - if (id == (lfsr_sid_t)count || (TEST_PRNG(&prng) & 1)) { + if (id == (lfs_ssize_t)count || (TEST_PRNG(&prng) & 1)) { printf("c%d=%c", id, alpha[i % 26]); count += 1; } else { @@ -9089,9 +9089,9 @@ code = ''' count = 0; for (unsigned i = 0; i < N; i++) { // choose an id - lfsr_sid_t id = TEST_PRNG(&prng) % (count+1); + lfs_ssize_t id = TEST_PRNG(&prng) % (count+1); // choose create or delete - if (id == (lfsr_sid_t)count || (TEST_PRNG(&prng) & 1)) { + if (id == (lfs_ssize_t)count || (TEST_PRNG(&prng) & 1)) { // update our sim memmove(sim+id+1, sim+id, count-id); sim[id] = alpha[i % 26]; @@ -9113,15 +9113,15 @@ code = ''' // compare rbyd vs simulation printf("expd: ["); - for (lfsr_sid_t id = 0; id < (lfsr_sid_t)count; id++) { + for (lfs_ssize_t id = 0; id < (lfs_ssize_t)count; id++) { printf("%c", sim[id]); - if (id < (lfsr_sid_t)count-1) { + if (id < (lfs_ssize_t)count-1) { printf(", "); } } printf("]\n"); printf("rbyd: ["); - for (lfsr_sid_t id = 0; id < (lfsr_sid_t)rbyd.weight; id++) { + for (lfs_ssize_t id = 0; id < (lfs_ssize_t)rbyd.weight; id++) { lfs_ssize_t size = lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_MKREG, id, buffer, 4); if (size >= 0) { @@ -9129,14 +9129,14 @@ code = ''' } else { printf("?"); } - if (id < (lfsr_sid_t)count-1) { + if (id < (lfs_ssize_t)count-1) { printf(", "); } } printf("]\n"); assert(count == rbyd.weight); - for (lfsr_sid_t id = 0; id < (lfsr_sid_t)count; id++) { + for (lfs_ssize_t id = 0; id < (lfs_ssize_t)count; id++) { lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_MKREG, id, buffer, 4) => 1; assert(memcmp(&sim[id], buffer, 1) == 0); } @@ -9158,9 +9158,9 @@ code = ''' lfs_size_t count = 0; for (unsigned i = 0; i < N; i++) { // choose an id - lfsr_sid_t id = TEST_PRNG(&prng) % (count+1); + lfs_ssize_t id = TEST_PRNG(&prng) % (count+1); // choose create or delete - if (id == (lfsr_sid_t)count || (TEST_PRNG(&prng) & 1)) { + if (id == (lfs_ssize_t)count || (TEST_PRNG(&prng) & 1)) { printf("c%d=%c", id, alpha[i % 26]); count += 1; } else { @@ -9181,9 +9181,9 @@ code = ''' count = 0; for (unsigned i = 0; i < N; i++) { // choose an id - lfsr_sid_t id = TEST_PRNG(&prng) % (count+1); + lfs_ssize_t id = TEST_PRNG(&prng) % (count+1); // choose create or delete - if (id == (lfsr_sid_t)count || (TEST_PRNG(&prng) & 1)) { + if (id == (lfs_ssize_t)count || (TEST_PRNG(&prng) & 1)) { count += 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd,