rbyd-rr: Renamed lfsr_rbyd_p_* -> lfsr_p_*

I didn't notice the inconsistency at first, but with the addition of
the diverging state machine, we have to subcomponents in
lfsr_rbyd_appendattr with different naming conventions:

- lfsr_rbyd_p_* - the p-alt fifo
- lfsr_d_* - the diverging state machine

One of these needs to change, and lfsr_rbyd_d_isdiverged is such a
keyful...
This commit is contained in:
Christopher Haster
2024-04-08 20:16:24 -05:00
parent d3e09b082f
commit 660d323564
+15 -15
View File
@@ -2663,7 +2663,7 @@ typedef struct lfsr_alt {
lfs_size_t jump;
} lfsr_alt_t;
static int lfsr_rbyd_p_flush(lfs_t *lfs, lfsr_rbyd_t *rbyd,
static int lfsr_p_flush(lfs_t *lfs, lfsr_rbyd_t *rbyd,
lfsr_alt_t p[static 3],
int count) {
// write out some number of alt pointers in our queue
@@ -2684,10 +2684,10 @@ static int lfsr_rbyd_p_flush(lfs_t *lfs, lfsr_rbyd_t *rbyd,
return 0;
}
static inline int lfsr_rbyd_p_push(lfs_t *lfs, lfsr_rbyd_t *rbyd,
static inline int lfsr_p_push(lfs_t *lfs, lfsr_rbyd_t *rbyd,
lfsr_alt_t p[static 3],
lfsr_tag_t alt, lfsr_srid_t weight, lfs_size_t jump) {
int err = lfsr_rbyd_p_flush(lfs, rbyd, p, 1);
int err = lfsr_p_flush(lfs, rbyd, p, 1);
if (err) {
return err;
}
@@ -2699,13 +2699,13 @@ static inline int lfsr_rbyd_p_push(lfs_t *lfs, lfsr_rbyd_t *rbyd,
return 0;
}
static inline void lfsr_rbyd_p_pop(
static inline void lfsr_p_pop(
lfsr_alt_t p[static 3]) {
memmove(p, p+1, 2*sizeof(lfsr_alt_t));
p[2].alt = 0;
}
static void lfsr_rbyd_p_recolor(
static void lfsr_p_recolor(
lfsr_alt_t p[static 3]) {
// propagate a red edge upwards
p[0].alt &= ~LFSR_TAG_R;
@@ -2987,7 +2987,7 @@ trunk:;
weight += p[0].weight;
jump = p[0].jump;
lfsr_rbyd_p_pop(p);
lfsr_p_pop(p);
}
}
@@ -3007,7 +3007,7 @@ trunk:;
&lower_tag, &upper_tag);
// stitch together both trunks
err = lfsr_rbyd_p_push(lfs, rbyd, p,
err = lfsr_p_push(lfs, rbyd, p,
LFSR_TAG_ALT(LFSR_TAG_LE, LFSR_TAG_B, d_tag),
d_rid - (lower_rid - weight),
jump);
@@ -3085,7 +3085,7 @@ trunk:;
alt = p[0].alt & ~LFSR_TAG_R;
weight = p[0].weight;
jump = p[0].jump;
lfsr_rbyd_p_pop(p);
lfsr_p_pop(p);
// prune unreachable root alts and red alts
} else if (!p[0].alt || lfsr_tag_isred(alt)) {
@@ -3133,7 +3133,7 @@ trunk:;
p[0].alt, p[0].weight,
&lower_rid, &upper_rid,
&lower_tag, &upper_tag);
lfsr_rbyd_p_recolor(p);
lfsr_p_recolor(p);
// otherwise we need to point to the yellow alt and
// prune later
@@ -3156,7 +3156,7 @@ trunk:;
p[0].alt, p[0].weight,
&lower_rid, &upper_rid,
&lower_tag, &upper_tag);
lfsr_rbyd_p_recolor(p);
lfsr_p_recolor(p);
branch = branch_;
continue;
@@ -3211,7 +3211,7 @@ trunk:;
}
// push alt onto our queue
err = lfsr_rbyd_p_push(lfs, rbyd, p,
err = lfsr_p_push(lfs, rbyd, p,
alt, weight, jump);
if (err) {
return err;
@@ -3237,7 +3237,7 @@ trunk:;
d_tag = lower_tag;
// flush any pending alts
err = lfsr_rbyd_p_flush(lfs, rbyd, p, 3);
err = lfsr_p_flush(lfs, rbyd, p, 3);
if (err) {
return err;
}
@@ -3330,18 +3330,18 @@ stem:;
}
if (alt) {
err = lfsr_rbyd_p_push(lfs, rbyd, p,
err = lfsr_p_push(lfs, rbyd, p,
alt, weight, branch);
if (err) {
return err;
}
// introduce a red edge
lfsr_rbyd_p_recolor(p);
lfsr_p_recolor(p);
}
// flush any pending alts
err = lfsr_rbyd_p_flush(lfs, rbyd, p, 3);
err = lfsr_p_flush(lfs, rbyd, p, 3);
if (err) {
return err;
}