JPP: Moved zerdinal to Long with cheese and smurf infrastructure helpers
Some checks failed
Run test asserts / Test-Asserts (push) Failing after 48s

This commit is contained in:
Willem Cazander 2026-02-12 10:53:48 +01:00
parent 9b33bed06c
commit b2e7320b2f
62 changed files with 969 additions and 206 deletions

View file

@ -40,8 +40,8 @@ import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.Bãßᛗᚢᛗ
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.Vū́ǘrBȍőnSupportꞱᴿᴳᴮ;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.ᘁᓑᓑᣗ.Vū́ǘrBurnCounterᴶᴹˣ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinalIdentity;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.Ladder;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ᙆᓫᣗᒄᑊᣕᣔᒻ.ZerdinalSpaceBoundary;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒢℭỗᶇṧⱦᶏꬼȶʂ;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator注;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator𓄯;
@ -192,21 +192,25 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
return ghostsInAShell;
}
@Override
final public long zerdinal() {
return slice;
}
@Override
final public long zerdinalSpaceBoundary() {
return terminator注.slices();
}
@Override
final public T zerdinalMaterializeSpace(long zerdinal) {
public T thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) {
if (slice == zerdinal) {
return thisᵀᴮᵒⁿᵉ(); // keep JVM identity equals to itself
}
return creator.apply(zerdinal);
}
@Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ() {
return 0L;
}
@Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() {
return (long)terminator注.slices();
}
@Override
final public Long zerdinal() {
return slice;
}
@Override
final public String abacusRȧñkName() {
return slice + "_" + terminator注.slices();
}
@ -237,7 +241,7 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
}
private interface PrimordialZerdinalMutexBaseX {
}
private interface PrimordialZerdinalMutex<T extends PrimordialZerdinalMutexBaseX> extends ZerdinalSpaceBoundary {
private interface PrimordialZerdinalMutex<T extends PrimordialZerdinalMutexBaseX> /*extends ZerdinalSpaceBoundary*/ {
}
private interface PrimordialZerdinalMutexBase1 extends PrimordialZerdinalMutexBaseX {
static final int PART_0001 = 0;
@ -264,47 +268,52 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
// static NetherRingTone<?> PrimordialOrdinalBase2PartX = NetherSlug<,,,,,,,b2,p1++>, NetherSlugBound<,,,,,,,b2,p2> {} // or one range super, so one method argument works
}
private interface PrimordialZerdinalBase1 extends PrimordialZerdinalMutexBase1, PrimordialZerdinalMutex<PrimordialZerdinalMutexBase1> {
@Override
default long zerdinalSpaceBoundary() {
return PART_0001; // TODO: this comes (twice) automaticly from the aggregated named tri merg-ed object slug group A/B(of 18 bit) by knowing the offset of the base of the slug group via the interface the value part (above)
}
// @Override
// default long zerdinalSpaceBoundary() {
// return PART_0001; // TODO: this comes (twice) automaticly from the aggregated named tri merg-ed object slug group A/B(of 18 bit) by knowing the offset of the base of the slug group via the interface the value part (above)
// }
}
private interface PrimordialZerdinalBase2 extends PrimordialZerdinalMutexBase2, PrimordialZerdinalMutex<PrimordialZerdinalMutexBase2> {
@Override
default long zerdinalSpaceBoundary() {
return PART_0002;
}
// @Override
// default long zerdinalSpaceBoundary() {
// return PART_0002;
// }
}
@Terminator注(slices = 1) // TODO: delete anno, comes from first tri merg-ed slug, the second tri-merged-ed slug is the PART_0001++ slice identifier interface key.
static public class BoneZerdinalBase1 extends BoneTerminatorBaseX<BoneZerdinalBase1> implements PrimordialZerdinalBase1 {
static public final BoneZerdinalBase1 IDENDITY = new BoneZerdinalBase1(ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO);
private BoneZerdinalBase1(long slice) {
static public sealed class BoneZerdinalBase1 extends BoneTerminatorBaseX<BoneZerdinalBase1> implements PrimordialZerdinalBase1 {
static public final class BoneZerdinalBase1Identity extends BoneZerdinalBase1 implements KaasOdeurZerdinalIdentity<BoneZerdinalBase1, Long> {
private BoneZerdinalBase1Identity() {
super(ᒢℭỗᶇṧⱦᶏꬼȶʂ.LONGᣟᐧᣟZERO);
}
}
static public final BoneZerdinalBase1Identity IDENTITY = new BoneZerdinalBase1Identity();
private BoneZerdinalBase1(Long slice) {
super(slice, i -> new BoneZerdinalBase1(i)); // TODO: make anno optional and add slice count in an drum constructor
}
static public BoneZerdinalBase1 valueOf(int zerdinal) {
return IDENDITY.zerdinalMaterializeSpace(zerdinal);
static public BoneZerdinalBase1 valueOf(Long zerdinal) {
return IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(zerdinal);
}
static public long valuesLength() {
return IDENDITY.zerdinalSpaceBoundary();
static public Long valuesLength() {
return IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ();
}
static public BoneZerdinalBase1[] values() {
return IDENDITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase1[] {});
return IDENTITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase1[] {});
}
}
@Terminator注(slices = 2)
static public class BoneZerdinalBase2 extends BoneTerminatorBaseX<BoneZerdinalBase2> implements PrimordialZerdinalBase2 {
static public final BoneZerdinalBase2 IDENDITY = new BoneZerdinalBase2(ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO);
private BoneZerdinalBase2(long slice) {
static public final BoneZerdinalBase2 IDENTITY = new BoneZerdinalBase2(ᒢℭỗᶇṧⱦᶏꬼȶʂ.LONGᣟᐧᣟZERO);
private BoneZerdinalBase2(Long slice) {
super(slice, i -> new BoneZerdinalBase2(i));
}
static public BoneZerdinalBase2 valueOf(int zerdinal) {
return IDENDITY.zerdinalMaterializeSpace(zerdinal);
static public BoneZerdinalBase2 valueOf(Long zerdinal) {
return IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(zerdinal);
}
static public long valuesLength() {
return IDENDITY.zerdinalSpaceBoundary();
static public Long valuesLength() {
return IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ();
}
static public BoneZerdinalBase2[] values() {
return IDENDITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase2[] {});
return IDENTITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase2[] {});
}
}