From 7eb0c4763a116640822210c93282f18279f061fb Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Fri, 7 Apr 2023 13:03:03 -0500 Subject: [PATCH] Reversed LFSR_ATTR id/tag argument order I've been wanting to make this change for a while now (tag,id => id,tag). The id,tag order matches the common lexicographic order used for sorting tuples. Sorting tag,id tuples by their id first is less common. The reason for this order in the codebase is because all attrs on disk start with their tag first, since its decoding determines the purpose of the id field (keep in mind this includes other non-tree tags such as crcs, alts, etc). But with the move to storing weights instead of tags on disk, this gives us a clear point to switch from tag,w to id,tag ordering. I may be thinking to much about this, but it does affect a significant amount of the codebase. --- lfs.c | 281 ++- scripts/dbgbtree.py | 18 +- scripts/dbgrbyd.py | 14 +- tests/test_btree.toml | 266 +-- tests/test_rbyd.toml | 4490 ++++++++++++++++++++--------------------- 5 files changed, 2534 insertions(+), 2535 deletions(-) diff --git a/lfs.c b/lfs.c index 26e46347..42ceee37 100644 --- a/lfs.c +++ b/lfs.c @@ -613,7 +613,7 @@ static inline lfsr_tag_t lfsr_tag_key(lfsr_tag_t tag) { static inline bool lfsr_tag_follow(lfsr_tag_t alt, lfs_size_t weight, lfs_ssize_t lower, lfs_ssize_t upper, - lfsr_tag_t tag, lfs_ssize_t id) { + lfs_ssize_t id, lfsr_tag_t tag) { if (lfsr_tag_isgt(alt)) { return id > upper - (lfs_ssize_t)weight - 1 || (id == upper - (lfs_ssize_t)weight - 1 @@ -629,12 +629,12 @@ static inline bool lfsr_tag_follow2( lfsr_tag_t alt, lfs_size_t weight, lfsr_tag_t alt2, lfs_size_t weight2, lfs_ssize_t lower, lfs_ssize_t upper, - lfsr_tag_t tag, lfs_ssize_t id) { + lfs_ssize_t id, lfsr_tag_t tag) { if (lfsr_tag_isred(alt2) && lfsr_tag_isparallel(alt, alt2)) { weight += weight2; } - return lfsr_tag_follow(alt, weight, lower, upper, tag, id); + return lfsr_tag_follow(alt, weight, lower, upper, id, tag); } static inline bool lfsr_tag_prune2( @@ -647,13 +647,13 @@ static inline bool lfsr_tag_prune2( alt, weight, alt2, weight2, lower_id, upper_id, - lower_tag, lower_id); + lower_id, lower_tag); } else { return lfsr_tag_follow2( alt, weight, alt2, weight2, lower_id, upper_id, - upper_tag-0x10, upper_id-1); + upper_id-1, upper_tag-0x10); } } @@ -766,29 +766,29 @@ struct lfs_diskoff { sizeof((struct lfs_mattr[]){__VA_ARGS__}) / sizeof(struct lfs_mattr) typedef struct lfsr_attr { - lfsr_tag_t tag; lfs_ssize_t id; + lfsr_tag_t tag; lfs_ssize_t delta; lfsr_data_t data; } lfsr_attr_t; -#define LFSR_ATTR_(_tag, _id, _delta, _buf, _len) \ +#define LFSR_ATTR_(_id, _tag, _delta, _buf, _len) \ ((const lfsr_attr_t){ \ - _tag, _id, _delta, \ + _id, _tag, _delta, \ LFSR_DATA_BUF(_buf, _len)}) -#define LFSR_ATTR(_type, _id, _delta, _buf, _len) \ - LFSR_ATTR_(LFSR_TAG_##_type, _id, _delta, _buf, _len) +#define LFSR_ATTR(_id, _type, _delta, _buf, _len) \ + LFSR_ATTR_(_id, LFSR_TAG_##_type, _delta, _buf, _len) -#define LFSR_ATTR_DISK_(_tag, _id, _delta, _block, _off, _len) \ +#define LFSR_ATTR_DISK_(_id, _tag, _delta, _block, _off, _len) \ ((const lfsr_attr_t){ \ - _tag, _id, _delta, \ + _id, _tag, _delta, \ LFSR_DATA_DISK(_block, _off, _len)}) -#define LFSR_ATTR_DISK(_type, _id, _delta, _block, _off, _len) \ - LFSR_ATTR_DISK_(LFSR_TAG_##_type, _id, _delta, _block, _off, _len) +#define LFSR_ATTR_DISK(_id, _type, _delta, _block, _off, _len) \ + LFSR_ATTR_DISK_(_id, LFSR_TAG_##_type, _delta, _block, _off, _len) -#define LFSR_ATTR_NOOP LFSR_ATTR(UNR, 0, 0, NULL, 0) +#define LFSR_ATTR_NOOP LFSR_ATTR(-1, UNR, 0, NULL, 0) #define LFSR_ATTRS(...) \ (lfsr_attr_t[]){__VA_ARGS__}, \ @@ -1524,8 +1524,8 @@ 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, lfs_ssize_t id, - lfsr_tag_t *tag_, lfs_ssize_t *id_, lfs_size_t *weight_, + lfs_ssize_t id, lfsr_tag_t tag, + lfs_ssize_t *id_, lfsr_tag_t *tag_, lfs_size_t *weight_, // TODO should this take lfsr_data_t for consistency? lfs_off_t *off_, lfs_size_t *size_) { // keep track of bounds as we descend down the tree @@ -1556,7 +1556,7 @@ static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd, // found an alt? if (lfsr_tag_isalt(alt)) { - if (lfsr_tag_follow(alt, weight, lower, upper, tag, id)) { + if (lfsr_tag_follow(alt, weight, lower, upper, id, tag)) { lfsr_tag_flip(&alt, &weight, lower, upper); lfsr_tag_trim(alt, weight, &lower, &upper, NULL, NULL); branch = branch - jump; @@ -1568,8 +1568,8 @@ static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd, // found end of tree? } else { // update the tag id - lfsr_tag_t tag__ = alt; lfs_ssize_t id__ = upper-1; + lfsr_tag_t tag__ = alt; // not what we're looking for? if (id__ < id @@ -1580,12 +1580,12 @@ static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd, // save what we found // TODO how many of these need to be conditional? - if (tag_) { - *tag_ = tag__; - } if (id_) { *id_ = id__; } + if (tag_) { + *tag_ = tag__; + } if (weight_) { *weight_ = id__ - lower; } @@ -1602,13 +1602,13 @@ 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, lfs_ssize_t id, void *buffer, lfs_size_t size) { - lfsr_tag_t tag_; + lfs_ssize_t id, lfsr_tag_t tag, void *buffer, lfs_size_t size) { lfs_ssize_t id_; + lfsr_tag_t tag_; lfs_off_t off_; lfs_size_t size_; - int err = lfsr_rbyd_lookup(lfs, rbyd, tag, id, - &tag_, &id_, NULL, &off_, &size_); + int err = lfsr_rbyd_lookup(lfs, rbyd, id, tag, + &id_, &tag_, NULL, &off_, &size_); if (err) { return err; } @@ -1648,8 +1648,8 @@ static lfs_ssize_t lfsr_rbyd_bisect(lfs_t *lfs, const lfsr_rbyd_t *rbyd) { while (true) { lfs_size_t size; int err = lfsr_rbyd_lookup(lfs, rbyd, - lfsr_tag_next(tag), id, - &tag, &id, NULL, NULL, &size); + id, lfsr_tag_next(tag), + &id, &tag, NULL, NULL, &size); if (err && err != LFS_ERR_NOENT) { return err; } @@ -1668,8 +1668,8 @@ static lfs_ssize_t lfsr_rbyd_bisect(lfs_t *lfs, const lfsr_rbyd_t *rbyd) { while (true) { lfs_size_t size; int err = lfsr_rbyd_lookup(lfs, rbyd, - lfsr_tag_next(tag), id, - &tag, &id, NULL, NULL, &size); + id, lfsr_tag_next(tag), + &id, &tag, NULL, NULL, &size); if (err) { return err; } @@ -1922,7 +1922,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, lfs_ssize_t id, lfs_ssize_t delta, + lfs_ssize_t id, lfsr_tag_t tag, lfs_ssize_t delta, lfsr_data_t data) { // never write zero tags to disk, use unr if tag contains no data LFS_ASSERT(tag != 0); @@ -2063,11 +2063,11 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd, && lfsr_tag_follow2(alt, weight, p_alts[0], p_weights[0], lower_id, upper_id, - tag_, id_) + id_, tag_) != lfsr_tag_follow2(alt, weight, p_alts[0], p_weights[0], lower_id, upper_id, - other_tag_, other_id_)) { + other_id_, other_tag_)) { // first take care of any lingering red alts if (lfsr_tag_isred(p_alts[0])) { alt = lfsr_tag_setblack(p_alts[0]); @@ -2137,7 +2137,7 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd, alt, weight, p_alts[0], p_weights[0], lower_id, upper_id, - tag_, id_)) { + id_, tag_)) { lfsr_tag_flip2(&alt, &weight, p_alts[0], p_weights[0], lower_id, upper_id); @@ -2191,7 +2191,7 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd, alt, weight, p_alts[0], p_weights[0], lower_id, upper_id, - tag_, id_)) { + id_, tag_)) { lfsr_tag_flip2(&alt, &weight, p_alts[0], p_weights[0], lower_id, upper_id); @@ -2207,7 +2207,7 @@ static int lfsr_rbyd_append(lfs_t *lfs, lfsr_rbyd_t *rbyd, if (lfsr_tag_isred(p_alts[0]) && lfsr_tag_follow(p_alts[0], p_weights[0], lower_id, upper_id, - tag_, id_)) { + id_, tag_)) { lfs_swap16(&p_alts[0], &alt); lfs_swap32(&p_weights[0], &weight); lfs_swap32(&p_jumps[0], &jump); @@ -2411,7 +2411,7 @@ static int lfsr_rbyd_commit(lfs_t *lfs, lfsr_rbyd_t *rbyd, // append each tag to the tree for (lfs_size_t i = 0; i < attr_count; i++) { int err = lfsr_rbyd_append(lfs, &rbyd_, - attrs[i].tag, attrs[i].id, attrs[i].delta, attrs[i].data); + attrs[i].id, attrs[i].tag, attrs[i].delta, attrs[i].data); if (err) { return err; } @@ -2617,9 +2617,8 @@ static lfs_ssize_t lfsr_branch_fromdisk( static lfs_ssize_t lfsr_btree_lookup(lfs_t *lfs, const lfsr_btree_t *btree, lfs_size_t id, - lfsr_tag_t *tag_, lfs_size_t *id_, - lfsr_rbyd_t *rbyd_, lfs_ssize_t *rid_, - lfs_size_t *weight_, + lfs_size_t *id_, lfsr_rbyd_t *rbyd_, lfs_ssize_t *rid_, + lfsr_tag_t *tag_, lfs_size_t *weight_, void *buffer, lfs_size_t size) { // in range? if (id >= btree->weight) { @@ -2632,13 +2631,13 @@ static lfs_ssize_t lfsr_btree_lookup(lfs_t *lfs, if (id_) { *id_ = btree->weight-1; } - if (tag_) { - *tag_ = btree->tag; - } // TODO need rid here? if (rid_) { *rid_ = -1; } + if (tag_) { + *tag_ = btree->tag; + } if (weight_) { *weight_ = btree->weight; } @@ -2661,21 +2660,21 @@ static lfs_ssize_t lfsr_btree_lookup(lfs_t *lfs, } // each branch is a pair of optional name + on-disk structure - lfsr_tag_t tag__; lfs_ssize_t rid__; + lfsr_tag_t tag__; lfs_size_t weight__; lfs_off_t off_; lfs_size_t size_; - err = lfsr_rbyd_lookup(lfs, &rbyd, 0, rid, - &tag__, &rid__, &weight__, &off_, &size_); + err = lfsr_rbyd_lookup(lfs, &rbyd, rid, 0, + &rid__, &tag__, &weight__, &off_, &size_); if (err) { return err; } if (lfsr_tag_suptype(tag__) == LFSR_TAG_NAME) { // TODO what if we don't find a struct? ENOENT? - err = lfsr_rbyd_lookup(lfs, &rbyd, LFSR_TAG_STRUCT, rid__, - &tag__, NULL, NULL, &off_, &size_); + err = lfsr_rbyd_lookup(lfs, &rbyd, rid__, LFSR_TAG_STRUCT, + NULL, &tag__, NULL, &off_, &size_); if (err) { return err; } @@ -2707,15 +2706,15 @@ static lfs_ssize_t lfsr_btree_lookup(lfs_t *lfs, if (id_) { *id_ = id + (rid__ - rid); } - if (tag_) { - *tag_ = tag__; - } if (rbyd_) { *rbyd_ = rbyd; } if (rid_) { *rid_ = rid__; } + if (tag_) { + *tag_ = tag__; + } if (weight_) { *weight_ = weight__; } @@ -2759,13 +2758,13 @@ static int lfsr_btree_parent(lfs_t *lfs, } // each branch is a pair of optional name + on-disk structure - lfsr_tag_t tag__; lfs_ssize_t rid__; + lfsr_tag_t tag__; lfs_size_t weight__; lfs_off_t off_; lfs_size_t size_; - err = lfsr_rbyd_lookup(lfs, &rbyd, 0, rid, - &tag__, &rid__, &weight__, &off_, &size_); + err = lfsr_rbyd_lookup(lfs, &rbyd, rid, 0, + &rid__, &tag__, &weight__, &off_, &size_); if (err) { LFS_ASSERT(err != LFS_ERR_NOENT); return err; @@ -2773,8 +2772,8 @@ static int lfsr_btree_parent(lfs_t *lfs, if (lfsr_tag_suptype(tag__) == LFSR_TAG_NAME) { // TODO what if we don't find a struct? ENOENT? - err = lfsr_rbyd_lookup(lfs, &rbyd, LFSR_TAG_STRUCT, rid__, - &tag__, NULL, NULL, &off_, &size_); + err = lfsr_rbyd_lookup(lfs, &rbyd, rid__, LFSR_TAG_STRUCT, + NULL, &tag__, NULL, &off_, &size_); if (err) { LFS_ASSERT(err != LFS_ERR_NOENT); return err; @@ -2821,19 +2820,19 @@ static int lfsr_btree_parent(lfs_t *lfs, // TODO do we really need this? static lfs_ssize_t lfsr_btree_get(lfs_t *lfs, const lfsr_btree_t *btree, lfs_size_t id, - lfsr_tag_t *tag_, lfs_size_t *id_, lfs_size_t *weight_, + lfs_size_t *id_, lfsr_tag_t *tag_, lfs_size_t *weight_, void *buffer, lfs_size_t size) { // note we need an allocated rbyd in btree lookup return lfsr_btree_lookup(lfs, btree, id, - tag_, id_, NULL, NULL, weight_, + id_, NULL, NULL, tag_, weight_, buffer, size); } static lfs_ssize_t lfsr_btree_find_(lfs_t *lfs, const lfsr_btree_t *btree, const char *name, lfs_size_t name_len, - lfsr_tag_t *tag_, lfs_size_t *id_, + lfs_size_t *id_, lfsr_rbyd_t *rbyd_, lfs_ssize_t *rid_, - lfs_size_t *weight_, + lfsr_tag_t *tag_, lfs_size_t *weight_, void *buffer, lfs_size_t size) { // inlined? if (btree->tag) { @@ -2841,13 +2840,13 @@ static lfs_ssize_t lfsr_btree_find_(lfs_t *lfs, if (id_) { *id_ = btree->weight-1; } - if (tag_) { - *tag_ = btree->tag; - } // TODO need rid here? if (rid_) { *rid_ = -1; } + if (tag_) { + *tag_ = btree->tag; + } if (weight_) { *weight_ = btree->weight; } @@ -2888,16 +2887,16 @@ static lfs_ssize_t lfsr_btree_find_(lfs_t *lfs, lfs_size_t weight__; lfs_off_t off_; lfs_size_t size_; - err = lfsr_rbyd_lookup(lfs, &rbyd, 0, find.found_id, - &tag__, &rid__, &weight__, &off_, &size_); + err = lfsr_rbyd_lookup(lfs, &rbyd, find.found_id, 0, + &rid__, &tag__, &weight__, &off_, &size_); if (err) { return err; } if (lfsr_tag_suptype(tag__) == LFSR_TAG_NAME) { // TODO what if we don't find a struct? ENOENT? - err = lfsr_rbyd_lookup(lfs, &rbyd, LFSR_TAG_STRUCT, rid__, - &tag__, NULL, NULL, &off_, &size_); + err = lfsr_rbyd_lookup(lfs, &rbyd, rid__, LFSR_TAG_STRUCT, + NULL, &tag__, NULL, &off_, &size_); if (err) { return err; } @@ -2929,15 +2928,15 @@ static lfs_ssize_t lfsr_btree_find_(lfs_t *lfs, if (id_) { *id_ = id + rid__; } - if (tag_) { - *tag_ = tag__; - } if (rbyd_) { *rbyd_ = rbyd; } if (rid_) { *rid_ = rid__; } + if (tag_) { + *tag_ = tag__; + } if (weight_) { *weight_ = weight__; } @@ -2958,10 +2957,10 @@ static lfs_ssize_t lfsr_btree_find_(lfs_t *lfs, static lfs_ssize_t lfsr_btree_find(lfs_t *lfs, const lfsr_btree_t *btree, const char *name, lfs_size_t name_len, - lfsr_tag_t *tag_, lfs_size_t *id_, lfs_size_t *weight_, + lfs_size_t *id_, lfsr_tag_t *tag_, lfs_size_t *weight_, void *buffer, lfs_size_t size) { return lfsr_btree_find_(lfs, btree, name, name_len, - tag_, id_, NULL, NULL, weight_, + id_, NULL, NULL, tag_, weight_, buffer, size); } @@ -3022,15 +3021,15 @@ static int lfsr_btree_commit(lfs_t *lfs, // end up removing an rbyd here if (rbyd->weight == 0) { scratch_attrs[0] = LFSR_ATTR( - MKUNR, rid, +rbyd->weight-rweight, scratch_buf1, delta); + rid, MKUNR, +rbyd->weight-rweight, scratch_buf1, delta); attrs = scratch_attrs; attr_count = 1; } else { scratch_attrs[0] = LFSR_ATTR( - BRANCH, rid, 0, scratch_buf1, delta); + rid, BRANCH, 0, scratch_buf1, delta); scratch_attrs[1] = LFSR_ATTR( - UNR, rid, +rbyd->weight-rweight, NULL, 0); + rid, UNR, +rbyd->weight-rweight, NULL, 0); attrs = scratch_attrs; attr_count = 2; @@ -3056,8 +3055,8 @@ static int lfsr_btree_commit(lfs_t *lfs, while (true) { lfs_off_t off; lfs_size_t size; - err = lfsr_rbyd_lookup(lfs, rbyd, lfsr_tag_next(tag), id, - &tag, &id, NULL, &off, &size); + err = lfsr_rbyd_lookup(lfs, rbyd, id, lfsr_tag_next(tag), + &id, &tag, NULL, &off, &size); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3084,8 +3083,8 @@ static int lfsr_btree_commit(lfs_t *lfs, // append the attr err = lfsr_rbyd_append(lfs, &rbyd_, - lfsr_tag_setmk(tag), - id-lfs_smax32(weight-1, 0), +weight, + id-lfs_smax32(weight-1, 0), + lfsr_tag_setmk(tag), +weight, LFSR_DATA_DISK(rbyd->block, off, size)); if (err) { return err; @@ -3102,7 +3101,7 @@ static int lfsr_btree_commit(lfs_t *lfs, // layers to make sure these always fit for (lfs_size_t i = 0; i < attr_count; i++) { err = lfsr_rbyd_append(lfs, &rbyd_, - attrs[i].tag, attrs[i].id, attrs[i].delta, attrs[i].data); + attrs[i].id, attrs[i].tag, attrs[i].delta, attrs[i].data); if (err) { return err; } @@ -3143,15 +3142,15 @@ static int lfsr_btree_commit(lfs_t *lfs, // end up removing an rbyd here if (rbyd_.weight == 0) { scratch_attrs[0] = LFSR_ATTR( - MKUNR, rid, +rbyd_.weight-rweight, scratch_buf1, delta); + rid, MKUNR, +rbyd_.weight-rweight, scratch_buf1, delta); attrs = scratch_attrs; attr_count = 1; } else { scratch_attrs[0] = LFSR_ATTR( - BRANCH, rid, 0, scratch_buf1, delta); + rid, BRANCH, 0, scratch_buf1, delta); scratch_attrs[1] = LFSR_ATTR( - UNR, rid, +rbyd_.weight-rweight, NULL, 0); + rid, UNR, +rbyd_.weight-rweight, NULL, 0); attrs = scratch_attrs; attr_count = 2; @@ -3173,7 +3172,7 @@ static int lfsr_btree_commit(lfs_t *lfs, // add an rbyd and btree test? if ((lfs_size_t)bisect < rbyd_.weight) { err = lfsr_rbyd_append(lfs, &rbyd_, - LFSR_TAG_MKUNR, rbyd_.weight-1, -(rbyd_.weight-bisect), + rbyd_.weight-1, LFSR_TAG_MKUNR, -(rbyd_.weight-bisect), LFSR_DATA_NULL); if (err) { return err; @@ -3188,7 +3187,7 @@ static int lfsr_btree_commit(lfs_t *lfs, for (lfs_size_t i = 0; i < attr_count; i++) { if (attrs[i].id < bisect_) { err = lfsr_rbyd_append(lfs, &rbyd_, - attrs[i].tag, attrs[i].id, attrs[i].delta, + attrs[i].id, attrs[i].tag, attrs[i].delta, attrs[i].data); if (err) { return err; @@ -3223,8 +3222,8 @@ static int lfsr_btree_commit(lfs_t *lfs, lfs_off_t off; lfs_size_t size; lfs_size_t weight; - err = lfsr_rbyd_lookup(lfs, rbyd, lfsr_tag_next(tag), id, - &tag, &id, &weight, &off, &size); + err = lfsr_rbyd_lookup(lfs, rbyd, id, lfsr_tag_next(tag), + &id, &tag, &weight, &off, &size); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3234,8 +3233,8 @@ static int lfsr_btree_commit(lfs_t *lfs, // append the attr err = lfsr_rbyd_append(lfs, &sibling, - lfsr_tag_setmk(tag), - id-bisect-lfs_smax32(weight-1, 0), +weight, + id-bisect-lfs_smax32(weight-1, 0), + lfsr_tag_setmk(tag), +weight, LFSR_DATA_DISK(rbyd->block, off, size)); if (err) { return err; @@ -3249,7 +3248,7 @@ static int lfsr_btree_commit(lfs_t *lfs, for (lfs_size_t i = 0; i < attr_count; i++) { if (attrs[i].id >= bisect_) { err = lfsr_rbyd_append(lfs, &sibling, - attrs[i].tag, attrs[i].id-bisect_, attrs[i].delta, + attrs[i].id-bisect_, attrs[i].tag, attrs[i].delta, attrs[i].data); if (err) { return err; @@ -3276,8 +3275,8 @@ static int lfsr_btree_commit(lfs_t *lfs, lfs_ssize_t sid; lfs_off_t soff; lfs_size_t ssize; - err = lfsr_rbyd_lookup(lfs, &sibling, LFSR_TAG_NAME, 0, - &stag, &sid, NULL, &soff, &ssize); + err = lfsr_rbyd_lookup(lfs, &sibling, 0, LFSR_TAG_NAME, + &sid, &stag, NULL, &soff, &ssize); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3307,21 +3306,21 @@ static int lfsr_btree_commit(lfs_t *lfs, } scratch_attrs[0] = LFSR_ATTR( - MKBRANCH, 0, +rbyd_.weight, scratch_buf1, delta1); + 0, MKBRANCH, +rbyd_.weight, scratch_buf1, delta1); if (lfsr_tag_suptype(stag) == LFSR_TAG_NAME) { scratch_attrs[1] = LFSR_ATTR_DISK( - MKBNAME, rbyd_.weight, +sibling.weight, + rbyd_.weight, MKBNAME, +sibling.weight, sibling.block, soff, ssize); scratch_attrs[2] = LFSR_ATTR( - BRANCH, 0+rbyd_.weight+sibling.weight-1, 0, + 0+rbyd_.weight+sibling.weight-1, BRANCH, 0, scratch_buf2, delta2); attrs = scratch_attrs; attr_count = 3; } else { scratch_attrs[1] = LFSR_ATTR( - MKBRANCH, 0+rbyd_.weight, +sibling.weight, + 0+rbyd_.weight, MKBRANCH, +sibling.weight, scratch_buf2, delta2); attrs = scratch_attrs; @@ -3347,18 +3346,18 @@ static int lfsr_btree_commit(lfs_t *lfs, } scratch_attrs[0] = LFSR_ATTR( - UNR, rid, +rbyd_.weight-rweight, NULL, 0); + rid, UNR, +rbyd_.weight-rweight, NULL, 0); scratch_attrs[1] = LFSR_ATTR( - BRANCH, rid-(rweight-1)+rbyd_.weight-1, 0, + rid-(rweight-1)+rbyd_.weight-1, BRANCH, 0, scratch_buf1, delta1); if (lfsr_tag_suptype(stag) == LFSR_TAG_NAME) { scratch_attrs[2] = LFSR_ATTR_DISK( - MKBNAME, rid-(rweight-1)+rbyd_.weight, + rid-(rweight-1)+rbyd_.weight, MKBNAME, +sibling.weight, sibling.block, soff, ssize); scratch_attrs[3] = LFSR_ATTR( - BRANCH, rid-(rweight-1)+rbyd_.weight+sibling.weight-1, + rid-(rweight-1)+rbyd_.weight+sibling.weight-1, BRANCH, 0, scratch_buf2, delta2); @@ -3366,7 +3365,7 @@ static int lfsr_btree_commit(lfs_t *lfs, attr_count = 4; } else { scratch_attrs[2] = LFSR_ATTR( - MKBRANCH, rid-(rweight-1)+rbyd_.weight, + rid-(rweight-1)+rbyd_.weight, MKBRANCH, +sibling.weight, scratch_buf2, delta2); @@ -3393,8 +3392,8 @@ static int lfsr_btree_commit(lfs_t *lfs, // try looking up the sibling lfs_size_t sweight; - err = lfsr_rbyd_lookup(lfs, &parent, LFSR_TAG_NAME, sid, - NULL, &sid, &sweight, NULL, NULL); + err = lfsr_rbyd_lookup(lfs, &parent, sid, LFSR_TAG_NAME, + &sid, NULL, &sweight, NULL, NULL); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3407,8 +3406,8 @@ static int lfsr_btree_commit(lfs_t *lfs, // lfsr_tag_t stag; lfs_off_t off; lfs_size_t size; - err = lfsr_rbyd_lookup(lfs, &parent, LFSR_TAG_BRANCH, sid, - &stag, NULL, NULL, &off, &size); + err = lfsr_rbyd_lookup(lfs, &parent, sid, LFSR_TAG_BRANCH, + NULL, &stag, NULL, &off, &size); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3444,8 +3443,8 @@ static int lfsr_btree_commit(lfs_t *lfs, id = 0; while (true) { lfs_size_t weight; - err = lfsr_rbyd_lookup(lfs, &sibling, lfsr_tag_next(tag), id, - &tag, &id, &weight, &off, &size); + err = lfsr_rbyd_lookup(lfs, &sibling, id, lfsr_tag_next(tag), + &id, &tag, &weight, &off, &size); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3455,8 +3454,8 @@ static int lfsr_btree_commit(lfs_t *lfs, // append the attr err = lfsr_rbyd_append(lfs, &rbyd_, - lfsr_tag_setmk(tag), - sdelta+id-lfs_smax32(weight-1, 0), +weight, + sdelta+id-lfs_smax32(weight-1, 0), + lfsr_tag_setmk(tag), +weight, LFSR_DATA_DISK(sibling.block, off, size)); if (err) { return err; @@ -3466,8 +3465,8 @@ static int lfsr_btree_commit(lfs_t *lfs, // failed, clean up ids and merge_abort if (rbyd_.off > lfs->cfg->block_size/2) { err = lfsr_rbyd_append(lfs, &rbyd_, - LFSR_TAG_MKUNR, sdelta+(rbyd_.weight-rweight_)-1, - -(rbyd_.weight-rweight_), + sdelta+(rbyd_.weight-rweight_)-1, + LFSR_TAG_MKUNR, -(rbyd_.weight-rweight_), LFSR_DATA_NULL); if (err) { return err; @@ -3482,8 +3481,8 @@ static int lfsr_btree_commit(lfs_t *lfs, lfs_off_t split_off; lfs_size_t split_size; err = lfsr_rbyd_lookup(lfs, &parent, - LFSR_TAG_NAME, (sdelta == 0 ? rid : sid), - &split_tag, NULL, NULL, &split_off, &split_size); + (sdelta == 0 ? rid : sid), LFSR_TAG_NAME, + NULL, &split_tag, NULL, &split_off, &split_size); if (err) { return err; } @@ -3493,14 +3492,14 @@ static int lfsr_btree_commit(lfs_t *lfs, // lookup the id of the previously-split entry lfs_ssize_t split_id; err = lfsr_rbyd_lookup(lfs, &rbyd_, - LFSR_TAG_NAME, (sdelta == 0 ? sweight : rweight_), - NULL, &split_id, NULL, NULL, NULL); + (sdelta == 0 ? sweight : rweight_), LFSR_TAG_NAME, + &split_id, NULL, NULL, NULL, NULL); if (err) { return err; } err = lfsr_rbyd_append(lfs, &rbyd_, - LFSR_TAG_BNAME, split_id, 0, + split_id, LFSR_TAG_BNAME, 0, LFSR_DATA_DISK(parent.block, split_off, split_size)); if (err) { return err; @@ -3539,11 +3538,11 @@ static int lfsr_btree_commit(lfs_t *lfs, } scratch_attrs[0] = LFSR_ATTR( - MKUNR, sid, -sweight, NULL, 0); + sid, MKUNR, -sweight, NULL, 0); scratch_attrs[1] = LFSR_ATTR( - BRANCH, rid, 0, scratch_buf1, delta1); + rid, BRANCH, 0, scratch_buf1, delta1); scratch_attrs[2] = LFSR_ATTR( - UNR, rid, +rbyd_.weight-rweight, NULL, 0); + rid, UNR, +rbyd_.weight-rweight, NULL, 0); attrs = scratch_attrs; attr_count = 3; @@ -3588,10 +3587,10 @@ static int lfsr_btree_push(lfs_t *lfs, lfsr_btree_t *btree, // commit our entries err = lfsr_rbyd_commit(lfs, &rbyd, LFSR_ATTRS( LFSR_ATTR_( - lfsr_tag_setmk(btree->tag), 0, +btree->weight, + 0, lfsr_tag_setmk(btree->tag), +btree->weight, btree->u.inlined.buf, btree->u.inlined.size), LFSR_ATTR_( - lfsr_tag_setmk(tag), id, +weight, + id, lfsr_tag_setmk(tag), +weight, buffer, size))); if (err) { return err; @@ -3611,7 +3610,7 @@ static int lfsr_btree_push(lfs_t *lfs, lfsr_btree_t *btree, lfs_size_t rweight; lfs_ssize_t size = lfsr_btree_lookup(lfs, btree, lfs_min32(id, btree->weight-1), - NULL, NULL, &rbyd, &rid, &rweight, NULL, 0); + NULL, &rbyd, &rid, NULL, &rweight, NULL, 0); if (size < 0) { return size; } @@ -3627,7 +3626,7 @@ static int lfsr_btree_push(lfs_t *lfs, lfsr_btree_t *btree, // of the rest return lfsr_btree_commit(lfs, btree, lfs_min32(id, btree->weight-1), &rbyd, LFSR_ATTRS( - LFSR_ATTR_(lfsr_tag_setmk(tag), rid, +weight, + LFSR_ATTR_(rid, lfsr_tag_setmk(tag), +weight, buffer, size))); } } @@ -3657,7 +3656,7 @@ static int lfsr_btree_update(lfs_t *lfs, lfsr_btree_t *btree, lfs_ssize_t rid; lfs_size_t rweight; lfs_ssize_t size = lfsr_btree_lookup(lfs, btree, id, - &rtag, NULL, &rbyd, &rid, &rweight, NULL, 0); + NULL, &rbyd, &rid, &rtag, &rweight, NULL, 0); if (size < 0) { return size; } @@ -3666,10 +3665,10 @@ static int lfsr_btree_update(lfs_t *lfs, lfsr_btree_t *btree, // of the rest return lfsr_btree_commit(lfs, btree, id, &rbyd, LFSR_ATTRS( (tag != rtag - ? LFSR_ATTR_(lfsr_tag_setrm(rtag), rid, 0, NULL, 0) + ? LFSR_ATTR_(rid, lfsr_tag_setrm(rtag), 0, NULL, 0) : LFSR_ATTR_NOOP), - LFSR_ATTR_(tag, rid, 0, buffer, size), - LFSR_ATTR(UNR, rid, +weight-rweight, NULL, 0))); + LFSR_ATTR_(rid, tag, 0, buffer, size), + LFSR_ATTR(rid, UNR, +weight-rweight, NULL, 0))); } } @@ -3690,7 +3689,7 @@ static int lfsr_btree_pop(lfs_t *lfs, lfsr_btree_t *btree, lfs_size_t id) { lfs_ssize_t rid; lfs_size_t rweight; lfs_ssize_t size = lfsr_btree_lookup(lfs, btree, id, - &rtag, NULL, &rbyd, &rid, &rweight, NULL, 0); + NULL, &rbyd, &rid, &rtag, &rweight, NULL, 0); if (size < 0) { return size; } @@ -3709,8 +3708,8 @@ static int lfsr_btree_pop(lfs_t *lfs, lfsr_btree_t *btree, lfs_size_t id) { // try looking up the sibling lfs_size_t sweight; - int err = lfsr_rbyd_lookup(lfs, &rbyd, LFSR_TAG_NAME, sid, - NULL, &sid, &sweight, NULL, NULL); + int err = lfsr_rbyd_lookup(lfs, &rbyd, sid, LFSR_TAG_NAME, + &sid, NULL, &sweight, NULL, NULL); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3724,8 +3723,8 @@ static int lfsr_btree_pop(lfs_t *lfs, lfsr_btree_t *btree, lfs_size_t id) { lfsr_tag_t stag; lfs_off_t off; lfs_size_t size; - err = lfsr_rbyd_lookup(lfs, &rbyd, LFSR_TAG_STRUCT, sid, - &stag, NULL, NULL, &off, &size); + err = lfsr_rbyd_lookup(lfs, &rbyd, sid, LFSR_TAG_STRUCT, + NULL, &stag, NULL, &off, &size); if (err && err != LFS_ERR_NOENT) { return err; } @@ -3756,7 +3755,7 @@ static int lfsr_btree_pop(lfs_t *lfs, lfsr_btree_t *btree, lfs_size_t id) { // remove our id, letting lfsr_btree_commit take care // of the rest return lfsr_btree_commit(lfs, btree, id, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, rid, -rweight, NULL, 0))); + LFSR_ATTR(rid, MKUNR, -rweight, NULL, 0))); } } @@ -3785,11 +3784,11 @@ static int lfsr_btree_split(lfs_t *lfs, lfsr_btree_t *btree, // commit our entries err = lfsr_rbyd_commit(lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR_(lfsr_tag_setmk(tag1), 0, +weight1, + LFSR_ATTR_(0, lfsr_tag_setmk(tag1), +weight1, buffer1, size1), - LFSR_ATTR(MKBNAME, weight1, +weight2, + LFSR_ATTR(weight1, MKBNAME, +weight2, name, name_len), - LFSR_ATTR_(tag2, weight1+weight2-1, 0, + LFSR_ATTR_(weight1+weight2-1, tag2, 0, buffer2, size2))); if (err) { return err; @@ -3811,7 +3810,7 @@ static int lfsr_btree_split(lfs_t *lfs, lfsr_btree_t *btree, // // TODO should we bother with id splits if we usually split on names? // if (name_len == 0) { lfs_ssize_t size = lfsr_btree_lookup(lfs, btree, id, - NULL, NULL, &rbyd, &rid, &rweight, NULL, 0); + NULL, &rbyd, &rid, NULL, &rweight, NULL, 0); if (size < 0) { return size; } @@ -3826,13 +3825,13 @@ static int lfsr_btree_split(lfs_t *lfs, lfsr_btree_t *btree, // commit our id into the tree, letting lfsr_btree_commit take care // of the rest return lfsr_btree_commit(lfs, btree, id, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UNR, rid, +weight1-rweight, NULL, 0), - LFSR_ATTR_(tag1, rid-(rweight-1)+weight1-1, 0, + LFSR_ATTR(rid, UNR, +weight1-rweight, NULL, 0), + LFSR_ATTR_(rid-(rweight-1)+weight1-1, tag1, 0, buffer1, size1), // TODO should we always be making name entries? - LFSR_ATTR(MKBNAME, rid-(rweight-1)+weight1, +weight2, + LFSR_ATTR(rid-(rweight-1)+weight1, MKBNAME, +weight2, name, name_len), - LFSR_ATTR_(tag2, rid-(rweight-1)+weight1+weight2-1, 0, + LFSR_ATTR_(rid-(rweight-1)+weight1+weight2-1, tag2, 0, buffer2, size2))); } } diff --git a/scripts/dbgbtree.py b/scripts/dbgbtree.py index 82b7eade..6722195f 100755 --- a/scripts/dbgbtree.py +++ b/scripts/dbgbtree.py @@ -199,7 +199,7 @@ class Rbyd: return Rbyd(block, limit, data, rev, off, trunk, weight) - def lookup(self, tag, id): + def lookup(self, id, tag): if not self: return True, 0, -1, 0, 0, 0, b'' @@ -227,13 +227,13 @@ class Rbyd: j = j + delta # found tag else: - tag_ = alt id_ = upper-1 + tag_ = alt w_ = id_-lower done = (id_, tag_) < (id, tag) or tag_ & 2 - return (done, tag_, id_, w_, + return (done, id_, tag_, w_, j, delta, self.data[j+delta:j+delta+jump]) def __bool__(self): @@ -250,11 +250,11 @@ class Rbyd: id = 0 while True: - done, tag, id, w, j, d, data = self.lookup(tag+0x10, id) + done, id, tag, w, j, d, data = self.lookup(id, tag+0x10) if done: break - yield tag, id, w, j, d, data + yield id, tag, w, j, d, data def main(disk, block_size=None, trunk=0, limit=None, *, @@ -306,8 +306,8 @@ def main(disk, block_size=None, trunk=0, limit=None, *, while True: # first lookup id/name - (done, name_tag, rid_, w, - name_j, name_d, name) = rbyd.lookup(0, rid) + (done, rid_, name_tag, w, + name_j, name_d, name) = rbyd.lookup(rid, 0) if done: return (True, id, 0, rbyd, -1, (0, 0, 0, b''), @@ -316,9 +316,9 @@ def main(disk, block_size=None, trunk=0, limit=None, *, if name_tag & 0xf00f == TAG_NAME: # then lookup struct - (done, struct_tag, _, _, + (done, _, struct_tag, _, struct_j, struct_d, struct_) = rbyd.lookup( - TAG_STRUCT, rid_) + rid_, TAG_STRUCT) if done: return (True, id, 0, rbyd, -1, (0, 0, 0, b''), diff --git a/scripts/dbgrbyd.py b/scripts/dbgrbyd.py index 721ad1e3..8a455edc 100755 --- a/scripts/dbgrbyd.py +++ b/scripts/dbgrbyd.py @@ -493,7 +493,7 @@ def show_tree(block_size, data, rev, trunk, weight, *, # lookup a tag, returning also the search path for decoration # purposes - def lookup(tag, id): + def lookup(id, tag): lower = -1 upper = weight path = [] @@ -541,13 +541,13 @@ def show_tree(block_size, data, rev, trunk, weight, *, path.append((j-delta, j, False, 'b')) # found tag else: - tag_ = alt id_ = upper-1 + tag_ = alt w_ = id_-lower done = (id_, tag_) < (id, tag) or tag_ & 2 - return done, tag_, id_, w_, j, delta, jump, path + return done, id_, tag_, w_, j, delta, jump, path # precompute tree tree_width = 0 @@ -555,9 +555,9 @@ def show_tree(block_size, data, rev, trunk, weight, *, trunks = co.defaultdict(lambda: (-1, 0)) alts = co.defaultdict(lambda: {}) - tag, id = 0, -1 + id, tag = -1, 0 while True: - done, tag, id, w, j, delta, size, path = lookup(tag+0x10, id) + done, id, tag, w, j, delta, size, path = lookup(id, tag+0x10) # found end of tree? if done: break @@ -690,9 +690,9 @@ def show_tree(block_size, data, rev, trunk, weight, *, 'data (truncated)' if not args.get('no_truncate') else '')) - tag, id = 0, -1 + id, tag = -1, 0 while True: - done, tag, id, w, j, delta, size, path = lookup(tag+0x10, id) + done, id, tag, w, j, delta, size, path = lookup(id, tag+0x10) # found end of tree? if done: break diff --git a/tests/test_btree.toml b/tests/test_btree.toml index ce951fd4..61ea70a6 100644 --- a/tests/test_btree.toml +++ b/tests/test_btree.toml @@ -34,7 +34,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -69,7 +69,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -77,7 +77,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -113,7 +113,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -121,7 +121,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -129,7 +129,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -164,7 +164,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -172,7 +172,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -180,7 +180,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -217,7 +217,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -225,7 +225,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -233,7 +233,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -241,7 +241,7 @@ code = ''' assert(memcmp(buffer, "c", 1) == 0); lfsr_btree_get(&lfs, &btree, 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -277,7 +277,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -285,7 +285,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -293,7 +293,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -301,7 +301,7 @@ code = ''' assert(memcmp(buffer, "c", 1) == 0); lfsr_btree_get(&lfs, &btree, 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -343,7 +343,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -353,7 +353,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, N, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -393,7 +393,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -403,7 +403,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, N, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -484,7 +484,7 @@ code = ''' lfs_size_t weight_; for (lfs_size_t i = 0; i < sim_size; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -494,7 +494,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, sim_size, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -540,7 +540,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -550,14 +550,14 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, N*W, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge id_ = -1; for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -565,7 +565,7 @@ code = ''' assert(memcmp(buffer, &alphas[i % 26], 1) == 0); } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -678,7 +678,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, weighted_id+sim_weights[i]-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -688,7 +688,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, total_weight, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge @@ -701,7 +701,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -709,7 +709,7 @@ code = ''' assert(memcmp(buffer, &sim[i], 1) == 0); } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -753,7 +753,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -761,7 +761,7 @@ code = ''' assert(memcmp(buffer, "A", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -799,7 +799,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -807,7 +807,7 @@ code = ''' assert(memcmp(buffer, "A", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -815,7 +815,7 @@ code = ''' assert(memcmp(buffer, "B", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -855,7 +855,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -863,7 +863,7 @@ code = ''' assert(memcmp(buffer, "A", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -871,7 +871,7 @@ code = ''' assert(memcmp(buffer, "B", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -879,7 +879,7 @@ code = ''' assert(memcmp(buffer, "C", 1) == 0); lfsr_btree_get(&lfs, &btree, 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -925,7 +925,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -935,7 +935,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, N, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1020,7 +1020,7 @@ code = ''' lfs_size_t weight_; for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -1030,7 +1030,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, N, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -1081,7 +1081,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -1091,14 +1091,14 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, N*W, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge id_ = -1; for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -1106,7 +1106,7 @@ code = ''' assert(memcmp(buffer, &uppers[i % 26], 1) == 0); } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1222,7 +1222,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, weighted_id+sim_weights[i]-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -1232,7 +1232,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, total_weight, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge @@ -1245,7 +1245,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -1253,7 +1253,7 @@ code = ''' assert(memcmp(buffer, &sim[i], 1) == 0); } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -1298,7 +1298,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // try to putting it back to see if things still work @@ -1312,7 +1312,7 @@ code = ''' // try looking up tags lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1320,7 +1320,7 @@ code = ''' assert(memcmp(buffer, "A", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1357,7 +1357,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1365,7 +1365,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // try to putting it back to see if things still work @@ -1379,7 +1379,7 @@ code = ''' // try looking up tags lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1387,7 +1387,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -1395,7 +1395,7 @@ code = ''' assert(memcmp(buffer, "B", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1432,7 +1432,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1440,7 +1440,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // try to putting it back to see if things still work @@ -1454,7 +1454,7 @@ code = ''' // try looking up tags lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1462,7 +1462,7 @@ code = ''' assert(memcmp(buffer, "A", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -1470,7 +1470,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1508,7 +1508,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1516,7 +1516,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -1524,7 +1524,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // try to putting it back to see if things still work @@ -1538,7 +1538,7 @@ code = ''' // try looking up tags lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1546,7 +1546,7 @@ code = ''' assert(memcmp(buffer, "a", 1) == 0); lfsr_btree_get(&lfs, &btree, 1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -1554,7 +1554,7 @@ code = ''' assert(memcmp(buffer, "b", 1) == 0); lfsr_btree_get(&lfs, &btree, 2, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -1562,7 +1562,7 @@ code = ''' assert(memcmp(buffer, "C", 1) == 0); lfsr_btree_get(&lfs, &btree, 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1609,7 +1609,7 @@ code = ''' for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -1619,7 +1619,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, REMAINING, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // try recovering @@ -1628,7 +1628,7 @@ code = ''' for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -1637,7 +1637,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, REMAINING, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == REMAINING); @@ -1645,7 +1645,7 @@ code = ''' assert(memcmp(buffer, "R", 1) == 0); lfsr_btree_get(&lfs, &btree, REMAINING+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1692,7 +1692,7 @@ code = ''' for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -1702,7 +1702,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, REMAINING, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // try recovering @@ -1710,7 +1710,7 @@ code = ''' "R", 1) => 0; lfsr_btree_get(&lfs, &btree, 0, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -1719,7 +1719,7 @@ code = ''' for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_get(&lfs, &btree, i+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i+1); @@ -1728,7 +1728,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, REMAINING+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -1815,7 +1815,7 @@ code = ''' lfs_size_t weight_; for (lfs_size_t i = 0; i < sim_size; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -1825,7 +1825,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, sim_size, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -1877,7 +1877,7 @@ code = ''' for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_get(&lfs, &btree, i*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -1887,7 +1887,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, REMAINING*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // try recovering @@ -1896,7 +1896,7 @@ code = ''' for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_get(&lfs, &btree, i*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -1905,7 +1905,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, REMAINING*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == REMAINING*W+W-1); @@ -1913,14 +1913,14 @@ code = ''' assert(memcmp(buffer, "R", 1) == 0); lfsr_btree_get(&lfs, &btree, (REMAINING+1)*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge id_ = -1; for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -1929,7 +1929,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == REMAINING*W+W-1); @@ -1937,7 +1937,7 @@ code = ''' assert(memcmp(buffer, "R", 1) == 0); lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -2064,7 +2064,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, weighted_id+sim_weights[i]-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -2074,7 +2074,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, total_weight, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge @@ -2087,7 +2087,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -2095,7 +2095,7 @@ code = ''' assert(memcmp(buffer, &sim[i], 1) == 0); } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -2144,7 +2144,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -2154,7 +2154,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, N, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -2241,7 +2241,7 @@ code = ''' lfs_size_t weight_; for (lfs_size_t i = 0; i < sim_size; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -2251,7 +2251,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, sim_size, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -2300,7 +2300,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_get(&lfs, &btree, i*W+W-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -2310,7 +2310,7 @@ code = ''' // and check that we can't lookup elements that aren't in the tree lfsr_btree_get(&lfs, &btree, N*W, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; ''' @@ -2433,7 +2433,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, weighted_id+sim_weights[i]-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -2443,7 +2443,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, total_weight, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge @@ -2456,7 +2456,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -2464,7 +2464,7 @@ code = ''' assert(memcmp(buffer, &sim[i], 1) == 0); } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -2574,7 +2574,7 @@ code = ''' lfs_size_t weight_; for (lfs_size_t i = 0; i < sim_size; i++) { lfsr_btree_get(&lfs, &btree, i, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -2584,7 +2584,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, sim_size, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -2727,7 +2727,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, weighted_id+sim_weights[i]-1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -2737,7 +2737,7 @@ code = ''' // and no extra elements lfsr_btree_get(&lfs, &btree, total_weight, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // also test that we can traverse the tree without prior knowledge @@ -2750,7 +2750,7 @@ code = ''' } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -2758,7 +2758,7 @@ code = ''' assert(memcmp(buffer, &sim[i], 1) == 0); } lfsr_btree_get(&lfs, &btree, id_+1, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => LFS_ERR_NOENT; // clean up sim @@ -2798,7 +2798,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_find(&lfs, &btree, "aaa", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -2806,7 +2806,7 @@ code = ''' assert(memcmp(buffer, "0", 1) == 0); lfsr_btree_find(&lfs, &btree, "aab", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -2847,7 +2847,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_find(&lfs, &btree, "aaa", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -2855,7 +2855,7 @@ code = ''' assert(memcmp(buffer, "0", 1) == 0); lfsr_btree_find(&lfs, &btree, "aab", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -2863,7 +2863,7 @@ code = ''' assert(memcmp(buffer, "1", 1) == 0); lfsr_btree_find(&lfs, &btree, "aac", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -2907,7 +2907,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_find(&lfs, &btree, "aaa", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -2915,7 +2915,7 @@ code = ''' assert(memcmp(buffer, "0", 1) == 0); lfsr_btree_find(&lfs, &btree, "aab", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -2923,7 +2923,7 @@ code = ''' assert(memcmp(buffer, "1", 1) == 0); lfsr_btree_find(&lfs, &btree, "aac", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -2931,7 +2931,7 @@ code = ''' assert(memcmp(buffer, "2", 1) == 0); lfsr_btree_find(&lfs, &btree, "aad", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -2975,7 +2975,7 @@ code = ''' lfs_size_t weight_; lfsr_btree_find(&lfs, &btree, "aaa", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 0); @@ -2983,7 +2983,7 @@ code = ''' assert(memcmp(buffer, "0", 1) == 0); lfsr_btree_find(&lfs, &btree, "aab", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 1); @@ -2991,7 +2991,7 @@ code = ''' assert(memcmp(buffer, "1", 1) == 0); lfsr_btree_find(&lfs, &btree, "aac", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -2999,7 +2999,7 @@ code = ''' assert(memcmp(buffer, "2", 1) == 0); lfsr_btree_find(&lfs, &btree, "aad", 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == 2); @@ -3054,7 +3054,7 @@ code = ''' }; lfsr_btree_find(&lfs, &btree, name, 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -3164,7 +3164,7 @@ code = ''' lfs_size_t weight_; for (lfs_size_t i = 0; i < sim_size; i++) { lfsr_btree_find(&lfs, &btree, sim_names[i], 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -3227,7 +3227,7 @@ code = ''' }; lfsr_btree_find(&lfs, &btree, name, 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i*W+W-1); @@ -3376,7 +3376,7 @@ code = ''' } lfsr_btree_find(&lfs, &btree, sim_names[i], 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); @@ -3467,7 +3467,7 @@ code = ''' lfs_size_t split_id; uint8_t split_buf[4]; lfsr_btree_find(&lfs, &btree, name, 3, - NULL, &split_id, NULL, split_buf, 4) => 1; + &split_id, NULL, NULL, split_buf, 4) => 1; if (split_id > id) { lfsr_btree_split(&lfs, &btree, split_id, sim_names[id+1], 3, @@ -3537,7 +3537,7 @@ code = ''' lfs_size_t weight_; for (lfs_size_t i = 0; i < sim_size; i++) { lfsr_btree_find(&lfs, &btree, sim_names[i], 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == i); @@ -3644,7 +3644,7 @@ code = ''' lfs_size_t split_weight; uint8_t split_buf[4]; lfsr_btree_find(&lfs, &btree, name, 3, - NULL, &split_id, &split_weight, split_buf, 4) => 1; + &split_id, NULL, &split_weight, split_buf, 4) => 1; if (split_id > weighted_id+sim_weights[id]-1) { lfsr_btree_split(&lfs, &btree, split_id, sim_names[id+1], 3, @@ -3744,7 +3744,7 @@ code = ''' } lfsr_btree_find(&lfs, &btree, sim_names[i], 3, - &tag_, &id_, &weight_, + &id_, &tag_, &weight_, buffer, 4) => 1; assert(tag_ == LFSR_TAG_INLINED); assert(id_ == weighted_id+sim_weights[i]-1); diff --git a/tests/test_rbyd.toml b/tests/test_rbyd.toml index 44b7dec5..ce24acc6 100644 --- a/tests/test_rbyd.toml +++ b/tests/test_rbyd.toml @@ -40,15 +40,15 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; // commit with two attributes rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; ''' @@ -79,16 +79,16 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; // commit with two attributes rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; ''' @@ -113,12 +113,12 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; // commit with the second attribute lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; ''' @@ -153,103 +153,103 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, NULL, 0) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with one attribute rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes, in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_multi_lookup] @@ -278,105 +278,105 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, NULL, 0) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with one attribute rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes, in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_get] @@ -402,73 +402,73 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, NULL, 0) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; // commit with one attribute rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => LFS_ERR_NOENT; // commit with two attributes rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; // commit with two attributes, in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; ''' @@ -495,75 +495,75 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, NULL, 0) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; // commit with one attribute rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => LFS_ERR_NOENT; // commit with two attributes rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; // commit with two attributes, in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), buffer, 4) => 4; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), buffer, 4) => LFS_ERR_NOENT; ''' @@ -595,17 +595,17 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); @@ -617,17 +617,17 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); @@ -661,18 +661,18 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); @@ -684,18 +684,18 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); @@ -731,23 +731,23 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); @@ -761,23 +761,23 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); @@ -813,24 +813,24 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); @@ -844,24 +844,24 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); @@ -875,24 +875,24 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); @@ -906,24 +906,24 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); @@ -961,29 +961,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -999,29 +999,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1037,29 +1037,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1075,29 +1075,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1135,29 +1135,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1173,29 +1173,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1211,29 +1211,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1249,29 +1249,29 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1311,30 +1311,30 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1352,30 +1352,30 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1391,30 +1391,30 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1430,30 +1430,30 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); @@ -1495,35 +1495,35 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); @@ -1543,35 +1543,35 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); @@ -1589,35 +1589,35 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); @@ -1635,35 +1635,35 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); @@ -1705,36 +1705,36 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); @@ -1754,36 +1754,36 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); @@ -1803,36 +1803,36 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); @@ -1876,41 +1876,41 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(6), -1, 0, "\xff\xff\xff\xff", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(6), 0, "\xff\xff\xff\xff", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(6), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(6), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(6)); assert(id_ == -1); assert(size_ == 4); @@ -1930,41 +1930,41 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(6), -1, 0, "\xff\xff\xff\xff", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(6), 0, "\xff\xff\xff\xff", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(6), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(6), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(6)); assert(id_ == -1); assert(size_ == 4); @@ -1984,41 +1984,41 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(6), -1, 0, "\xff\xff\xff\xff", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4), + LFSR_ATTR(-1, UATTR(6), 0, "\xff\xff\xff\xff", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(5)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(6), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(6), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(6)); assert(id_ == -1); assert(size_ == 4); @@ -2076,7 +2076,7 @@ code = ''' struct lfsr_attr attrs[N]; for (unsigned j = 0; j < N; j++) { attrs[j] = LFSR_ATTR( - UATTR(perm[j]+1), -1, 0, + -1, UATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4); } @@ -2087,8 +2087,8 @@ code = ''' lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(j+1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(j+1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(j+1)); assert(id_ == -1); assert(size_ == 4); @@ -2171,14 +2171,14 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]+1), -1, 0, + LFSR_ATTR(-1, UATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(j+1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(j+1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(j+1)); assert(id_ == -1); assert(size_ == 4); @@ -2233,69 +2233,69 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // also try the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_multi_traverse] @@ -2325,71 +2325,71 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // also try the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_traverse_permutations] @@ -2440,7 +2440,7 @@ code = ''' struct lfsr_attr attrs[N]; for (unsigned j = 0; j < N; j++) { attrs[j] = LFSR_ATTR( - UATTR(perm[j]+1), -1, 0, + -1, UATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4); } @@ -2454,14 +2454,14 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(j+1)); assert(id_ == -1); assert(size_ == 4); } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -2517,7 +2517,7 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]+1), -1, 0, + LFSR_ATTR(-1, UATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -2526,14 +2526,14 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(j+1)); assert(id_ == -1); assert(size_ == 4); } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -2576,7 +2576,7 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(j+1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(j+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } // copy block so we can reset after each remove @@ -2614,15 +2614,15 @@ code = ''' // update each tag in permutation order for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]+1), -1, 0, + LFSR_ATTR(-1, UATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; } // check that all tags have been updated lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(j+1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(j+1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(j+1)); assert(id_ == -1); assert(size_ == 6); @@ -2695,7 +2695,7 @@ code = ''' : (ORDER == 1) ? (uint8_t)(((lfs_size_t)-1) - i) : (uint8_t)TEST_PRNG(&prng); int err = lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(x), -1, 0, "\xaa\xaa\xaa\xaa", 4))); + LFSR_ATTR(-1, UATTR(x), 0, "\xaa\xaa\xaa\xaa", 4))); if (err == LFS_ERR_RANGE) { break; } @@ -2712,8 +2712,8 @@ code = ''' = (ORDER == 0) ? (uint8_t)i : (ORDER == 1) ? (uint8_t)(((lfs_size_t)-1) - i) : (uint8_t)TEST_PRNG(&prng); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(x), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(x), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(x)); assert(id_ == -1); assert(size_ == 4); @@ -2748,86 +2748,86 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes, remove the first one rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes, remove the second one rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(2), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(2), 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' # NOTE if we separate physical/logical block sizes we may be able to @@ -2887,7 +2887,7 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]+1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) + LFSR_ATTR(-1, UATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -2909,15 +2909,15 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(j+1), -1, 0, NULL, 0))) + LFSR_ATTR(-1, RMUATTR(j+1), 0, NULL, 0))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned k = 0; k < N; k++) { int err = lfsr_rbyd_lookup(&lfs, &rbyd, - LFSR_TAG_UATTR(k+1), -1, - &tag_, &id_, NULL, &off_, &size_); + -1, LFSR_TAG_UATTR(k+1), + &id_, &tag_, NULL, &off_, &size_); assert(!err || err == LFS_ERR_NOENT); if (k == j) { if (j == N-1) { @@ -2938,7 +2938,7 @@ code = ''' // try appending the tag back to make sure things still work printf("--- append: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(j+1), -1, 0, + LFSR_ATTR(-1, UATTR(j+1), 0, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; @@ -2946,8 +2946,8 @@ code = ''' cfg->block_size, NULL) => 0; for (unsigned k = 0; k < N; k++) { lfsr_rbyd_lookup(&lfs, &rbyd, - LFSR_TAG_UATTR(k+1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + -1, LFSR_TAG_UATTR(k+1), + &id_, &tag_, NULL, &off_, &size_) => 0; if (k == j) { assert(tag_ == LFSR_TAG_UATTR(k+1)); assert(id_ == -1); @@ -3038,7 +3038,7 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]+1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) + LFSR_ATTR(-1, UATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -3060,7 +3060,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(j+1), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(j+1), 0, NULL, 0))) => 0; // try traversing over the tags lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -3069,8 +3069,8 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned k = 0; k < N-1; k++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; if (k >= j) { assert(tag_ == LFSR_TAG_UATTR(k+1+1)); assert(id_ == -1); @@ -3082,8 +3082,8 @@ code = ''' } } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } // cleanup @@ -3116,131 +3116,131 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // try to remove tags that aren't there, this should do nothing lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(3), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(3), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(5), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(5), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // one last fetch to make sure nothing was broken lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_remove_again] @@ -3268,217 +3268,217 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(3), -1, 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(4), -1, 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(5), -1, 0, "\xee\xee\xee\xee", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(-1, UATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(-1, UATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(-1, UATTR(5), 0, "\xee\xee\xee\xee", 4))) => 0; // remove several attributes lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0), - LFSR_ATTR(RMUATTR(3), -1, 0, NULL, 0), - LFSR_ATTR(RMUATTR(5), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0), + LFSR_ATTR(-1, RMUATTR(3), 0, NULL, 0), + LFSR_ATTR(-1, RMUATTR(5), 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // try to remove tags that aren't there, this should do nothing lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(3), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(3), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(5), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(5), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // try to remove the tags again, just to make sure (keep in mind // these removes still commit to the rbyd) lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(3), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(3), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(5), -1, 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + LFSR_ATTR(-1, RMUATTR(5), 0, NULL, 0))) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // one last fetch to make sure nothing was broken lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(4), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(4), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(4)); assert(id_ == -1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(5), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(5), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_remove_all] @@ -3506,62 +3506,62 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes, remove both rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0), - LFSR_ATTR(RMUATTR(2), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0), + LFSR_ATTR(-1, RMUATTR(2), 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // commit with two attributes, remove both in the other order rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(2), -1, 0, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(-1, UATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(2), -1, 0, NULL, 0), - LFSR_ATTR(RMUATTR(1), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(2), 0, NULL, 0), + LFSR_ATTR(-1, RMUATTR(1), 0, NULL, 0))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(2), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' # NOTE if we separate physical/logical block sizes we may be able to @@ -3603,7 +3603,7 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(j+1), -1, 0, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(-1, UATTR(j+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } // copy block so we can reset after each remove @@ -3641,30 +3641,30 @@ code = ''' // remove each tag in permutation order for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(perm[j]+1), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(perm[j]+1), 0, NULL, 0))) => 0; } // check that all tags are now removed lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(j+1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(j+1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } // try resuming from all tags being removed lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), -1, 0, + LFSR_ATTR(-1, UATTR(1), 0, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == -1); assert(size_ == 6); for (unsigned j = 1; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(j+1), -1, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(j+1), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } // keep track of the worst size @@ -3764,13 +3764,13 @@ code = ''' sim[attr] = alpha[i % 26]; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(attr), -1, 0, &alpha[i % 26], 1))) => 0; + LFSR_ATTR(-1, UATTR(attr), 0, &alpha[i % 26], 1))) => 0; } else { // update our sim sim[attr] = '\0'; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(attr), -1, 0, NULL, 0))) => 0; + LFSR_ATTR(-1, RMUATTR(attr), 0, NULL, 0))) => 0; } } @@ -3804,7 +3804,7 @@ code = ''' for (unsigned attr = 0; attr < N; attr++) { lfs_ssize_t size = lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(attr), -1, buffer, 4); + -1, LFSR_TAG_UATTR(attr), buffer, 4); if (sim[attr]) { assert(size == 1); assert(memcmp(&sim[attr], buffer, 1) == 0); @@ -3860,130 +3860,130 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); // try to create two ids rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); // try to create two in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); // create a third to the right rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); // create a third to the left rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); // create a third in the middle rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); ''' @@ -4009,16 +4009,16 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); @@ -4026,123 +4026,123 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); // try to create two in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); // create a third to the right rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); // create a third to the left rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); // create a third in the middle rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); ''' @@ -4211,7 +4211,7 @@ code = ''' } attrs[j] = LFSR_ATTR( - MKREG, id, +1, names[perm[j] % 6], 4); + id, MKREG, +1, names[perm[j] % 6], 4); } // test the given permutation @@ -4222,7 +4222,7 @@ code = ''' lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N); for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } @@ -4316,14 +4316,14 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; } lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N); for (unsigned j = 0; j < N; j++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, j, buffer, 4) => 4; + j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } @@ -4377,85 +4377,85 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // also try the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_multi_create_traverse] @@ -4486,87 +4486,87 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // also try the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_create_traverse_permutations] @@ -4634,7 +4634,7 @@ code = ''' } attrs[j] = LFSR_ATTR( - MKREG, id, +1, names[perm[j] % 6], 4); + id, MKREG, +1, names[perm[j] % 6], 4); } // test the given permutation @@ -4648,17 +4648,17 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -4730,7 +4730,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; } lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; @@ -4739,17 +4739,17 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -4802,7 +4802,7 @@ code = ''' x = x % (rbyd.weight+1); int err = lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, x, +1, names[x % 6], 4))); + LFSR_ATTR(x, MKREG, +1, names[x % 6], 4))); if (err == LFS_ERR_RANGE) { break; } @@ -4818,8 +4818,8 @@ code = ''' lfs_size_t size_; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (uint16_t x = 0; x < rbyd.weight; x++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, x, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, x, LFSR_TAG_REG, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == x); assert(size_ == 4); @@ -4851,217 +4851,217 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); // try to create two ids rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); // try to create two in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); // create a third to the right rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 2, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(2, UATTR(1), 0, "\xcc\xcc", 2))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); // create a third to the left rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xcc\xcc", 2), - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xcc\xcc", 2), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); // create a third in the middle rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xcc\xcc", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xcc\xcc", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); ''' @@ -5087,239 +5087,239 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); // try to create two ids rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); // try to create two in the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); // create a third to the right rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 2, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(2, UATTR(1), 0, "\xcc\xcc", 2))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); // create a third to the left rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 1, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(1, UATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); // create a third in the middle rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 1, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(1, UATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 3); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); ''' @@ -5389,11 +5389,11 @@ code = ''' } attrs[(1+M)*j] = LFSR_ATTR( - MKREG, id, +1, names[perm[j] % 6], 4); + id, MKREG, +1, names[perm[j] % 6], 4); // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { attrs[(1+M)*j+1+u] = LFSR_ATTR( - UATTR(u+1), id, 0, names[perm[j] % 6], 2); + id, UATTR(u+1), 0, names[perm[j] % 6], 2); } } @@ -5405,11 +5405,11 @@ code = ''' lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N); for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(u+1), j, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_UATTR(u+1), buffer, 4) => 2; assert(memcmp(buffer, names[j % 6], 2) == 0); } @@ -5506,11 +5506,11 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), id, 0, + LFSR_ATTR(id, UATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } } @@ -5518,11 +5518,11 @@ code = ''' lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N); for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(u+1), j, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_UATTR(u+1), buffer, 4) => 2; assert(memcmp(buffer, names[j % 6], 2) == 0); } @@ -5578,145 +5578,145 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // also try the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_multi_mixed_traverse] @@ -5747,151 +5747,151 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // also try the other direction rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 1); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 1); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_mixed_traverse_permutations] @@ -5960,11 +5960,11 @@ code = ''' } attrs[(1+M)*j] = LFSR_ATTR( - MKREG, id, +1, names[perm[j] % 6], 4); + id, MKREG, +1, names[perm[j] % 6], 4); // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { attrs[(1+M)*j+1+u] = LFSR_ATTR( - UATTR(u+1), id, 0, names[perm[j] % 6], 2); + id, UATTR(u+1), 0, names[perm[j] % 6], 2); } } @@ -5980,28 +5980,28 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(u+1)); assert(id_ == j); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, names[j % 6], 2) == 0); } } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -6074,11 +6074,11 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), id, 0, + LFSR_ATTR(id, UATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } } @@ -6090,28 +6090,28 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(u+1)); assert(id_ == j); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, names[j % 6], 2) == 0); } } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -6160,11 +6160,11 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, j, +1, names[j % 6], 4))) => 0; + LFSR_ATTR(j, MKREG, +1, names[j % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), j, 0, names[j % 6], 2))) => 0; + LFSR_ATTR(j, UATTR(u+1), 0, names[j % 6], 2))) => 0; } } @@ -6203,18 +6203,18 @@ code = ''' // update each tag in permutation order for (unsigned j = 0; j < N*M; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]%M+1), perm[j]/M, 0, + LFSR_ATTR(perm[j]/M, UATTR(perm[j]%M+1), 0, names[(perm[j]/M) % 6], 3))) => 0; } // check that all tags have been updated lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(u+1), j, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_UATTR(u+1), buffer, 4) => 3; assert(memcmp(buffer, names[j % 6], 3) == 0); } @@ -6320,11 +6320,11 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), id, 0, + LFSR_ATTR(id, UATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } } @@ -6347,18 +6347,18 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR((j%M)+1), j/M, 0, NULL, 0))) => 0; + LFSR_ATTR(j/M, RMUATTR((j%M)+1), 0, NULL, 0))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned k = 0; k < N; k++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { int err = lfsr_rbyd_lookup(&lfs, &rbyd, - LFSR_TAG_UATTR(u+1), k, - &tag_, &id_, NULL, &off_, &size_); + k, LFSR_TAG_UATTR(u+1), + &id_, &tag_, NULL, &off_, &size_); assert(!err || err == LFS_ERR_NOENT); if (k == j/M && u == j%M) { if (u == M-1 && k == N-1) { @@ -6379,7 +6379,7 @@ code = ''' assert(id_ == k); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, names[k % 6], 2) == 0); } } @@ -6388,31 +6388,31 @@ code = ''' // try append the tag back to make sure things still work printf("--- append: id%jd, %jd ---\n", j/M, (j%M)+1); lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR((j%M)+1), j/M, 0, names[(j/M)%6], 3))) => 0; + LFSR_ATTR(j/M, UATTR((j%M)+1), 0, names[(j/M)%6], 3))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned k = 0; k < N; k++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { lfsr_rbyd_lookup(&lfs, &rbyd, - LFSR_TAG_UATTR(u+1), k, - &tag_, &id_, NULL, &off_, &size_) => 0; + k, LFSR_TAG_UATTR(u+1), + &id_, &tag_, NULL, &off_, &size_) => 0; if (k == j/M && u == j%M) { assert(tag_ == LFSR_TAG_UATTR(u+1)); assert(id_ == k); assert(size_ == 3); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 3; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 3; assert(memcmp(buffer, names[k % 6], 3) == 0); } else { assert(tag_ == LFSR_TAG_UATTR(u+1)); assert(id_ == k); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, names[k % 6], 2) == 0); } } @@ -6489,11 +6489,11 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, j, +1, names[j % 6], 4))) => 0; + LFSR_ATTR(j, MKREG, +1, names[j % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), j, 0, names[j % 6], 2))) => 0; + LFSR_ATTR(j, UATTR(u+1), 0, names[j % 6], 2))) => 0; } } @@ -6532,18 +6532,18 @@ code = ''' // remove each tag in permutation order for (unsigned j = 0; j < N*M; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(perm[j]%M+1), perm[j]/M, 0, + LFSR_ATTR(perm[j]/M, RMUATTR(perm[j]%M+1), 0, NULL, 0))) => 0; } // check that all tags have been removed lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(u+1), j, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_UATTR(u+1), buffer, 4) => LFS_ERR_NOENT; } } @@ -6626,10 +6626,10 @@ code = ''' // it should fail atomically struct lfsr_attr attrs[1+M]; attrs[0] = LFSR_ATTR( - MKREG, x, +1, names[x % 6], 4); + x, MKREG, +1, names[x % 6], 4); for (unsigned u = 0; u < M; u++) { attrs[1+u] = LFSR_ATTR( - UATTR(u+1), x, 0, names[x % 6], 2); + x, UATTR(u+1), 0, names[x % 6], 2); } int err = lfsr_rbyd_commit(&lfs, &rbyd, attrs, 1+M); @@ -6648,15 +6648,15 @@ code = ''' lfs_size_t size_; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; for (uint16_t x = 0; x < rbyd.weight; x++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, x, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, x, LFSR_TAG_REG, + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == x); assert(size_ == 4); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(u+1), x, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, x, LFSR_TAG_UATTR(u+1), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(u+1)); assert(id_ == x); assert(size_ == 2); @@ -6736,11 +6736,11 @@ code = ''' // note the data size differences here lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]+1), -1, 0, + LFSR_ATTR(-1, UATTR(perm[j]+1), 0, names[perm[j] % 6], 1))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; } @@ -6749,12 +6749,12 @@ code = ''' assert(rbyd.weight == N); for (unsigned j = 0; j < N; j++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(j+1), -1, buffer, 4) => 1; + -1, LFSR_TAG_UATTR(j+1), buffer, 4) => 1; assert(memcmp(buffer, names[j % 6], 1) == 0); } for (unsigned j = 0; j < N; j++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, j, buffer, 4) => 4; + j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } @@ -6764,27 +6764,27 @@ code = ''' lfs_off_t off_; lfs_size_t size_; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(j+1)); assert(id_ == -1); assert(size_ == 1); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 1; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 1; assert(memcmp(buffer, names[j % 6], 1) == 0); } for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // keep track of the worst size if (rbyd.off > worst_size) { @@ -6878,15 +6878,15 @@ code = ''' // note the data size differences here lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(perm[j]+1), -1, 0, + LFSR_ATTR(-1, UATTR(perm[j]+1), 0, names[perm[j] % 6], 1))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), id, 0, + LFSR_ATTR(id, UATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } } @@ -6896,15 +6896,15 @@ code = ''' assert(rbyd.weight == N); for (unsigned j = 0; j < N; j++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(j+1), -1, buffer, 4) => 1; + -1, LFSR_TAG_UATTR(j+1), buffer, 4) => 1; assert(memcmp(buffer, names[j % 6], 1) == 0); } for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(u+1), j, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, j, LFSR_TAG_UATTR(u+1), buffer, 4) => 2; assert(memcmp(buffer, names[j % 6], 2) == 0); } @@ -6916,38 +6916,38 @@ code = ''' lfs_off_t off_; lfs_size_t size_; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(j+1)); assert(id_ == -1); assert(size_ == 1); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 1; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 1; assert(memcmp(buffer, names[j % 6], 1) == 0); } for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(u+1)); assert(id_ == j); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; assert(memcmp(buffer, names[j % 6], 2) == 0); } } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; // keep track of the worst size if (rbyd.off > worst_size) { @@ -6996,110 +6996,110 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 1, -1, NULL, 0))) => 0; + LFSR_ATTR(1, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // try to delete the other id rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // try to delete the largest of three rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 2, -1, NULL, 0))) => 0; + LFSR_ATTR(2, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // try to delete the smallest of three rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // try to delete the middle rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 1, -1, NULL, 0))) => 0; + LFSR_ATTR(1, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) => LFS_ERR_NOENT; + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; ''' [cases.test_rbyd_delete_range] @@ -7124,221 +7124,221 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 1, -1, NULL, 0))) => 0; + LFSR_ATTR(1, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; // try to delete the other id rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; // try to delete the largest of three rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 2, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(2, UATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 2, -1, NULL, 0))) => 0; + LFSR_ATTR(2, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; // try to delete the smallest of three rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 2, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(2, UATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xbb\xbb\xbb\xbb", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xbb\xbb", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; // try to delete the middle rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 2, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(2, UATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 1, -1, NULL, 0))) => 0; + LFSR_ATTR(1, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xaa\xaa", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, "\xcc\xcc\xcc\xcc", 4) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 1, LFSR_TAG_UATTR(1), buffer, 4) => 2; assert(memcmp(buffer, "\xcc\xcc", 2) == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; ''' @@ -7413,7 +7413,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N); @@ -7435,27 +7435,27 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, j, -1, NULL, 0))) => 0; + LFSR_ATTR(j, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == N-1); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N-1); for (unsigned k = 0; k < N-1; k++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 4) => 4; if (k >= j) { assert(memcmp(buffer, names[(k+1) % 6], 4) == 0); } else { assert(memcmp(buffer, names[k % 6], 4) == 0); } } - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, N-1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, N-1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // try recreating the id to make sure things still work printf("--- create: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, j, +1, names[j % 6], 6))) => 0; + LFSR_ATTR(j, MKREG, +1, names[j % 6], 6))) => 0; assert(rbyd.weight == N); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -7463,11 +7463,11 @@ code = ''' assert(rbyd.weight == N); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 6) + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 6) => 6; assert(memcmp(buffer, names[k % 6], 6) == 0); } else { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 6) + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } @@ -7571,11 +7571,11 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), id, 0, + LFSR_ATTR(id, UATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } } @@ -7599,14 +7599,14 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, j, -1, NULL, 0))) => 0; + LFSR_ATTR(j, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == N-1); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N-1); for (unsigned k = 0; k < N-1; k++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 4) => 4; if (k >= j) { assert(memcmp(buffer, names[(k+1) % 6], 4) == 0); } else { @@ -7615,7 +7615,7 @@ code = ''' for (unsigned u = 0; u < M; u++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(u+1), k, buffer, 4) => 2; + k, LFSR_TAG_UATTR(u+1), buffer, 4) => 2; if (k >= j) { assert(memcmp(buffer, names[(k+1) % 6], 2) == 0); } else { @@ -7623,18 +7623,18 @@ code = ''' } } } - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, N-1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, N-1, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), N-1, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, N-1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; // try recreating the id to make sure things still work printf("--- create: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, j, +1, names[j % 6], 6))) => 0; + LFSR_ATTR(j, MKREG, +1, names[j % 6], 6))) => 0; for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), j, 0, + LFSR_ATTR(j, UATTR(u+1), 0, names[j % 6], 3))) => 0; } assert(rbyd.weight == N); @@ -7644,24 +7644,24 @@ code = ''' assert(rbyd.weight == N); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 6) + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 6) => 6; assert(memcmp(buffer, names[k % 6], 6) == 0); for (unsigned u = 0; u < M; u++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(u+1), k, buffer, 6) + k, LFSR_TAG_UATTR(u+1), buffer, 6) => 3; assert(memcmp(buffer, names[k % 6], 3) == 0); } } else { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, k, buffer, 6) + lfsr_rbyd_get(&lfs, &rbyd, k, LFSR_TAG_REG, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); for (unsigned u = 0; u < M; u++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(u+1), k, buffer, 6) + k, LFSR_TAG_UATTR(u+1), buffer, 6) => 2; assert(memcmp(buffer, names[k % 6], 2) == 0); } @@ -7765,7 +7765,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N); @@ -7787,7 +7787,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, j, -1, NULL, 0))) => 0; + LFSR_ATTR(j, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == N-1); // try traversing over the tags @@ -7798,13 +7798,13 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned k = 0; k < N-1; k++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; if (k >= j) { assert(memcmp(buffer, names[(k+1) % 6], 4) == 0); } else { @@ -7812,8 +7812,8 @@ code = ''' } } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } // cleanup @@ -7893,11 +7893,11 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id, MKREG, +1, names[perm[j] % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), id, 0, + LFSR_ATTR(id, UATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } } @@ -7921,7 +7921,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, j, -1, NULL, 0))) => 0; + LFSR_ATTR(j, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == N-1); // try traversing over the tags @@ -7932,13 +7932,13 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned k = 0; k < N-1; k++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; if (k >= j) { assert(memcmp(buffer, names[(k+1) % 6], 4) == 0); } else { @@ -7946,13 +7946,13 @@ code = ''' } for (unsigned u = 0; u < M; u++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(u+1)); assert(id_ == k); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 2; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 2; if (k >= j) { assert(memcmp(buffer, names[(k+1) % 6], 2) == 0); } else { @@ -7961,8 +7961,8 @@ code = ''' } } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, NULL, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, NULL, &off_, &size_) => LFS_ERR_NOENT; } // cleanup @@ -7994,97 +7994,97 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete two ids rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete two ids in the other order rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 1, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(1, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete three ids rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete three ids in the other order rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 2, -1, NULL, 0), - LFSR_ATTR(MKUNR, 1, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(2, MKUNR, -1, NULL, 0), + LFSR_ATTR(1, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; ''' @@ -8110,108 +8110,108 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete two ids rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete two ids in the other order rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 1, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(1, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete three ids rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 2, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(2, UATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 0, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(0, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // create and delete three ids in the other order rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(MKREG, 2, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 2, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(2, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(2, UATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, 2, -1, NULL, 0), - LFSR_ATTR(MKUNR, 1, -1, NULL, 0), - LFSR_ATTR(MKUNR, 0, -1, NULL, 0))) => 0; + LFSR_ATTR(2, MKUNR, -1, NULL, 0), + LFSR_ATTR(1, MKUNR, -1, NULL, 0), + LFSR_ATTR(0, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, 0, buffer, 4) + lfsr_rbyd_get(&lfs, &rbyd, 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; ''' @@ -8259,7 +8259,7 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, j, +1, names[j % 6], 4))) => 0; + LFSR_ATTR(j, MKREG, +1, names[j % 6], 4))) => 0; } assert(rbyd.weight == N); @@ -8307,7 +8307,7 @@ code = ''' lfs_size_t rbyd_weight_before = rbyd.weight; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, id, -1, NULL, 0))) => 0; + LFSR_ATTR(id, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == rbyd_weight_before-1); } @@ -8320,17 +8320,17 @@ code = ''' // try resuming from all tags being removed lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; assert(rbyd.weight == 1); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, 0, buffer, 6) + 0, LFSR_TAG_REG, buffer, 6) => 6; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa\xaa\xaa", 6) == 0); lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, 1, buffer, 6) + 1, LFSR_TAG_REG, buffer, 6) => LFS_ERR_NOENT; // keep track of the worst size @@ -8403,11 +8403,11 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, j, +1, names[j % 6], 4))) => 0; + LFSR_ATTR(j, MKREG, +1, names[j % 6], 4))) => 0; // note uattrs have a smaller size to help debugging for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), j, 0, names[j % 6], 2))) => 0; + LFSR_ATTR(j, UATTR(u+1), 0, names[j % 6], 2))) => 0; } } assert(rbyd.weight == N); @@ -8456,7 +8456,7 @@ code = ''' lfs_size_t rbyd_weight_before = rbyd.weight; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, id, -1, NULL, 0))) => 0; + LFSR_ATTR(id, MKUNR, -1, NULL, 0))) => 0; assert(rbyd.weight == rbyd_weight_before-1); } @@ -8464,35 +8464,35 @@ code = ''' lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 0); lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, 0, buffer, 4) + 0, LFSR_TAG_REG, buffer, 4) => LFS_ERR_NOENT; // try resuming from all tags being removed lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u+1), 0, 0, "\xaa\xaa\xaa", 3))) => 0; + LFSR_ATTR(0, UATTR(u+1), 0, "\xaa\xaa\xaa", 3))) => 0; } assert(rbyd.weight == 1); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == 1); lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, 0, buffer, 6) + 0, LFSR_TAG_REG, buffer, 6) => 6; assert(memcmp(buffer, "\xaa\xaa\xaa\xaa\xaa\xaa", 6) == 0); for (unsigned u = 0; u < M; u++) { lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(u+1), 0, buffer, 6) + 0, LFSR_TAG_UATTR(u+1), buffer, 6) => 3; assert(memcmp(buffer, "\xaa\xaa\xaa", 3) == 0); } lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, 1, buffer, 6) + 1, LFSR_TAG_REG, buffer, 6) => LFS_ERR_NOENT; lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(1), 1, buffer, 6) + 1, LFSR_TAG_UATTR(1), buffer, 6) => LFS_ERR_NOENT; // keep track of the worst size @@ -8599,14 +8599,14 @@ code = ''' count += 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, &alpha[i % 26], 1))) => 0; + LFSR_ATTR(id, MKREG, +1, &alpha[i % 26], 1))) => 0; } else { // update our sim memmove(sim+id, sim+id+1, count-id-1); count -= 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, id, -1, NULL, 0))) => 0; + LFSR_ATTR(id, MKUNR, -1, NULL, 0))) => 0; } } @@ -8622,7 +8622,7 @@ code = ''' printf("rbyd: ["); for (lfs_ssize_t id = 0; id < (lfs_ssize_t)rbyd.weight; id++) { lfs_ssize_t size = lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, id, buffer, 4); + id, LFSR_TAG_REG, buffer, 4); if (size >= 0) { printf("%.*s", size, buffer); } else { @@ -8636,7 +8636,7 @@ code = ''' assert(count == rbyd.weight); for (lfs_ssize_t id = 0; id < (lfs_ssize_t)count; id++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, id, buffer, 4) => 1; + lfsr_rbyd_get(&lfs, &rbyd, id, LFSR_TAG_REG, buffer, 4) => 1; assert(memcmp(&sim[id], buffer, 1) == 0); } @@ -8691,18 +8691,18 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); @@ -8710,30 +8710,30 @@ code = ''' // make id2 with weight w2 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +2, "\xbb\xbb\xbb\xbb", 4))) => 0; + LFSR_ATTR(1, MKREG, +2, "\xbb\xbb\xbb\xbb", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); @@ -8741,42 +8741,42 @@ code = ''' // make id5 with weight w3 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 3, +3, "\xcc\xcc\xcc\xcc", 4))) => 0; + LFSR_ATTR(3, MKREG, +3, "\xcc\xcc\xcc\xcc", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); @@ -8784,54 +8784,54 @@ code = ''' // make id9 with weight w4 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 6, +4, "\xdd\xdd\xdd\xdd", 4))) => 0; + LFSR_ATTR(6, MKREG, +4, "\xdd\xdd\xdd\xdd", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); @@ -8839,66 +8839,66 @@ code = ''' // make id14 with weight w5 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 10, +5, "\xee\xee\xee\xee", 4))) => 0; + LFSR_ATTR(10, MKREG, +5, "\xee\xee\xee\xee", 4))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); assert(size_ == 4); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); @@ -8931,83 +8931,83 @@ code = ''' lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( // make id0 with weight w1 - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), // make id2 with weight w2 - LFSR_ATTR(MKREG, 1, +2, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, MKREG, +2, "\xbb\xbb\xbb\xbb", 4), // make id5 with weight w3 - LFSR_ATTR(MKREG, 3, +3, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(3, MKREG, +3, "\xcc\xcc\xcc\xcc", 4), // make id9 with weight w4 - LFSR_ATTR(MKREG, 6, +4, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(6, MKREG, +4, "\xdd\xdd\xdd\xdd", 4), // make id14 with weight w5 - LFSR_ATTR(MKREG, 10, +5, "\xee\xee\xee\xee", 4))) => 0; + LFSR_ATTR(10, MKREG, +5, "\xee\xee\xee\xee", 4))) => 0; // traverse, finding tags and weights - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_grow_permutations] @@ -9080,20 +9080,20 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N*W); for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, j*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, j*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j*W+W-1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j*W+W-1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } } @@ -9169,7 +9169,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; @@ -9178,18 +9178,18 @@ code = ''' tag_ = 0; id_ = -1; for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -9220,57 +9220,57 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(3), -1, 0, "unrelated", 9), - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(UATTR(2), 0, 0, "\xaa\xaa", 2))) => 0; + LFSR_ATTR(-1, UATTR(3), 0, "unrelated", 9), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(0, UATTR(2), 0, "\xaa\xaa", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); @@ -9278,93 +9278,93 @@ code = ''' // make id2 with weight w2 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(UNR, 1, +1, NULL, 0), - LFSR_ATTR(UATTR(2), 2, 0, "\xbb\xbb", 2))) => 0; + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(1, UNR, +1, NULL, 0), + LFSR_ATTR(2, UATTR(2), 0, "\xbb\xbb", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); @@ -9372,129 +9372,129 @@ code = ''' // make id5 with weight w3 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 3, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 3, 0, "\xcc\xcc", 2), - LFSR_ATTR(UNR, 3, +2, NULL, 0), - LFSR_ATTR(UATTR(2), 5, 0, "\xcc\xcc", 2))) => 0; + LFSR_ATTR(3, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(3, UATTR(1), 0, "\xcc\xcc", 2), + LFSR_ATTR(3, UNR, +2, NULL, 0), + LFSR_ATTR(5, UATTR(2), 0, "\xcc\xcc", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); @@ -9502,165 +9502,165 @@ code = ''' // make id9 with weight w4 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 6, +1, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(1), 6, 0, "\xdd\xdd", 2), - LFSR_ATTR(UNR, 6, +3, NULL, 0), - LFSR_ATTR(UATTR(2), 9, 0, "\xdd\xdd", 2))) => 0; + LFSR_ATTR(6, MKREG, +1, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(6, UATTR(1), 0, "\xdd\xdd", 2), + LFSR_ATTR(6, UNR, +3, NULL, 0), + LFSR_ATTR(9, UATTR(2), 0, "\xdd\xdd", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 9); assert(weight_ == 0); @@ -9668,201 +9668,201 @@ code = ''' // make id14 with weight w5 lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, 10, +1, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(1), 10, 0, "\xee\xee", 2), - LFSR_ATTR(UNR, 10, +4, NULL, 0), - LFSR_ATTR(UATTR(2), 14, 0, "\xee\xee", 2))) => 0; + LFSR_ATTR(10, MKREG, +1, "\xee\xee\xee\xee", 4), + LFSR_ATTR(10, UATTR(1), 0, "\xee\xee", 2), + LFSR_ATTR(10, UNR, +4, NULL, 0), + LFSR_ATTR(14, UATTR(2), 0, "\xee\xee", 2))) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 14); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 14); assert(weight_ == 0); assert(size_ == 2); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 0, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 0, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 2, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 2, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 5, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 5, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 9, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 9, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 14); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), 14, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, 14, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 14); assert(weight_ == 0); @@ -9894,231 +9894,231 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(3), -1, 0, "unrelated", 9), + LFSR_ATTR(-1, UATTR(3), 0, "unrelated", 9), // make id0 with weight w1 - LFSR_ATTR(MKREG, 0, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_ATTR(UATTR(1), 0, 0, "\xaa\xaa", 2), - LFSR_ATTR(UATTR(2), 0, 0, "\xaa\xaa", 2), + LFSR_ATTR(0, MKREG, +1, "\xaa\xaa\xaa\xaa", 4), + LFSR_ATTR(0, UATTR(1), 0, "\xaa\xaa", 2), + LFSR_ATTR(0, UATTR(2), 0, "\xaa\xaa", 2), // make id2 with weight w2 - LFSR_ATTR(MKREG, 1, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_ATTR(UATTR(1), 1, 0, "\xbb\xbb", 2), - LFSR_ATTR(UNR, 1, +1, NULL, 0), - LFSR_ATTR(UATTR(2), 2, 0, "\xbb\xbb", 2), + LFSR_ATTR(1, MKREG, +1, "\xbb\xbb\xbb\xbb", 4), + LFSR_ATTR(1, UATTR(1), 0, "\xbb\xbb", 2), + LFSR_ATTR(1, UNR, +1, NULL, 0), + LFSR_ATTR(2, UATTR(2), 0, "\xbb\xbb", 2), // make id5 with weight w3 - LFSR_ATTR(MKREG, 3, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_ATTR(UATTR(1), 3, 0, "\xcc\xcc", 2), - LFSR_ATTR(UNR, 3, +2, NULL, 0), - LFSR_ATTR(UATTR(2), 5, 0, "\xcc\xcc", 2), + LFSR_ATTR(3, MKREG, +1, "\xcc\xcc\xcc\xcc", 4), + LFSR_ATTR(3, UATTR(1), 0, "\xcc\xcc", 2), + LFSR_ATTR(3, UNR, +2, NULL, 0), + LFSR_ATTR(5, UATTR(2), 0, "\xcc\xcc", 2), // make id9 with weight w4 - LFSR_ATTR(MKREG, 6, +1, "\xdd\xdd\xdd\xdd", 4), - LFSR_ATTR(UATTR(1), 6, 0, "\xdd\xdd", 2), - LFSR_ATTR(UNR, 6, +3, NULL, 0), - LFSR_ATTR(UATTR(2), 9, 0, "\xdd\xdd", 2), + LFSR_ATTR(6, MKREG, +1, "\xdd\xdd\xdd\xdd", 4), + LFSR_ATTR(6, UATTR(1), 0, "\xdd\xdd", 2), + LFSR_ATTR(6, UNR, +3, NULL, 0), + LFSR_ATTR(9, UATTR(2), 0, "\xdd\xdd", 2), // make id14 with weight w5 - LFSR_ATTR(MKREG, 10, +1, "\xee\xee\xee\xee", 4), - LFSR_ATTR(UATTR(1), 10, 0, "\xee\xee", 2), - LFSR_ATTR(UNR, 10, +4, NULL, 0), - LFSR_ATTR(UATTR(2), 14, 0, "\xee\xee", 2))) => 0; + LFSR_ATTR(10, MKREG, +1, "\xee\xee\xee\xee", 4), + LFSR_ATTR(10, UATTR(1), 0, "\xee\xee", 2), + LFSR_ATTR(10, UNR, +4, NULL, 0), + LFSR_ATTR(14, UATTR(2), 0, "\xee\xee", 2))) => 0; // traverse, finding tags and weights - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 14); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 14); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => LFS_ERR_NOENT; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; - lfsr_rbyd_lookup(&lfs, &rbyd, 0, -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, 0, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 0); assert(weight_ == 1); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 0); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 2); assert(weight_ == 2); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 2); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 5); assert(weight_ == 3); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 5); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 9); assert(weight_ == 4); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 9); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == 14); assert(weight_ == 5); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == 14); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == 14); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => LFS_ERR_NOENT; ''' [cases.test_rbyd_mixed_grow_permutations] @@ -10182,7 +10182,7 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(3), -1, 0, "unrelated", 9))) => 0; + LFSR_ATTR(-1, UATTR(3), 0, "unrelated", 9))) => 0; for (unsigned j = 0; j < N; j++) { // adjust id based on future insertions @@ -10194,42 +10194,42 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +1, names[perm[j] % 6], 4), - LFSR_ATTR(UATTR(1), id*W, 0, names[perm[j] % 6], 2), - LFSR_ATTR(UNR, id*W, +W-1, NULL, 0), - LFSR_ATTR(UATTR(2), id*W+W-1, 0, + LFSR_ATTR(id*W, MKREG, +1, names[perm[j] % 6], 4), + LFSR_ATTR(id*W, UATTR(1), 0, names[perm[j] % 6], 2), + LFSR_ATTR(id*W, UNR, +W-1, NULL, 0), + LFSR_ATTR(id*W+W-1, UATTR(2), 0, names[perm[j] % 6], 2))) => 0; } lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N*W); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(3), -1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_UATTR(3), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, j*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, j*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), j*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, j*W+W-1, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == j*W+W-1); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), j*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, j*W+W-1, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == j*W+W-1); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, j*W+W-1, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, j*W+W-1, LFSR_TAG_REG, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); } } @@ -10296,7 +10296,7 @@ code = ''' rbyd = init_rbyd; lfs_bd_erase(&lfs, rbyd.block) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(3), -1, 0, "unrelated", 9))) => 0; + LFSR_ATTR(-1, UATTR(3), 0, "unrelated", 9))) => 0; for (unsigned j = 0; j < N; j++) { // adjust id based on future insertions @@ -10308,10 +10308,10 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +1, names[perm[j] % 6], 4), - LFSR_ATTR(UATTR(1), id*W, 0, names[perm[j] % 6], 2), - LFSR_ATTR(UNR, id*W, +W-1, NULL, 0), - LFSR_ATTR(UATTR(2), id*W+W-1, 0, + LFSR_ATTR(id*W, MKREG, +1, names[perm[j] % 6], 4), + LFSR_ATTR(id*W, UATTR(1), 0, names[perm[j] % 6], 2), + LFSR_ATTR(id*W, UNR, +W-1, NULL, 0), + LFSR_ATTR(id*W+W-1, UATTR(2), 0, names[perm[j] % 6], 2))) => 0; } @@ -10320,38 +10320,38 @@ code = ''' // try traversing all tags tag_ = 0; id_ = -1; - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(3)); assert(id_ == -1); assert(weight_ == 0); assert(size_ == 9); for (unsigned j = 0; j < N; j++) { - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == j*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[j % 6], 4) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == j*W+W-1); assert(weight_ == 0); assert(size_ == 2); - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == j*W+W-1); assert(weight_ == 0); assert(size_ == 2); } - lfsr_rbyd_lookup(&lfs, &rbyd, lfsr_tag_next(tag_), id_, - &tag_, &id_, &weight_, &off_, &size_) => LFS_ERR_NOENT; + lfsr_rbyd_lookup(&lfs, &rbyd, id_, lfsr_tag_next(tag_), + &id_, &tag_, &weight_, &off_, &size_) => LFS_ERR_NOENT; } ''' @@ -10429,7 +10429,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -10451,7 +10451,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UNR, j*W+W-1, +D, NULL, 0))) => 0; + LFSR_ATTR(j*W+W-1, UNR, +D, NULL, 0))) => 0; assert(rbyd.weight == N*W+D); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -10459,29 +10459,29 @@ code = ''' assert(rbyd.weight == N*W+D); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1+D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1+D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1+D); assert(weight_ == W+D); assert(size_ == 4); } else if (k > j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1+D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1+D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1+D); assert(weight_ == W); assert(size_ == 4); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); } - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -10559,7 +10559,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -10581,7 +10581,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(REG, j*W+W-1, +D, names[j % 6], 6))) => 0; + LFSR_ATTR(j*W+W-1, REG, +D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W+D); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -10589,34 +10589,34 @@ code = ''' assert(rbyd.weight == N*W+D); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1+D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1+D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1+D); assert(weight_ == W+D); assert(size_ == 6); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 6; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 6; assert(memcmp(buffer, names[k % 6], 6) == 0); } else if (k > j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1+D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1+D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1+D); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -10697,7 +10697,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUATTR(2), id*W, +W, + LFSR_ATTR(id*W, MKUATTR(2), +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -10720,7 +10720,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), j*W+W-1, +D, names[j % 6], 6))) => 0; + LFSR_ATTR(j*W+W-1, UATTR(1), +D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W+D); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -10728,44 +10728,44 @@ code = ''' assert(rbyd.weight == N*W+D); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), k*W+W-1+D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1+D, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == k*W+W-1+D); assert(weight_ == W+D); assert(size_ == 6); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 6; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 6; assert(memcmp(buffer, names[k % 6], 6) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), k*W+W-1+D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1+D, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == k*W+W-1+D); assert(weight_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } else if (k > j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), k*W+W-1+D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1+D, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == k*W+W-1+D); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -10844,7 +10844,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -10866,7 +10866,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UNR, j*W+W-1, -D, NULL, 0))) => 0; + LFSR_ATTR(j*W+W-1, UNR, -D, NULL, 0))) => 0; assert(rbyd.weight == N*W-D); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -10874,29 +10874,29 @@ code = ''' assert(rbyd.weight == N*W-D); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1-D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1-D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1-D); assert(weight_ == W-D); assert(size_ == 4); } else if (k > j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1-D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1-D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1-D); assert(weight_ == W); assert(size_ == 4); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); } - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -10974,7 +10974,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -10996,7 +10996,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(REG, j*W+W-1, -D, names[j % 6], 6))) => 0; + LFSR_ATTR(j*W+W-1, REG, -D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W-D); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -11004,34 +11004,34 @@ code = ''' assert(rbyd.weight == N*W-D); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1-D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1-D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1-D); assert(weight_ == W-D); assert(size_ == 6); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 6; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 6; assert(memcmp(buffer, names[k % 6], 6) == 0); } else if (k > j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1-D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1-D, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1-D); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -11112,7 +11112,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUATTR(2), id*W, +W, + LFSR_ATTR(id*W, MKUATTR(2), +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -11135,7 +11135,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), j*W+W-1, -D, names[j % 6], 6))) => 0; + LFSR_ATTR(j*W+W-1, UATTR(1), -D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W-D); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -11143,44 +11143,44 @@ code = ''' assert(rbyd.weight == N*W-D); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), k*W+W-1-D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1-D, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == k*W+W-1-D); assert(weight_ == W-D); assert(size_ == 6); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 6; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 6; assert(memcmp(buffer, names[k % 6], 6) == 0); - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), k*W+W-1-D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1-D, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == k*W+W-1-D); assert(weight_ == 0); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } else if (k > j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), k*W+W-1-D, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1-D, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == k*W+W-1-D); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(2), k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_UATTR(2), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(2)); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -11258,7 +11258,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -11280,7 +11280,7 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, j*W+W-1, -W, NULL, 0))) => 0; + LFSR_ATTR(j*W+W-1, MKUNR, -W, NULL, 0))) => 0; assert(rbyd.weight == (N-1)*W); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -11288,24 +11288,24 @@ code = ''' assert(rbyd.weight == (N-1)*W); for (unsigned k = 0; k < N-1; k++) { if (k >= j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[(k+1) % 6], 4) == 0); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -11313,7 +11313,7 @@ code = ''' // try recreating the id to make sure things still work printf("--- create: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, j*W, +W, names[j % 6], 6))) => 0; + LFSR_ATTR(j*W, MKREG, +W, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, @@ -11321,24 +11321,24 @@ code = ''' assert(rbyd.weight == N*W); for (unsigned k = 0; k < N; k++) { if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 6); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 6; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 6; assert(memcmp(buffer, names[k % 6], 6) == 0); } else { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 6) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 6) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); } } @@ -11416,7 +11416,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id*W, +W, names[perm[j] % 6], 4))) => 0; + LFSR_ATTR(id*W, MKREG, +W, names[perm[j] % 6], 4))) => 0; } assert(rbyd.weight == N*W); @@ -11439,26 +11439,26 @@ code = ''' lfs_bd_flush(&lfs, &lfs.pcache, &lfs.rcache, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), j*W+W-1, 0, names[j % 6], 2))) => 0; + LFSR_ATTR(j*W+W-1, UATTR(1), 0, names[j % 6], 2))) => 0; assert(rbyd.weight == N*W); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N*W); for (unsigned k = 0; k < N; k++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == k*W+W-1); assert(weight_ == 0); @@ -11469,25 +11469,25 @@ code = ''' // now try removing the attr printf("--- removing: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(1), j*W+W-1, 0, NULL, 0))) => 0; + LFSR_ATTR(j*W+W-1, RMUATTR(1), 0, NULL, 0))) => 0; assert(rbyd.weight == N*W); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N*W); for (unsigned k = 0; k < N; k++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); if (k == j) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_UATTR(1), k*W+W-1, + lfsr_rbyd_get(&lfs, &rbyd, k*W+W-1, LFSR_TAG_UATTR(1), buffer, 4) => LFS_ERR_NOENT; } } @@ -11495,26 +11495,26 @@ code = ''' // and try putting the attr back just for good measure printf("--- appending: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(1), j*W+W-1, 0, names[j % 6], 2))) => 0; + LFSR_ATTR(j*W+W-1, UATTR(1), 0, names[j % 6], 2))) => 0; assert(rbyd.weight == N*W); lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.block, cfg->block_size, NULL) => 0; assert(rbyd.weight == N*W); for (unsigned k = 0; k < N; k++) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_REG, k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_REG); assert(id_ == k*W+W-1); assert(weight_ == W); assert(size_ == 4); - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 4; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 4; assert(memcmp(buffer, names[k % 6], 4) == 0); if (k == j) { - lfsr_rbyd_lookup(&lfs, &rbyd, LFSR_TAG_UATTR(1), k*W+W-1, - &tag_, &id_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_lookup(&lfs, &rbyd, k*W+W-1, LFSR_TAG_UATTR(1), + &id_, &tag_, &weight_, &off_, &size_) => 0; assert(tag_ == LFSR_TAG_UATTR(1)); assert(id_ == k*W+W-1); assert(weight_ == 0); @@ -11619,27 +11619,27 @@ code = ''' count += 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, id, +1, &alpha[i % 26], 1))) => 0; + LFSR_ATTR(id, MKREG, +1, &alpha[i % 26], 1))) => 0; } else if (op == 1) { // update our sim memmove(sim+id*(M+1), sim+(id+1)*(M+1), (count-id-1)*(M+1)); count -= 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, id, -1, NULL, 0))) => 0; + LFSR_ATTR(id, MKUNR, -1, NULL, 0))) => 0; } else if (op == 2) { // update our sim sim[id*(M+1) + u+1] = alpha[i % 26]; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UATTR(u), id, 0, &alpha[i % 26], 1))) => 0; + LFSR_ATTR(id, UATTR(u), 0, &alpha[i % 26], 1))) => 0; } else if (op == 3) { // update our sim sim[id*(M+1) + u+1] = '\0'; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(RMUATTR(u), id, 0, NULL, 0))) => 0; + LFSR_ATTR(id, RMUATTR(u), 0, NULL, 0))) => 0; } } @@ -11662,7 +11662,7 @@ code = ''' printf("rbyd: ["); for (lfs_ssize_t id = 0; id < (lfs_ssize_t)rbyd.weight; id++) { lfs_ssize_t size = lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_REG, id, buffer, 4); + id, LFSR_TAG_REG, buffer, 4); if (size >= 0) { printf("%.*s", size, buffer); } else { @@ -11670,7 +11670,7 @@ code = ''' } for (uint8_t u = 0; u < M; u++) { lfs_ssize_t size = lfsr_rbyd_get(&lfs, &rbyd, - LFSR_TAG_UATTR(u), id, buffer, 4); + id, LFSR_TAG_UATTR(u), buffer, 4); if (size >= 0) { printf("%.*s", size, buffer); } else { @@ -11685,7 +11685,7 @@ code = ''' assert(count == rbyd.weight); for (lfs_ssize_t id = 0; id < (lfs_ssize_t)count; id++) { - lfsr_rbyd_get(&lfs, &rbyd, LFSR_TAG_REG, id, buffer, 4) => 1; + lfsr_rbyd_get(&lfs, &rbyd, id, LFSR_TAG_REG, buffer, 4) => 1; assert(memcmp(&sim[id*(M+1)], buffer, 1) == 0); } @@ -11818,7 +11818,7 @@ code = ''' count += 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKREG, weighted_id, + LFSR_ATTR(weighted_id, MKREG, +weight, &alpha[i % 26], 1))) => 0; } else if (op == 1) { // get the correct weight from the sim @@ -11830,7 +11830,7 @@ code = ''' count -= 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(MKUNR, weighted_id+weight_-1, + LFSR_ATTR(weighted_id+weight_-1, MKUNR, -weight_, NULL, 0))) => 0; } else if (op == 2) { // get the correct weight from the sim @@ -11839,7 +11839,7 @@ code = ''' sim_weights[id] += weight; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UNR, weighted_id+weight_-1, + LFSR_ATTR(weighted_id+weight_-1, UNR, +weight, NULL, 0))) => 0; } else if (op == 3) { // get the correct weight from the sim @@ -11851,7 +11851,7 @@ code = ''' sim_weights[id] -= weight; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, LFSR_ATTRS( - LFSR_ATTR(UNR, weighted_id+weight_-1, + LFSR_ATTR(weighted_id+weight_-1, UNR, -weight, NULL, 0))) => 0; } } @@ -11874,11 +11874,11 @@ code = ''' } int err = lfsr_rbyd_lookup(&lfs, &rbyd, - LFSR_TAG_REG, weighted_id, - &tag_, &id_, &weight_, &off_, &size_); + weighted_id, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_); if (!err) { lfs_ssize_t size = lfsr_rbyd_get(&lfs, &rbyd, - tag_, id_, buffer, 4); + id_, tag_, buffer, 4); if (size >= 0) { printf("%.*sw%d", size, buffer, weight_); } else { @@ -11908,9 +11908,9 @@ code = ''' } lfsr_rbyd_lookup(&lfs, &rbyd, - LFSR_TAG_REG, weighted_id, - &tag_, &id_, &weight_, &off_, &size_) => 0; - lfsr_rbyd_get(&lfs, &rbyd, tag_, id_, buffer, 4) => 1; + weighted_id, LFSR_TAG_REG, + &id_, &tag_, &weight_, &off_, &size_) => 0; + lfsr_rbyd_get(&lfs, &rbyd, id_, tag_, buffer, 4) => 1; assert(memcmp(&sim[id], buffer, 1) == 0); }