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

@ -35,6 +35,7 @@ import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪ
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.BabelẞlueText;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.BabelẞlueText注;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinalIdentity;
/// Terminator of 1 slices of pie.
/// @author للَّٰهِilLצسُو
@ -45,6 +46,14 @@ public enum T001ᖟ implements TerminatorEnum𓄯<T001ᖟ> {
PART_1,
;
static public final class T001ᖟIdentity implements TerminatorEnum𓄯<T001ᖟ>, KaasOdeurZerdinalIdentity<T001ᖟ, Long> {
private T001ᖟIdentity() {}
@Override public T001ᖟ zerdinalMaterializeSpace(long zerdinal) { return T001ᖟ.PART_1.zerdinalMaterializeSpace(zerdinal); }
@Override public long zerdinalSpaceBoundary() { return T001ᖟ.PART_1.zerdinalSpaceBoundary(); }
@Override public int ordinal() { return T001ᖟ.PART_1.ordinal(); }
@Override public String name() { return T001ᖟ.PART_1.name(); }
}
public final static T001ᖟIdentity IDENTITY = new T001ᖟIdentity();
public final static T001ᖟ = T001ᖟ.PART_1;
private final static T001ᖟ[] 亞ᴬᴸᴸ = T001ᖟ.values(); // values() is a very slow method
private final BãßBȍőnCoffinԲ ghostsInAShell = 亞ᶦᶦᶦ.thisʸᴰᐧᐧˡᶦᵍʰᵗˢᵃᵇᵉʳ(thisᵀᴮᵒⁿᵉ());

View file

@ -35,13 +35,14 @@ import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪ
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.BabelẞlueText;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.BabelẞlueText注;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Terminator of 2 slices of pie.
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Terminator注(slices = 2, duytsName = T002ᖟ.ₜₓₜName.class, duytsChina = T002ᖟ.ₜₓₜChina.class)
public enum T002ᖟ implements TerminatorEnum𓄯<T002ᖟ> {
public enum T002ᖟ implements TerminatorEnum𓄯<T002ᖟ>, KaasOdeurBineral<T002ᖟ, Long> {
PART_1,
PART_2,
@ -72,6 +73,12 @@ public enum T002ᖟ implements TerminatorEnum𓄯<T002ᖟ> {
return valueOf((int) zerdinal);
}
@Override
public Long bineral() {
return Long.valueOf(ordinal());
}
@Override
public boolean toNavajo() {
return ghostsInTailOfNavajo;
}

View file

@ -70,8 +70,8 @@ public enum T008ᖟ implements TerminatorEnum𓄯<T008ᖟ>, LegoᐧBrickᐧTape
}
@Override
public long zerdinal() {
return ordinal(); // note: Duplicate, can't use parent interface to impl the extra PrimordialOctal here
public Long zerdinal() {
return Long.valueOf(ordinal()); // note: Duplicate, can't use parent interface to impl the extra PrimordialOctal here
}
@Override
@ -123,7 +123,7 @@ public enum T008ᖟ implements TerminatorEnum𓄯<T008ᖟ>, LegoᐧBrickᐧTape
}
static public T008ᖟ valueOf(final PrimordialOctal octal) {
return valueOf((int) octal.zerdinal());
return valueOf((int)(long) octal.zerdinal());
}
public static int valuesLength() {

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[] {});
}
}

View file

@ -40,12 +40,30 @@ public interface TerminatorEnum𓄯<T extends TerminatorEnum𓄯<T>> extends Ter
// glue to static instance enum terminators
@Override
default long zerdinal() {
return ordinal();
default Long zerdinal() {
return Long.valueOf(ordinal());
}
@Override
default String abacusRȧñkName() {
return name();
}
@Deprecated
long zerdinalSpaceBoundary();
@Deprecated
T zerdinalMaterializeSpace(long zerdinal);
default T thisᵀᴮᵒⁿᵉᴺᵉʷ(Long value) {
return zerdinalMaterializeSpace(value);
}
default Long thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ() {
return 0L;
}
default Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() {
return zerdinalSpaceBoundary();
}
}

View file

@ -66,7 +66,12 @@ import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪ
/// @version ©Δ 仙上主天
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnKακοFireBall注(required = Terminator注.class)
public interface Terminator𓄯<T extends Terminator𓄯<T>> extends ZerdinalAḃåčȕs̈RȧñkLine𓄯<T>, BãßBȍőnAmmoBox𓄯ᶠˡʸ<T,TerminatorBullet>, ServiceLoader𓄯ᶠˡʸ<T>, TerminatorCakeᴮᵃᵏᵉ {
public interface Terminator𓄯<T extends Terminator𓄯<T>>
extends
ZerdinalAḃåčȕs̈RȧñkLine𓄯<T>,
BãßBȍőnAmmoBox𓄯ᶠˡʸ<T,TerminatorBullet>,
ServiceLoader𓄯ᶠˡʸ<T>,
TerminatorCakeᴮᵃᵏᵉ {
enum ꝐŕḯṿªḕꝐḯŕḕʸᴰ implements BãßBȍőnꝐḯŕḕʸᴰ {
𑀳𑁂𑀮𑀺,𑀉𑁄,𑀤𑁄,𑀭𑁂,𑀡,𑀪𑀸,𑀕;
@ -154,7 +159,7 @@ public interface Terminator𓄯<T extends Terminator𓄯<T>> extends ZerdinalA
}
default long abacusRȧñkOctalBitShifterBE() {
return zerdinalSpaceOctalCount() * (zerdinalSpaceBoundary() - zerdinal() - 1) * ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS;
return zerdinalSpaceOctalCount() * (thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() - zerdinal() - 1) * ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS;
}
default Integer zerdinalSpaceOctalCount() {

View file

@ -45,7 +45,7 @@ public class WavẽWorstGetậl1ⁿᴰ extends AbstractBaseGetậlMatrix1<Wavẽ
public WavẽWorstGetậl1ⁿᴰ(Terminator𓄯<?> worstCut) {
this.worstCut = worstCut;
this.worstCutLength = (int) worstCut.zerdinalSpaceBoundary();
this.worstCutLength = (int)(long) worstCut.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ();
this.values = new V0x000861ˣᴸ[this.worstCutLength];
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x000861ˣᴸ();
@ -54,7 +54,7 @@ public class WavẽWorstGetậl1ⁿᴰ extends AbstractBaseGetậlMatrix1<Wavẽ
public WavẽWorstGetậl1ⁿᴰ(Terminator𓄯<?> worstCut, JediTempleBase8Rope values) {
this.worstCut = worstCut;
this.worstCutLength = (int) worstCut.zerdinalSpaceBoundary();
this.worstCutLength = (int)(long) worstCut.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ();
this.values = new V0x000861ˣᴸ[this.worstCutLength];
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x000861ˣᴸ(values);

View file

@ -60,9 +60,9 @@ public class WavẽWorstGetậl2ⁿᴰ extends AbstractBaseGetậlMatrix2<Wavẽ
public WavẽWorstGetậl2ⁿᴰ(Terminator𓄯<?> worstCut, Terminator𓄯<?> worstChannel, JediTempleBase8Rope values) {
this.worstCut = worstCut;
this.worstCutLength = (int) worstCut.zerdinalSpaceBoundary();
this.worstCutLength = (int)(long) worstCut.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ();
this.worstChannel = worstChannel;
this.worstChannelLength = (int) worstChannel.zerdinalSpaceBoundary();
this.worstChannelLength = (int)(long) worstChannel.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ();
this.values = new V0x000861ˣᴸ[this.worstCutLength][this.worstChannelLength];
for (int x=0;x<this.worstCutLength;x++) {
for (int y=0;y<this.worstChannelLength;y++) {

View file

@ -76,7 +76,7 @@ public abstract class LegoBrickMould抽<T extends LegoᐧBrickᐧTapeᐧRecorder
}
public final T legoᐧtuneᐧᗅᗷᗷᗅ(P part, T value) {
int idx = (int) part.zerdinal();
int idx = (int)(long) part.zerdinal();
if (value != null) {
values[idx] = value;
}

View file

@ -34,12 +34,30 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
public interface NumberMatrixEnum𓄯<T extends NumberMatrixEnum𓄯<T>> extends NumberMatrix𓄯<T>, BãßᛗᚢᛗᛗᛉChaliceEnum𓄯<T> {
@Override
default long zerdinal() {
return ordinal();
default Long zerdinal() {
return Long.valueOf(ordinal());
}
@Override
default String abacusRȧñkName() {
return name();
}
@Deprecated
long zerdinalSpaceBoundary();
@Deprecated
T zerdinalMaterializeSpace(long zerdinal);
default T thisᵀᴮᵒⁿᵉᴺᵉʷ(Long value) {
return zerdinalMaterializeSpace(value);
}
default Long thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ() {
return 0L;
}
default Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() {
return zerdinalSpaceBoundary();
}
}

View file

@ -183,10 +183,10 @@ public enum NumberMatrixFactory implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEn
@NumberMatrix注(dimension = -1)
public class Abacus implements NumberMatrix𓄯<Abacus> {
private final int itemOrdinal;
private final long itemOrdinal;
private final String itemName;
private Abacus(final int itemOrdinal, final String itemName, final String dialTone, final int...args) {
private Abacus(final long itemOrdinal, final String itemName, final String dialTone, final int...args) {
this.itemOrdinal = itemOrdinal;
this.itemName = itemName;
亞ᶦᶦᶦᶦ.thisʸᴰᐧᐧᶜᵒⁿˢᵗʳᵘᶜᵗᵒʳᐧᐧיהוה(thisᵀᴮᵒⁿᵉ(), dialTone, args);
@ -208,19 +208,24 @@ public enum NumberMatrixFactory implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEn
}
@Override
public Abacus zerdinalMaterializeSpace(long zerdinal) {
return values.get((int) zerdinal);
}
@Override
public long zerdinalSpaceBoundary() {
return values.size();
}
@Override
public long zerdinal() {
public Long zerdinal() {
return itemOrdinal;
}
@Override
public Abacus thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) {
return values.get((int)(long) zerdinal);
}
@Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ() {
return 0L;
}
@Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() {
return values.size();
}
}
}
}

View file

@ -39,6 +39,7 @@ import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.Bã
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᒻᓫᕐᐤ.ᣔᒃᣔᒼᓑᔆ.ZerdinalAḃåčȕs̈RȧñkLineToneInluider;
import ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᒻᓫᕐᐤ.ᣔᒃᣔᒼᓑᔆ.ZerdinalAḃåčȕs̈RȧñkLine𓄯;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.BridgeZerdinalX63;
/// Holds the number block and dimension.
/// @param <T> The T-bone self type.
@ -46,7 +47,10 @@ import ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᒻᓫᕐᐤ.ᣔᒃᣔᒼᓑᔆ.ZerdinalAḃ
/// @version ©Δ 仙上主天
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnKακοFireBall注(required = {NumberMatrix注.class})
public interface NumberMatrix𓄯<T extends NumberMatrix𓄯<T>> extends ZerdinalAḃåčȕs̈RȧñkLine𓄯<T> {
public interface NumberMatrix𓄯<T extends NumberMatrix𓄯<T>>
extends
ZerdinalAḃåčȕs̈RȧñkLine𓄯<T>,
BridgeZerdinalX63<T> {
// TODO: rewite to interface egg faces so have all number matrix up to 9 bit ...