diff --git a/lfs.c b/lfs.c index 45d46553..aeb9efc1 100644 --- a/lfs.c +++ b/lfs.c @@ -2111,6 +2111,13 @@ typedef struct lfsr_rattr { .weight=_weight, \ .u.etc=_etc}) +#define LFSR_RATTR_BUF(_tag, _weight, _buffer, _size) \ + ((lfsr_rattr_t){ \ + .tag=_tag, \ + .data_count=(uint16_t){_size}, \ + .weight=_weight, \ + .u.buffer=(const void*)(_buffer)}) + #define LFSR_RATTR_DATA(_tag, _weight, _data) \ ((lfsr_rattr_t){ \ .tag=_tag, \ @@ -5724,12 +5731,12 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree, if (!lfsr_rbyd_trunk(&parent)) { lfsr_data_t branch_l = lfsr_data_frombranch( &rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]); - bctx->rattrs[rattr_count_++] = LFSR_RATTR( + bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF( LFSR_TAG_BRANCH, +rbyd__.weight, branch_l.u.buffer, lfsr_data_size(branch_l)); lfsr_data_t branch_r = lfsr_data_frombranch( &sibling, &bctx->buf[1*LFSR_BRANCH_DSIZE]); - bctx->rattrs[rattr_count_++] = LFSR_RATTR( + bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF( LFSR_TAG_BRANCH, +sibling.weight, branch_r.u.buffer, lfsr_data_size(branch_r)); if (lfsr_tag_suptype(split_tag) == LFSR_TAG_NAME) { @@ -5742,7 +5749,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree, bid_ -= pid - (rbyd_.weight-1); lfsr_data_t branch_l = lfsr_data_frombranch( &rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]); - bctx->rattrs[rattr_count_++] = LFSR_RATTR( + bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF( LFSR_TAG_BRANCH, 0, branch_l.u.buffer, lfsr_data_size(branch_l)); if (rbyd__.weight != rbyd_.weight) { @@ -5752,7 +5759,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree, } lfsr_data_t branch_r = lfsr_data_frombranch( &sibling, &bctx->buf[1*LFSR_BRANCH_DSIZE]); - bctx->rattrs[rattr_count_++] = LFSR_RATTR( + bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF( LFSR_TAG_BRANCH, +sibling.weight, branch_r.u.buffer, lfsr_data_size(branch_r)); if (lfsr_tag_suptype(split_tag) == LFSR_TAG_NAME) { @@ -5838,7 +5845,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree, LFSR_TAG_RM, -sibling.weight, NULL, 0); lfsr_data_t branch = lfsr_data_frombranch( &rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]); - bctx->rattrs[rattr_count_++] = LFSR_RATTR( + bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF( LFSR_TAG_BRANCH, 0, branch.u.buffer, lfsr_data_size(branch)); if (rbyd__.weight != rbyd_.weight) { @@ -5880,7 +5887,7 @@ static int lfsr_btree_commit__(lfs_t *lfs, lfsr_btree_t *btree, } else { lfsr_data_t branch = lfsr_data_frombranch( &rbyd__, &bctx->buf[0*LFSR_BRANCH_DSIZE]); - bctx->rattrs[rattr_count_++] = LFSR_RATTR( + bctx->rattrs[rattr_count_++] = LFSR_RATTR_BUF( LFSR_TAG_BRANCH, 0, branch.u.buffer, lfsr_data_size(branch)); if (rbyd__.weight != rbyd_.weight) { @@ -7059,7 +7066,7 @@ static int lfsr_rbyd_appendgdelta(lfs_t *lfs, lfsr_rbyd_t *rbyd) { // append to our rbyd, replacing any existing delta lfs_size_t size = lfs_memlen(grmdelta_, LFSR_GRM_DSIZE); - err = lfsr_rbyd_appendrattr(lfs, rbyd, -1, LFSR_RATTR( + err = lfsr_rbyd_appendrattr(lfs, rbyd, -1, LFSR_RATTR_BUF( // opportunistically remove this tag if delta is all zero (size == 0) ? LFSR_TAG_RM | LFSR_TAG_GRMDELTA @@ -7670,7 +7677,7 @@ static int lfsr_mdir_commit__(lfs_t *lfs, lfsr_mdir_t *mdir, LFSR_TAG_RM | LFSR_TAG_ATTR(attrs_[j].type), 0, NULL, 0) - : LFSR_RATTR( + : LFSR_RATTR_BUF( LFSR_TAG_ATTR(attrs_[j].type), 0, attrs_[j].buffer, lfsr_attr_size(&attrs_[j]))); @@ -8619,7 +8626,7 @@ static int lfsr_mdir_commit(lfs_t *lfs, lfsr_mdir_t *mdir, err = lfsr_mdir_commit__(lfs, &mrootanchor_, -2, -1, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_MAGIC, 0, "littlefs", 8), LFSR_RATTR( @@ -10741,7 +10748,7 @@ int lfsr_setattr(lfs_t *lfs, const char *path, uint8_t type, // commit our attr lfs_alloc_ckpoint(lfs); err = lfsr_mdir_commit(lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(type), 0, buffer, size))); if (err) { @@ -13802,10 +13809,10 @@ static int lfsr_formatinited(lfs_t *lfs) { // - any format-time configuration // - the root's bookmark tag, which reserves did = 0 for the root err = lfsr_rbyd_appendrattrs(lfs, &rbyd, -1, -1, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_MAGIC, 0, "littlefs", 8), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_VERSION, 0, ((const uint8_t[2]){ LFS_DISK_VERSION_MAJOR, diff --git a/tests/test_badblocks.toml b/tests/test_badblocks.toml index 6ad57112..631f9d9d 100644 --- a/tests/test_badblocks.toml +++ b/tests/test_badblocks.toml @@ -76,7 +76,7 @@ code = ''' // add to btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -1851,7 +1851,7 @@ code = ''' // add to btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -3626,7 +3626,7 @@ code = ''' // add to btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; diff --git a/tests/test_btree.toml b/tests/test_btree.toml index 8737bd5f..2c57625f 100644 --- a/tests/test_btree.toml +++ b/tests/test_btree.toml @@ -55,7 +55,7 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -97,9 +97,9 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -147,9 +147,9 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -198,11 +198,11 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -257,11 +257,11 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -321,7 +321,7 @@ code = ''' lfs_size_t n = 0; for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; n += 1; @@ -372,7 +372,7 @@ code = ''' lfs_size_t n = 0; for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+((N-1-i) % 26)}, 1))) => 0; n += 1; @@ -438,7 +438,7 @@ code = ''' // add to btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -508,7 +508,7 @@ code = ''' lfs_size_t n = 0; for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, &(uint8_t){'a'+(i % 26)}, 1))) => 0; n += 1; @@ -600,7 +600,7 @@ code = ''' // add to btree lfsr_btree_commit(&lfs, &btree, weighted_bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +weight, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -711,10 +711,10 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; // update the tree lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "A", 1))) => 0; printf("btree: w%d 0x%x.%x\n", @@ -757,16 +757,16 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; // update the tree lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "A", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "B", 1))) => 0; printf("btree: w%d 0x%x.%x\n", @@ -816,22 +816,22 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0; // update the tree lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "A", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "B", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "C", 1))) => 0; printf("btree: w%d 0x%x.%x\n", @@ -890,14 +890,14 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } // update the tree for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'A'+(i % 26)}, 1))) => 0; } @@ -948,7 +948,7 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -969,7 +969,7 @@ code = ''' // update btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'A'+(i % 26)}, 1))) => 0; @@ -1035,14 +1035,14 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } // update the tree for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'A'+(i % 26)}, 1))) => 0; } @@ -1109,7 +1109,7 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -1141,7 +1141,7 @@ code = ''' // update btree lfsr_btree_commit(&lfs, &btree, weighted_bid+sim_weights[bid]-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'A'+(i % 26)}, 1), LFSR_RATTR( @@ -1252,7 +1252,7 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; // pop! lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0; @@ -1273,7 +1273,7 @@ code = ''' // try to putting it back to see if things still work lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "A", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "A", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -1309,9 +1309,9 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; // pop! lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0; @@ -1339,7 +1339,7 @@ code = ''' // try to putting it back to see if things still work lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "B", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "B", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -1382,9 +1382,9 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; // pop! lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0; @@ -1412,7 +1412,7 @@ code = ''' // try to putting it back to see if things still work lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "A", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "A", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -1455,11 +1455,11 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "a", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "b", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "c", 1))) => 0; // pop! lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS( LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0; @@ -1494,7 +1494,7 @@ code = ''' // try to putting it back to see if things still work lfsr_btree_commit(&lfs, &btree, 2, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "C", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "C", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -1548,7 +1548,7 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -1585,7 +1585,7 @@ code = ''' // try recovering lfsr_btree_commit(&lfs, &btree, REMAINING, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "R", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "R", 1))) => 0; for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_lookup(&lfs, &btree, i, @@ -1628,7 +1628,7 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -1665,7 +1665,7 @@ code = ''' // try recovering lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "R", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "R", 1))) => 0; lfsr_btree_lookup(&lfs, &btree, 0, &tag_, &weight_, &data_) => 0; @@ -1711,7 +1711,7 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -1800,7 +1800,7 @@ code = ''' lfsr_btree_init(&btree); for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -1836,7 +1836,7 @@ code = ''' // try recovering lfsr_btree_commit(&lfs, &btree, REMAINING*W, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +W, "R", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +W, "R", 1))) => 0; for (lfs_size_t i = 0; i < REMAINING; i++) { lfsr_btree_lookup(&lfs, &btree, i*W+W-1, @@ -1927,7 +1927,7 @@ code = ''' } lfsr_btree_commit(&lfs, &btree, weighted_bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +weight, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -2057,16 +2057,16 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(0 % 26)}, 1))) => 0; lfs_size_t n = 1; for (lfs_size_t i = 1; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'a'+((i-1) % 26)}, 1), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+((i-0) % 26)}, 1))) => 0; n += 1; @@ -2117,7 +2117,7 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0; // set up a simulation to compare against // @@ -2135,10 +2135,10 @@ code = ''' // split btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'a'+(i % 26)}, 1), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'A'+(i % 26)}, 1))) => 0; @@ -2207,16 +2207,16 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, &(uint8_t){'a'+(0 % 26)}, 1))) => 0; lfs_size_t n = 1; for (lfs_size_t i = 1; i < N; i++) { lfsr_btree_commit(&lfs, &btree, (i-1)*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'a'+((i-1) % 26)}, 1), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, &(uint8_t){'a'+((i-0) % 26)}, 1))) => 0; n += 1; @@ -2268,7 +2268,7 @@ code = ''' lfsr_btree_t btree; lfsr_btree_init(&btree); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +W, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +W, "_", 1))) => 0; // set up a simulation to compare against // @@ -2302,10 +2302,10 @@ code = ''' LFSR_RATTR( LFSR_TAG_GROW, +weight1-sim_weights[bid], NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'a'+(i % 26)}, 1), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +weight2, &(uint8_t){'A'+(i % 26)}, 1))) => 0; @@ -2449,19 +2449,19 @@ code = ''' // the extra push here avoids trying to inline the big entry lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0; uint8_t buf1[SIZE]; memset(buf1, 'a', SIZE); uint8_t buf2[SIZE]; memset(buf2, 'b', SIZE); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE), - LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE), + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; // force compaction btree.eoff = -1; memset(buf2, 'b', SIZE); lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, buf2, SIZE))) => 0; assert(btree.weight == 2); @@ -2517,19 +2517,19 @@ code = ''' // the extra push here avoids trying to inline the big entry lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0; uint8_t buf1[SIZE]; memset(buf1, 'a', SIZE); uint8_t buf2[SIZE]; memset(buf2, 'b', SIZE); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE), - LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE), + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; // force compaction btree.eoff = -1; memset(buf2, 'b', SIZE); lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, buf2, SIZE))) => 0; assert(btree.weight == 2); @@ -2588,14 +2588,14 @@ code = ''' // the extra push here avoids trying to inline the big entry lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0; uint8_t buf1[SIZE]; memset(buf1, 'a', SIZE); uint8_t buf2[SIZE]; memset(buf2, 'b', SIZE); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE), - LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE), + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; // force compaction, causing a split, but while we're splitting, // also remove an entry, bringing the split rbyd down to zero mid split @@ -2652,30 +2652,30 @@ code = ''' // the extra push here avoids trying to inline the big entry lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "_", 1))) => 0; uint8_t buf1[SIZE]; memset(buf1, 'a', SIZE); uint8_t buf2[SIZE]; memset(buf2, 'b', SIZE); lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, buf1, SIZE), - LFSR_RATTR(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, buf1, SIZE), + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, buf2, SIZE))) => 0; // force compaction btree.eoff = -1; memset(buf2, 'b', SIZE); lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, buf2, SIZE))) => 0; assert(btree.weight == 2); // now make both entries small so they should be merged if either compacts lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "a", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, "b", 1))) => 0; @@ -2747,7 +2747,7 @@ code = ''' if (op == 0 || bid == sim_size) { // push to btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -2759,7 +2759,7 @@ code = ''' } else if (op == 1) { // update btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -2864,7 +2864,7 @@ code = ''' if (op == 0 || bid == sim_size) { // push to btree lfsr_btree_commit(&lfs, &btree, weighted_bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +weight, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -2880,7 +2880,7 @@ code = ''' // update btree lfsr_btree_commit(&lfs, &btree, weighted_bid+sim_weights[bid]-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'a'+(i % 26)}, 1), LFSR_RATTR( @@ -3040,7 +3040,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, "aaa", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -3093,13 +3093,13 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, "aaa", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1), + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, "aab", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -3160,19 +3160,19 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, "aaa", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1), + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 1*DID, "aab", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 1, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1), + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 2*DID, "aac", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "2", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "2", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -3241,19 +3241,19 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, "aaa", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1), + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 2*DID, "aac", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "2", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "2", 1))) => 0; lfsr_btree_commit(&lfs, &btree, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, 0, "0", 1), + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "0", 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 1*DID, "aab", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "1", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "1", 1))) => 0; printf("btree: w%d 0x%x.%x\n", btree.weight, btree.blocks[0], @@ -3326,7 +3326,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(0 % 10)}, 1))) => 0; lfs_size_t n = 1; @@ -3335,13 +3335,13 @@ code = ''' 'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26) }; lfsr_btree_commit(&lfs, &btree, i-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+((i-1) % 10)}, 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, i*DID, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+((i-0) % 10)}, 1))) => 0; n += 1; @@ -3397,7 +3397,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, "___", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0; // set up a simulation to compare against // @@ -3431,13 +3431,13 @@ code = ''' // split btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1))) => 0; @@ -3515,7 +3515,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +W, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(0 % 10)}, 1))) => 0; lfs_size_t n = 1; @@ -3524,13 +3524,13 @@ code = ''' 'a'+((i/26/26) % 26), 'a'+((i/26) % 26), 'a'+(i % 26) }; lfsr_btree_commit(&lfs, &btree, (i-1)*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+((i-1) % 10)}, 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +W, i*DID, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+((i-0) % 10)}, 1))) => 0; n += 1; @@ -3587,7 +3587,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +W, 0, "___", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0; // set up a simulation to compare against // @@ -3637,13 +3637,13 @@ code = ''' LFSR_RATTR( LFSR_TAG_GROW, +weight1-sim_weights[bid], NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1), LFSR_RATTR_NAME( LFSR_TAG_NAME, +weight2, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1))) => 0; @@ -3744,7 +3744,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, "___", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0; // set up a simulation to compare against // @@ -3795,7 +3795,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1))) => 0; } else { @@ -3806,7 +3806,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +1, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1))) => 0; } @@ -3821,7 +3821,7 @@ code = ''' } else if (op == 1) { // update btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1))) => 0; @@ -3901,7 +3901,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +W, 0, "___", 3), - LFSR_RATTR(LFSR_TAG_DATA, 0, "_", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, 0, "_", 1))) => 0; // set up a simulation to compare against // @@ -3964,7 +3964,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +weight, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1))) => 0; } else { @@ -3975,7 +3975,7 @@ code = ''' LFSR_RATTR_NAME( LFSR_TAG_NAME, +weight, 0, name, 3), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1))) => 0; } @@ -3994,7 +3994,7 @@ code = ''' // update btree lfsr_btree_commit(&lfs, &btree, weighted_bid+sim_weights[bid]-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_DATA, 0, &(uint8_t){'0'+(i % 10)}, 1), LFSR_RATTR( @@ -4105,7 +4105,7 @@ code = ''' lfs_size_t n = 0; for (lfs_size_t i = 0; i < N; i++) { lfsr_btree_commit(&lfs, &btree, i, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; n += 1; @@ -4243,7 +4243,7 @@ code = ''' // add to btree lfsr_btree_commit(&lfs, &btree, bid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; diff --git a/tests/test_files.toml b/tests/test_files.toml index 1ea99fba..a97ee856 100644 --- a/tests/test_files.toml +++ b/tests/test_files.toml @@ -1101,7 +1101,7 @@ code = ''' .bshrub=&file.b, .rid=0, .rattrs=((lfsr_rattr_t[]){ - LFSR_RATTR(LFSR_TAG_DATA, +1, "?", 1)}), + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "?", 1)}), .rattr_count=1}), 0))) => 0; lfsr_mdir_commit(&lfs, &file.b.o.mdir, LFSR_RATTRS( LFSR_RATTR( @@ -1232,7 +1232,7 @@ code = ''' lfs_alloc_ckpoint(&lfs); lfsr_rbyd_alloc(&lfs, &file.b.shrub) => 0; lfsr_rbyd_commit(&lfs, &file.b.shrub, 0, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, "?", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, "?", 1))) => 0; lfsr_rbyd_commit(&lfs, &file.b.shrub, 0, LFSR_RATTRS( LFSR_RATTR(LFSR_TAG_RM, -1, NULL, 0))) => 0; lfsr_mdir_commit(&lfs, &file.b.o.mdir, LFSR_RATTRS( diff --git a/tests/test_mount.toml b/tests/test_mount.toml index fbf0bd20..4b8a7884 100644 --- a/tests/test_mount.toml +++ b/tests/test_mount.toml @@ -569,7 +569,7 @@ code = ''' // is not a user API lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_MAGIC, 0, "lottlefs", 8))) => 0; lfsr_unmount(&lfs) => 0; @@ -593,7 +593,7 @@ code = ''' // is not a user API lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_VERSION, 0, ((const uint8_t[2]){ LFS_DISK_VERSION_MAJOR+1, @@ -619,7 +619,7 @@ code = ''' // is not a user API lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_VERSION, 0, ((const uint8_t[2]){ LFS_DISK_VERSION_MAJOR, @@ -1086,7 +1086,7 @@ code = ''' // create an unknown config lfsr_mount(&lfs, LFS_M_RDWR, CFG) => 0; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_CONFIG + 0x13, 0, "oh no!", strlen("oh no!")))) => 0; lfsr_unmount(&lfs) => 0; diff --git a/tests/test_mtree.toml b/tests/test_mtree.toml index bf48c2c6..37c7b09c 100644 --- a/tests/test_mtree.toml +++ b/tests/test_mtree.toml @@ -37,7 +37,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(i), 0, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -82,7 +82,7 @@ code = ''' lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(i), 0, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } @@ -124,7 +124,7 @@ code = ''' for (lfs_size_t i = 0; i < N; i++) { lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, &(uint8_t){'a'+(i % 26)}, 1))) => 0; lfsr_data_t data; @@ -173,18 +173,18 @@ code = ''' uint8_t buffer[SIZE]; memset(buffer, 'a', SIZE); lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; memset(buffer, 'b', SIZE); lfsr_mdir_t mdir; lfsr_mtree_lookup(&lfs, 0, &mdir) => 0; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0; // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0; // assert mdirs were unininlined assert(lfs.mtree.weight == (1 << lfs.mdir_bits)); @@ -269,7 +269,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -358,7 +358,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -378,7 +378,7 @@ code = ''' // force mdir to compact mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0; // assert mdir was split correctly assert(lfs.mtree.weight == (3 << lfs.mdir_bits)); @@ -675,7 +675,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -765,7 +765,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -932,7 +932,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -1046,7 +1046,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -1273,18 +1273,18 @@ code = ''' uint8_t buffer[SIZE]; memset(buffer, 'a', SIZE); lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; memset(buffer, 'b', SIZE); lfsr_mdir_t mdir; lfsr_mtree_lookup(&lfs, 0, &mdir) => 0; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0; // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0; // assert mdirs were unininlined assert(lfs.mtree.weight == (1 << lfs.mdir_bits)); @@ -1296,10 +1296,10 @@ code = ''' lfsr_mdir_t old_mdir = mdir; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(4), 0, "d", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(4), 0, "d", 1))) => 0; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(5), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(5), 0, "e", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0); @@ -1408,7 +1408,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -1422,10 +1422,10 @@ code = ''' lfsr_mdir_t old_mdir = mdir; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0); @@ -1538,7 +1538,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -1552,10 +1552,10 @@ code = ''' lfsr_mdir_t old_mdir = mdir; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0); @@ -1660,10 +1660,10 @@ code = ''' lfsr_mdir_t old_mroot = lfs.mroot; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0); @@ -1737,10 +1737,10 @@ code = ''' lfsr_mdir_t old_mroot = lfs.mroot; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0); @@ -1749,16 +1749,16 @@ code = ''' old_mroot = lfs.mroot; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(5), 0, "f", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(5), 0, "f", 1))) => 0; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(6), 0, "g", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(6), 0, "g", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0); @@ -1861,10 +1861,10 @@ code = ''' lfsr_mdir_t old_mroot = lfs.mroot; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "b", 1))) => 0; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "c", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0); @@ -1872,10 +1872,10 @@ code = ''' old_mroot = lfs.mroot; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "d", 1))) => 0; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(4), 0, "e", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0); @@ -1970,7 +1970,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -1987,10 +1987,10 @@ code = ''' lfsr_mdir_t old_mdir = mdir; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "e", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0); // assert mroot relocated @@ -2105,7 +2105,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -2129,10 +2129,10 @@ code = ''' lfsr_mdir_t old_mdir = mdir; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "e", 1))) => 0; mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "f", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "f", 1))) => 0; // assert we relocated assert(lfsr_mdir_cmp(&old_mdir, &mdir) != 0); // assert mroot relocated @@ -2255,7 +2255,7 @@ code = ''' // force mroot to compact lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mdirs were unininlined and split assert(lfs.mtree.weight == (2 << lfs.mdir_bits)); @@ -2272,7 +2272,7 @@ code = ''' // force mdir to compact twice, this should relocate mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, "d", 1))) => 0; // force mdir to compact while we're removing mdir.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( @@ -2342,19 +2342,19 @@ code = ''' uint8_t buffer[SIZE]; memset(buffer, 'a', SIZE); lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; memset(buffer, 'b', SIZE); lfsr_mdir_t mdir; lfsr_mtree_lookup(&lfs, 0, &mdir) => 0; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(2), 0, buffer, SIZE))) => 0; // force mroot to compact, this should both uninline and relocate lfsr_mdir_t old_mroot = lfs.mroot; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(3), 0, "c", 1))) => 0; // assert mroot relocated assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0); @@ -2449,7 +2449,7 @@ code = ''' lfsr_mdir_t old_mroot = lfs.mroot; lfs.mroot.rbyd.eoff = -1; lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, "c", 1))) => 0; // assert mroot relocated assert(lfsr_mdir_cmp(&old_mroot, &lfs.mroot) != 0); @@ -3575,13 +3575,13 @@ code = ''' uint8_t buffer[SIZE]; memset(buffer, 'a', SIZE); lfsr_mdir_commit(&lfs, &lfs.mroot, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; memset(buffer, 'b', SIZE); lfsr_mdir_t mdir; lfsr_mtree_lookup(&lfs, 0, &mdir) => 0; lfsr_mdir_commit(&lfs, &mdir, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; + LFSR_RATTR_BUF(LFSR_TAG_ATTR(1), 0, buffer, SIZE))) => 0; // force mroot to compact lfs.mroot.rbyd.eoff = -1; diff --git a/tests/test_rbyd.toml b/tests/test_rbyd.toml index 07fe6ac0..6f23e701 100644 --- a/tests/test_rbyd.toml +++ b/tests/test_rbyd.toml @@ -32,7 +32,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.blocks[0], 0) => 0; @@ -41,10 +41,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.blocks[0], 0) => 0; @@ -69,7 +69,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.blocks[0], 0) => 0; @@ -78,11 +78,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.blocks[0], 0) => 0; @@ -107,7 +107,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -116,7 +116,7 @@ code = ''' // commit with the second attribute lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_fetch(&lfs, &rbyd, rbyd.blocks[0], 0) => 0; @@ -149,7 +149,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -174,10 +174,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -212,10 +212,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -269,7 +269,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -294,11 +294,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -333,11 +333,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -390,7 +390,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -411,10 +411,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -437,10 +437,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_ATTR(1), &data) => 0; @@ -480,7 +480,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -501,11 +501,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -528,11 +528,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_lookup(&lfs, &rbyd, -1, LFSR_TAG_ATTR(1), &data) => 0; @@ -576,10 +576,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -602,10 +602,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -647,13 +647,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -676,13 +676,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -726,13 +726,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -762,13 +762,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -817,16 +817,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -856,16 +856,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -895,16 +895,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -934,16 +934,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -994,16 +994,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; @@ -1040,16 +1040,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -1086,16 +1086,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -1132,16 +1132,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -1197,16 +1197,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; @@ -1243,16 +1243,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -1289,16 +1289,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -1335,16 +1335,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -1402,19 +1402,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; @@ -1453,19 +1453,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -1502,19 +1502,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -1551,19 +1551,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -1623,19 +1623,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4))) => 0; @@ -1681,19 +1681,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -1737,19 +1737,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -1793,19 +1793,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -1870,22 +1870,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4))) => 0; @@ -1931,22 +1931,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -1992,22 +1992,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -2074,22 +2074,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xff\xff\xff\xff", 4))) => 0; @@ -2140,22 +2140,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xff\xff\xff\xff", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -2206,22 +2206,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xff\xff\xff\xff", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -2306,7 +2306,7 @@ code = ''' // build the attribute list for the current permutation struct lfsr_rattr rattrs[N]; for (unsigned j = 0; j < N; j++) { - rattrs[j] = LFSR_RATTR( + rattrs[j] = LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4); } @@ -2399,7 +2399,7 @@ code = ''' lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -2459,10 +2459,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -2497,10 +2497,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -2556,11 +2556,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -2595,11 +2595,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -2675,7 +2675,7 @@ code = ''' // build the attribute list for the current permutation struct lfsr_rattr rattrs[N]; for (unsigned j = 0; j < N; j++) { - rattrs[j] = LFSR_RATTR( + rattrs[j] = LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4); } @@ -2750,7 +2750,7 @@ code = ''' lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -2807,7 +2807,7 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(j+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -2849,7 +2849,7 @@ code = ''' // update each tag in permutation order for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; } @@ -2928,7 +2928,7 @@ code = ''' : (ORDER == 1) ? (((lfs_size_t)-1) - i) : TEST_PRNG(&prng); int err = lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(x & 0x7f), 0, "\xaa\xaa\xaa\xaa", 4))); if (err == LFS_ERR_RANGE) { @@ -2980,7 +2980,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -3003,10 +3003,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -3045,10 +3045,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -3132,7 +3132,7 @@ code = ''' lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -3186,7 +3186,7 @@ code = ''' // try appending the tag back to make sure things still work printf("--- append: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(j+1), 0, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; @@ -3282,7 +3282,7 @@ code = ''' lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -3361,10 +3361,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4))) => 0; lfsr_rbyd_lookupnext(&lfs, &rbyd, -1, LFSR_TAG_ATTR(1), @@ -3520,19 +3520,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee\xee\xee", 4))) => 0; // remove several attributes @@ -3783,7 +3783,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -3806,10 +3806,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -3835,10 +3835,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -3897,7 +3897,7 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(j+1), 0, "\xaa\xaa\xaa\xaa", 4))) => 0; } @@ -3953,7 +3953,7 @@ code = ''' // try resuming from all tags being removed lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; @@ -4052,7 +4052,7 @@ code = ''' sim[rattr] = 'a'+(i % 26); // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(rattr), 0, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } else { @@ -4136,7 +4136,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -4155,10 +4155,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -4183,13 +4183,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -4238,7 +4238,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -4257,11 +4257,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -4286,11 +4286,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -4315,15 +4315,15 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -4354,15 +4354,15 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -4393,15 +4393,15 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -4496,7 +4496,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4))) => 0; } @@ -4558,10 +4558,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 00000000, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -4631,11 +4631,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -4682,11 +4682,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -4796,7 +4796,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4))) => 0; } @@ -4869,7 +4869,7 @@ code = ''' x = x % (rbyd.weight+1); int err = lfsr_rbyd_commit(&lfs, &rbyd, x, LFSR_RATTRS( - LFSR_RATTR(LFSR_TAG_DATA, +1, names[x % 6], 4))); + LFSR_RATTR_BUF(LFSR_TAG_DATA, +1, names[x % 6], 4))); if (err == LFS_ERR_RANGE) { break; } @@ -4916,10 +4916,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; @@ -4944,16 +4944,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; @@ -4990,22 +4990,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; @@ -5095,11 +5095,11 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; @@ -5124,19 +5124,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; @@ -5173,19 +5173,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; @@ -5222,27 +5222,27 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; @@ -5314,27 +5314,27 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; @@ -5383,27 +5383,27 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; @@ -5517,13 +5517,13 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } @@ -5592,16 +5592,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; @@ -5703,19 +5703,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; @@ -5794,19 +5794,19 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; @@ -5949,13 +5949,13 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } @@ -6039,13 +6039,13 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[j % 6], 2))) => 0; } @@ -6088,7 +6088,7 @@ code = ''' // update each tag in permutation order for (unsigned j = 0; j < N*M; j++) { lfsr_rbyd_commit(&lfs, &rbyd, perm[j]/M, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]%M+1), 0, names[(perm[j]/M) % 6], 3))) => 0; } @@ -6206,13 +6206,13 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } @@ -6282,7 +6282,7 @@ code = ''' // try append the tag back to make sure things still work printf("--- append: rid%jd, %jd ---\n", j/M, (j%M)+1); lfsr_rbyd_commit(&lfs, &rbyd, j/M, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((j%M)+1), 0, names[(j/M)%6], 3))) => 0; @@ -6386,13 +6386,13 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[j % 6], 2))) => 0; } @@ -6528,11 +6528,11 @@ code = ''' // build a single attribute list with all ratibutes, if this fails // it should fail atomically struct lfsr_rattr rattrs[1+M]; - rattrs[0] = LFSR_RATTR( + rattrs[0] = LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[x % 6], 4); for (unsigned u = 0; u < M; u++) { - rattrs[1+u] = LFSR_RATTR( + rattrs[1+u] = LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[x % 6], 2); } @@ -6639,12 +6639,12 @@ code = ''' // note the data size differences here lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, names[perm[j] % 6], 1))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4))) => 0; } @@ -6785,17 +6785,17 @@ code = ''' // note the data size differences here lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(perm[j]+1), 0, names[perm[j] % 6], 1))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4))) => 0; for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } @@ -6910,10 +6910,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( @@ -6938,10 +6938,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -6966,13 +6966,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( @@ -7001,13 +7001,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -7036,13 +7036,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( @@ -7089,16 +7089,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( @@ -7133,16 +7133,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -7177,22 +7177,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( @@ -7239,22 +7239,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -7301,22 +7301,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( @@ -7391,62 +7391,62 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2))) => 0; @@ -7552,7 +7552,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -7689,56 +7689,56 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), +1, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4))) => 0; @@ -7832,7 +7832,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -7957,84 +7957,84 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), +1, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(8), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(8), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xee\xee", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xee\xee", 2))) => 0; @@ -8164,7 +8164,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -8328,72 +8328,72 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), +1, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(8), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(9), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(9), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(9), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4))) => 0; @@ -8517,7 +8517,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -8675,72 +8675,72 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(9), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), +1, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(8), 0, "\xaa\xaa", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(8), 0, "\xaa\xaa", 2))) => 0; @@ -8864,7 +8864,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -9022,73 +9022,73 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), +1, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; @@ -9200,7 +9200,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -9346,73 +9346,73 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), +1, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), +1, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xcc\xcc\xcc\xcc", 4), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -9524,7 +9524,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -9672,114 +9672,114 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), +1, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(8), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(11), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(12), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xcc\xcc\xcc\xcc", 4), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(13), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(14), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(9), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(10), 0, "\xaa\xaa", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(10), 0, "\xaa\xaa", 2))) => 0; @@ -9933,7 +9933,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -10123,112 +10123,112 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xcc\xcc", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(6), +1, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(7), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(8), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(9), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(10), 0, "\xee\xee", 2), // propagate yellow to the root - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(10), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(10), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(10), 0, "\xee\xee", 2))) => 0; // this gets a bit messy as we try to make the rbyd take the right shape lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(11), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(12), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(13), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(14), 0, "\xee\xee", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(14), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(14), 0, "\xee\xee", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "\xee\xee", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, 0, "\xee\xee\xee\xee", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(5), 0, "\xee\xee", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2), // propagate yellow - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(4), 0, "\xee\xee", 2))) => 0; @@ -10382,7 +10382,7 @@ code = ''' // try to recreate lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -10608,7 +10608,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4))) => 0; } @@ -10654,7 +10654,7 @@ code = ''' // try recreating the rid to make sure things still work printf("--- create: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[j % 6], 6))) => 0; assert(rbyd.weight == N); @@ -10770,13 +10770,13 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } @@ -10836,12 +10836,12 @@ code = ''' // try recreating the rid to make sure things still work printf("--- create: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[j % 6], 6))) => 0; for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[j % 6], 3))) => 0; } @@ -10970,7 +10970,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4))) => 0; } @@ -11100,13 +11100,13 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[perm[j] % 6], 2))) => 0; } @@ -11205,7 +11205,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -11224,10 +11224,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( @@ -11247,10 +11247,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -11271,13 +11271,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( @@ -11298,13 +11298,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -11345,10 +11345,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -11367,16 +11367,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( @@ -11396,16 +11396,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -11426,22 +11426,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 2, LFSR_RATTRS( @@ -11462,22 +11462,22 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( @@ -11540,7 +11540,7 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[j % 6], 4))) => 0; } @@ -11605,7 +11605,7 @@ code = ''' // try resuming from all tags being removed lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; assert(rbyd.weight == 1); @@ -11689,13 +11689,13 @@ code = ''' for (unsigned j = 0; j < N; j++) { lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +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, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, names[j % 6], 2))) => 0; } @@ -11761,12 +11761,12 @@ code = ''' // try resuming from all tags being removed lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa\xaa\xaa", 6))) => 0; for (unsigned u = 0; u < M; u++) { lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u+1), 0, "\xaa\xaa\xaa", 3))) => 0; } @@ -11882,7 +11882,7 @@ code = ''' count += 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } else { @@ -11956,7 +11956,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4))) => 0; @@ -11977,7 +11977,7 @@ code = ''' // make id2 with weight w2 lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +2, "\xbb\xbb\xbb\xbb", 4))) => 0; @@ -12010,7 +12010,7 @@ code = ''' // make id5 with weight w3 lfsr_rbyd_commit(&lfs, &rbyd, 3, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +3, "\xcc\xcc\xcc\xcc", 4))) => 0; @@ -12055,7 +12055,7 @@ code = ''' // make id9 with weight w4 lfsr_rbyd_commit(&lfs, &rbyd, 6, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +4, "\xdd\xdd\xdd\xdd", 4))) => 0; @@ -12112,7 +12112,7 @@ code = ''' // make id14 with weight w5 lfsr_rbyd_commit(&lfs, &rbyd, 10, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +5, "\xee\xee\xee\xee", 4))) => 0; @@ -12203,23 +12203,23 @@ code = ''' lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, 0, LFSR_RATTRS( // make id0 with weight w1 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), // make id2 with weight w2 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +2, "\xbb\xbb\xbb\xbb", 4), // make id5 with weight w3 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +3, "\xcc\xcc\xcc\xcc", 4), // make id9 with weight w4 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +4, "\xdd\xdd\xdd\xdd", 4), // make id14 with weight w5 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +5, "\xee\xee\xee\xee", 4))) => 0; @@ -12360,7 +12360,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -12450,7 +12450,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -12501,16 +12501,16 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "unrelated", 9), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2))) => 0; @@ -12567,16 +12567,16 @@ code = ''' // make id2 with weight w2 lfsr_rbyd_commit(&lfs, &rbyd, 1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), LFSR_RATTR( LFSR_TAG_GROW, +1, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb", 2))) => 0; @@ -12669,16 +12669,16 @@ code = ''' // make id5 with weight w3 lfsr_rbyd_commit(&lfs, &rbyd, 3, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), LFSR_RATTR( LFSR_TAG_GROW, +2, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xcc\xcc", 2))) => 0; @@ -12807,16 +12807,16 @@ code = ''' // make id9 with weight w4 lfsr_rbyd_commit(&lfs, &rbyd, 6, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xdd\xdd", 2), LFSR_RATTR( LFSR_TAG_GROW, +3, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xdd\xdd", 2))) => 0; @@ -12981,16 +12981,16 @@ code = ''' // make id14 with weight w5 lfsr_rbyd_commit(&lfs, &rbyd, 10, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), LFSR_RATTR( LFSR_TAG_GROW, +4, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2))) => 0; @@ -13212,69 +13212,69 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "unrelated", 9), // make id0 with weight w1 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xaa\xaa", 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xaa\xaa", 2), // make id2 with weight w2 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb", 2), LFSR_RATTR( LFSR_TAG_GROW, +1, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xbb\xbb", 2), // make id5 with weight w3 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xcc\xcc", 2), LFSR_RATTR( LFSR_TAG_GROW, +2, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xcc\xcc", 2), // make id9 with weight w4 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xdd\xdd\xdd\xdd", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xdd\xdd", 2), LFSR_RATTR( LFSR_TAG_GROW, +3, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xdd\xdd", 2), // make id14 with weight w5 - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xee\xee\xee\xee", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xee\xee", 2), LFSR_RATTR( LFSR_TAG_GROW, +4, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xee\xee", 2))) => 0; @@ -13538,7 +13538,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "unrelated", 9))) => 0; @@ -13552,16 +13552,16 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, names[perm[j] % 6], 2), LFSR_RATTR( LFSR_TAG_GROW, +W-1, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, names[perm[j] % 6], 2))) => 0; } @@ -13660,7 +13660,7 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(3), 0, "unrelated", 9))) => 0; @@ -13674,16 +13674,16 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, names[perm[j] % 6], 2), LFSR_RATTR( LFSR_TAG_GROW, +W-1, NULL, 0), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, names[perm[j] % 6], 2))) => 0; } @@ -13801,7 +13801,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -13933,7 +13933,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -13959,7 +13959,7 @@ code = ''' NULL, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, j*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_GROW | LFSR_TAG_DATA, +D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W+D); @@ -14077,7 +14077,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), +W, names[perm[j] % 6], 4))) => 0; } @@ -14103,7 +14103,7 @@ code = ''' NULL, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, j*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_GROW | LFSR_TAG_ATTR(1), +D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W+D); @@ -14234,7 +14234,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -14366,7 +14366,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -14392,7 +14392,7 @@ code = ''' NULL, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, j*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_GROW | LFSR_TAG_DATA, -D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W-D); @@ -14510,7 +14510,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), +W, names[perm[j] % 6], 4))) => 0; } @@ -14536,7 +14536,7 @@ code = ''' NULL, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, j*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_GROW | LFSR_TAG_ATTR(1), -D, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W-D); @@ -14666,7 +14666,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -14726,7 +14726,7 @@ code = ''' // try recreating the rid to make sure things still work printf("--- create: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, j*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[j % 6], 6))) => 0; assert(rbyd.weight == N*W); @@ -14830,7 +14830,7 @@ code = ''' } lfsr_rbyd_commit(&lfs, &rbyd, rid*W, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +W, names[perm[j] % 6], 4))) => 0; } @@ -14857,7 +14857,7 @@ code = ''' NULL, false) => 0; lfsr_rbyd_commit(&lfs, &rbyd, j*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, names[j % 6], 2))) => 0; assert(rbyd.weight == N*W); @@ -14918,7 +14918,7 @@ code = ''' // and try putting the rattr back just for good measure printf("--- appending: %d ---\n", j); lfsr_rbyd_commit(&lfs, &rbyd, j*W+W-1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, names[j % 6], 2))) => 0; assert(rbyd.weight == N*W); @@ -15032,7 +15032,7 @@ code = ''' count += 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } else if (op == 1) { @@ -15047,7 +15047,7 @@ code = ''' sim[rid*(M+1) + u+1] = 'a'+(i % 26); // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(u), 0, &(uint8_t){'a'+(i % 26)}, 1))) => 0; @@ -15207,7 +15207,7 @@ code = ''' count += 1; // update our rbyd lfsr_rbyd_commit(&lfs, &rbyd, weighted_rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +weight, &(uint8_t){'a'+(i % 26)}, 1))) => 0; } else if (op == 1) { @@ -15371,10 +15371,10 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), 0, names[perm[j] % 6], 2))) => 0; } @@ -15461,10 +15461,10 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), 0, names[perm[j] % 6], 2))) => 0; } @@ -15605,10 +15605,10 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), 0, names[perm[j] % 6], 2))) => 0; } @@ -15635,7 +15635,7 @@ code = ''' // replace with bitwise inverse lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_ATTR(~(j + SHIFT) & 0x7f), 0, names[j % 6], 3))) => 0; @@ -15751,13 +15751,13 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x7f & (perm[j] + SHIFT)), 0, names[perm[j] % 6], 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x80), 0, names[perm[j] % 6], 1))) => 0; } @@ -15844,13 +15844,13 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x7f & (perm[j] + SHIFT)), 0, names[perm[j] % 6], 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x80), 0, names[perm[j] % 6], 1))) => 0; } @@ -15998,13 +15998,13 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x7f & (perm[j] + SHIFT)), 0, names[perm[j] % 6], 2), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x80), 0, names[perm[j] % 6], 1))) => 0; } @@ -16031,7 +16031,7 @@ code = ''' // replace with bitwise inverse lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_ATTR(~(j + SHIFT) & 0x7f), 0, names[j % 6], 3))) => 0; @@ -16154,7 +16154,7 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), +1, names[perm[j] % 6], 4))) => 0; } @@ -16241,7 +16241,7 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), +1, names[perm[j] % 6], 4))) => 0; } @@ -16385,7 +16385,7 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), +1, names[perm[j] % 6], 4))) => 0; } @@ -16412,7 +16412,7 @@ code = ''' // replace with bitwise inverse lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_ATTR(~(j + SHIFT) & 0x7f), 0, names[j % 6], 6))) => 0; @@ -16522,10 +16522,10 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), 0, names[perm[j] % 6], 2))) => 0; } @@ -16612,10 +16612,10 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), 0, names[perm[j] % 6], 2))) => 0; } @@ -16756,10 +16756,10 @@ code = ''' // give each rattr a subtype based on its rid + SHIFT lfsr_rbyd_commit(&lfs, &rbyd, rid, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, names[perm[j] % 6], 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR((perm[j] + SHIFT) & 0x7f), 0, names[perm[j] % 6], 2))) => 0; } @@ -16786,7 +16786,7 @@ code = ''' // replace with bitwise inverse lfsr_rbyd_commit(&lfs, &rbyd, j, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUP | LFSR_TAG_ATTR(~(j + SHIFT) & 0x7f), 0, names[j % 6], 3))) => 0; @@ -16869,10 +16869,10 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb\xbb\xbb", 4), LFSR_RATTR( @@ -16918,13 +16918,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(2), 0, "\xcc\xcc\xcc\xcc", 4), LFSR_RATTR( @@ -16977,13 +16977,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xcc\xcc\xcc\xcc", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -17035,13 +17035,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x00), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x01), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0x80), 0, "\xdd\xdd\xdd\xdd", 4), LFSR_RATTR( @@ -17051,7 +17051,7 @@ code = ''' // subwide replace a neighbor to the hole lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUB | LFSR_TAG_ATTR(0x02), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; assert(rbyd.weight == 0); @@ -17103,13 +17103,13 @@ code = ''' rbyd = init_rbyd; lfsr_bd_erase(&lfs, rbyd.blocks[0]) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(0), 0, "\xaa\xaa\xaa\xaa", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_ATTR(1), 0, "\xbb\xbb\xbb\xbb", 4), - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_DATA, +1, "\xdd\xdd\xdd\xdd", 4))) => 0; lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( @@ -17120,7 +17120,7 @@ code = ''' // supwide replace a neighbor to the hole lfsr_rbyd_commit(&lfs, &rbyd, -1, LFSR_RATTRS( - LFSR_RATTR( + LFSR_RATTR_BUF( LFSR_TAG_SUP | LFSR_TAG_ATTR(2), 0, "\xcc\xcc\xcc\xcc", 4))) => 0; assert(rbyd.weight == 1);