Counter ASIC 3.0 gates (hash): the source rule keys on the class with the shadow's pass count set aside (the node lane's line: era present, the V4_SHADOW_INSTRS block, the base equal to V4_CLASS without era and shadow), so every rung of the latency ladder draws under it; of_load_class compared the pass count and left every rung but 27 on the old draw (the fork's ladder test, 10:06Z). The reps-0 packs and their ids do not move (re-export byte-identical)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
e4a433e016
commit
8d9d685981
1 changed files with 6 additions and 1 deletions
|
|
@ -1242,7 +1242,12 @@ pub fn candidate_from_words_class(
|
||||||
// by `or`, `mul` or `mulhi` (an `or`-written source is all-ones with probability (3/4)^32 per read and made the
|
// by `or`, `mul` or `mulhi` (an `or`-written source is all-ones with probability (3/4)^32 per read and made the
|
||||||
// 153x item of the finding). Keyed on the era-composed V4_CLASS so the generator-2 ladder packs keep their stream;
|
// 153x item of the finding). Keyed on the era-composed V4_CLASS so the generator-2 ladder packs keep their stream;
|
||||||
// v2 and v3 take no part. The draw order and the stream are otherwise the same, draw for draw.
|
// v2 and v3 take no part. The draw order and the stream are otherwise the same, draw for draw.
|
||||||
let source_rule_v4 = ProgramClass::of_load_class(&class) == Some(ProgramClass::V4) && class.era.is_some();
|
// Keyed on the class with the shadow's pass count set aside (the latency ladder draws the same base program at
|
||||||
|
// every rung: `of_load_class` compares the pass count too and answered None at every rung but 27, found by the
|
||||||
|
// fork's ladder test, 7 October 2026 10:06Z), the same comparison the fork's "v4 is v3 plus the shadow" test makes.
|
||||||
|
let source_rule_v4 = class.era.is_some()
|
||||||
|
&& matches!(class.shadow, Some(ShadowClass { instrs: V4_SHADOW_INSTRS, .. }))
|
||||||
|
&& LoadClass { era: None, shadow: None, ..class } == LoadClass { shadow: None, ..V4_CLASS };
|
||||||
let mut fresh = [false; 8];
|
let mut fresh = [false; 8];
|
||||||
let mut entropy_kept = [false; 8];
|
let mut entropy_kept = [false; 8];
|
||||||
let mut instrs = Vec::with_capacity(INSTR_COUNT);
|
let mut instrs = Vec::with_capacity(INSTR_COUNT);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue