NX01: First lehmer dial codes and more kaas odeur numbers things
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 1m23s

This commit is contained in:
Willem Cazander 2026-02-15 17:56:51 +01:00
parent b7c933470b
commit af78169898
92 changed files with 985 additions and 287 deletions

View file

@ -63,7 +63,7 @@ public enum BaseGlyphSet implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnum𓄯<
if (T010ᖟ.PART_10 == x) { if (T010ᖟ.PART_10 == x) {
v.add("ten"); v.add("ten");
} else { } else {
v.add(T010ᖟ..thisᵀᴮᵒⁿᵉᴺᵉʷ(x.zerdinal() + 1).abacusRȧñkChinaValue()); // 1 to 9 v.add(T010ᖟ..thisᵀᴮᵒⁿᵉᴼᶠ(x.zerdinal() + 1).abacusRȧñkChinaValue()); // 1 to 9
} }
}), "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety", }), "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety",
"one hundred", "two hundred", "three hundred", "four hundred", "five hundred", "six hundred", "seven hundred", "eight hundred", "nine hundred")), "one hundred", "two hundred", "three hundred", "four hundred", "five hundred", "six hundred", "seven hundred", "eight hundred", "nine hundred")),
@ -299,7 +299,7 @@ public enum BaseGlyphSet implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnum𓄯<
} }
public String BȍőnPrintNumber16(BigInteger number) { public String BȍőnPrintNumber16(BigInteger number) {
String amount16 = number.toString((int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()); String amount16 = number.toString((int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ());
StringBuilder buf16 = new StringBuilder(); StringBuilder buf16 = new StringBuilder();
int c2 = 0; int c2 = 0;
for (char c:amount16.toCharArray()) { for (char c:amount16.toCharArray()) {

View file

@ -90,7 +90,7 @@ public class Decimal144 extends AbstractBaseGetậlMatrix1<Decimal144, T512ᖟ>
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override
@ -123,7 +123,7 @@ public class Decimal144 extends AbstractBaseGetậlMatrix1<Decimal144, T512ᖟ>
if (offset == 0) { if (offset == 0) {
current = iteratorX3.next(); current = iteratorX3.next();
} }
boolean value = current.clampᐧtuneᐧtool(T003ᖟ.valueOf(offset)).toNavajo(); boolean value = current.clampᐧtuneᐧtool(T003ᖟ.valueOf(offset)).bineralSmurf();
offset++; offset++;
if (offset == 3) { if (offset == 3) {
offset = 0; offset = 0;

View file

@ -59,12 +59,12 @@ public enum T001ᖟ implements TerminatorEnum𓄯<T001ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T001ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T001ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -65,12 +65,12 @@ public enum T002ᖟ implements TerminatorEnum𓄯<T002ᖟ>, KaasOdeurBineral<T00
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T002ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T002ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }
@ -80,13 +80,18 @@ public enum T002ᖟ implements TerminatorEnum𓄯<T002ᖟ>, KaasOdeurBineral<T00
} }
@Override @Override
public boolean toNavajo() { public boolean bineralSmurf() {
return ghostsInTailOfNavajo; return ghostsInTailOfNavajo;
} }
@Override @Override
public T002ᖟ inverse() { public T002ᖟ bineralInverse() {
return valueOf(!toNavajo()); return valueOf(!bineralSmurf());
}
@Override
public T002ᖟ zerdinalIdentity() {
return valueOf(ordinal() == 0);
} }
public static T002ᖟ valueOf(final int index) { public static T002ᖟ valueOf(final int index) {

View file

@ -61,12 +61,12 @@ public enum T003ᖟ implements TerminatorEnum𓄯<T003ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T003ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T003ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -63,12 +63,12 @@ public enum T004ᖟ implements TerminatorEnum𓄯<T004ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T004ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T004ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -63,12 +63,12 @@ public enum T005ᖟ implements TerminatorEnum𓄯<T005ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T005ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T005ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -64,12 +64,12 @@ public enum T006ᖟ implements TerminatorEnum𓄯<T006ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T006ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T006ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -65,12 +65,12 @@ public enum T007ᖟ implements TerminatorEnum𓄯<T007ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T007ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T007ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -76,12 +76,12 @@ public enum T008ᖟ implements TerminatorEnum𓄯<T008ᖟ>, LegoᐧBrickᐧTape
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T008ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T008ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -67,12 +67,12 @@ public enum T009ᖟ implements TerminatorEnum𓄯<T009ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T009ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T009ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -68,12 +68,12 @@ public enum T010ᖟ implements TerminatorEnum𓄯<T010ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T010ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T010ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -69,12 +69,12 @@ public enum T011ᖟ implements TerminatorEnum𓄯<T011ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T011ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T011ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -70,12 +70,12 @@ public enum T012ᖟ implements TerminatorEnum𓄯<T012ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T012ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T012ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -71,12 +71,12 @@ public enum T013ᖟ implements TerminatorEnum𓄯<T013ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T013ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T013ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -72,12 +72,12 @@ public enum T014ᖟ implements TerminatorEnum𓄯<T014ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T014ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T014ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -73,12 +73,12 @@ public enum T015ᖟ implements TerminatorEnum𓄯<T015ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T015ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T015ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -75,12 +75,12 @@ public enum T016ᖟ implements TerminatorEnum𓄯<T016ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T016ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T016ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -75,12 +75,12 @@ public enum T017ᖟ implements TerminatorEnum𓄯<T017ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T017ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T017ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -76,12 +76,12 @@ public enum T018ᖟ implements TerminatorEnum𓄯<T018ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T018ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T018ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -77,12 +77,12 @@ public enum T019ᖟ implements TerminatorEnum𓄯<T019ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T019ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T019ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -78,12 +78,12 @@ public enum T020ᖟ implements TerminatorEnum𓄯<T020ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T020ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T020ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -79,12 +79,12 @@ public enum T021ᖟ implements TerminatorEnum𓄯<T021ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T021ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T021ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -83,12 +83,12 @@ public enum T025ᖟ implements TerminatorEnum𓄯<T025ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T025ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T025ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -85,12 +85,12 @@ public enum T027ᖟ implements TerminatorEnum𓄯<T027ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T027ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T027ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -86,12 +86,12 @@ public enum T028ᖟ implements TerminatorEnum𓄯<T028ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T028ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T028ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -87,12 +87,12 @@ public enum T029ᖟ implements TerminatorEnum𓄯<T029ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T029ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T029ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -118,12 +118,12 @@ public enum T060ᖟ implements TerminatorEnum𓄯<T060ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T060ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T060ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -126,12 +126,12 @@ public enum T064ᖟ implements TerminatorEnum𓄯<T064ᖟ>, LegoᐧBrickᐧTape
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T064ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T064ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -145,12 +145,12 @@ public enum T087ᖟ implements TerminatorEnum𓄯<T087ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T087ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T087ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -186,12 +186,12 @@ public enum T128ᖟ implements TerminatorEnum𓄯<T128ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T128ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T128ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -250,12 +250,12 @@ public enum T192ᖟ implements TerminatorEnum𓄯<T192ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T192ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T192ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -314,12 +314,12 @@ public enum T256ᖟ implements TerminatorEnum𓄯<T256ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T256ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T256ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -358,12 +358,12 @@ public enum T300ᖟ implements TerminatorEnum𓄯<T300ᖟ> {
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T300ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T300ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -574,12 +574,12 @@ public enum T512ᖟ implements TerminatorEnum𓄯<T512ᖟ>, LegoᐧBrickᐧTape
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.valueOf(valuesLength()); return Long.valueOf(valuesLength());
} }
@Override @Override
public T512ᖟ thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T512ᖟ thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return valueOf((int)(long) zerdinal); return valueOf((int)(long) zerdinal);
} }

View file

@ -40,7 +40,9 @@ import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.Bãßᛗᚢᛗ
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.Vū́ǘrBȍőnSupportꞱᴿᴳᴮ; import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.Vū́ǘrBȍőnSupportꞱᴿᴳᴮ;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.ᘁᓑᓑᣗ.Vū́ǘrBurnCounterᴶᴹˣ; import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.ᘁᓑᓑᣗ.Vū́ǘrBurnCounterᴶᴹˣ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinalIdentity; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinalIdentity;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᒻᣔᣕᒄ.KaasLandSmurfBineralX1;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.Ladder; import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.Ladder;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒢℭỗᶇṧⱦᶏꬼȶʂ; import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒢℭỗᶇṧⱦᶏꬼȶʂ;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator注; import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator注;
@ -192,7 +194,7 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
return ghostsInAShell; return ghostsInAShell;
} }
@Override @Override
public T thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public T thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
if (slice == zerdinal) { if (slice == zerdinal) {
return thisᵀᴮᵒⁿᵉ(); // keep JVM identity equals to itself return thisᵀᴮᵒⁿᵉ(); // keep JVM identity equals to itself
} }
@ -203,7 +205,7 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
return 0L; return 0L;
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return (long)terminator注.slices(); return (long)terminator注.slices();
} }
@Override @Override
@ -211,6 +213,10 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
return slice; return slice;
} }
@Override @Override
final public KaasOdeurBineral<?, ?> zerdinalIdentity() {
return KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(slice == 0); // move to impl
}
@Override
final public String abacusRȧñkName() { final public String abacusRȧñkName() {
return slice + "_" + terminator注.slices(); return slice + "_" + terminator注.slices();
} }
@ -291,10 +297,10 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
super(slice, i -> new BoneZerdinalBase1(i)); // TODO: make anno optional and add slice count in an drum constructor super(slice, i -> new BoneZerdinalBase1(i)); // TODO: make anno optional and add slice count in an drum constructor
} }
static public BoneZerdinalBase1 valueOf(Long zerdinal) { static public BoneZerdinalBase1 valueOf(Long zerdinal) {
return IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(zerdinal); return IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(zerdinal);
} }
static public Long valuesLength() { static public Long valuesLength() {
return IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
static public BoneZerdinalBase1[] values() { static public BoneZerdinalBase1[] values() {
return IDENTITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase1[] {}); return IDENTITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase1[] {});
@ -307,10 +313,10 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
super(slice, i -> new BoneZerdinalBase2(i)); super(slice, i -> new BoneZerdinalBase2(i));
} }
static public BoneZerdinalBase2 valueOf(Long zerdinal) { static public BoneZerdinalBase2 valueOf(Long zerdinal) {
return IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(zerdinal); return IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(zerdinal);
} }
static public Long valuesLength() { static public Long valuesLength() {
return IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
static public BoneZerdinalBase2[] values() { static public BoneZerdinalBase2[] values() {
return IDENTITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase2[] {}); return IDENTITY.zerdinalSpaceRodsToLadder().stream().toList().toArray(new BoneZerdinalBase2[] {});

View file

@ -29,6 +29,8 @@ package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪ
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉChaliceEnum𓄯; import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉChaliceEnum𓄯;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᒻᣔᣕᒄ.KaasLandSmurfBineralX1;
/// Terminator glue for enum instance variants. /// Terminator glue for enum instance variants.
/// @param <T> The T-bone self type. /// @param <T> The T-bone self type.
@ -44,6 +46,12 @@ public interface TerminatorEnum𓄯<T extends TerminatorEnum𓄯<T>> extends Ter
return Long.valueOf(ordinal()); return Long.valueOf(ordinal());
} }
// TODO: remove, when kode-gen of terminators add impl T002 impl in local terminate enum.
@Override
default KaasOdeurBineral<?, ?> zerdinalIdentity() {
return KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(ordinal() == 0);
}
@Override @Override
default String abacusRȧñkName() { default String abacusRȧñkName() {
return name(); return name();

View file

@ -27,6 +27,7 @@
package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ; package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinalIdentity; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinalIdentity;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.BridgeZerdinalX63; import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.BridgeZerdinalX63;
@ -45,13 +46,13 @@ public interface TerminatorIdentity𓄯<T extends Terminator𓄯<T>> extends
T thisᵀᴮᵒⁿᵉ(); T thisᵀᴮᵒⁿᵉ();
@Override @Override
default T thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { default T thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return thisᵀᴮᵒⁿᵉ().thisᵀᴮᵒⁿᵉᴺᵉʷ(zerdinal); return thisᵀᴮᵒⁿᵉ().thisᵀᴮᵒⁿᵉᴼᶠ(zerdinal);
} }
@Override @Override
default Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { default Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return thisᵀᴮᵒⁿᵉ().thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return thisᵀᴮᵒⁿᵉ().thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override
@ -68,4 +69,9 @@ public interface TerminatorIdentity𓄯<T extends Terminator𓄯<T>> extends
default Long zerdinal() { default Long zerdinal() {
return thisᵀᴮᵒⁿᵉ().zerdinal(); return thisᵀᴮᵒⁿᵉ().zerdinal();
} }
@Override
default KaasOdeurBineral<?, ?> zerdinalIdentity() {
return thisᵀᴮᵒⁿᵉ().zerdinalIdentity();
}
} }

View file

@ -159,7 +159,7 @@ public interface Terminator𓄯<T extends Terminator𓄯<T>>
} }
default long abacusRȧñkOctalBitShifterBE() { default long abacusRȧñkOctalBitShifterBE() {
return zerdinalSpaceOctalCount() * (thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() - zerdinal() - 1) * ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS; return zerdinalSpaceOctalCount() * (thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() - zerdinal() - 1) * ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS;
} }
default Integer zerdinalSpaceOctalCount() { default Integer zerdinalSpaceOctalCount() {

View file

@ -70,7 +70,7 @@ abstract public class AbstractGroßGetậlŌṁ1ⁿᴰ<T extends BaseGetậl<T,
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override

View file

@ -44,7 +44,7 @@ abstract public class AbstractGroßGetậlŌṁ6ˢᴰ<T extends BaseGetậl<T, T
public AbstractGroßGetậlŌṁ6ˢᴰ(int fractalLevel) { public AbstractGroßGetậlŌṁ6ˢᴰ(int fractalLevel) {
this.fractalLevel = fractalLevel; this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel); this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new V144Tocta[(int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()][valuesLength]; this.values = new V144Tocta[(int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()][valuesLength];
for (int x=0;x<this.values.length;x++) { for (int x=0;x<this.values.length;x++) {
for (int y=0;y<this.values[x].length;y++) { for (int y=0;y<this.values[x].length;y++) {
this.values[x][y] = new V144Tocta(); this.values[x][y] = new V144Tocta();
@ -55,7 +55,7 @@ abstract public class AbstractGroßGetậlŌṁ6ˢᴰ<T extends BaseGetậl<T, T
public AbstractGroßGetậlŌṁ6ˢᴰ(int fractalLevel, JediTempleBase8Rope values) { public AbstractGroßGetậlŌṁ6ˢᴰ(int fractalLevel, JediTempleBase8Rope values) {
this.fractalLevel = fractalLevel; this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel); this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new V144Tocta[(int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()][valuesLength]; this.values = new V144Tocta[(int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()][valuesLength];
for (int x=0;x<this.values.length;x++) { for (int x=0;x<this.values.length;x++) {
for (int y=0;y<this.values[x].length;y++) { for (int y=0;y<this.values[x].length;y++) {
this.values[x][y] = new V144Tocta(values); this.values[x][y] = new V144Tocta(values);
@ -75,12 +75,12 @@ abstract public class AbstractGroßGetậlŌṁ6ˢᴰ<T extends BaseGetậl<T, T
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override
public int getMatrix2Length() { public int getMatrix2Length() {
return (int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override

View file

@ -65,7 +65,7 @@ public class GroßGetậl1ⁿᴰ extends AbstractBaseGetậlMatrix1<GroßGetậl
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override

View file

@ -41,7 +41,7 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class GroßGetậl6ˢᴰ extends AbstractBaseGetậlMatrix2<GroßGetậl6ˢᴰ, T512ᖟ> { public class GroßGetậl6ˢᴰ extends AbstractBaseGetậlMatrix2<GroßGetậl6ˢᴰ, T512ᖟ> {
private final V144Tocta[] values = new V144Tocta[(int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()]; private final V144Tocta[] values = new V144Tocta[(int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()];
public GroßGetậl6ˢᴰ() { public GroßGetậl6ˢᴰ() {
for (int i=0;i<this.values.length;i++) { for (int i=0;i<this.values.length;i++) {
@ -61,12 +61,12 @@ public class GroßGetậl6ˢᴰ extends AbstractBaseGetậlMatrix2<GroßGetậl6
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T016ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override
public int getMatrix2Length() { public int getMatrix2Length() {
return (int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T012ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override

View file

@ -229,7 +229,7 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl, T
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T004ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T004ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override

View file

@ -36,7 +36,7 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class KlompGetậl4ˢᴰ extends AbstractBaseGetậlMatrix1<KlompGetậl4ˢᴰ,V0x0013B0ˣᴸ> { public class KlompGetậl4ˢᴰ extends AbstractBaseGetậlMatrix1<KlompGetậl4ˢᴰ,V0x0013B0ˣᴸ> {
private final V0x0013B0ˣᴸ[] values = new V0x0013B0ˣᴸ[(int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()]; private final V0x0013B0ˣᴸ[] values = new V0x0013B0ˣᴸ[(int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()];
public KlompGetậl4ˢᴰ() { public KlompGetậl4ˢᴰ() {
for (int i=0;i<this.values.length;i++) { for (int i=0;i<this.values.length;i++) {
@ -57,7 +57,7 @@ public class KlompGetậl4ˢᴰ extends AbstractBaseGetậlMatrix1<KlompGetậl4
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override

View file

@ -47,7 +47,7 @@ public class KlompÅtŌṁKāassGetậl4ˢᴰ extends AbstractBaseGetậlMatrix2
throw new IllegalArgumentException("Can't slice cheese into less than one peace."); throw new IllegalArgumentException("Can't slice cheese into less than one peace.");
} }
this.kaasCuts = kaasCuts; this.kaasCuts = kaasCuts;
this.kaas = new V0x0013B0ˣᴸ[(int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()][kaasCuts]; this.kaas = new V0x0013B0ˣᴸ[(int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()][kaasCuts];
for (int x=0;x<this.kaas.length;x++) { for (int x=0;x<this.kaas.length;x++) {
for (int y=0;y<this.kaas[x].length;y++) { for (int y=0;y<this.kaas[x].length;y++) {
this.kaas[x][y] = new V0x0013B0ˣᴸ(); this.kaas[x][y] = new V0x0013B0ˣᴸ();
@ -60,7 +60,7 @@ public class KlompÅtŌṁKāassGetậl4ˢᴰ extends AbstractBaseGetậlMatrix2
throw new IllegalArgumentException("Can't slice cheese into less than one peace."); throw new IllegalArgumentException("Can't slice cheese into less than one peace.");
} }
this.kaasCuts = kaasCuts; this.kaasCuts = kaasCuts;
this.kaas = new V0x0013B0ˣᴸ[(int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()][kaasCuts]; this.kaas = new V0x0013B0ˣᴸ[(int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()][kaasCuts];
for (int x=0;x<this.kaas.length;x++) { for (int x=0;x<this.kaas.length;x++) {
for (int y=0;y<this.kaas[x].length;y++) { for (int y=0;y<this.kaas[x].length;y++) {
this.kaas[x][y] = new V0x0013B0ˣᴸ(values); this.kaas[x][y] = new V0x0013B0ˣᴸ(values);
@ -79,7 +79,7 @@ public class KlompÅtŌṁKāassGetậl4ˢᴰ extends AbstractBaseGetậlMatrix2
@Override @Override
public int getMatrix1Length() { public int getMatrix1Length() {
return (int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return (int)(long) T008ᖟ..thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override

View file

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

View file

@ -174,8 +174,8 @@ public class ŌctopǔsALU {
var valResultNum = valANum + valBNum; var valResultNum = valANum + valBNum;
if (valResultNum > valA.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()) { if (valResultNum > valA.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()) {
valResultNum = valA.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() -1; valResultNum = valA.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() -1;
} }
T008ᖟ valResult = T008ᖟ.values()[(int) valResultNum]; T008ᖟ valResult = T008ᖟ.values()[(int) valResultNum];

View file

@ -40,7 +40,7 @@ public interface JediTempleBase8Rope extends Rope<T008ᖟ> {
T002ᖟ spin(); T002ᖟ spin();
default boolean hasNext() { default boolean hasNext() {
return spin().toNavajo(); return spin().bineralSmurf();
} }
static JediTempleBase8Rope wrapᴼᶠ(Iterator<T008ᖟ> iterator) { static JediTempleBase8Rope wrapᴼᶠ(Iterator<T008ᖟ> iterator) {

View file

@ -29,6 +29,8 @@ package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᔿᣔᐪᣗᑊᕁ;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉChaliceEnum𓄯; import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉChaliceEnum𓄯;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᒻᣔᣕᒄ.KaasLandSmurfBineralX1;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface NumberMatrixEnum𓄯<T extends NumberMatrixEnum𓄯<T>> extends NumberMatrix𓄯<T>, BãßᛗᚢᛗᛗᛉChaliceEnum𓄯<T> { public interface NumberMatrixEnum𓄯<T extends NumberMatrixEnum𓄯<T>> extends NumberMatrix𓄯<T>, BãßᛗᚢᛗᛗᛉChaliceEnum𓄯<T> {
@ -38,6 +40,11 @@ public interface NumberMatrixEnum𓄯<T extends NumberMatrixEnum𓄯<T>> extends
return Long.valueOf(ordinal()); return Long.valueOf(ordinal());
} }
@Override
default KaasOdeurBineral<?, ?> zerdinalIdentity() {
return KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(ordinal() == 0);
}
@Override @Override
default String abacusRȧñkName() { default String abacusRȧñkName() {
return name(); return name();
@ -49,7 +56,7 @@ public interface NumberMatrixEnum𓄯<T extends NumberMatrixEnum𓄯<T>> extends
@Deprecated @Deprecated
T zerdinalMaterializeSpace(long zerdinal); T zerdinalMaterializeSpace(long zerdinal);
default T thisᵀᴮᵒⁿᵉᴺᵉʷ(Long value) { default T thisᵀᴮᵒⁿᵉᴼᶠ(Long value) {
return zerdinalMaterializeSpace(value); return zerdinalMaterializeSpace(value);
} }
@ -57,7 +64,7 @@ public interface NumberMatrixEnum𓄯<T extends NumberMatrixEnum𓄯<T>> extends
return 0L; return 0L;
} }
default Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { default Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return zerdinalSpaceBoundary(); return zerdinalSpaceBoundary();
} }
} }

View file

@ -36,6 +36,8 @@ import java.util.Set;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnumShot𓄯; import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnumShot𓄯;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᒻᣔᣕᒄ.KaasLandSmurfBineralX1;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ArrayLadderOpen; import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ArrayLadderOpen;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.Ladder; import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.Ladder;
import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.LadderOpen; import ᒢᣘᐧᐧ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.LadderOpen;
@ -213,7 +215,12 @@ public enum NumberMatrixFactory implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEn
} }
@Override @Override
public Abacus thisᵀᴮᵒⁿᵉᴺᵉʷ(Long zerdinal) { public KaasOdeurBineral<?, ?> zerdinalIdentity() {
return KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(itemOrdinal == 0);
}
@Override
public Abacus thisᵀᴮᵒⁿᵉᴼᶠ(Long zerdinal) {
return values.get((int)(long) zerdinal); return values.get((int)(long) zerdinal);
} }
@ -223,7 +230,7 @@ public enum NumberMatrixFactory implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEn
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return values.size(); return values.size();
} }
} }

View file

@ -45,7 +45,7 @@ public interface ZerdinalAḃåčȕs̈Rȧñk<T extends ZerdinalAḃåčȕs̈Rȧ
} }
default ZerdinalAḃåčȕs̈RȧñkOperationPipe abacusOperation(ZerdinalAḃåčȕs̈RȧñkOperation op, long zerdinal, boolean carry) { default ZerdinalAḃåčȕs̈RȧñkOperationPipe abacusOperation(ZerdinalAḃåčȕs̈RȧñkOperation op, long zerdinal, boolean carry) {
return op.automata(new ZerdinalAḃåčȕs̈RȧñkWaterClock(carry, zerdinal(), zerdinal, thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ())); return op.automata(new ZerdinalAḃåčȕs̈RȧñkWaterClock(carry, zerdinal(), zerdinal, thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()));
} }
default T abacusRȧñkGotoFirst() { default T abacusRȧñkGotoFirst() {

View file

@ -48,10 +48,10 @@ public final class ZerdinalAḃåčȕs̈RȧñkWaterClock implements ZerdinalAḃ
@Override @Override
public <T extends ZerdinalAḃåčȕs̈Rȧñk<T>> T materializeOutput(T rank) { public <T extends ZerdinalAḃåčȕs̈Rȧñk<T>> T materializeOutput(T rank) {
if (outputBoundry() != rank.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()) { if (outputBoundry() != rank.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()) {
throw new IllegalArgumentException("Wrong rank type of given water pipe size: " + outputBoundry()); throw new IllegalArgumentException("Wrong rank type of given water pipe size: " + outputBoundry());
} }
return rank.thisᵀᴮᵒⁿᵉᴺᵉʷ(output); return rank.thisᵀᴮᵒⁿᵉᴼᶠ(output);
} }
@Override @Override

View file

@ -37,7 +37,7 @@ public class T002ᖟTest {
@Test @Test
public void testNativeValue() { public void testNativeValue() {
Assertions.assertEquals(Boolean.TRUE, T002ᖟ..thisᵀᴮᵒⁿᵉ().toNavajo()); Assertions.assertEquals(Boolean.TRUE, T002ᖟ..thisᵀᴮᵒⁿᵉ().bineralSmurf());
} }
@Test @Test

View file

@ -112,7 +112,7 @@ public class TTꞱꞱᖟGatewayTest {
} }
} }
if (partConflict != null) { if (partConflict != null) {
System.out.println("CHINA_KEY; conflicts with part: "+partConflict.abacusRȧñkName()+" pieType: "+partConflict.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()); System.out.println("CHINA_KEY; conflicts with part: "+partConflict.abacusRȧñkName()+" pieType: "+partConflict.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ());
} }
} }
//Assertions.assertFalse(check, "key: "+part.rȧñkChinaSleutel()); //Assertions.assertFalse(check, "key: "+part.rȧñkChinaSleutel());
@ -146,7 +146,7 @@ public class TTꞱꞱᖟGatewayTest {
} }
} }
if (partConflict != null) { if (partConflict != null) {
System.out.println("CHINA_VALUE; conflicts with part: "+partConflict.abacusRȧñkName()+" pieType: "+partConflict.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()); System.out.println("CHINA_VALUE; conflicts with part: "+partConflict.abacusRȧñkName()+" pieType: "+partConflict.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ());
} }
} }
//Assertions.assertFalse(check); //Assertions.assertFalse(check);

View file

@ -61,7 +61,7 @@ public class NumberMatrixFactoryTest {
for (int i = 2; i < 4; i++) { for (int i = 2; i < 4; i++) {
NumberMatrixSet film = NumberMatrixFactory.INSTANCE.geefFilmSet(i); NumberMatrixSet film = NumberMatrixFactory.INSTANCE.geefFilmSet(i);
Assertions.assertEquals(i, film.geefDimensie()); Assertions.assertEquals(i, film.geefDimensie());
Assertions.assertEquals(film.waardes().size(), film.waardes().get(0).thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()); Assertions.assertEquals(film.waardes().size(), film.waardes().get(0).thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ());
} }
// size: 5 result: 120 // size: 5 result: 120
// size: 6 result: 720 // size: 6 result: 720

View file

@ -49,15 +49,15 @@ public interface BridgeZerdinalX63<T extends BridgeZerdinalX63<T>> extends KaasO
@Override @Override
public boolean hasNext() { public boolean hasNext() {
return zerdinalSpaceWalker < thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(); return zerdinalSpaceWalker < thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
} }
@Override @Override
public T next() { public T next() {
if (zerdinalSpaceWalker >= thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()) { if (zerdinalSpaceWalker >= thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ()) {
throw new NoSuchElementException("Rope roll out does not extend past the zerdinal space boundry: " + thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()); throw new NoSuchElementException("Rope roll out does not extend past the zerdinal space boundry: " + thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ());
} }
T result = BridgeZerdinalX63.this.thisᵀᴮᵒⁿᵉᴺᵉʷ(zerdinalSpaceWalker); T result = BridgeZerdinalX63.this.thisᵀᴮᵒⁿᵉᴼᶠ(zerdinalSpaceWalker);
zerdinalSpaceWalker++; zerdinalSpaceWalker++;
return result; return result;
} }

View file

@ -27,13 +27,13 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ;
/// The T-Bone constructor by a value. /// Materialize a TBone by a value.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
/// @param <T> The bone to eat. /// @param <T> The bone to eat.
public interface KaasTBoneConstructor<T extends KaasTBoneConstructor<T, N>, N> extends KaasTBone<T> { public interface KaasTBoneMaterializer<T extends KaasTBoneMaterializer<T, N>, N> extends KaasTBone<T> {
/// Materialize an new TBone from the nothing space. /// Materialize a TBone object from the nothing space.
T thisᵀᴮᵒⁿᵉᴺᵉʷ(N value); T thisᵀᴮᵒⁿᵉᴼᶠ(N value);
} }

View file

@ -29,7 +29,7 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import java.util.function.Supplier; import java.util.function.Supplier;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneConstructor; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot1D; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot1D;
/// Cheese odeur boolean. /// Cheese odeur boolean.
@ -37,20 +37,20 @@ import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOd
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
public interface KaasOdeurBineral<T extends KaasOdeurBineral<T, N>, N> extends public interface KaasOdeurBineral<T extends KaasOdeurBineral<T, N>, N> extends
KaasTBoneConstructor<T, N>, KaasTBoneMaterializer<T, N>,
KaasOdeurNumberRoot1D<T, N> { KaasOdeurNumberRoot1D<T, N> {
N bineral(); N bineral();
T inverse(); T bineralInverse();
boolean toNavajo(); boolean bineralSmurf();
default <X> X select(X v1, X v2) { default <X> X bineralSelect(X v1, X v2) {
return toNavajo() ? v1 : v2; return bineralSmurf() ? v1 : v2;
} }
default <X> X selectOf(Supplier<X> s1, Supplier<X> s2) { default <X> X bineralSelectOf(Supplier<X> s1, Supplier<X> s2) {
return select(s1, s2).get(); return bineralSelect(s1, s2).get();
} }
} }

View file

@ -27,25 +27,19 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneConstructor; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4D; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1DDown; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity4D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1DUp;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange2DDown;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange2DUp;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4D; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4D;
/// Cheese odeur numeral choco. /// Cheese odeur numeral choco chopped.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
public interface KaasOdeurNumeralChoco<T extends KaasOdeurNumeralChoco<T, N>, N> extends public interface KaasOdeurNumeralChocoChopped<T extends KaasOdeurNumeralChocoChopped<T, N>, N> extends
KaasTBoneConstructor<T, N>, KaasTBoneMaterializer<T, N>,
KaasOdeurNumeral<T, N>, KaasOdeurNumeral<T, N>,
KaasOdeurNumberRoot4D<T, N>, KaasOdeurNumberRoot4D<T, N>,
KaasOdeurNumberRange4D<T, N>, KaasOdeurNumberInfinity4D<T, N>,
KaasOdeurNumberRange1DUp<T, N>, KaasOdeurNumberRange4D<T, N> {
KaasOdeurNumberRange1DDown<T, N>,
KaasOdeurNumberRange2DUp<T, N>,
KaasOdeurNumberRange2DDown<T, N> {
} }

View file

@ -0,0 +1,45 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity4D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4D;
/// Cheese odeur numeral choco decimal.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public interface KaasOdeurNumeralChocoDecimal<T extends KaasOdeurNumeralChocoDecimal<T, N>, N> extends
KaasTBoneMaterializer<T, N>,
KaasOdeurNumeral<T, N>,
KaasOdeurNumberRoot4D<T, N>,
KaasOdeurNumberInfinity4D<T, N>,
KaasOdeurNumberRange4D<T, N> {
}

View file

@ -0,0 +1,45 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity4D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4D;
/// Cheese odeur numeral choco float.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public interface KaasOdeurNumeralChocoFloat<T extends KaasOdeurNumeralChocoFloat<T, N>, N> extends
KaasTBoneMaterializer<T, N>,
KaasOdeurNumeral<T, N>,
KaasOdeurNumberRoot4D<T, N>,
KaasOdeurNumberInfinity4D<T, N>,
KaasOdeurNumberRange4D<T, N> {
}

View file

@ -0,0 +1,45 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot4DStereo;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberInfinity4DStereo;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange4DStereo;
/// Cheese odeur numeral choco rational.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public interface KaasOdeurNumeralChocoRational<T extends KaasOdeurNumeralChocoRational<T, N>, N> extends
KaasTBoneMaterializer<T, N>,
KaasOdeurNumeral<T, N>,
KaasOdeurNumberRoot4DStereo<T, N>,
KaasOdeurNumberInfinity4DStereo<T, N>,
KaasOdeurNumberRange4DStereo<T, N> {
}

View file

@ -27,17 +27,17 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneConstructor; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot1D; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot1D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1DUp; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1D;
/// Cheese odeur numeral lego. /// Cheese odeur numeral lego.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
public interface KaasOdeurNumeralLego<T extends KaasOdeurNumeralLego<T, N>, N> extends public interface KaasOdeurNumeralLego<T extends KaasOdeurNumeralLego<T, N>, N> extends
KaasTBoneConstructor<T, N>, KaasTBoneMaterializer<T, N>,
KaasOdeurNumeral<T, N>, KaasOdeurNumeral<T, N>,
KaasOdeurNumberRoot1D<T, N>, KaasOdeurNumberRoot1D<T, N>,
KaasOdeurNumberRange1DUp<T, N> { KaasOdeurNumberRange1D<T, N> {
} }

View file

@ -27,21 +27,17 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneConstructor; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot2D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange2D; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange2D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1DDown; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot1D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1DUp;
/// Cheese odeur numeral signed. /// Cheese odeur numeral signed.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
public interface KaasOdeurNumeralSigned<T extends KaasOdeurNumeralSigned<T, N>, N> extends public interface KaasOdeurNumeralSigned<T extends KaasOdeurNumeralSigned<T, N>, N> extends
KaasTBoneConstructor<T, N>, KaasTBoneMaterializer<T, N>,
KaasOdeurNumeral<T, N>, KaasOdeurNumeral<T, N>,
KaasOdeurNumberRoot2D<T, N>, KaasOdeurNumberRoot1D<T, N>,
KaasOdeurNumberRange2D<T, N>, KaasOdeurNumberRange2D<T, N> {
KaasOdeurNumberRange1DUp<T, N>,
KaasOdeurNumberRange1DDown<T, N> {
} }

View file

@ -27,19 +27,22 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneConstructor; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBoneMaterializer;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot1D; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRoot1D;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1DUp; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ.KaasOdeurNumberRange1D;
/// Cheese odeur zerdinal numbering schema is the place where zero is one. /// Cheese odeur zerdinal numbering schema is the place where zero is one.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
public interface KaasOdeurZerdinal<T extends KaasOdeurZerdinal<T, N>, N> extends public interface KaasOdeurZerdinal<T extends KaasOdeurZerdinal<T, N>, N> extends
KaasTBoneConstructor<T, N>, KaasTBoneMaterializer<T, N>,
KaasOdeurNumberRoot1D<T, N>, KaasOdeurNumberRoot1D<T, N>,
KaasOdeurNumberRange1DUp<T, N> { KaasOdeurNumberRange1D<T, N> {
/// Returns a positive zero based index number. /// Returns a positive zero based index number.
N zerdinal(); N zerdinal();
/// Return a bineral true for the first entry or index zero which is the identity of the zerdinal number space.
KaasOdeurBineral<?, ?> zerdinalIdentity();
} }

View file

@ -29,13 +29,11 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
/// Cheese odeur number range 1D up. /// Cheese odeur number infinity.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s /// @version ©Δ 仙上主天s
/// @param <T> The bone to eat. /// @param <T> The bone to eat.
public interface KaasOdeurNumberRange1DUp<T extends KaasOdeurNumberRange1DUp<T, N>, N> extends KaasTBone<T> { interface KaasOdeurNumberInfinity<T extends KaasOdeurNumberInfinity<T>> extends KaasTBone<T> {
/// The cardinal capacity of this bounded number range up.
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ();
} }

View file

@ -27,16 +27,14 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number range 2D up. /// Cheese odeur number infinity 2D.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s /// @version ©Δ 仙上主天s
/// @param <T> The bone to eat. /// @param <T> The bone to eat.
public interface KaasOdeurNumberRange2DUp<T extends KaasOdeurNumberRange2DUp<T, N>, N> extends KaasTBone<T> { public interface KaasOdeurNumberInfinity2D<T extends KaasOdeurNumberInfinity2D<T, N>, N> extends KaasOdeurNumberInfinity<T> {
/// The cardinal capacity of this 2D bounded number range up. N thisᴺᵘᵐᵇᵉʳᴵⁿᶠᶦⁿᶦᵗʸ(KaasOdeurBineral<?, ?> dimensionSign);
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(KaasOdeurBineral<?, ?> dimensionCarry);
} }

View file

@ -27,16 +27,14 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number range 2D down. /// Cheese odeur number infinity 4D.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s /// @version ©Δ 仙上主天s
/// @param <T> The bone to eat. /// @param <T> The bone to eat.
public interface KaasOdeurNumberRange2DDown<T extends KaasOdeurNumberRange2DDown<T, N>, N> extends KaasTBone<T> { public interface KaasOdeurNumberInfinity4D<T extends KaasOdeurNumberInfinity4D<T, N>, N> extends KaasOdeurNumberInfinity<T> {
/// The cardinal capacity of this bounded 2D number range down. N thisᴺᵘᵐᵇᵉʳᴵⁿᶠᶦⁿᶦᵗʸ(KaasOdeurBineral<?, ?> dimensionSign, KaasOdeurBineral<?, ?> dimensionCarry);
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᴰᵒʷⁿ(KaasOdeurBineral<?, ?> dimensionCarry);
} }

View file

@ -0,0 +1,40 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number infinity 4D stereo.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s
/// @param <T> The bone to eat.
public interface KaasOdeurNumberInfinity4DStereo<T extends KaasOdeurNumberInfinity4DStereo<T, N>, N> extends KaasOdeurNumberInfinity<T> {
N thisᴺᵘᵐᵇᵉʳᴵⁿᶠᶦⁿᶦᵗʸ(KaasOdeurBineral<?, ?> numeratorSign, KaasOdeurBineral<?, ?> numeratorCarry, KaasOdeurBineral<?, ?> denominatorSign, KaasOdeurBineral<?, ?> denominatorCarry);
}

View file

@ -29,13 +29,10 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
/// Cheese odeur number range 1D down. /// Cheese odeur number dimensional range.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s /// @version ©Δ 仙上主天s
/// @param <T> The bone to eat. /// @param <T> The bone to eat.
public interface KaasOdeurNumberRange1DDown<T extends KaasOdeurNumberRange1DDown<T, N>, N> extends KaasTBone<T> { interface KaasOdeurNumberRange<T extends KaasOdeurNumberRange<T>> extends KaasTBone<T> {
/// The cardinal capacity of this bounded number range down.
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᴰᵒʷⁿ();
} }

View file

@ -0,0 +1,39 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
/// Cheese odeur number range 1D.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s
/// @param <T> The bone to eat.
public interface KaasOdeurNumberRange1D<T extends KaasOdeurNumberRange1D<T, N>, N> extends KaasOdeurNumberRange<T> {
/// The cardinal capacity of this bounded number range.
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ();
}

View file

@ -27,15 +27,14 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number two dimensional range. /// Cheese odeur number range 2D.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s /// @version ©Δ 仙上主天s
/// @param <T> The bone to eat. /// @param <T> The bone to eat.
public interface KaasOdeurNumberRange2D<T extends KaasOdeurNumberRange2D<T, N>, N> extends KaasTBone<T> { public interface KaasOdeurNumberRange2D<T extends KaasOdeurNumberRange2D<T, N>, N> extends KaasOdeurNumberRange<T> {
/// The cardinal capacity of this 2D bounded number range. /// The cardinal capacity of this 2D bounded number range.
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasOdeurBineral<?, ?> dimensionSign); N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasOdeurBineral<?, ?> dimensionSign);

View file

@ -27,15 +27,14 @@
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ; package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasTBone;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number four dimensional range. /// Cheese odeur number range 4D.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s /// @version ©Δ 仙上主天s
/// @param <T> The bone to eat. /// @param <T> The bone to eat.
public interface KaasOdeurNumberRange4D<T extends KaasOdeurNumberRange4D<T, N>, N> extends KaasTBone<T> { public interface KaasOdeurNumberRange4D<T extends KaasOdeurNumberRange4D<T, N>, N> extends KaasOdeurNumberRange<T> {
/// The cardinal capacity of this 4D bounded number range. /// The cardinal capacity of this 4D bounded number range.
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasOdeurBineral<?, ?> dimensionSign, KaasOdeurBineral<?, ?> dimensionCarry); N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasOdeurBineral<?, ?> dimensionSign, KaasOdeurBineral<?, ?> dimensionCarry);

View file

@ -0,0 +1,41 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number range 4D stereo.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s
/// @param <T> The bone to eat.
public interface KaasOdeurNumberRange4DStereo<T extends KaasOdeurNumberRange4DStereo<T, N>, N> extends KaasOdeurNumberRange<T> {
/// The cardinal capacity of this 8D bounded number range.
N thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasOdeurBineral<?, ?> numeratorSign, KaasOdeurBineral<?, ?> numeratorCarry, KaasOdeurBineral<?, ?> denominatorSign, KaasOdeurBineral<?, ?> denominatorCarry);
}

View file

@ -29,7 +29,7 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number root choco. /// Cheese odeur number root 4D.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s /// @version ©Δ 仙上主天s

View file

@ -0,0 +1,40 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.ᣕᓑᔿᒃᓫᣗ;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
/// Cheese odeur number root 4D stereo.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天s
/// @param <T> The bone to eat.
public interface KaasOdeurNumberRoot4DStereo<T extends KaasOdeurNumberRoot4DStereo<T, N>, N> extends KaasOdeurNumberRoot<T> {
N thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> numeratorSign, KaasOdeurBineral<?, ?> numeratorCarry, KaasOdeurBineral<?, ?> denominatorSign, KaasOdeurBineral<?, ?> denominatorCarry);
}

View file

@ -53,13 +53,13 @@ public enum KaasLandSmurfBineralX1 implements KaasOdeurBineral<KaasLandSmurfBine
} }
@Override @Override
public KaasLandSmurfBineralX1 thisᵀᴮᵒⁿᵉᴺᵉʷ(Boolean value) { public boolean bineralSmurf() {
return Objects.requireNonNull(value) ? Z1_TRUE : Z2_FALSE; return bineral();
} }
@Override @Override
public boolean toNavajo() { public KaasLandSmurfBineralX1 bineralInverse() {
return bineral(); return thisᵀᴮᵒⁿᵉᴼᶠ(!bineral());
} }
@Override @Override
@ -68,7 +68,7 @@ public enum KaasLandSmurfBineralX1 implements KaasOdeurBineral<KaasLandSmurfBine
} }
@Override @Override
public KaasLandSmurfBineralX1 inverse() { public KaasLandSmurfBineralX1 thisᵀᴮᵒⁿᵉᴼᶠ(Boolean value) {
return thisᵀᴮᵒⁿᵉᴺᵉʷ(!bineral()); return Objects.requireNonNull(value) ? Z1_TRUE : Z2_FALSE;
} }
} }

View file

@ -32,16 +32,16 @@ import java.util.Objects;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurNumeralSigned; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurNumeralSigned;
/// Cheese land smurf numeral X64 is a signed long value. /// Cheese land smurf numeral signed X64 is a signed long value.
/// ///
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
public final class KaasLandSmurfNumeralX64 implements KaasOdeurNumeralSigned<KaasLandSmurfNumeralX64, Long> { public final class KaasLandSmurfNumeralSignedX64 implements KaasOdeurNumeralSigned<KaasLandSmurfNumeralSignedX64, Long> {
static public final KaasLandSmurfNumeralX64 IDENTITY = new KaasLandSmurfNumeralX64(0L); static public final KaasLandSmurfNumeralSignedX64 IDENTITY = new KaasLandSmurfNumeralSignedX64(0L);
private final Long value; private final Long value;
private KaasLandSmurfNumeralX64(Long value) { private KaasLandSmurfNumeralSignedX64(Long value) {
this.value = Objects.requireNonNull(value); this.value = Objects.requireNonNull(value);
} }
@ -51,31 +51,21 @@ public final class KaasLandSmurfNumeralX64 implements KaasOdeurNumeralSigned<Kaa
} }
@Override @Override
public KaasLandSmurfNumeralX64 thisᵀᴮᵒⁿᵉᴺᵉʷ(Long value) { public Long thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ() {
return new KaasLandSmurfNumeralX64(value); return IDENTITY.numeral();
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasOdeurBineral<?, ?> dimension) { public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasOdeurBineral<?, ?> sign) {
return dimension.selectOf(() -> thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ(), () -> thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᴰᵒʷⁿ()); return sign.bineralSelect(Long.MAX_VALUE, Long.MIN_VALUE);
} }
@Override @Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() { public KaasLandSmurfNumeralSignedX64 thisᵀᴮᵒⁿᵉᴼᶠ(Long value) {
return Long.MAX_VALUE; return new KaasLandSmurfNumeralSignedX64(value);
} }
@Override public KaasLandSmurfNumeralSignedX64 thisᵀᴮᵒⁿᵉᴼᶠ(KaasLandSmurfZerdinalX63 value) {
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᴰᵒʷⁿ() { return new KaasLandSmurfNumeralSignedX64(value.zerdinal());
return Long.MIN_VALUE;
}
@Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasOdeurBineral<?, ?> sign) {
return sign.select(0L, -0L);
}
public KaasLandSmurfZerdinalX63 toZerdinalX63() {
return KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(numeral());
} }
} }

View file

@ -29,6 +29,7 @@ package ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᒻᣔᣕᒄ;
import java.util.Objects; import java.util.Objects;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurBineral;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinal; import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.ᐤᑊᐣᓫᓑᣗ.KaasOdeurZerdinal;
/// Cheese land smurf zerdinal X63 is a positive long value. /// Cheese land smurf zerdinal X63 is a positive long value.
@ -50,13 +51,8 @@ public final class KaasLandSmurfZerdinalX63 implements KaasOdeurZerdinal<KaasLan
} }
@Override @Override
public KaasLandSmurfZerdinalX63 thisᵀᴮᵒⁿᵉᴺᵉʷ(Long value) { public KaasOdeurBineral<?, ?> zerdinalIdentity() {
return new KaasLandSmurfZerdinalX63(value); return KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(value == 0);
}
@Override
public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ() {
return Long.MAX_VALUE;
} }
@Override @Override
@ -64,7 +60,17 @@ public final class KaasLandSmurfZerdinalX63 implements KaasOdeurZerdinal<KaasLan
return IDENTITY.zerdinal(); return IDENTITY.zerdinal();
} }
public KaasLandSmurfNumeralX64 toNumeralX64() { @Override
return KaasLandSmurfNumeralX64.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(zerdinal()); public Long thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ() {
return Long.MAX_VALUE;
}
@Override
public KaasLandSmurfZerdinalX63 thisᵀᴮᵒⁿᵉᴼᶠ(Long value) {
return new KaasLandSmurfZerdinalX63(value);
}
public KaasLandSmurfZerdinalX63 thisᵀᴮᵒⁿᵉᴼᶠ(KaasLandSmurfNumeralSignedX64 value) {
return new KaasLandSmurfZerdinalX63(value.numeral());
} }
} }

View file

@ -33,12 +33,12 @@ import org.junit.jupiter.api.Test;
public class KaasLandSmurfBineralX1Test { public class KaasLandSmurfBineralX1Test {
@Test @Test
public void testBineralX1New() { public void testBineralX1Materializer() {
Assertions.assertThrows(NullPointerException.class, () -> { Assertions.assertThrows(NullPointerException.class, () -> {
KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(null); KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(null);
}); });
Assertions.assertTrue(KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(Boolean.TRUE).bineral()); Assertions.assertTrue(KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(Boolean.TRUE).bineral());
Assertions.assertFalse(KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(Boolean.FALSE).bineral()); Assertions.assertFalse(KaasLandSmurfBineralX1.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(Boolean.FALSE).bineral());
} }
@Test @Test
@ -50,18 +50,18 @@ public class KaasLandSmurfBineralX1Test {
} }
@Test @Test
public void testBineralX1NavajoInverse() { public void testBineralX1Inverse() {
KaasLandSmurfBineralX1 smurfTrue = KaasLandSmurfBineralX1.IDENTITY; KaasLandSmurfBineralX1 smurfTrue = KaasLandSmurfBineralX1.IDENTITY;
KaasLandSmurfBineralX1 smurfFalse = KaasLandSmurfBineralX1.IDENTITY.inverse(); KaasLandSmurfBineralX1 smurfFalse = KaasLandSmurfBineralX1.IDENTITY.bineralInverse();
Assertions.assertTrue(smurfTrue.toNavajo()); Assertions.assertTrue(smurfTrue.bineralSmurf());
Assertions.assertFalse(smurfFalse.toNavajo()); Assertions.assertFalse(smurfFalse.bineralSmurf());
} }
@Test @Test
public void testBineralX1Select() { public void testBineralX1Select() {
String s1 = "s1"; String s1 = "s1";
String s2 = "s2"; String s2 = "s2";
Assertions.assertEquals(s1, KaasLandSmurfBineralX1.Z1_TRUE.select(s1, s2)); Assertions.assertEquals(s1, KaasLandSmurfBineralX1.Z1_TRUE.bineralSelect(s1, s2));
Assertions.assertEquals(s2, KaasLandSmurfBineralX1.Z2_FALSE.select(s1, s2)); Assertions.assertEquals(s2, KaasLandSmurfBineralX1.Z2_FALSE.bineralSelect(s1, s2));
} }
} }

View file

@ -33,28 +33,30 @@ import org.junit.jupiter.api.Test;
public class KaasLandSmurfNumeralX64Test { public class KaasLandSmurfNumeralX64Test {
@Test @Test
public void testNumeralX64New() { public void testNumeralX64MaterializerLong() {
Assertions.assertThrows(NullPointerException.class, () -> { Assertions.assertThrows(NullPointerException.class, () -> {
KaasLandSmurfNumeralX64.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(null); KaasLandSmurfNumeralSignedX64.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ((Long)null);
}); });
Assertions.assertEquals(-0L, KaasLandSmurfNumeralX64.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(-0L).numeral()); Assertions.assertEquals(0L, KaasLandSmurfNumeralSignedX64.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(0L).numeral());
Assertions.assertEquals(42L, KaasLandSmurfNumeralX64.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(42L).numeral()); Assertions.assertEquals(42L, KaasLandSmurfNumeralSignedX64.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(42L).numeral());
}
@Test
public void testNumeralX64MaterializerZerdinalX63() {
Assertions.assertThrows(NullPointerException.class, () -> {
KaasLandSmurfNumeralSignedX64.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ((KaasLandSmurfZerdinalX63)null);
});
Assertions.assertEquals(123L, KaasLandSmurfNumeralSignedX64.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(123L)).numeral());
} }
@Test @Test
public void testNumeralX64Root() { public void testNumeralX64Root() {
Assertions.assertEquals(0L, KaasLandSmurfNumeralX64.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasLandSmurfBineralX1.IDENTITY)); Assertions.assertEquals(0L, KaasLandSmurfNumeralSignedX64.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ());
Assertions.assertEquals(-0L, KaasLandSmurfNumeralX64.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵒᵒᵗ(KaasLandSmurfBineralX1.IDENTITY.inverse()));
} }
@Test @Test
public void testNumeralX64Range() { public void testNumeralX64Range() {
Assertions.assertEquals(Long.MIN_VALUE, KaasLandSmurfNumeralX64.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᴰᵒʷⁿ()); Assertions.assertEquals(Long.MAX_VALUE, KaasLandSmurfNumeralSignedX64.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasLandSmurfBineralX1.Z1_TRUE));
Assertions.assertEquals(Long.MAX_VALUE, KaasLandSmurfNumeralX64.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()); Assertions.assertEquals(Long.MIN_VALUE, KaasLandSmurfNumeralSignedX64.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ(KaasLandSmurfBineralX1.Z2_FALSE));
}
@Test
public void testNumeralX64ToZerdinal() {
Assertions.assertEquals(123L, KaasLandSmurfNumeralX64.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(123L).toZerdinalX63().zerdinal());
} }
} }

View file

@ -33,12 +33,20 @@ import org.junit.jupiter.api.Test;
public class KaasLandSmurfZerdinalX63Test { public class KaasLandSmurfZerdinalX63Test {
@Test @Test
public void testZerdinalX63New() { public void testZerdinalX63MaterializerLong() {
Assertions.assertThrows(NullPointerException.class, () -> { Assertions.assertThrows(NullPointerException.class, () -> {
KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(null); KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ((Long)null);
}); });
Assertions.assertEquals(-0L, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(-0L).zerdinal()); Assertions.assertEquals(0L, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(0L).zerdinal());
Assertions.assertEquals(42L, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(42L).zerdinal()); Assertions.assertEquals(42L, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(42L).zerdinal());
}
@Test
public void testZerdinalX63MaterializerSignedX64() {
Assertions.assertThrows(NullPointerException.class, () -> {
KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ((KaasLandSmurfNumeralSignedX64)null);
});
Assertions.assertEquals(123L, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(KaasLandSmurfNumeralSignedX64.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(123L)).zerdinal());
} }
@Test @Test
@ -48,11 +56,12 @@ public class KaasLandSmurfZerdinalX63Test {
@Test @Test
public void testZerdinalX63Range() { public void testZerdinalX63Range() {
Assertions.assertEquals(Long.MAX_VALUE, KaasLandSmurfZerdinalX63.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉᵁᵖ()); Assertions.assertEquals(Long.MAX_VALUE, KaasLandSmurfZerdinalX63.IDENTITY.thisᴺᵘᵐᵇᵉʳᴿᵃⁿᵍᵉ());
} }
@Test @Test
public void testZerdinalX63ToNumeral() { public void testZerdinalX63Identity() {
Assertions.assertEquals(123L, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴺᵉʷ(123L).toNumeralX64().numeral()); Assertions.assertEquals(KaasLandSmurfBineralX1.Z1_TRUE, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(0L).zerdinalIdentity());
Assertions.assertEquals(KaasLandSmurfBineralX1.Z2_FALSE, KaasLandSmurfZerdinalX63.IDENTITY.thisᵀᴮᵒⁿᵉᴼᶠ(42L).zerdinalIdentity());
} }
} }

View file

@ -0,0 +1,72 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-jpp0-nether-dial</artifactId>
<dependencies>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-jpp0-nether-tone</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-kode-gen-nether</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>process-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/kode-nether-dial</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>nx01-generate-nether</id>
<goals>
<goal>run</goal>
</goals>
<phase>process-resources</phase>
<configuration>
<target>
<java classname="love.distributedrebirth.nx01.kode.generator.KodeGen" fork="true"
failonerror="true">
<!-- using test CP so local module gets resolved correctly -->
<classpath refid="maven.test.classpath" />
<arg line="nether-dial" />
<arg line="generate" />
</java>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,32 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
*
* @since 1.0
*/
package ᒢᣘᐧᐧ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ;

View file

@ -91,11 +91,10 @@ public record NetherToneSlugView(
return buf.toString(); return buf.toString();
} }
public List<Class<?>> toNetherTones(int idx) { public List<Class<?>> toNetherTones() {
Class<?> qClass = qClass(idx);
List<Class<?>> result = new ArrayList<>(11); List<Class<?>> result = new ArrayList<>(11);
for (int i = 0; i < 11; i++) { for (int i = 0; i < 11; i++) {
Class<?> subClass = qClass.getPermittedSubclasses()[i]; Class<?> subClass = NetherToneScript.class.getPermittedSubclasses()[i];
Class<?>[] valueClasses = subClass.getPermittedSubclasses(); Class<?>[] valueClasses = subClass.getPermittedSubclasses();
result.add(switch (i) { result.add(switch (i) {
case 0: yield valueClasses[ag1]; case 0: yield valueClasses[ag1];
@ -108,30 +107,16 @@ public record NetherToneSlugView(
case 7: yield valueClasses[db1]; case 7: yield valueClasses[db1];
case 8: yield valueClasses[db2]; case 8: yield valueClasses[db2];
case 9: yield valueClasses[db3]; case 9: yield valueClasses[db3];
case 10: yield valueClasses[er0w]; default: yield valueClasses[er0w];
default:
throw new IllegalArgumentException("Unexpected value: " + i);
}); });
} }
return result; return result;
} }
// TODO: idx = 0 = Q1 = maybe enum static NetherToneSlugView ofQSluq(Class<? extends NetherToneScript> q) {
static private Class<?> qClass(int idx) {
if (idx < 0) {
throw new IllegalArgumentException("Negative Q index: " + idx);
}
if (idx >= 8) {
throw new IllegalArgumentException("Outside octal Q space boundry: " + idx);
}
return NetherTone.class.getPermittedSubclasses()[idx];
}
static NetherToneSlugView ofQSluq(int idx, Class<? extends NetherTone> q) {
Class<?> qClass = qClass(idx);
int[] d = new int[11]; int[] d = new int[11];
int dataIdx = 0; int dataIdx = 0;
for (Class<?> subClass : qClass.getPermittedSubclasses()) { for (Class<?> subClass : NetherToneScript.class.getPermittedSubclasses()) {
boolean hasValue = false; boolean hasValue = false;
Class<?>[] valueClasses = subClass.getPermittedSubclasses(); Class<?>[] valueClasses = subClass.getPermittedSubclasses();
for (int i = 0; i < valueClasses.length; i++) { for (int i = 0; i < valueClasses.length; i++) {
@ -150,9 +135,8 @@ public record NetherToneSlugView(
return new NetherToneSlugView(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10]); return new NetherToneSlugView(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10]);
} }
static boolean slugPresent(int idx, Class<? extends NetherTone> q) { static boolean slugPresent(Class<? extends NetherToneScript> q) {
Class<?> qClass = qClass(idx); for (Class<?> subClass : NetherToneScript.class.getPermittedSubclasses()) {
for (Class<?> subClass : qClass.getPermittedSubclasses()) {
boolean hasValue = false; boolean hasValue = false;
for (Class<?> valueClass : subClass.getPermittedSubclasses()) { for (Class<?> valueClass : subClass.getPermittedSubclasses()) {
if (valueClass.isAssignableFrom(q)) { if (valueClass.isAssignableFrom(q)) {

View file

@ -70,14 +70,14 @@ public class NetherToneSlugViewTest {
@Test @Test
public void testSlugViewErr() { public void testSlugViewErr() {
Assertions.assertThrows(IllegalArgumentException.class, () -> { Assertions.assertThrows(IllegalArgumentException.class, () -> {
NetherToneSlugView.ofQSluq(0, Q1SlugExampleErr.class); NetherToneSlugView.ofQSluq(Q1SlugExampleErr.class);
}); });
Assertions.assertFalse(NetherToneSlugView.slugPresent(0, Q1SlugExampleErr.class)); Assertions.assertFalse(NetherToneSlugView.slugPresent(Q1SlugExampleErr.class));
} }
@Test @Test
public void testSlugViewParse() { public void testSlugViewParse() {
NetherToneSlugView slug = NetherToneSlugView.ofQSluq(0, Q1SlugExample.class); NetherToneSlugView slug = NetherToneSlugView.ofQSluq(Q1SlugExample.class);
Assertions.assertNotNull(slug); Assertions.assertNotNull(slug);
Assertions.assertEquals(0, slug.ag1()); Assertions.assertEquals(0, slug.ag1());
Assertions.assertEquals(1, slug.ag2()); Assertions.assertEquals(1, slug.ag2());
@ -86,9 +86,9 @@ public class NetherToneSlugViewTest {
@Test @Test
public void testSlugViewDecompose() { public void testSlugViewDecompose() {
NetherToneSlugView slug = NetherToneSlugView.ofQSluq(0, Q1SlugExample.class); NetherToneSlugView slug = NetherToneSlugView.ofQSluq(Q1SlugExample.class);
Assertions.assertNotNull(slug); Assertions.assertNotNull(slug);
List<Class<?>> result = slug.toNetherTones(0); List<Class<?>> result = slug.toNetherTones();
Assertions.assertNotNull(result); Assertions.assertNotNull(result);
Assertions.assertEquals(ᐊᐪᔆAG1.ᐅ00.class, result.get(0)); Assertions.assertEquals(ᐊᐪᔆAG1.ᐅ00.class, result.get(0));
Assertions.assertEquals(ᐊᐪᔆAG2.ᐅ01.class, result.get(1)); Assertions.assertEquals(ᐊᐪᔆAG2.ᐅ01.class, result.get(1));

View file

@ -0,0 +1,280 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package love.distributedrebirth.nx01.kode.generator.nether;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import love.distributedrebirth.nx01.kode.generator.KodeGenModel;
import love.distributedrebirth.nx01.kode.generator.klass.ModelKlass;
import love.distributedrebirth.nx01.kode.generator.klass.ModelKlassWriter;
import ᒢᣘᐧᐧ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.NetherToneSlugView;
/// Generated the nether dial interface tree forest.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public class ModelDial implements KodeGenModel {
private final String BASE_PACK = "ᒢᣘᐧᐧ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ";
@Override
public String generatorKey() {
return "nether-dial";
}
@Override
public String generatorModelHash() {
return "5";
}
@Override
public void buildModels(ModelKlassWriter writer) throws IOException {
generateLehmer(writer);
//generateUnicode
//generateFC18
// Spakenburgs in 27k versions in unicode in XDBX18, and description in one entry
// <talk-village>.<lingua-nameX21>.<talk-local>.<value-array-nether-unicode>=.....
// <talk-village>.<lingua-descX18>.<value-array-nether-fc18(-adult)>=...
//generateIPV4
//generateIPV6
// dials a socket object from the shadow portal by nether slugs for IP+PORT identifier
buildModuleInfo(writer);
}
private static final int LEHMER_AG1 = 32; // sage master system version space 0x20
private static final int LEHMER_AG2 = 33; // No2Lingua sub space
private static final int LEHMER_AG3_16 = 16; // Up to size 16
private static final int LEHMER_AG3_17 = 17; // size 17
private static final int LEHMER_AG3_18 = 18; // size 18
private void generateLehmer(ModelKlassWriter writer) {
List<NetherSlugLehmer> models = new ArrayList<>();
for (int i = 2; i <= 18; i++) {
int[] rankFirst = calculateLehmerFromRank(0, i);
long amount = calculateTotalPermutations(rankFirst);
int ag1 = LEHMER_AG1;
int ag2 = LEHMER_AG2;
int ag3 = LEHMER_AG3_16;
int bl0w = i - 1;
int cr1 = 0;
int cr2 = 0;
int cr3 = 0;
int db1 = 0;
int db2 = 0;
int db3 = 0;
int er0w = 0;
List<NetherToneSlugView> indexSequenceSelectors = new ArrayList<>();
if (i <= 6) {
for (long z = 0;z < amount; z++) {
db3 = (int) z >> 9;
er0w = (int) z & 0x1FF;
NetherToneSlugView slug = new NetherToneSlugView(ag1, ag2, ag3, bl0w, cr1, cr2, cr3, db1, db2, db3, er0w);
indexSequenceSelectors.add(slug);
}
}
if (i == 17 || i == 18) {
bl0w = 0;
}
if (i == 17) {
ag3 = LEHMER_AG3_17;
} else if (i == 18) {
ag3 = LEHMER_AG3_18;
}
db3 = 0;
er0w = 0;
NetherToneSlugView slugLE = new NetherToneSlugView(ag1, ag2, ag3, bl0w, cr1, cr2, cr3, db1, db2, db3, er0w);
if (i == 17 || i == 18) {
bl0w = (int) ((amount - 1) >> 45) & 0x1FF;
}
cr1 = (int) ((amount - 1) >> 39) & 0x3F;
cr2 = (int) ((amount - 1) >> 33) & 0x3F;
cr3 = (int) ((amount - 1) >> 27) & 0x3F;
db1 = (int) ((amount - 1) >> 21) & 0x3F;
db2 = (int) ((amount - 1) >> 15) & 0x3F;
db3 = (int) ((amount - 1) >> 9) & 0x3F;
er0w =(int) ((amount - 1) >> 0) & 0x1FF;
NetherToneSlugView slugBE = new NetherToneSlugView(ag1, ag2, ag3, bl0w, cr1, cr2, cr3, db1, db2, db3, er0w);
NetherSlugLehmer slugLehmer = new NetherSlugLehmer(i, slugLE, slugBE, indexSequenceSelectors.toArray(new NetherToneSlugView[] {}));
models.add(slugLehmer);
}
// print models
for (NetherSlugLehmer model : models) {
String sizeStr = String.format("%02d", model.SIZE());
String javaName = "DialCodeLehmer" + sizeStr;
ModelKlass klass = new ModelKlass(BASE_PACK + ".ᒻᓫᑋᔿᓫᣗ" , javaName);
List<Class<?>> tones = model.IDLE().toNetherTones();
for (Class<?> tone : tones) {
klass.addJavaImport(tone.getDeclaringClass().getName());
}
klass.addJavaDescription("Lehmer code unique sequence index number sets.");
klass.setJavaDocAuthor("Lehmer");
writer.addModelKlass(klass);
StringBuilder buf = klass.getBody();
buf.append("public sealed interface ");
buf.append(javaName);
buf.append(" extends ");
for (Iterator<Class<?>> i = tones.subList(0, 3).iterator(); i.hasNext() ;) {
Class<?> toneClass = i.next();
buf.append(toneClass.getDeclaringClass().getSimpleName());
buf.append(".");
buf.append(toneClass.getSimpleName());
if (i.hasNext()) {
buf.append(", ");
}
}
buf.append(" {\n");
buf.append("\tnon-sealed interface ");
buf.append("IdentityLittleEndian");
buf.append("\n");
buf.append("\t\t\textends ");
buf.append(javaName);
buf.append(", ");
tones = model.IDLE().toNetherTones();
for (Iterator<Class<?>> i = tones.subList(3, tones.size()).iterator(); i.hasNext() ;) {
Class<?> toneClass = i.next();
buf.append(toneClass.getDeclaringClass().getSimpleName());
buf.append(".");
buf.append(toneClass.getSimpleName());
if (i.hasNext()) {
buf.append(", ");
}
}
buf.append(" {\n");
buf.append("\t}\n");
buf.append("\tnon-sealed interface ");
buf.append("IdentityBigEndian");
buf.append("\n");
buf.append("\t\t\textends ");
buf.append(javaName);
buf.append(", ");
tones = model.IDBE().toNetherTones();
for (Iterator<Class<?>> i = tones.subList(3, tones.size()).iterator(); i.hasNext() ;) {
Class<?> toneClass = i.next();
buf.append(toneClass.getDeclaringClass().getSimpleName());
buf.append(".");
buf.append(toneClass.getSimpleName());
if (i.hasNext()) {
buf.append(", ");
}
}
buf.append(" {\n");
buf.append("\t}\n");
for (NetherToneSlugView sequnceIndex : model.SLUGS()) {
String slugName = "" + sequnceIndex.toNúmero2Lingua() + "";
buf.append("\tnon-sealed interface ");
buf.append(slugName);
buf.append("\n");
buf.append("\t\t\textends ");
buf.append(javaName);
buf.append(", ");
tones =sequnceIndex.toNetherTones();
for (Iterator<Class<?>> i = tones.subList(3, tones.size()).iterator(); i.hasNext() ;) {
Class<?> toneClass = i.next();
buf.append(toneClass.getDeclaringClass().getSimpleName());
buf.append(".");
buf.append(toneClass.getSimpleName());
if (i.hasNext()) {
buf.append(", ");
}
}
buf.append(" {\n");
buf.append("\t}\n");
}
buf.append("}\n");
}
}
record NetherSlugLehmer(int SIZE, NetherToneSlugView IDLE, NetherToneSlugView IDBE, NetherToneSlugView...SLUGS) {
}
private void buildModuleInfo(ModelKlassWriter writer) {
ModelKlass klass = new ModelKlass("", "module-info");
klass.addJavaDescription("The nether dial packs tree slug index.");
writer.addModelKlass(klass);
StringBuilder buf = klass.getBody();
buf.append("module ᣕᕁᐤᣳ.ᒢᣘᐧᐧ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ {\n");
buf.append("\trequires transitive ᣕᕁᐤᣳ.ᒢᣘᐧᐧ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ;\n");
buf.append("\t\n");
buf.append("\texports " + BASE_PACK + ".ᒻᓫᑋᔿᓫᣗ;\n");
// for (String pack : splitSlugs.keySet()) {
// buf.append("\texports ");
// buf.append(BASE_PACK + "." + pack);
// buf.append(";\n");
// }
buf.append("}\n");
}
private long factorial(int n) {
if (n <= 1) {
return 1;
}
long fact = 1;
for (int i = 2; i <= n; i++) {
fact *= i;
}
return fact;
}
/**
* Converts a lexicographical rank (0-based) into a Lehmer code. Logic: Repeatedly divide rank by (n-1-i)! and keep the quotient as the digit.
*/
private int[] calculateLehmerFromRank(long rank, int n) {
int[] lehmer = new int[n];
for (int i = 0; i < n; i++) {
long fact = factorial(n - 1 - i);
lehmer[i] = (int) (rank / fact);
rank %= fact;
}
return lehmer;
}
/**
* Calculates the total number of permutations (n!) for a set of size n. The size n is equivalent to the length of the Lehmer code.
*/
private long calculateTotalPermutations(int[] lehmerCode) {
int n = lehmerCode.length;
long factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
}
return factorial;
}
}

View file

@ -131,7 +131,7 @@ public class ModelDialLingua implements KodeGenModel {
continue; continue;
} }
NetherSlugNamed slugTpl = list.get(0); NetherSlugNamed slugTpl = list.get(0);
List<Class<?>> tonesTpl = slugTpl.view().toNetherTones(0); List<Class<?>> tonesTpl = slugTpl.view().toNetherTones();
ModelKlass klass = new ModelKlass(BASE_PACK + "." + pack, javaName); ModelKlass klass = new ModelKlass(BASE_PACK + "." + pack, javaName);
for (Class<?> tone : tonesTpl) { for (Class<?> tone : tonesTpl) {
klass.addJavaImport(tone.getDeclaringClass().getName()); klass.addJavaImport(tone.getDeclaringClass().getName());
@ -175,7 +175,7 @@ public class ModelDialLingua implements KodeGenModel {
buf.append("\t\t\textends "); buf.append("\t\t\textends ");
buf.append(javaName); buf.append(javaName);
buf.append(", "); buf.append(", ");
List<Class<?>> tones = slug.view().toNetherTones(0); List<Class<?>> tones = slug.view().toNetherTones();
for (Iterator<Class<?>> i = tones.subList(4, tones.size()).iterator(); i.hasNext() ;) { for (Iterator<Class<?>> i = tones.subList(4, tones.size()).iterator(); i.hasNext() ;) {
Class<?> toneClass = i.next(); Class<?> toneClass = i.next();
buf.append(toneClass.getDeclaringClass().getSimpleName()); buf.append(toneClass.getDeclaringClass().getSimpleName());

View file

@ -1,2 +1,3 @@
love.distributedrebirth.nx01.kode.generator.nether.ModelDialLingua love.distributedrebirth.nx01.kode.generator.nether.ModelDialLingua
love.distributedrebirth.nx01.kode.generator.nether.ModelDialBased love.distributedrebirth.nx01.kode.generator.nether.ModelDialBased
love.distributedrebirth.nx01.kode.generator.nether.ModelDial

View file

@ -26,6 +26,7 @@
<module>nx01-jpp0-collections2</module> <module>nx01-jpp0-collections2</module>
<module>nx01-jpp0-kaas</module> <module>nx01-jpp0-kaas</module>
<module>nx01-jpp0-kaas-talk</module> <module>nx01-jpp0-kaas-talk</module>
<module>nx01-jpp0-nether-dial</module>
<module>nx01-jpp0-nether-dial-based</module> <module>nx01-jpp0-nether-dial-based</module>
<module>nx01-jpp0-nether-dial-lingua</module> <module>nx01-jpp0-nether-dial-lingua</module>
<module>nx01-jpp0-nether-tone</module> <module>nx01-jpp0-nether-tone</module>
@ -273,6 +274,11 @@
<artifactId>nx01-jpp0-kaas-talk</artifactId> <artifactId>nx01-jpp0-kaas-talk</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-jpp0-nether-dial</artifactId>
<version>${project.version}</version>
</dependency>
<dependency> <dependency>
<groupId>love.distributedrebirth.nx01</groupId> <groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-jpp0-nether-dial-based</artifactId> <artifactId>nx01-jpp0-nether-dial-based</artifactId>