Moved to package prefix

This commit is contained in:
Willem 2022-02-04 18:21:23 +01:00
parent 2a7ff2182e
commit 58264ebe4c
106 changed files with 3 additions and 4 deletions

View file

@ -0,0 +1,8 @@
sourceCompatibility = appJvmCode
[compileJava, compileTestJava]*.options*.encoding = appEncoding
sourceSets.main.java.srcDirs = [ "src/main/"]
sourceSets.main.resources.srcDirs = [ "src/resources/" ]
sourceSets.test.java.srcDirs = [ "src/test/"]
sourceSets.test.resources.srcDirs = [ "src/test-resources/" ]

View file

@ -0,0 +1,20 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractBaseGetậlLevel0<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> implements BaseGetậlLevel0<T,V> {
protected int valueIndex0;
@Override
public void setValueIndex0(int valueIndex0) {
this.valueIndex0 = valueIndex0;
}
@Override
public int getValueIndex0() {
return valueIndex0;
}
}

View file

@ -0,0 +1,20 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractBaseGetậlLevel1<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> extends AbstractBaseGetậlLevel0<T,V> implements BaseGetậlLevel1<T,V> {
protected int valueIndex1;
@Override
public void setValueIndex1(int valueIndex1) {
this.valueIndex1 = valueIndex1;
}
@Override
public int getValueIndex1() {
return valueIndex1;
}
}

View file

@ -0,0 +1,20 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractBaseGetậlLevel2<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> extends AbstractBaseGetậlLevel1<T,V> implements BaseGetậlLevel2<T,V> {
protected int valueIndex2;
@Override
public void setValueIndex2(int valueIndex1) {
this.valueIndex1 = valueIndex1;
}
@Override
public int getValueIndex2() {
return valueIndex1;
}
}

View file

@ -0,0 +1,53 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
import love.distributedrebirth.numberxd.base2t.type.V144Tocta;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractGroßGetậlŌṁ1ⁿᴰ<T extends BaseGetậl<T,V009Tyte>> extends AbstractBaseGetậlLevel1<T,V009Tyte> {
private V144Tocta[] values;
private int valuesLength;
private byte fractalLevel;
public AbstractGroßGetậlŌṁ1ⁿᴰ(byte fractalLevel) {
this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new V144Tocta[valuesLength];
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V144Tocta();
}
}
public AbstractGroßGetậlŌṁ1ⁿᴰ(byte fractalLevel, BaseIteratorOctal values) {
this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new V144Tocta[valuesLength];
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V144Tocta(values);
}
}
abstract protected int resolveFractalLevel(byte level);
public V009Tyte getValue() {
return values[valueIndex1].getTytePart(T16PartHex.values()[valueIndex0]);
}
public byte getFractalLevel() {
return fractalLevel;
}
@Override
public int getValueIndex0Length() {
return T16PartHex.LENGTH();
}
@Override
public int getValueIndex1Length() {
return valuesLength;
}
}

View file

@ -0,0 +1,63 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.part.T12PartUncial;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
import love.distributedrebirth.numberxd.base2t.type.V144Tocta;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractGroßGetậlŌṁ6ˢᴰ<T extends BaseGetậl<T,V009Tyte>> extends AbstractBaseGetậlLevel2<T,V009Tyte> {
private V144Tocta[][] values;
private int valuesLength;
private byte fractalLevel;
public AbstractGroßGetậlŌṁ6ˢᴰ(byte fractalLevel) {
this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new V144Tocta[T12PartUncial.LENGTH()][valuesLength];
for (int x=0;x<this.values.length;x++) {
for (int y=0;y<this.values[x].length;y++) {
this.values[x][y] = new V144Tocta();
}
}
}
public AbstractGroßGetậlŌṁ6ˢᴰ(byte fractalLevel, BaseIteratorOctal values) {
this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new V144Tocta[T12PartUncial.LENGTH()][valuesLength];
for (int x=0;x<this.values.length;x++) {
for (int y=0;y<this.values[x].length;y++) {
this.values[x][y] = new V144Tocta(values);
}
}
}
abstract protected int resolveFractalLevel(byte level);
public V009Tyte getValue() {
return values[valueIndex1][valueIndex2].getTytePart(T16PartHex.values()[valueIndex0]);
}
public byte getFractalLevel() {
return fractalLevel;
}
@Override
public int getValueIndex0Length() {
return T16PartHex.LENGTH();
}
@Override
public int getValueIndex1Length() {
return T12PartUncial.LENGTH();
}
@Override
public int getValueIndex2Length() {
return valuesLength;
}
}

View file

@ -0,0 +1,12 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseGetậl<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> {
V getValue();
T toClone();
}

View file

@ -0,0 +1,14 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseGetậlLevel0<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> extends BaseGetậl<T,V> {
void setValueIndex0(int valueIndex0);
int getValueIndex0();
int getValueIndex0Length();
}

View file

@ -0,0 +1,14 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseGetậlLevel1<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> extends BaseGetậlLevel0<T,V> {
void setValueIndex1(int valueIndex1);
int getValueIndex1();
int getValueIndex1Length();
}

View file

@ -0,0 +1,14 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseGetậlLevel2<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> extends BaseGetậlLevel1<T,V> {
void setValueIndex2(int valueIndex1);
int getValueIndex2();
int getValueIndex2Length();
}

View file

@ -0,0 +1,14 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseGetậlLevel3<T extends BaseGetậl<T,V>,V extends BaseNumber<V>> extends BaseGetậlLevel2<T,V> {
void setValueIndex3(int valueIndex1);
int getValueIndex3();
int getValueIndex3Length();
}

View file

@ -0,0 +1,53 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
import love.distributedrebirth.numberxd.base2t.type.V144Tocta;
/**
* Holds an 144 bit fraction.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class GroßGetậl1ⁿᴰ extends AbstractBaseGetậlLevel0<GroßGetậl1ⁿᴰ,V009Tyte> {
//public static int NUMERATOR_SIZE = 7;
//public static int DENOMINATOR_SIZE = 9;
//public static int BIT_COUNT = V144Tocta.BIT_COUNT;
//private final V009Tyte[] numerator = new V009Tyte[NUMERATOR_SIZE];
//private final V009Tyte[] denominator = new V009Tyte[DENOMINATOR_SIZE];
private final V144Tocta value;
public GroßGetậl1ⁿᴰ() {
this(new V144Tocta());
}
public GroßGetậl1ⁿᴰ(BaseIteratorOctal values) {
this(new V144Tocta(values));
}
public GroßGetậl1ⁿᴰ(BaseIteratorTyte values) {
this(new V144Tocta(values));
}
public GroßGetậl1ⁿᴰ(V144Tocta value) {
this.value = value;
}
@Override
public V009Tyte getValue() {
return value.getTytePart(T16PartHex.values()[valueIndex0]);
}
@Override
public int getValueIndex0Length() {
return T16PartHex.LENGTH();
}
@Override
public GroßGetậl1ⁿᴰ toClone() {
return new GroßGetậl1ⁿᴰ(value.toClone());
}
}

View file

@ -0,0 +1,53 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.part.T12PartUncial;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
import love.distributedrebirth.numberxd.base2t.type.V144Tocta;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
/**
* Holds an 864 bit fraction.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class GroßGetậl6ˢᴰ extends AbstractBaseGetậlLevel1<GroßGetậl6ˢᴰ,V009Tyte> {
private final V144Tocta[] values = new V144Tocta[T12PartUncial.LENGTH()];
public GroßGetậl6ˢᴰ() {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V144Tocta();
}
}
public GroßGetậl6ˢᴰ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V144Tocta(values);
}
}
public V009Tyte getValue() {
return values[valueIndex1].getTytePart(T16PartHex.values()[valueIndex0]);
}
@Override
public int getValueIndex0Length() {
return T16PartHex.LENGTH();
}
@Override
public int getValueIndex1Length() {
return T12PartUncial.LENGTH();
}
@Override
public GroßGetậl6ˢᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int i=0;i<this.values.length;i++) {
cloneStack.addIterator(this.values[i].iteratorOctalsByClone());
}
return new GroßGetậl6ˢᴰ(cloneStack);
}
}

View file

@ -0,0 +1,41 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class GroßGetậlŌṁDiamond1ⁿᴰ extends AbstractGroßGetậlŌṁ1ⁿᴰ<GroßGetậlŌṁDiamond1ⁿᴰ> {
// 0th = 1 * V144Tocta (1)
// 1th = 1+3 * V144Tocta (4)
// 2th = 1+3+6 * V144Tocta (10)
// 3th = 1+3+6+14 * V144Tocta (24)
// etc
public GroßGetậlŌṁDiamond1ⁿᴰ(byte level) {
super(level);
}
public GroßGetậlŌṁDiamond1ⁿᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) {
// TODO
return level;
}
@Override
public GroßGetậlŌṁDiamond1ⁿᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int x=0;x<getValueIndex0Length();x++) {
setValueIndex0(x);
for (int y=0;y<getValueIndex1Length();y++) {
setValueIndex1(y);
cloneStack.addIterator(getValue().iteratorOctalsByClone());
}
}
return new GroßGetậlŌṁDiamond1ⁿᴰ(getFractalLevel(), cloneStack);
}
}

View file

@ -0,0 +1,44 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class GroßGetậlŌṁDiamond6ˢᴰ extends AbstractGroßGetậlŌṁ6ˢᴰ<GroßGetậlŌṁDiamond6ˢᴰ> {
// 0th = 1 * V144Tocta (1)
// 1th = 1+3 * V144Tocta (4)
// 2th = 1+3+6 * V144Tocta (10)
// 3th = 1+3+6+14 * V144Tocta (24)
// etc
public GroßGetậlŌṁDiamond6ˢᴰ(byte level) {
super(level);
}
public GroßGetậlŌṁDiamond6ˢᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) {
// TODO
return level;
}
@Override
public GroßGetậlŌṁDiamond6ˢᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int x=0;x<getValueIndex0Length();x++) {
setValueIndex0(x);
for (int y=0;y<getValueIndex1Length();y++) {
setValueIndex1(y);
for (int z=0;z<getValueIndex1Length();z++) {
setValueIndex1(z);
cloneStack.addIterator(getValue().iteratorOctalsByClone());
}
}
}
return new GroßGetậlŌṁDiamond6ˢᴰ(getFractalLevel(), cloneStack);
}
}

View file

@ -0,0 +1,40 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class GroßGetậlŌṁHyperStàr1ⁿᴰ extends AbstractGroßGetậlŌṁ1ⁿᴰ<GroßGetậlŌṁHyperStàr1ⁿᴰ> {
// 0th = V144Tocta
// 1th = 5 * V144Tocta
// 2th = 5 * 12 * V144Tocta
// etc
public GroßGetậlŌṁHyperStàr1ⁿᴰ(byte level) {
super(level);
}
public GroßGetậlŌṁHyperStàr1ⁿᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) {
// TODO
return level;
}
@Override
public GroßGetậlŌṁHyperStàr1ⁿᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int x=0;x<getValueIndex0Length();x++) {
setValueIndex0(x);
for (int y=0;y<getValueIndex1Length();y++) {
setValueIndex1(y);
cloneStack.addIterator(getValue().iteratorOctalsByClone());
}
}
return new GroßGetậlŌṁHyperStàr1ⁿᴰ(getFractalLevel(), cloneStack);
}
}

View file

@ -0,0 +1,43 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class GroßGetậlŌṁHyperStàr6ˢᴰ extends AbstractGroßGetậlŌṁ6ˢᴰ<GroßGetậlŌṁHyperStàr6ˢᴰ> {
// 0th = V144Tocta
// 1th = 5 * V144Tocta
// 2th = 5 * 12 * V144Tocta
// etc
public GroßGetậlŌṁHyperStàr6ˢᴰ(byte level) {
super(level);
}
public GroßGetậlŌṁHyperStàr6ˢᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) {
// TODO
return level;
}
@Override
public GroßGetậlŌṁHyperStàr6ˢᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int x=0;x<getValueIndex0Length();x++) {
setValueIndex0(x);
for (int y=0;y<getValueIndex1Length();y++) {
setValueIndex1(y);
for (int z=0;z<getValueIndex1Length();z++) {
setValueIndex1(z);
cloneStack.addIterator(getValue().iteratorOctalsByClone());
}
}
}
return new GroßGetậlŌṁHyperStàr6ˢᴰ(getFractalLevel(), cloneStack);
}
}

View file

@ -0,0 +1,175 @@
package love.distributedrebirth.numberxd;
import java.util.ArrayList;
import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
import love.distributedrebirth.numberxd.base2t.type.V036Teger;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class Gê̄ldGetậl extends AbstractBaseGetậlLevel0<Gê̄ldGetậl,V009Tyte> {
private final V036Teger value;
private final double totalDecimalValue;
private static final Character LEFT_TO_RIGHT_MARK = 0x200E;
private static final Character RIGHT_TO_LEFT_MARK = 0x200F;
public Gê̄ldGetậl(V036Teger value) {
this.value = value;
this.totalDecimalValue = calculateDecimalValue();
}
public Gê̄ldGetậl(String money) {
if (money == null) {
throw new NullPointerException("Can't parse null money");
}
if (money.isEmpty()) {
throw new IllegalArgumentException("Can't parse zero money length");
}
if (money.length() > 8) { // RL + 4 chars + 3 vowels
throw new IllegalArgumentException("Money length should not exceed 8 codepoints");
}
List<Gê̄ldGetậlÅtHebrew> result = new ArrayList<>();
Gê̄ldGetậlÅtHebrew geldDigit = null;
for (int i=0;i<money.length();i++) {
char codePoint = (char) money.codePointAt(i);
if (LEFT_TO_RIGHT_MARK.equals(codePoint)) {
continue;
}
if (RIGHT_TO_LEFT_MARK.equals(codePoint)) {
continue;
}
if (geldDigit != null) {
Gê̄ldGetậlÅtHebrewVowel vowel = Gê̄ldGetậlÅtHebrewVowel.valueOfCharacter(codePoint);
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(vowel)) {
geldDigit.setVowel(vowel);
result.add(geldDigit);
geldDigit = null;
continue;
} else {
result.add(geldDigit);
}
}
Gê̄ldGetậlÅtHebrewLetter letter = Gê̄ldGetậlÅtHebrewLetter.valueOfCharacter(codePoint);
if (Gê̄ldGetậlÅtHebrewLetter.NONE.equals(letter)) {
throw new IllegalArgumentException("Unknown fraction codepoint: 0x"+Integer.toHexString(codePoint));
}
geldDigit = new Gê̄ldGetậlÅtHebrew(letter);
}
if (geldDigit != null) {
result.add(geldDigit);
}
if (result.isEmpty()) {
throw new IllegalArgumentException("No hebrew money found");
}
Gê̄ldGetậlÅtHebrew full = result.get(0);
Gê̄ldGetậlÅtHebrew deelA = null;
Gê̄ldGetậlÅtHebrew deelB = null;
Gê̄ldGetậlÅtHebrew deelC = null;
if (result.size() > 1) {
deelA = result.get(1);
} else {
deelA = new Gê̄ldGetậlÅtHebrew();
}
if (result.size() > 2) {
deelB = result.get(2);
} else {
deelB = new Gê̄ldGetậlÅtHebrew();
}
if (result.size() > 3) {
deelC = result.get(3);
} else {
deelC = new Gê̄ldGetậlÅtHebrew();
}
value = new V036Teger();
value.setTytePart(T04PartQuad.PART_1, full.toTyte());
value.setTytePart(T04PartQuad.PART_2, deelA.toTyte());
value.setTytePart(T04PartQuad.PART_3, deelB.toTyte());
value.setTytePart(T04PartQuad.PART_4, deelC.toTyte());
this.totalDecimalValue = calculateDecimalValue();
}
private double calculateDecimalValue() {
Gê̄ldGetậlÅtHebrew nummerAlphabet = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
Gê̄ldGetậlÅtHebrew nummerDeelA = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_2));
Gê̄ldGetậlÅtHebrew nummerDeelB = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_3));
Gê̄ldGetậlÅtHebrew nummerDeelC = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_4));
boolean hasFourDigits =
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter()) &&
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter()) &&
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelC.getLetter());
double totalDecimalValue = nummerAlphabet.toDecimalValue(hasFourDigits);
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
totalDecimalValue += nummerDeelA.toDecimalValue(false);
}
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter())) {
totalDecimalValue += nummerDeelB.toDecimalValue(false);
}
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelC.getLetter())) {
totalDecimalValue += nummerDeelC.toDecimalValue(false);
}
return totalDecimalValue;
}
public double getTotalDecimalValue() {
return totalDecimalValue;
}
public String toHebrewString() {
return toHebrewString(false);
}
public String toHebrewString(boolean reverse) {
Gê̄ldGetậlÅtHebrew nummerAlphabet = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
Gê̄ldGetậlÅtHebrew nummerDeelA = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_2));
Gê̄ldGetậlÅtHebrew nummerDeelB = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_3));
Gê̄ldGetậlÅtHebrew nummerDeelC = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_4));
StringBuilder buf = new StringBuilder();
buf.append(RIGHT_TO_LEFT_MARK);
buf.append(nummerAlphabet.getLetter().getCharacter());
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerAlphabet.getVowel())) {
buf.append(nummerAlphabet.getVowel().getCharacter());
}
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
buf.append(nummerDeelA.getLetter().getCharacter());
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerDeelA.getVowel())) {
buf.append(nummerDeelA.getVowel().getCharacter());
}
}
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter())) {
buf.append(nummerDeelB.getLetter().getCharacter());
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerDeelB.getVowel())) {
buf.append(nummerDeelB.getVowel().getCharacter());
}
}
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelC.getLetter())) {
buf.append(nummerDeelC.getLetter().getCharacter());
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerDeelC.getVowel())) {
buf.append(nummerDeelC.getVowel().getCharacter());
}
}
if (reverse) {
buf.reverse(); // ImGui skips RL marker so renders wrong....
}
return buf.toString();
}
@Override
public int getValueIndex0Length() {
return T04PartQuad.LENGTH();
}
@Override
public V009Tyte getValue() {
return value.getTytePart(T04PartQuad.values()[valueIndex0]);
}
@Override
public Gê̄ldGetậl toClone() {
return new Gê̄ldGetậl(value.toClone());
}
}

View file

@ -0,0 +1,70 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class Gê̄ldGetậlÅtHebrew {
private static final double NUMERATOR_ONE = 1d;
private static final int FRACTION_POWER = 10;
private Gê̄ldGetậlÅtHebrewLetter letter;
private Gê̄ldGetậlÅtHebrewVowel vowel;
public Gê̄ldGetậlÅtHebrew() {
this.letter = Gê̄ldGetậlÅtHebrewLetter.NONE;
this.vowel = Gê̄ldGetậlÅtHebrewVowel.NONE;
}
public Gê̄ldGetậlÅtHebrew(Gê̄ldGetậlÅtHebrewLetter letter) {
this.letter = letter;
this.vowel = Gê̄ldGetậlÅtHebrewVowel.NONE;
}
public Gê̄ldGetậlÅtHebrew(V009Tyte tyte) {
int value0 = tyte.getValue(T03PartTrit.PART_1).getValue().ordinalOf(T08PartOctal.PART_1);
int value1 = tyte.getValue(T03PartTrit.PART_2).getValue().ordinalOf(T08PartOctal.PART_2);
int value2 = tyte.getValue(T03PartTrit.PART_3).getValue().ordinalOf(T08PartOctal.PART_3);
int combinedValue = value0 + value1 + value2;
letter = Gê̄ldGetậlÅtHebrewLetter.indexOf(combinedValue);
vowel = Gê̄ldGetậlÅtHebrewVowel.indexOf(combinedValue >> Gê̄ldGetậlÅtHebrewLetter.SHIFT_5);
}
public V009Tyte toTyte() {
int combinedValue = letter.ordinal() + (vowel.ordinal() << Gê̄ldGetậlÅtHebrewLetter.SHIFT_5);
T08PartOctal value0 = T08PartOctal.indexOf(T08PartOctal.PART_1, combinedValue);
T08PartOctal value1 = T08PartOctal.indexOf(T08PartOctal.PART_2, combinedValue);
T08PartOctal value2 = T08PartOctal.indexOf(T08PartOctal.PART_3, combinedValue);
return new V009Tyte(value0, value1, value2);
}
public double toDecimalValue(boolean firstChar) {
double fraction = letter.getDecimal();
if (firstChar) {
return fraction; // use full value
}
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(vowel)) {
fraction = fraction * Math.pow(FRACTION_POWER, vowel.getFractionOffset());
}
double result = NUMERATOR_ONE/fraction;
return result;
}
public Gê̄ldGetậlÅtHebrewLetter getLetter() {
return letter;
}
public void setLetter(Gê̄ldGetậlÅtHebrewLetter letter) {
this.letter = letter;
}
public Gê̄ldGetậlÅtHebrewVowel getVowel() {
return vowel;
}
public void setVowel(Gê̄ldGetậlÅtHebrewVowel vowel) {
this.vowel = vowel;
}
}

View file

@ -0,0 +1,106 @@
package love.distributedrebirth.numberxd;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
public enum Gê̄ldGetậlÅtHebrewLetter {
// Unicode is horror in any language else than ascii;
// VS Alphabet order
// VS Unicode order
// VS Gematria order <== leading but with other decimals
NONE (0, (char) 0x05EF),
LETTER_1 (1, (char) 0x05D0),
LETTER_2 (2, (char) 0x05D1),
LETTER_3 (3, (char) 0x05D2),
LETTER_4 (4, (char) 0x05D3),
LETTER_5 (5, (char) 0x05D4),
LETTER_6 (6, (char) 0x05D5),
LETTER_7 (7, (char) 0x05D6),
LETTER_8 (8, (char) 0x05D7),
LETTER_9 (9, (char) 0x05D8),
LETTER_11 (11, (char) 0x05D9),
LETTER_12 (12, (char) 0x05DB),
LETTER_13 (13, (char) 0x05DC),
LETTER_14 (14, (char) 0x05DE),
LETTER_15 (15, (char) 0x05E0),
LETTER_16 (16, (char) 0x05E1),
LETTER_17 (17, (char) 0x05E2),
LETTER_18 (18, (char) 0x05E4),
LETTER_19 (19, (char) 0x05E6),
LETTER_21 (21, (char) 0x05E7),
LETTER_22 (22, (char) 0x05E8),
LETTER_23 (23, (char) 0x05E9),
LETTER_24 (24, (char) 0x05EA),
LETTER_25 (25, (char) 0x05DA),
LETTER_26 (26, (char) 0x05DD),
LETTER_27 (27, (char) 0x05DF),
LETTER_28 (28, (char) 0x05E3),
LETTER_29 (29, (char) 0x05E5),
/* // OLD
LETTER_11 (10, (char) 0x05D9),
LETTER_12 (20, (char) 0x05DB),
LETTER_13 (30, (char) 0x05DC),
LETTER_14 (40, (char) 0x05DE),
LETTER_15 (50, (char) 0x05E0),
LETTER_16 (60, (char) 0x05E1),
LETTER_17 (70, (char) 0x05E2),
LETTER_18 (80, (char) 0x05E4),
LETTER_19 (90, (char) 0x05E6),
LETTER_21 (100, (char) 0x05E7),
LETTER_22 (200, (char) 0x05E8),
LETTER_23 (300, (char) 0x05E9),
LETTER_24 (400, (char) 0x05EA),
LETTER_25 (500, (char) 0x05DA),
LETTER_26 (600, (char) 0x05DD),
LETTER_27 (700, (char) 0x05DF),
LETTER_28 (800, (char) 0x05E3),
LETTER_29 (900, (char) 0x05E5),
*/
LETTER_31 (31, (char) 0x05BE),
LETTER_32 (32, (char) 0x05C0),
LETTER_33 (33, (char) 0x05C3),
LETTER_34 (34, (char) 0x05C6),
;
public static final byte BITMASK = 0b00011111;
public static final byte SHIFT_5 = 5;
private final int decimal;
private final char character;
private static final Map<Character, Gê̄ldGetậlÅtHebrewLetter> CHAR_MAP = Collections.unmodifiableMap(
Arrays.asList(values()).stream().collect(Collectors.toMap(v -> v.getCharacter(), v -> v)));
private Gê̄ldGetậlÅtHebrewLetter(int decimal, char character) {
this.decimal = decimal;
this.character = character;
}
public int getDecimal() {
return decimal;
}
public char getCharacter() {
return character;
}
public static Gê̄ldGetậlÅtHebrewLetter indexOf(int index) {
return values()[index & BITMASK];
}
public static Gê̄ldGetậlÅtHebrewLetter valueOfCharacter(char codePoint) {
return CHAR_MAP.getOrDefault(codePoint, Gê̄ldGetậlÅtHebrewLetter.NONE);
}
}

View file

@ -0,0 +1,59 @@
package love.distributedrebirth.numberxd;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
public enum Gê̄ldGetậlÅtHebrewVowel {
NONE (0, (char) 0x0000),
VOWEL_1 (1, (char) 0x05B4),
VOWEL_2 (2, (char) 0x05B5),
VOWEL_3 (3, (char) 0x05B6),
VOWEL_4 (4, (char) 0x05B2),
VOWEL_5 (5, (char) 0x05C7),
VOWEL_6 (6, (char) 0x05B7), // 06 = PATAH
VOWEL_7 (7, (char) 0x05A1),
VOWEL_8 (8, (char) 0x05A2),
VOWEL_9 (9, (char) 0x05A3),
VOWEL_10 (10, (char) 0x05B9), // 10 = POINT HOLAM
VOWEL_16 (16, (char) 0x05B8), // 16 = QAMATS
VOWEL_22 (22, (char) 0x0598),
VOWEL_30 (30, (char) 0x05BB), // 30 = QUBUTS
VOWEL_36 (36, (char) 0x05B3), // 36 = HATAF QAMATS
VOWEL_42 (42, (char) 0x05B1), // 50 = HATEF SEGOL
;
public static final byte BITMASK = 0b00001111;
private final int fractionOffset;
private final char character;
private static final Map<Character, Gê̄ldGetậlÅtHebrewVowel> CHAR_MAP = Collections.unmodifiableMap(
Arrays.asList(values()).stream().collect(Collectors.toMap(v -> v.getCharacter(), v -> v)));
private Gê̄ldGetậlÅtHebrewVowel(int fractionOffset, char character) {
this.fractionOffset = fractionOffset;
this.character = character;
}
public int getFractionOffset() {
return fractionOffset;
}
public char getCharacter() {
return character;
}
public static Gê̄ldGetậlÅtHebrewVowel indexOf(int index) {
return values()[index & BITMASK];
}
public static Gê̄ldGetậlÅtHebrewVowel valueOfCharacter(char codePoint) {
return CHAR_MAP.getOrDefault(codePoint, Gê̄ldGetậlÅtHebrewVowel.NONE);
}
}

View file

@ -0,0 +1,44 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.typexl.V0x000CA8ˣᴸ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class KlompGetậl4ˢᴰ extends AbstractBaseGetậlLevel0<KlompGetậl4ˢᴰ,V0x000CA8ˣᴸ> {
private final V0x000CA8ˣᴸ[] values = new V0x000CA8ˣᴸ[T08PartOctal.LENGTH()];
public KlompGetậl4ˢᴰ() {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x000CA8ˣᴸ();
}
}
public KlompGetậl4ˢᴰ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x000CA8ˣᴸ(values);
}
}
@Override
public V0x000CA8ˣᴸ getValue() {
return values[valueIndex0];
}
@Override
public int getValueIndex0Length() {
return T08PartOctal.LENGTH();
}
@Override
public KlompGetậl4ˢᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int i=0;i<this.values.length;i++) {
cloneStack.addIterator(this.values[i].iteratorOctalsByClone());
}
return new KlompGetậl4ˢᴰ(cloneStack);
}
}

View file

@ -0,0 +1,75 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
import love.distributedrebirth.numberxd.base2t.typexl.V0x000CA8ˣᴸ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
* Array of ŌṁKlompGetậl4ˢᴰ sliced as cheese.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class KlompÅtŌṁKāassGetậl4ˢᴰ extends AbstractBaseGetậlLevel1<KlompÅtŌṁKāassGetậl4ˢᴰ, V0x000CA8ˣᴸ> {
private final V0x000CA8ˣᴸ[][] kaas;
private final int kaasCuts;
public KlompÅtŌṁKāassGetậl4ˢᴰ(int kaasCuts) {
if (kaasCuts < 2) {
throw new IllegalArgumentException("Can't slice cheese into less than one peace.");
}
this.kaasCuts = kaasCuts;
this.kaas = new V0x000CA8ˣᴸ[T08PartOctal.LENGTH()][kaasCuts];
for (int x=0;x<this.kaas.length;x++) {
for (int y=0;y<this.kaas[x].length;y++) {
this.kaas[x][y] = new V0x000CA8ˣᴸ();
}
}
}
public KlompÅtŌṁKāassGetậl4ˢᴰ(int kaasCuts, BaseIteratorOctal values) {
if (kaasCuts < 2) {
throw new IllegalArgumentException("Can't slice cheese into less than one peace.");
}
this.kaasCuts = kaasCuts;
this.kaas = new V0x000CA8ˣᴸ[T08PartOctal.LENGTH()][kaasCuts];
for (int x=0;x<this.kaas.length;x++) {
for (int y=0;y<this.kaas[x].length;y++) {
this.kaas[x][y] = new V0x000CA8ˣᴸ(values);
}
}
}
public int getKaasCuts() {
return kaasCuts;
}
@Override
public V0x000CA8ˣᴸ getValue() {
return kaas[valueIndex0][valueIndex1];
}
@Override
public int getValueIndex0Length() {
return T08PartOctal.LENGTH();
}
@Override
public int getValueIndex1Length() {
return kaasCuts;
}
@Override
public KlompÅtŌṁKāassGetậl4ˢᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int x=0;x<getValueIndex0Length();x++) {
setValueIndex0(x);
for (int y=0;y<getValueIndex1Length();y++) {
setValueIndex1(y);
cloneStack.addIterator(getValue().iteratorOctalsByClone());
}
}
return new KlompÅtŌṁKāassGetậl4ˢᴰ(getKaasCuts(), cloneStack);
}
}

View file

@ -0,0 +1,47 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
import love.distributedrebirth.numberxd.base2t.typexl.V0x049D40ˣᴸ;
/**
* Wave quad channel.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class WaveGetậl1ᑫᴰ extends AbstractBaseGetậlLevel0<WaveGetậl1ᑫᴰ, V0x049D40ˣᴸ> {
private final V0x049D40ˣᴸ[] values = new V0x049D40ˣᴸ[T04PartQuad.LENGTH()];
public WaveGetậl1ᑫᴰ() {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x049D40ˣᴸ();
}
}
public WaveGetậl1ᑫᴰ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x049D40ˣᴸ(values);
}
}
@Override
public V0x049D40ˣᴸ getValue() {
return values[valueIndex0];
}
@Override
public int getValueIndex0Length() {
return T04PartQuad.LENGTH();
}
@Override
public WaveGetậl1ᑫᴰ toClone() {
BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
for (int i=0;i<this.values.length;i++) {
cloneStack.addIterator(this.values[i].iteratorOctalsByClone());
}
return new WaveGetậl1ᑫᴰ(cloneStack);
}
}

View file

@ -0,0 +1,32 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.typexl.V0x049D40ˣᴸ;
/**
* Wave mono channel.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class WaveGetậl1ⁿᴰ implements BaseGetậl<WaveGetậl1ⁿᴰ, V0x049D40ˣᴸ> {
private final V0x049D40ˣᴸ value;
public WaveGetậl1ⁿᴰ() {
value = new V0x049D40ˣᴸ();
}
public WaveGetậl1ⁿᴰ(BaseIteratorOctal values) {
value = new V0x049D40ˣᴸ(values);
}
@Override
public V0x049D40ˣᴸ getValue() {
return value;
}
@Override
public WaveGetậl1ⁿᴰ toClone() {
return new WaveGetậl1ⁿᴰ(getValue().iteratorOctalsByClone());
}
}

View file

@ -0,0 +1,8 @@
package love.distributedrebirth.numberxd.alu;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class ŌctopǔsALU {
}

View file

@ -0,0 +1,10 @@
package love.distributedrebirth.numberxd.alu;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum ŌctopǔsBreukOpểrǟtiẻ {
OP_TEL,
AF_TREK
}

View file

@ -0,0 +1,10 @@
package love.distributedrebirth.numberxd.alu;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum ŌctopǔsSnijOpểrǟtiẻ {
OP_TEL,
AF_TREK
}

View file

@ -0,0 +1,110 @@
package love.distributedrebirth.numberxd.base2t;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnEnumInstanceʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
import love.distributedrebirth.numberxd.base2t.type.V072Tong;
import love.distributedrebirth.numberxd.base2t.type.V144Tocta;
/**
* Terminate from and to classical bytes.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum Base2Terminator implements BãßBȍőnEnumInstanceʸᴰ<Base2Terminator> {
INSTANCE;
private static final int STREAM_EOF = -1;
private static final int BLOCK_TONG_SIZE = 9;
private static final int BLOCK_TOCTA_SIZE = 18;
private static final int SHIFT_8 = 8;
private static final int SHIFT_16 = 16;
public int Bãß2ReadTong(InputStream input, List<V072Tong> output) throws IOException {
int totalBytes = 0;
byte[] data = new byte[BLOCK_TONG_SIZE];
int readDataSize = 0; // per 9 bytes we have 24 octals for one V072Tong number
while ((readDataSize = input.read(data, 0, data.length)) != STREAM_EOF) {
Bãß2ReadCheckSize(readDataSize, BLOCK_TONG_SIZE);
int v0 = data[0] + (data[1] << SHIFT_8) + (data[2] << SHIFT_16);
int v1 = data[3] + (data[4] << SHIFT_8) + (data[5] << SHIFT_16);
int v2 = data[6] + (data[7] << SHIFT_8) + (data[8] << SHIFT_16);
List<T08PartOctal> octals = Bãß2ReadOctals(v0, v1, v2);
output.add(new V072Tong(new BaseIteratorOctalAdapter(octals.iterator())));
totalBytes += BLOCK_TONG_SIZE;
}
return totalBytes;
}
public int Bãß2ReadTocta(InputStream input, List<V144Tocta> output) throws IOException {
int totalBytes = 0;
byte[] data = new byte[BLOCK_TOCTA_SIZE];
int readDataSize = 0; // per 18 bytes we have 48 octals for one V144Tocta number
while ((readDataSize = input.read(data, 0, data.length)) != STREAM_EOF) {
Bãß2ReadCheckSize(readDataSize, BLOCK_TOCTA_SIZE);
int v0 = data[0] + (data[1] << SHIFT_8) + (data[2] << SHIFT_16);
int v1 = data[3] + (data[4] << SHIFT_8) + (data[5] << SHIFT_16);
int v2 = data[6] + (data[7] << SHIFT_8) + (data[8] << SHIFT_16);
int v3 = data[9] + (data[10] << SHIFT_8) + (data[11] << SHIFT_16);
int v4 = data[12] + (data[13] << SHIFT_8) + (data[14] << SHIFT_16);
int v5 = data[15] + (data[16] << SHIFT_8) + (data[17] << SHIFT_16);
List<T08PartOctal> octals = Bãß2ReadOctals(v0, v1, v2, v3, v4, v5);
output.add(new V144Tocta(new BaseIteratorOctalAdapter(octals.iterator())));
totalBytes += BLOCK_TOCTA_SIZE;
}
return totalBytes;
}
private void Bãß2ReadCheckSize(int readDataSize, int expectedSize) throws IOException {
if (readDataSize < expectedSize) {
throw new IOException("Expected "+expectedSize+" bytes, got: "+readDataSize);
}
}
private List<T08PartOctal> Bãß2ReadOctals(int...values) {
List<T08PartOctal> octals = new ArrayList<>();
for (int value:values) {
T08PartOctal.PART_1.BãßVoorElk(v -> octals.add(T08PartOctal.indexOf(v, value)));
}
return octals;
}
public int Bãß2WriteTong(List<V072Tong> data, OutputStream output) throws IOException {
return Bãß2Write(data, output);
}
public int Bãß2WriteTocta(List<V144Tocta> data, OutputStream output) throws IOException {
return Bãß2Write(data, output);
}
private <T extends BaseNumber<T>> int Bãß2Write(List<T> data, OutputStream output) throws IOException {
int totalBytes = 0; // per 8 octa's is 3 bytes
List<T08PartOctal> octals = new ArrayList<>();
BaseAppenderOctal appender = new BaseAppenderOctal(octals);
data.forEach(v -> v.fillOctalsByClone(appender));
Iterator<T08PartOctal> read = octals.iterator();
while (read.hasNext()) {
int byteTriplet = 0;
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_1);
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_2);
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_3);
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_4);
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_5);
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_6);
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_7);
byteTriplet += read.next().ordinalOf(T08PartOctal.PART_8);
output.write(byteTriplet);
output.write(byteTriplet >> SHIFT_8);
output.write(byteTriplet >> SHIFT_16);
totalBytes += 3;
}
return totalBytes;
}
}

View file

@ -0,0 +1,9 @@
package love.distributedrebirth.numberxd.base2t;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseAppender<T> {
void add(T value);
}

View file

@ -0,0 +1,24 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.Collection;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Appender model for Octals.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class BaseAppenderOctal implements BaseAppender<T08PartOctal> {
private final Collection<T08PartOctal> collection;
public BaseAppenderOctal(Collection<T08PartOctal> collection) {
this.collection = collection;
}
@Override
public void add(T08PartOctal value) {
collection.add(value);
}
}

View file

@ -0,0 +1,24 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.Collection;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
/**
* Appender model for Tytes.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class BaseAppenderTyte implements BaseAppender<V009Tyte> {
private final Collection<V009Tyte> collection;
public BaseAppenderTyte(Collection<V009Tyte> collection) {
this.collection = collection;
}
@Override
public void add(V009Tyte value) {
collection.add(value);
}
}

View file

@ -0,0 +1,15 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.Iterator;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Iterator model for Octals.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseIteratorOctal extends Iterator<T08PartOctal> {
}

View file

@ -0,0 +1,29 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.Iterator;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Iterator model for Octals.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class BaseIteratorOctalAdapter implements BaseIteratorOctal {
private final Iterator<T08PartOctal> iterator;
public BaseIteratorOctalAdapter(Iterator<T08PartOctal> iterator) {
this.iterator = iterator;
}
@Override
public boolean hasNext() {
return iterator.hasNext();
}
@Override
public T08PartOctal next() {
return iterator.next();
}
}

View file

@ -0,0 +1,45 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.Stack;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Stack model for octal iterators.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class BaseIteratorOctalStack implements BaseIteratorOctal {
private final Stack<BaseIteratorOctal> stack = new Stack<>();
public BaseIteratorOctalStack() {
}
public void addIterator(BaseIteratorOctal iterator) {
stack.push(iterator);
}
@Override
public boolean hasNext() {
if (stack.isEmpty()) {
return false;
}
if (stack.peek().hasNext()) {
return true;
}
stack.pop();
if (stack.isEmpty()) {
return false;
}
return stack.peek().hasNext();
}
@Override
public T08PartOctal next() {
if (stack.isEmpty()) {
throw new IllegalStateException("Stack is empty.");
}
return stack.peek().next();
}
}

View file

@ -0,0 +1,29 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.Iterator;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
/**
* Iterator model for Tytes.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class BaseIteratorTyte implements Iterator<V009Tyte> {
private final Iterator<V009Tyte> iterator;
public BaseIteratorTyte(Iterator<V009Tyte> iterator) {
this.iterator = iterator;
}
@Override
public boolean hasNext() {
return iterator.hasNext();
}
@Override
public V009Tyte next() {
return iterator.next();
}
}

View file

@ -0,0 +1,32 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.ArrayList;
import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Octal base based number interface.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseNumber<V extends BaseNumber<V>> {
static float CIRCLE_DEGREE = 360f;
int getBitCount();
default float getSliceAngle() {
return CIRCLE_DEGREE/getBitCount();
}
V toClone();
void fillOctalsByClone(BaseAppenderOctal appender);
default BaseIteratorOctal iteratorOctalsByClone() {
List<T08PartOctal> octals = new ArrayList<>();
fillOctalsByClone(new BaseAppenderOctal(octals));
return new BaseIteratorOctalAdapter(octals.iterator());
}
}

View file

@ -0,0 +1,22 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.ArrayList;
import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
/**
* Adds Tyte fill and reference support.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseNumberTyte<V extends BaseNumber<V>> extends BaseNumber<V> {
void fillTytesByReference(BaseAppenderTyte appender);
default BaseIteratorTyte iteratorTytesByReference() {
List<V009Tyte> tytes = new ArrayList<>();
fillTytesByReference(new BaseAppenderTyte(tytes));
return new BaseIteratorTyte(tytes.iterator());
}
}

View file

@ -0,0 +1,11 @@
package love.distributedrebirth.numberxd.base2t;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
* Propogate baseXL interface upwards.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseNumberTyteXL<V extends BaseNumber<V>> extends BaseNumberXL<V>,BaseNumberTyte<V> {
}

View file

@ -0,0 +1,11 @@
package love.distributedrebirth.numberxd.base2t;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
/**
* Marker for XL numbers which needs seperator renderer.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BaseNumberXL<V extends BaseNumber<V>> extends BaseNumber<V> {
}

View file

@ -0,0 +1,67 @@
package love.distributedrebirth.numberxd.base2t;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnEnumInstanceʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
import love.distributedrebirth.numberxd.base2t.part.T05PartPental;
import love.distributedrebirth.numberxd.base2t.part.T06PartSeximal;
import love.distributedrebirth.numberxd.base2t.part.T07PartPlanIt;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
import love.distributedrebirth.numberxd.base2t.part.T10PartDecimal;
import love.distributedrebirth.numberxd.base2t.part.T11PartUndecimal;
import love.distributedrebirth.numberxd.base2t.part.T12PartUncial;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
import love.distributedrebirth.numberxd.base2t.part.T20PartScore;
import love.distributedrebirth.numberxd.base2t.part.T60PartSexagesimal;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "BasePartFactory", purpose = "Factory to access the bases.")
public enum BasePartFactory implements BãßBȍőnEnumInstanceʸᴰ<BasePartFactory> {
INSTANCE;
private static final int[] SUPPORTED_BASES = {2,3,4,5,6,7,8,10,11,12,16,20,60};
public int[] BãßBases() {
return SUPPORTED_BASES;
}
public BãßBȍőnPartʸᴰ<?>[] BãßBuildPartsByBase(int base) {
switch (base) {
case 2:
return T02PartBinary.values();
case 3:
return T03PartTrit.values();
case 4:
return T04PartQuad.values();
case 5:
return T05PartPental.values();
case 6:
return T06PartSeximal.values();
case 7:
return T07PartPlanIt.values();
case 8:
return T08PartOctal.values();
case 9:
throw new IllegalArgumentException("Unsupported base: "+base);
case 10:
return T10PartDecimal.values();
case 11:
return T11PartUndecimal.values();
case 12:
return T12PartUncial.values();
case 16:
return T16PartHex.values();
case 20:
return T20PartScore.values();
case 60:
return T60PartSexagesimal.values();
default:
throw new IllegalArgumentException("Unsupported base: "+base);
}
}
}

View file

@ -0,0 +1,88 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T10PartDecimal;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "BaseGlyphSet", purpose = "The encoded base scripts.")
public enum BaseGlyphSet implements BãßBȍőnGlyphSetʸᴰ<BaseGlyphSet> {
// TODO: ImGui add font for SINHALA
// TODO: ImGui add font for TONE_LETTER missing plane 1,2,3
// TODO: ImGui add font for BURMESE
// TODO: ImGui add font for ARABIC
LATIN_DTMF(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaValue()))).withSeperator(" "),
new BaseGlyphSetNumber("1","2","3","A","4","5","6","B","7","8","9","C","*","0","#","D"),
null),
LATIN_BASIC(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(Integer.toString(x.BȍőnRangTelNul())))),
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R")),
LATIN_TOP16(new BaseGlyphSetNumber("","¹","²","³","","","","","",""),
new BaseGlyphSetNumber("","¹","²","³","","","","","","","","","","","",""),
new BaseGlyphSetNumber("¹","²","³","","","","","","","","","","","","","","","","","","","","","","","Q","ᴿ")),
LATIN_SUB16(new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","բ"),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","բ","G","","","","","","","","","","Q","")),
TONE_LETTER(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnIdentifierTone()))),
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(x -> v.add(x.BȍőnIdentifierTone()))),
new BaseGlyphSetNumber("꜊꜈","꜊꜉","꜊꜋","꜊꜌","꜊꜍","꜊꜎","꜊꜏","꜊꜐","꜊꜑","˧˥","˧˦","˧˨","˧˩","˧꜒","˧꜓","˧꜔","˧꜕","˧꜖","꜏˥","꜏˦","꜏˧","꜏˨","꜏˩","꜏꜍","꜏꜎","꜏꜐","꜏꜑")),
DIPAVALI_TONE_LR_TOP16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
null),
DIPAVALI_TONE_LR_SUB16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_SUB16),
null),
DIPAVALI_TONE_RL_TOP16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
null),
DIPAVALI_TONE_RL_SUB16(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_SUB16),
null),
BURMESE(new BaseGlyphSetNumber("\u1040","\u1041","\u1042","\u1043","\u1044","\u1045","\u1046","\u1047","\u1048","\u1049")),
BENGALI(new BaseGlyphSetNumber("","","","","","","","","","")),
SINHALA(new BaseGlyphSetNumber("","","","","","","","","","")),
CHINA_FINANCIAL_T(new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaKey()))),
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaKey()))).withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
null),
CHINA_FINANCIAL_S(new BaseGlyphSetNumber("","","","","","","","","","")),
CHINA_NORMAL_T(new BaseGlyphSetNumber("","","","","","","","","","")),
CHINA_NORMAL_S(new BaseGlyphSetNumber("","","","","","","","","","")),
GREEK(new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ"),
new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ϟ","ρ","σ","τ","υ","φ","χ","ψ","ω","ϡ")),
KOREAN(new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
ARABIC(new BaseGlyphSetNumber("٠","١","٢","٣","٤","٥","٦","٧","٨","٩"),
new BaseGlyphSetNumber("٠","١","٢","٣","٤","٥","٦","٧","٨","٩","ا","ب","ج","د","ه","و").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("ا","ب","ج","د","ه","و","ز","ح","ط","ي","ك","ل","م","ن","س","ع","ف","ص","ق","ر","ش","ت","ث","خ","ذ","ض","ظ")),
HEBREW(new BaseGlyphSetNumber("אֶפֶס","אֶחָד","שְׁתַּיִם","שְׁלֹשָׁה","אַרְבַּע‎","חֲמִשָּׁה‎","שֵׁשׁ‎","שִׁבְעָה","שְׁמוֹנֶה","תִּשְׁעָה‎").withSeperator(" "),
new BaseGlyphSetNumber("אֶפֶס","אֶחָד","שְׁתַּיִם","שְׁלֹשָׁה","אַרְבַּע‎","חֲמִשָּׁה‎","שֵׁשׁ‎","שִׁבְעָה","שְׁמוֹנֶה","תִּשְׁעָה‎","א","ב","ג","ד","ה","ו").withAltGlyphSet(BaseGlyphSet.LATIN_TOP16),
new BaseGlyphSetNumber("א","ב","ג","ד","ה","ו","ז","ח","ט","י","כ","ל","מ","נ","ס ","ע","פ","צ","ק","ר","ש","ת","ך","ם","ן","ף","ץ")),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private BaseGlyphSet(BaseGlyphSetNumber numbers) {
this(numbers, null, null);
}
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria) {
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, hex);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, gematria);
}
}

View file

@ -0,0 +1,179 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppender;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class BaseGlyphSetNumber {
private final List<String> chars = new ArrayList<>();
private BaseGlyphSet altGlyphSet = null;
private String charSeperator = "";
public BaseGlyphSetNumber(String char0, String char1, String char2, String char3, String char4, String char5,
String char6, String char7, String char8, String char9) {
this.chars.add(char0);
this.chars.add(char1);
this.chars.add(char2);
this.chars.add(char3);
this.chars.add(char4);
this.chars.add(char5);
this.chars.add(char6);
this.chars.add(char7);
this.chars.add(char8);
this.chars.add(char9);
}
public BaseGlyphSetNumber(String char0, String char1, String char2, String char3, String char4, String char5,
String char6, String char7, String char8, String char9, String charA, String charB, String charC,
String charD, String charE, String charF) {
this.chars.add(char0);
this.chars.add(char1);
this.chars.add(char2);
this.chars.add(char3);
this.chars.add(char4);
this.chars.add(char5);
this.chars.add(char6);
this.chars.add(char7);
this.chars.add(char8);
this.chars.add(char9);
this.chars.add(charA);
this.chars.add(charB);
this.chars.add(charC);
this.chars.add(charD);
this.chars.add(charE);
this.chars.add(charF);
}
public BaseGlyphSetNumber(String char1, String char2, String char3, String char4, String char5, String char6,
String char7, String char8, String char9, String char10, String char20, String char30, String char40,
String char50, String char60, String char70, String char80, String char90, String char100, String char200,
String char300, String char400, String char500, String char600, String char700, String char800,
String char900) {
this.chars.add(char1);
this.chars.add(char2);
this.chars.add(char3);
this.chars.add(char4);
this.chars.add(char5);
this.chars.add(char6);
this.chars.add(char7);
this.chars.add(char8);
this.chars.add(char9);
this.chars.add(char10);
this.chars.add(char20);
this.chars.add(char30);
this.chars.add(char40);
this.chars.add(char50);
this.chars.add(char60);
this.chars.add(char70);
this.chars.add(char80);
this.chars.add(char90);
this.chars.add(char100);
this.chars.add(char200);
this.chars.add(char300);
this.chars.add(char400);
this.chars.add(char500);
this.chars.add(char600);
this.chars.add(char700);
this.chars.add(char800);
this.chars.add(char900);
}
public BaseGlyphSetNumber(Consumer<BaseAppender<String>> consumer) {
consumer.accept(new BaseAppender<String>() {
@Override
public void add(String value) {
chars.add(value);
}
});
}
public BaseGlyphSetNumber withAltGlyphSet(BaseGlyphSet altGlyphSet) {
this.altGlyphSet = altGlyphSet;
return this;
}
public BaseGlyphSetNumber withSeperator(String charSeperator) {
this.charSeperator = charSeperator;
return this;
}
public String BȍőnCharFor(int number) {
return chars.get(number);
}
public String BȍőnCharSeperator() {
return charSeperator;
}
public BaseGlyphSet BȍőnAltGlyphSet() {
return altGlyphSet;
}
public String BȍőnCharFor36(int number) {
switch (number) {
case 1:
return chars.get(0);
case 2:
return chars.get(1);
case 3:
return chars.get(2);
case 4:
return chars.get(3);
case 5:
return chars.get(4);
case 6:
return chars.get(5);
case 7:
return chars.get(6);
case 8:
return chars.get(7);
case 9:
return chars.get(8);
case 10:
return chars.get(9);
case 20:
return chars.get(10);
case 30:
return chars.get(11);
case 40:
return chars.get(12);
case 50:
return chars.get(13);
case 60:
return chars.get(14);
case 70:
return chars.get(15);
case 80:
return chars.get(16);
case 90:
return chars.get(17);
case 100:
return chars.get(18);
case 200:
return chars.get(19);
case 300:
return chars.get(20);
case 400:
return chars.get(21);
case 500:
return chars.get(22);
case 600:
return chars.get(23);
case 700:
return chars.get(24);
case 800:
return chars.get(25);
case 900:
return chars.get(26);
default:
throw new IllegalArgumentException("Can't handle higher numbers: "+number);
}
}
}

View file

@ -0,0 +1,13 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum BãßBȍőnGlyphSetKeyʸᴰ implements BãßBȍőnCoffinStoreKeyʸᴰ {
NUMBERS,
GEMATRIA,
HEXIMALS,
;
}

View file

@ -0,0 +1,21 @@
package love.distributedrebirth.numberxd.base2t.glyph;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnEnumSetʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnGlyphSetʸᴰ<T extends BãßBȍőnGlyphSetʸᴰ<T>> extends BãßBȍőnEnumSetʸᴰ<T>, BãßBȍőnCoffinStoreʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> {
default BaseGlyphSetNumber BȍőnGlyphSetNumber10() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, BaseGlyphSetNumber.class);
}
default BaseGlyphSetNumber BȍőnGlyphSetNumber16() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, BaseGlyphSetNumber.class);
}
default BaseGlyphSetNumber BȍőnGlyphSetNumber36() {
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, BaseGlyphSetNumber.class);
}
}

View file

@ -0,0 +1,18 @@
package love.distributedrebirth.numberxd.base2t.part;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface BãßBȍőnPartAlt1Infoʸᴰ {
String name();
String website();
}

View file

@ -0,0 +1,21 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnAnnotationInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotationInfoʸᴰ(required = {BãßBȍőnPartAlt1Infoʸᴰ.class})
public interface BãßBȍőnPartAlt1ʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends BãßBȍőnPartʸᴰ<T> {
default String BȍőnAlt1Value() {
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE);
}
default String BãßAlt1Name() {
return getClass().getAnnotation(BãßBȍőnPartAlt1Infoʸᴰ.class).name();
}
default String BãßAlt1Website() {
return getClass().getAnnotation(BãßBȍőnPartAlt1Infoʸᴰ.class).website();
}
}

View file

@ -0,0 +1,18 @@
package love.distributedrebirth.numberxd.base2t.part;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface BãßBȍőnPartAlt2Infoʸᴰ {
String name();
String website();
}

View file

@ -0,0 +1,21 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnAnnotationInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotationInfoʸᴰ(required = {BãßBȍőnPartAlt2Infoʸᴰ.class})
public interface BãßBȍőnPartAlt2ʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends BãßBȍőnPartAlt1ʸᴰ<T> {
default String BȍőnAlt2Value() {
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE);
}
default String BãßAlt2Name() {
return getClass().getAnnotation(BãßBȍőnPartAlt2Infoʸᴰ.class).name();
}
default String BãßAlt2Website() {
return getClass().getAnnotation(BãßBȍőnPartAlt2Infoʸᴰ.class).website();
}
}

View file

@ -0,0 +1,18 @@
package love.distributedrebirth.numberxd.base2t.part;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface BãßBȍőnPartAlt3Infoʸᴰ {
String name();
String website();
}

View file

@ -0,0 +1,21 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnAnnotationInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotationInfoʸᴰ(required = {BãßBȍőnPartAlt3Infoʸᴰ.class})
public interface BãßBȍőnPartAlt3ʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends BãßBȍőnPartAlt2ʸᴰ<T> {
default String BȍőnAlt3Value() {
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.ALT_3_VALUE);
}
default String BãßAlt3Name() {
return getClass().getAnnotation(BãßBȍőnPartAlt3Infoʸᴰ.class).name();
}
default String BãßAlt3Website() {
return getClass().getAnnotation(BãßBȍőnPartAlt3Infoʸᴰ.class).website();
}
}

View file

@ -0,0 +1,18 @@
package love.distributedrebirth.numberxd.base2t.part;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface BãßBȍőnPartAlt4Infoʸᴰ {
String name();
String website();
}

View file

@ -0,0 +1,21 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnAnnotationInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotationInfoʸᴰ(required = {BãßBȍőnPartAlt4Infoʸᴰ.class})
public interface BãßBȍőnPartAlt4ʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends BãßBȍőnPartAlt3ʸᴰ<T> {
default String BȍőnAlt4Value() {
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.ALT_4_VALUE);
}
default String BãßAlt4Name() {
return getClass().getAnnotation(BãßBȍőnPartAlt4Infoʸᴰ.class).name();
}
default String BãßAlt4Website() {
return getClass().getAnnotation(BãßBȍőnPartAlt4Infoʸᴰ.class).website();
}
}

View file

@ -0,0 +1,22 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum BãßBȍőnPartKeyʸᴰ implements BãßBȍőnCoffinStoreKeyʸᴰ {
ID_TONE,
CHINA_KEY,
CHINA_VALUE,
SHIFT_BITS,
MAP_TONE,
MAP_CHINA,
ALT_1_VALUE,
ALT_2_VALUE,
ALT_3_VALUE,
ALT_4_VALUE,
;
}

View file

@ -0,0 +1,11 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnPartShiftBitsʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends BãßBȍőnPartʸᴰ<T> {
default Integer getShiftBits() {
return GET_BBC().GET_INT(BãßBȍőnPartKeyʸᴰ.SHIFT_BITS);
}
}

View file

@ -0,0 +1,137 @@
package love.distributedrebirth.numberxd.base2t.part;
import java.util.Map;
import java.util.stream.Collectors;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnEnumSetʸᴰ;
import love.distributedrebirth.numberxd.base2t.glyph.BaseGlyphSet;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnPartʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends BãßBȍőnEnumSetʸᴰ<T>, BãßBȍőnCoffinStoreʸᴰ<BãßBȍőnPartKeyʸᴰ> {
default String BȍőnIdentifierTone() {
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.ID_TONE);
}
default String BȍőnChinaKey() {
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.CHINA_KEY);
}
default String BȍőnChinaValue() {
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE);
}
default String BȍőnGlyphSetNumber10(BaseGlyphSet glyphSet) {
StringBuilder buf = new StringBuilder();
T[] values = BãßInstances();
if (values.length <= 10) {
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharFor(BȍőnRangTelNul()));
} else if (values.length <= 100) {
int count = BȍőnRangTelNul();
int mod10 = count % 10;
int div10 = count / 10;
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharFor(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharFor(mod10));
} else if (values.length <= 1000) {
int count = BȍőnRangTelNul();
int mod10 = count % 10;
int div10 = count / 10;
int div100 = count / 100;
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharFor(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharFor(div100));
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber10().BȍőnCharFor(mod10));
} else {
throw new IllegalStateException("Can't handle more than 1000 values.");
}
if (BaseGlyphSet.HEBREW.equals(glyphSet)) {
return buf.reverse().toString(); // TODO: ImGui workaround
}
return buf.toString();
}
default String BȍőnGlyphSetNumber16(BaseGlyphSet glyphSet) {
StringBuilder buf = new StringBuilder();
T[] values = BãßInstances();
if (values.length <= 16) {
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul()));
} else if (values.length <= 256) {
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() >> 4));
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharSeperator());
BaseGlyphSet secondGlyphSet = glyphSet.BȍőnGlyphSetNumber16().BȍőnAltGlyphSet();
if (secondGlyphSet == null) {
secondGlyphSet = glyphSet;
}
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() & 0x0F));
} else if (values.length <= 0xFFF+1) {
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor((BȍőnRangTelNul() >> 8) & 0x0F));
buf.append(glyphSet.BȍőnGlyphSetNumber16().BȍőnCharSeperator());
BaseGlyphSet secondGlyphSet = glyphSet.BȍőnGlyphSetNumber16().BȍőnAltGlyphSet();
if (secondGlyphSet == null) {
secondGlyphSet = glyphSet;
}
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor((BȍőnRangTelNul() >> 4) & 0x0F));
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharSeperator());
buf.append(secondGlyphSet.BȍőnGlyphSetNumber16().BȍőnCharFor(BȍőnRangTelNul() & 0x0F));
} else {
throw new IllegalStateException("Can't handle more than 0xFFF values.");
}
if (BaseGlyphSet.HEBREW.equals(glyphSet)) {
return buf.reverse().toString(); // TODO: ImGui workaround
}
return buf.toString();
}
default String BȍőnGlyphSetNumber36(BaseGlyphSet glyphSet) {
StringBuilder buf = new StringBuilder();
T[] values = BãßInstances();
if (values.length <= 9) {
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(BȍőnRangTelEen()));
} else if (values.length <= 99) {
int count = BȍőnRangTelNul();
int mod10 = count % 9 + 1;
int div10 = count / 9 + 1;
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(mod10));
} else if (values.length <= 999) {
int count = BȍőnRangTelNul();
int mod10 = count % 9 + 1;
int div10 = count / 90 + 1;
int div100 = count / 900 + 1;
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(div10));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(div100));
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharSeperator());
buf.append(glyphSet.BȍőnGlyphSetNumber36().BȍőnCharFor36(mod10));
} else {
throw new IllegalStateException("Can't handle more than 1000 values.");
}
if (BaseGlyphSet.HEBREW.equals(glyphSet)) {
return buf.reverse().toString(); // TODO: ImGui workaround
}
return buf.toString();
}
@SuppressWarnings("unchecked")
default T BãßValueOfTone(String identifierTone) {
Map<String,Object> mapTone = GET_BBC().GET_MAP_OBJ(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
if (mapTone.isEmpty()) {
mapTone.putAll(BãßInstancesStream().collect(Collectors.toMap(v -> v.BȍőnIdentifierTone(), v -> v)));
}
return (T) mapTone.get(identifierTone);
}
@SuppressWarnings("unchecked")
default T BãßValueOfChina(String chinaKey) {
Map<String,Object> mapChina = GET_BBC().GET_MAP_OBJ(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
if (mapChina.isEmpty()) {
mapChina.putAll(BãßInstancesStream().collect(Collectors.toMap(v -> v.BȍőnChinaKey(), v -> v)));
}
return (T) mapChina.get(chinaKey);
}
}

View file

@ -0,0 +1,27 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T02PartBinary", purpose = "The distribution by 2.")
public enum T02PartBinary implements BãßBȍőnPartʸᴰ<T02PartBinary> {
PART_1("˧", "", "low"),
PART_2("", "", "high"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T02PartBinary(String idTone, String chinaKey, String chinaValue) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,28 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T03PartTrit", purpose = "The distribution by 3.")
public enum T03PartTrit implements BãßBȍőnPartʸᴰ<T03PartTrit> {
PART_1("˦","","1"),
PART_2("˧","","2"),
PART_3("˨","","3"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T03PartTrit(String idTone, String chinaKey, String chinaValue) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,35 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T04PartQuad", purpose = "The distribution by 4.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Cardinal direction", website = "https://simple.wikipedia.org/wiki/Cardinal_direction")
public enum T04PartQuad implements BãßBȍőnPartAlt1ʸᴰ<T04PartQuad> {
PART_1("˥","","north","N"),
PART_2("","","east", "E"),
PART_3("","西","west", "W"),
PART_4("˩","","south","S"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T04PartQuad(String idTone, String chinaKey, String chinaValue, String alt1Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
public T02PartBinary splitPartBinary(T02PartBinary part) {
return T02PartBinary.values()[(ordinal() >> part.ordinal()) & 1];
}
}

View file

@ -0,0 +1,34 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T05PartPental", purpose = "The distribution by 5 called Wuxing.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Pentagram", website = "https://en.wikipedia.org/wiki/Pentagram")
@BãßBȍőnPartAlt2Infoʸᴰ(name = "Pythagorean Interpretations", website = "http://wisdomofhypatia.com/OM/BA/PP.html")
public enum T05PartPental implements BãßBȍőnPartAlt2ʸᴰ<T05PartPental> {
PART_1("˥","","fire", "EI","heile"),
PART_2("˦","","water","U", "hudor"),
PART_3("˧","","wood" ,"I", "idea"),
PART_4("˨","","gold", "A", "aer"),
PART_5("˩","","earth","G", "gaia"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T05PartPental(String idTone, String chinaKey, String chinaValue, String alt1Value, String alt2Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE, alt2Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,41 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T06PartSeximal", purpose = "The distribution by 6.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "ADFGVX cipher", website = "https://en.wikipedia.org/wiki/ADFGVX_cipher")
public enum T06PartSeximal implements BãßBȍőnPartAlt1ʸᴰ<T06PartSeximal> {
PART_1("˦","","4","A"),
PART_2("˨","","5","D"),
PART_3("","","6","F"),
PART_4("","","7","G"),
PART_5("","","8","V"),
PART_6("","","9","X"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T06PartSeximal(String idTone, String chinaKey, String chinaValue, String alt1Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
public T02PartBinary splitPartBinary() {
return T02PartBinary.values()[ordinal() & 1];
}
public T03PartTrit splitPartTrit() {
return T03PartTrit.values()[ordinal() >> 1];
}
}

View file

@ -0,0 +1,34 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T07PartPlanIt", purpose = "The distribution by 7.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Fallen sign", website = "https://en.wikipedia.org/wiki/Classical_planet#Western_astrology")
public enum T07PartPlanIt implements BãßBȍőnPartAlt1ʸᴰ<T07PartPlanIt> {
PART_1("˥","♎︎","libra", "天秤座"),
PART_2("","♏︎","scorpio", "天蠍座"),
PART_3("","♓︎","pisces", "雙魚座"),
PART_4("","♍︎","virgo", "處女座"),
PART_5("","♋︎","cancer", "癌症"),
PART_6("","♑︎","capricorn","摩羯座"),
PART_7("˩","♈︎","aries", "白羊座"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T07PartPlanIt(String idTone, String chinaKey, String chinaValue, String alt1Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,48 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T08PartOctal", purpose = "The distribution by 8.")
public enum T08PartOctal implements BãßBȍőnPartʸᴰ<T08PartOctal>,BãßBȍőnPartShiftBitsʸᴰ<T08PartOctal> {
PART_1("˥","","heart",0),
PART_2("˩","","head", 3),
PART_3("","","eye", 6),
PART_4("","","mouth",9),
PART_5("","","arm", 12),
PART_6("","","hand", 15),
PART_7("","","leg", 18),
PART_8("","","feet", 21),
;
public static int BIT_COUNT = 3;
private static final byte BITMASK = 0x07;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T08PartOctal(String idTone, String chinaKey, String chinaValue, int shiftBits) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.SHIFT_BITS, Integer.valueOf(shiftBits));
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
public static T08PartOctal indexOf(T08PartOctal group, int value) {
return T08PartOctal.values()[(value >> group.getShiftBits()) & BITMASK];
}
public T02PartBinary splitPartBinary(T03PartTrit part) {
return T02PartBinary.values()[(ordinal() >> part.ordinal()) & 1];
}
public int ordinalOf(T08PartOctal group) {
return ordinal() << group.getShiftBits();
}
}

View file

@ -0,0 +1,39 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T10PartDecimal", purpose = "The distribution by 10.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Tone Letter LR", website = "https://en.wikipedia.org/wiki/Tone_letter")
@BãßBȍőnPartAlt2Infoʸᴰ(name = "Tone Letter RL", website = "https://en.wikipedia.org/wiki/Tone_letter")
public enum T10PartDecimal implements BãßBȍőnPartAlt2ʸᴰ<T10PartDecimal> {
PART_1 ("˥","","zero", "˥",""),
PART_2 ("˦","","one", "˦",""),
PART_3 ("˧","","two", "˧",""),
PART_4 ("˨","","three","˨",""),
PART_5 ("˩","","four", "˩",""),
PART_6 ("","","five", "",""),
PART_7 ("","","six", "",""),
PART_8 ("","","seven","",""),
PART_9 ("","","eight","",""),
PART_10("","","nine", "",""),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T10PartDecimal(String idTone, String chinaKey, String chinaValue, String alt1Value, String alt2Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE, alt2Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,38 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T11PartUndecimal", purpose = "The distribution by 11.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Tamil numerals", website = "https://en.wikipedia.org/wiki/Tamil_numerals")
public enum T11PartUndecimal implements BãßBȍőnPartAlt1ʸᴰ<T11PartUndecimal> {
PART_1 ("˥","","walk", ""),
PART_2 ("","","run", ""),
PART_3 ("","","sit", ""),
PART_4 ("","","hang", ""),
PART_5 ("","","lay", ""),
PART_6 ("","","jump", ""),
PART_7 ("","","drop", ""),
PART_8 ("","","lonely",""),
PART_9 ("","","talk", ""),
PART_10("","","life", ""),
PART_11("˩","","mate", ""),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T11PartUndecimal(String idTone, String chinaKey, String chinaValue, String alt1Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,39 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T12PartUncial", purpose = "The distribution by 12.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Transdecimal symbols", website = "https://en.wikipedia.org/wiki/Duodecimal#Transdecimal_symbols")
public enum T12PartUncial implements BãßBȍőnPartAlt1ʸᴰ<T12PartUncial> {
PART_1 ("˥","","sun", "0"),
PART_2 ("˧","","moon", "1"),
PART_3 ("˩","","star", "2"),
PART_4 ("","","mountain","3"),
PART_5 ("","","dragon", "4"),
PART_6 ("","","phoenix", "5"),
PART_7 ("","","cup", "6"),
PART_8 ("","","pondweed","7"),
PART_9 ("","","furnace", "8"),
PART_10("","","seed", "9"),
PART_11("","","axe", "\u218a"), // TURNED DIGIT TWO
PART_12("","","nozero", "\u218b"), // TURNED DIGIT THREE
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T12PartUncial(String idTone, String chinaKey, String chinaValue, String alt1Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,47 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T16PartHex", purpose = "The distribution by 16.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "Hexadecimal", website = "https://en.wikipedia.org/wiki/Hexadecimal")
public enum T16PartHex implements BãßBȍőnPartAlt1ʸᴰ<T16PartHex> {
PART_1 ("˥","","hydrogen", "0"),
PART_2 ("˦","","helium", "1"),
PART_3 ("˨","","lithium", "2"),
PART_4 ("˩","","beryllium", "3"),
PART_5 ("","","boron", "4"),
PART_6 ("","","carbon", "5"),
PART_7 ("","","nitrogen", "6"),
PART_8 ("","","oxygen", "7"),
PART_9 ("","","fluorine", "8"),
PART_10("","","neon", "9"),
PART_11("","","sodium", "A"),
PART_12("","","magnesium", "B"),
PART_13("","","aluminium", "C"),
PART_14("","","silicon", "D"),
PART_15("","","phosphorus","E"),
PART_16("","","sulfur", "F"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T16PartHex(String idTone, String chinaKey, String chinaValue, String alt1Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
public T02PartBinary splitPartBinary(T04PartQuad part) {
return T02PartBinary.values()[(ordinal() >> part.ordinal()) & 1];
}
}

View file

@ -0,0 +1,65 @@
package love.distributedrebirth.numberxd.base2t.part;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.stream.Collectors;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T20PartScore", purpose = "The distribution by 20.")
@BãßBȍőnPartAlt1Infoʸᴰ(name = "SI-Unit Types", website = "https://en.wikipedia.org/wiki/Metric_prefix")
@BãßBȍőnPartAlt2Infoʸᴰ(name = "Vigesimal", website = "https://en.wikipedia.org/wiki/Vigesimal#Places")
@BãßBȍőnPartAlt3Infoʸᴰ(name = "Vigesimal Alternative", website = "https://en.wikipedia.org/wiki/Vigesimal#Places")
@BãßBȍőnPartAlt4Infoʸᴰ(name = "Open Location Code", website = "https://en.wikipedia.org/wiki/Open_Location_Code")
public enum T20PartScore implements BãßBȍőnPartAlt4ʸᴰ<T20PartScore> {
PART_1 ("˥", "", "yotta", "Y", "0", "0", "2"),
PART_2 ("˦", "", "zetta", "Z", "1", "1", "3"),
PART_3 ("˧", "", "exa", "E", "2", "2", "4"),
PART_4 ("˨", "", "peta", "P", "3", "3", "5"),
PART_5 ("˩", "", "tera", "T", "4", "4", "6"),
PART_6 ("", "", "giga", "G", "5", "5", "7"),
PART_7 ("", "", "mega", "M", "6", "6", "8"),
PART_8 ("", "", "kilo", "k", "7", "7", "9"),
PART_9 ("", "", "hecto", "h", "8", "8", "C"),
PART_10("", "", "deca", "da","9", "9", "F"),
PART_11("", "", "deci", "d", "A", "A", "G"),
PART_12("", "", "centi", "c", "B", "B", "H"),
PART_13("", "", "milli", "m", "C", "C", "J"),
PART_14("", "", "micro", "µ", "D", "D", "M"),
PART_15("", "", "nano", "n", "E", "E", "P"),
PART_16("", "", "pico", "p", "F", "F", "Q"),
PART_17("", "", "femto", "f", "G", "G", "R"),
PART_18("", "", "atto", "a", "H", "H", "V"),
PART_19("", "", "zepto", "z", "I", "J", "W"),
PART_20("", "", "yocto", "y", "J", "K", "X"),
;
private static final Map<String, T20PartScore> OPENLC_MAP = Collections.unmodifiableMap(
Arrays.asList(values()).stream().collect(Collectors.toMap(v -> v.BȍőnAlt4Value(), v -> v)));
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T20PartScore(String idTone, String chinaKey, String chinaValue,
String alt1Value, String alt2Value, String alt3Value, String alt4Value) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE, alt2Value);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_3_VALUE, alt3Value);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_4_VALUE, alt4Value);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
public T20PartScore BãßValueOfOpenLC(String openLCKey) {
return OPENLC_MAP.get(openLCKey);
}
}

View file

@ -0,0 +1,85 @@
package love.distributedrebirth.numberxd.base2t.part;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClassInfoʸᴰ(name = "T60Sexagesimal", purpose = "The distribution by 60.")
public enum T60PartSexagesimal implements BãßBȍőnPartʸᴰ<T60PartSexagesimal> {
PART_1 ("˥˥","","cow"),
PART_2 ("˥˦","","chicken"),
PART_3 ("˥˧","","sheep"),
PART_4 ("˥˨","","wolf"),
PART_5 ("˥˩","","rat"),
PART_6 ("˥꜒","","cat"),
PART_7 ("˥꜓","","rabbit"),
PART_8 ("˥꜔","","ape"),
PART_9 ("˥꜕","","snake"),
PART_10("˥꜖","","horse"),
PART_11("˦˥","","elepant"),
PART_12("˦˦","","leopard"),
PART_13("˦˧","","crow"),
PART_14("˦˨","","pig"),
PART_15("˦˩","","dog"),
PART_16("˦꜒","","fish"),
PART_17("˦꜓","","shrimp"),
PART_18("˦꜔","","whale"),
PART_19("˦꜕","","bear"),
PART_20("˦꜖","鹿","deer"),
PART_21("˧˥","","donkey"),
PART_22("˧˦","","tapir"),
PART_23("˧˧","","bird"),
PART_24("˧˨","","crane"),
PART_25("˧˩","","eagle"),
PART_26("˧꜒","","falcon"),
PART_27("˧꜓","","goose"),
PART_28("˧꜔","","salamander"),
PART_29("˧꜕","","turtle"),
PART_30("˧꜖","","centipede"),
PART_31("˨˥","","fly"),
PART_32("˨˦","","scorpion"),
PART_33("˨˧","","worm"),
PART_34("˨˨","","tiger"),
PART_35("˨˩","","camel"),
PART_36("˨꜒","","monkey"),
PART_37("˨꜓","","shark"),
PART_38("˨꜔","","duck"),
PART_39("˨꜕","","mustard"),
PART_40("˨꜖","","salt"),
PART_41("˩˥","","pepper"),
PART_42("˩˦","","ginger"),
PART_43("˩˧","","corn"),
PART_44("˩˨","","beans"),
PART_45("˩˩","","pomelos"),
PART_46("˩꜒","","jujube"),
PART_47("˩꜓","","melon"),
PART_48("˩꜔","","grape"),
PART_49("˩꜕","","plum"),
PART_50("˩꜖","","lime"),
PART_51("꜒˥","","pear"),
PART_52("꜒˦","","banana"),
PART_53("꜒˧","","lemon"),
PART_54("꜒˨","","persimmon"),
PART_55("꜒˩","","orange"),
PART_56("꜒꜒","","peach"),
PART_57("꜒꜓","","apricot"),
PART_58("꜒꜔","","strawberry"),
PART_59("꜒꜕","","patato"),
PART_60("꜒꜖","","apple"),
;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnPartKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private T60PartSexagesimal(String idTone, String chinaKey, String chinaValue) {
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
}
}

View file

@ -0,0 +1,58 @@
package love.distributedrebirth.numberxd.base2t.part.warp;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnEnumInstanceʸᴰ;
import love.distributedrebirth.numberxd.base2t.BasePartFactory;
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public enum TOSWarpCore implements BãßBȍőnEnumInstanceʸᴰ<TOSWarpCore> {
INSTANCE;
private String armedWarpCipherName;
private String armedWarpCipherDescription;
public void BãßLockWarpCipher() {
for (int base:BasePartFactory.INSTANCE.BãßBases()) {
for (BãßBȍőnPartʸᴰ<?> part:BasePartFactory.INSTANCE.BãßBuildPartsByBase(base)) {
BãßBȍőnCoffinOpenʸᴰ.class.cast(part.GET_BBC()).LOCK_COFFIN();
}
}
}
public WarpCipher BãßSaveWarpCipher() {
WarpCipher warpCore = new WarpCipher();
if (armedWarpCipherName == null) {
warpCore.setCipherName("default");
} else {
warpCore.setCipherName(armedWarpCipherName);
}
if (armedWarpCipherDescription == null) {
warpCore.setCipherName("Current active cipher.");
} else {
warpCore.setCipherDescription(armedWarpCipherDescription);
}
for (int base:BasePartFactory.INSTANCE.BãßBases()) {
WarpCipherHeart heart = new WarpCipherHeart();
BãßBȍőnPartʸᴰ<?>[] bases = BasePartFactory.INSTANCE.BãßBuildPartsByBase(base);
heart.setPartKey(bases[0].BȍőnNaamI18N());
for (BãßBȍőnPartʸᴰ<?> part:bases) {
WarpCipherHeartCore core = new WarpCipherHeartCore();
core.setIdentifierTone(part.BȍőnIdentifierTone());
core.setChinaKey(part.BȍőnChinaKey());
core.setChinaValue(part.BȍőnChinaValue());
heart.getHeartCores().add(core);
}
warpCore.getCipherHearts().add(heart);
}
return warpCore;
}
public void BãßLoadWarpCipher(WarpCipher warpCore) {
armedWarpCipherName = warpCore.getCipherName();
armedWarpCipherDescription = warpCore.getCipherDescription();
// TODO: load warpcore
}
}

View file

@ -0,0 +1,5 @@
package love.distributedrebirth.numberxd.base2t.part.warp;
public class TOSWarpCoreDriver {
}

View file

@ -0,0 +1,42 @@
package love.distributedrebirth.numberxd.base2t.part.warp;
import java.util.ArrayList;
import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class WarpCipher {
private String cipherName;
private String cipherDescription;
private List<WarpCipherHeart> cipherHearts;
public WarpCipher() {
cipherHearts = new ArrayList<>();
}
public String getCipherName() {
return cipherName;
}
public void setCipherName(String cipherName) {
this.cipherName = cipherName;
}
public String getCipherDescription() {
return cipherDescription;
}
public void setCipherDescription(String cipherDescription) {
this.cipherDescription = cipherDescription;
}
public List<WarpCipherHeart> getCipherHearts() {
return cipherHearts;
}
public void setCipherHearts(List<WarpCipherHeart> cipherHearts) {
this.cipherHearts = cipherHearts;
}
}

View file

@ -0,0 +1,33 @@
package love.distributedrebirth.numberxd.base2t.part.warp;
import java.util.ArrayList;
import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class WarpCipherHeart {
private String partKey;
private List<WarpCipherHeartCore> heartCores;
public WarpCipherHeart() {
heartCores = new ArrayList<>();
}
public String getPartKey() {
return partKey;
}
public void setPartKey(String partKey) {
this.partKey = partKey;
}
public List<WarpCipherHeartCore> getHeartCores() {
return heartCores;
}
public void setHeartCores(List<WarpCipherHeartCore> heartCores) {
this.heartCores = heartCores;
}
}

View file

@ -0,0 +1,38 @@
package love.distributedrebirth.numberxd.base2t.part.warp;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class WarpCipherHeartCore {
private String identifierTone;
private String chinaKey;
private String chinaValue;
public WarpCipherHeartCore() {
}
public String getIdentifierTone() {
return identifierTone;
}
public void setIdentifierTone(String identifierTone) {
this.identifierTone = identifierTone;
}
public String getChinaKey() {
return chinaKey;
}
public void setChinaKey(String chinaKey) {
this.chinaKey = chinaKey;
}
public String getChinaValue() {
return chinaValue;
}
public void setChinaValue(String chinaValue) {
this.chinaValue = chinaValue;
}
}

View file

@ -0,0 +1,48 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Holds an 3 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V003Timble implements BaseNumber<V003Timble> {
public static int BIT_COUNT = T08PartOctal.BIT_COUNT;
private final T08PartOctal value;
public V003Timble() {
this(T08PartOctal.PART_1);
}
public V003Timble(BaseIteratorOctal values) {
this(values.next());
}
public V003Timble(T08PartOctal value) {
this.value = value;
}
public T08PartOctal getValue() {
return value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V003Timble toClone() {
return new V003Timble(getValue());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
appender.add(getValue());
}
}

View file

@ -0,0 +1,53 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
/**
* Holds an 6 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V006Tixte implements BaseNumber<V006Tixte> {
public static int BIT_COUNT = V003Timble.BIT_COUNT * T02PartBinary.LENGTH();
private V003Timble[] values = new V003Timble[T02PartBinary.LENGTH()];
public V006Tixte() {
this(new V003Timble(), new V003Timble());
}
public V006Tixte(BaseIteratorOctal values) {
this(new V003Timble(values), new V003Timble(values));
}
private V006Tixte(V003Timble valueHigh, V003Timble valueLow) {
setValue(T02PartBinary.PART_1, valueHigh);
setValue(T02PartBinary.PART_2, valueLow);
}
public V003Timble getValue(T02PartBinary part) {
return values[part.ordinal()];
}
public void setValue(T02PartBinary part, V003Timble value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V006Tixte toClone() {
return new V006Tixte(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
}

View file

@ -0,0 +1,61 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Holds an 9 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V009Tyte implements BaseNumberTyte<V009Tyte> {
public static int BIT_COUNT = V003Timble.BIT_COUNT * T03PartTrit.LENGTH();
private final V003Timble[] values = new V003Timble[T03PartTrit.LENGTH()];
public V009Tyte() {
this(new V003Timble(), new V003Timble(), new V003Timble());
}
public V009Tyte(BaseIteratorOctal values) {
this(new V003Timble(values), new V003Timble(values), new V003Timble(values));
}
public V009Tyte(T08PartOctal valueHigh, T08PartOctal valueMedium, T08PartOctal valueLow) {
this(new V003Timble(valueHigh), new V003Timble(valueMedium), new V003Timble(valueLow));
}
private V009Tyte(V003Timble valueHigh, V003Timble valueMedium, V003Timble valueLow) {
values[T03PartTrit.PART_1.ordinal()] = valueHigh;
values[T03PartTrit.PART_2.ordinal()] = valueMedium;
values[T03PartTrit.PART_3.ordinal()] = valueLow;
}
public V003Timble getValue(T03PartTrit part) {
return values[part.ordinal()];
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V009Tyte toClone() {
return new V009Tyte(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T03PartTrit.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
appender.add(this);
}
}

View file

@ -0,0 +1,69 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
import love.distributedrebirth.numberxd.base2t.part.T06PartSeximal;
/**
* Holds an 18 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V012Tord implements BaseNumberTyte<V012Tord> {
public static int BIT_COUNT = V009Tyte.BIT_COUNT * T02PartBinary.LENGTH();
private V009Tyte[] values = new V009Tyte[T02PartBinary.LENGTH()];
public V012Tord() {
this(new V009Tyte(), new V009Tyte());
}
public V012Tord(BaseIteratorOctal values) {
this(new V009Tyte(values), new V009Tyte(values));
}
public V012Tord(BaseIteratorTyte values) {
this(values.next(), values.next());
}
private V012Tord(V009Tyte valueHigh, V009Tyte valueLow) {
setValue(T02PartBinary.PART_1, valueHigh);
setValue(T02PartBinary.PART_2, valueLow);
}
public V009Tyte getValue(T02PartBinary part) {
return values[part.ordinal()];
}
public void setValue(T02PartBinary part, V009Tyte value) {
values[part.ordinal()] = value;
}
public V003Timble getTimblePart(T06PartSeximal part) {
return getValue(part.splitPartBinary()).getValue(part.splitPartTrit());
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V012Tord toClone() {
return new V012Tord(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}

View file

@ -0,0 +1,65 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
/**
* Holds an 27 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V027Temvig implements BaseNumberTyte<V027Temvig> {
public static int BIT_COUNT = V009Tyte.BIT_COUNT * T03PartTrit.LENGTH();
private V009Tyte[] values = new V009Tyte[T03PartTrit.LENGTH()];
public V027Temvig() {
this(new V009Tyte(), new V009Tyte(), new V009Tyte());
}
public V027Temvig(BaseIteratorOctal values) {
this(new V009Tyte(values), new V009Tyte(values), new V009Tyte(values));
}
public V027Temvig(BaseIteratorTyte values) {
this(values.next(), values.next(), values.next());
}
private V027Temvig(V009Tyte valueHigh, V009Tyte valueMedium, V009Tyte valueLow) {
setValue(T03PartTrit.PART_1, valueHigh);
setValue(T03PartTrit.PART_2, valueMedium);
setValue(T03PartTrit.PART_3, valueLow);
}
public V009Tyte getValue(T03PartTrit part) {
return values[part.ordinal()];
}
public void setValue(T03PartTrit part, V009Tyte value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V027Temvig toClone() {
return new V027Temvig(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T03PartTrit.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T03PartTrit.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}

View file

@ -0,0 +1,75 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
/**
* Holds an 36 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V036Teger implements BaseNumberTyte<V036Teger> {
public static int BIT_COUNT = V012Tord.BIT_COUNT * T02PartBinary.LENGTH();
private V012Tord[] values = new V012Tord[T02PartBinary.LENGTH()];
public V036Teger() {
this(new V012Tord(), new V012Tord());
}
public V036Teger(BaseIteratorOctal values) {
this(new V012Tord(values), new V012Tord(values));
}
public V036Teger(BaseIteratorTyte values) {
this(new V012Tord(values), new V012Tord(values));
}
private V036Teger(V012Tord valueHigh, V012Tord valueLow) {
setValue(T02PartBinary.PART_1, valueHigh);
setValue(T02PartBinary.PART_2, valueLow);
}
public V012Tord getValue(T02PartBinary part) {
return values[part.ordinal()];
}
public void setValue(T02PartBinary part, V012Tord value) {
values[part.ordinal()] = value;
}
public V009Tyte getTytePart(T04PartQuad part) {
return getValue(part.splitPartBinary(T02PartBinary.PART_1))
.getValue(part.splitPartBinary(T02PartBinary.PART_2));
}
public void setTytePart(T04PartQuad part, V009Tyte value) {
getValue(part.splitPartBinary(T02PartBinary.PART_1))
.setValue(part.splitPartBinary(T02PartBinary.PART_2), value);
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V036Teger toClone() {
return new V036Teger(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}

View file

@ -0,0 +1,52 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
import love.distributedrebirth.numberxd.base2t.part.T07PartPlanIt;
/**
* Holds an 42 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V042Traw implements BaseNumber<V042Traw> {
public static int BIT_COUNT = V006Tixte.BIT_COUNT * T07PartPlanIt.LENGTH();
private V006Tixte[] values = new V006Tixte[T07PartPlanIt.LENGTH()];
public V042Traw() {
for (int i=0;i<values.length;i++) {
this.values[i] = new V006Tixte();
}
}
public V042Traw(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V006Tixte(values);
}
}
public V006Tixte getValue(T07PartPlanIt part) {
return values[part.ordinal()];
}
public void setValue(T07PartPlanIt part, V006Tixte value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V042Traw toClone() {
return new V042Traw(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T07PartPlanIt.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
}

View file

@ -0,0 +1,78 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
* Holds an 72 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V072Tong implements BaseNumberTyte<V072Tong> {
public static int BIT_COUNT = V036Teger.BIT_COUNT * T02PartBinary.LENGTH();
private V036Teger[] values = new V036Teger[T02PartBinary.LENGTH()];
public V072Tong() {
this(new V036Teger(), new V036Teger());
}
public V072Tong(BaseIteratorOctal values) {
this(new V036Teger(values), new V036Teger(values));
}
public V072Tong(BaseIteratorTyte values) {
this(new V036Teger(values), new V036Teger(values));
}
private V072Tong(V036Teger valueHigh, V036Teger valueLow) {
setValue(T02PartBinary.PART_1, valueHigh);
setValue(T02PartBinary.PART_2, valueLow);
}
public V036Teger getValue(T02PartBinary part) {
return values[part.ordinal()];
}
public void setValue(T02PartBinary part, V036Teger value) {
values[part.ordinal()] = value;
}
public V009Tyte getTytePart(T08PartOctal part) {
return getValue(part.splitPartBinary(T03PartTrit.PART_1))
.getValue(part.splitPartBinary(T03PartTrit.PART_2))
.getValue(part.splitPartBinary(T03PartTrit.PART_3));
}
public void setTytePart(T08PartOctal part, V009Tyte value) {
getValue(part.splitPartBinary(T03PartTrit.PART_1))
.getValue(part.splitPartBinary(T03PartTrit.PART_2))
.setValue(part.splitPartBinary(T03PartTrit.PART_3), value);
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V072Tong toClone() {
return new V072Tong(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}

View file

@ -0,0 +1,94 @@
package love.distributedrebirth.numberxd.base2t.type;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
/**
* Holds an 144 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class V144Tocta implements BaseNumberTyte<V144Tocta> {
public static int BIT_COUNT = V072Tong.BIT_COUNT * T02PartBinary.LENGTH();
private V072Tong[] values = new V072Tong[T02PartBinary.LENGTH()];
public V144Tocta() {
this(new V072Tong(), new V072Tong());
}
public V144Tocta(BaseIteratorOctal values) {
this(new V072Tong(values), new V072Tong(values));
}
public V144Tocta(BaseIteratorTyte values) {
this(new V072Tong(values), new V072Tong(values));
}
private V144Tocta(V072Tong valueHigh, V072Tong valueLow) {
setValue(T02PartBinary.PART_1, valueHigh);
setValue(T02PartBinary.PART_2, valueLow);
}
public V072Tong getValue(T02PartBinary part) {
return values[part.ordinal()];
}
public void setValue(T02PartBinary part, V072Tong value) {
values[part.ordinal()] = value;
}
public V009Tyte getTytePart(T16PartHex part) {
return getValue(part.splitPartBinary(T04PartQuad.PART_1))
.getValue(part.splitPartBinary(T04PartQuad.PART_2))
.getValue(part.splitPartBinary(T04PartQuad.PART_3))
.getValue(part.splitPartBinary(T04PartQuad.PART_4));
}
public void setTytePart(T16PartHex part, V009Tyte value) {
getValue(part.splitPartBinary(T04PartQuad.PART_1))
.getValue(part.splitPartBinary(T04PartQuad.PART_2))
.getValue(part.splitPartBinary(T04PartQuad.PART_3))
.setValue(part.splitPartBinary(T04PartQuad.PART_4), value);
}
public V012Tord getTordPart(T08PartOctal part) {
return getValue(part.splitPartBinary(T03PartTrit.PART_1))
.getValue(part.splitPartBinary(T03PartTrit.PART_2))
.getValue(part.splitPartBinary(T03PartTrit.PART_3));
}
public void setTordPart(T08PartOctal part, V012Tord value) {
getValue(part.splitPartBinary(T03PartTrit.PART_1))
.getValue(part.splitPartBinary(T03PartTrit.PART_2))
.setValue(part.splitPartBinary(T03PartTrit.PART_3), value);
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V144Tocta toClone() {
return new V144Tocta(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}

View file

@ -0,0 +1,53 @@
package love.distributedrebirth.numberxd.base2t.typexl;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumberXL;
import love.distributedrebirth.numberxd.base2t.part.T20PartScore;
import love.distributedrebirth.numberxd.base2t.type.V042Traw;
/**
* Holds an 840 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class V0x000348ˣᴸ implements BaseNumberXL<V0x000348ˣᴸ> {
public static int BIT_COUNT = V042Traw.BIT_COUNT * T20PartScore.LENGTH();
private V042Traw[] values = new V042Traw[T20PartScore.LENGTH()];
public V0x000348ˣᴸ() {
for (int i=0;i<values.length;i++) {
this.values[i] = new V042Traw();
}
}
public V0x000348ˣᴸ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V042Traw(values);
}
}
public V042Traw getValue(T20PartScore part) {
return values[part.ordinal()];
}
public void setValue(T20PartScore part, V042Traw value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V0x000348ˣᴸ toClone() {
return new V0x000348ˣᴸ(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T20PartScore.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
}

View file

@ -0,0 +1,59 @@
package love.distributedrebirth.numberxd.base2t.typexl;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyteXL;
import love.distributedrebirth.numberxd.base2t.part.T60PartSexagesimal;
import love.distributedrebirth.numberxd.base2t.type.V027Temvig;
/**
* Holds an 1620 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class V0x000654ˣᴸ implements BaseNumberTyteXL<V0x000654ˣᴸ> {
public static int BIT_COUNT = V027Temvig.BIT_COUNT * T60PartSexagesimal.LENGTH();
private V027Temvig[] values = new V027Temvig[T60PartSexagesimal.LENGTH()];
public V0x000654ˣᴸ() {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V027Temvig();
}
}
public V0x000654ˣᴸ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V027Temvig(values);
}
}
public V027Temvig getValue(T60PartSexagesimal part) {
return values[part.ordinal()];
}
public void setValue(T60PartSexagesimal part, V027Temvig value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V0x000654ˣᴸ toClone() {
return new V0x000654ˣᴸ(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T60PartSexagesimal.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T60PartSexagesimal.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}

View file

@ -0,0 +1,59 @@
package love.distributedrebirth.numberxd.base2t.typexl;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyteXL;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
/**
* Holds an 3240 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class V0x000CA8ˣᴸ implements BaseNumberTyteXL<V0x000CA8ˣᴸ> {
public static int BIT_COUNT = V0x000654ˣᴸ.BIT_COUNT * T02PartBinary.LENGTH();
private V0x000654ˣᴸ[] values = new V0x000654ˣᴸ[T02PartBinary.LENGTH()];
public V0x000CA8ˣᴸ() {
this(new V0x000654ˣᴸ(), new V0x000654ˣᴸ());
}
public V0x000CA8ˣᴸ(BaseIteratorOctal values) {
this(new V0x000654ˣᴸ(values), new V0x000654ˣᴸ(values));
}
private V0x000CA8ˣᴸ(V0x000654ˣᴸ valueHigh, V0x000654ˣᴸ valueLow) {
setValue(T02PartBinary.PART_1, valueHigh);
setValue(T02PartBinary.PART_2, valueLow);
}
public V0x000654ˣᴸ getValue(T02PartBinary part) {
return values[part.ordinal()];
}
public void setValue(T02PartBinary part, V0x000654ˣᴸ value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V0x000CA8ˣᴸ toClone() {
return new V0x000CA8ˣᴸ(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T02PartBinary.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}

View file

@ -0,0 +1,52 @@
package love.distributedrebirth.numberxd.base2t.typexl;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumberXL;
import love.distributedrebirth.numberxd.base2t.part.T06PartSeximal;
/**
* Holds an 5040 bit value.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class V0x0013B0ˣᴸ implements BaseNumberXL<V0x0013B0ˣᴸ> {
public static int BIT_COUNT = V0x000348ˣᴸ.BIT_COUNT * T06PartSeximal.LENGTH();
private V0x000348ˣᴸ[] values = new V0x000348ˣᴸ[T06PartSeximal.LENGTH()];
public V0x0013B0ˣᴸ() {
for (int i=0;i<values.length;i++) {
this.values[i] = new V0x000348ˣᴸ();
}
}
public V0x0013B0ˣᴸ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x000348ˣᴸ(values);
}
}
public V0x000348ˣᴸ getValue(T06PartSeximal part) {
return values[part.ordinal()];
}
public void setValue(T06PartSeximal part, V0x000348ˣᴸ value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V0x0013B0ˣᴸ toClone() {
return new V0x0013B0ˣᴸ(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T06PartSeximal.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
}

View file

@ -0,0 +1,52 @@
package love.distributedrebirth.numberxd.base2t.typexl;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumberXL;
import love.distributedrebirth.numberxd.base2t.part.T60PartSexagesimal;
/**
* Holds an 302400 bit value. (37800 bytes)
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class V0x049D40ˣᴸ implements BaseNumberXL<V0x049D40ˣᴸ> {
public static int BIT_COUNT = V0x0013B0ˣᴸ.BIT_COUNT * T60PartSexagesimal.LENGTH();
private V0x0013B0ˣᴸ[] values = new V0x0013B0ˣᴸ[T60PartSexagesimal.LENGTH()];
public V0x049D40ˣᴸ() {
for (int i=0;i<values.length;i++) {
this.values[i] = new V0x0013B0ˣᴸ();
}
}
public V0x049D40ˣᴸ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x0013B0ˣᴸ(values);
}
}
public V0x0013B0ˣᴸ getValue(T60PartSexagesimal part) {
return values[part.ordinal()];
}
public void setValue(T60PartSexagesimal part, V0x0013B0ˣᴸ value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V0x049D40ˣᴸ toClone() {
return new V0x049D40ˣᴸ(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T60PartSexagesimal.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<modules version="1.0"
xmlns="http://language.x4o.org/xml/ns/modules"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://language.x4o.org/xml/ns/modules http://language.x4o.org/xml/ns/modules-1.0.xsd"
>
<language version="1.0">
<eld-resource>numberxd-lang.eld</eld-resource>
<eld-resource>numberxd-base2t.eld</eld-resource>
</language>
</modules>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<drivers version="1.0"
xmlns="http://language.x4o.org/xml/ns/drivers"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://language.x4o.org/xml/ns/drivers http://language.x4o.org/xml/ns/drivers-1.0.xsd"
>
<defaultDriver language="numberxd"/>
</drivers>

View file

@ -0,0 +1,63 @@
package love.distributedrebirth.numberxd.base2t;
import java.util.HashMap;
import java.util.Map;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartʸᴰ;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class BasePartFactoryTest {
@Test
public void testSupportedBases() {
int[] bases = BasePartFactory.INSTANCE.BãßBases();
Assertions.assertNotNull(bases);
Assertions.assertTrue(bases.length > 1);
Assertions.assertTrue(bases.length < 100);
}
@Test
public void testGlobalChinaKeyMap() {
Map<String,String> global = new HashMap<>();
for (int base:BasePartFactory.INSTANCE.BãßBases()) {
for (BãßBȍőnPartʸᴰ<?> part:BasePartFactory.INSTANCE.BãßBuildPartsByBase(base)) {
Assertions.assertFalse(global.containsKey(part.BȍőnChinaKey()));
global.put(part.BȍőnChinaKey(), part.BȍőnChinaValue());
}
}
Assertions.assertTrue(global.size() > 1);
}
@Test
public void testGlobalChinaValueMap() {
Map<String,String> global = new HashMap<>();
for (int base:BasePartFactory.INSTANCE.BãßBases()) {
for (BãßBȍőnPartʸᴰ<?> part:BasePartFactory.INSTANCE.BãßBuildPartsByBase(base)) {
Assertions.assertFalse(global.containsKey(part.BȍőnChinaValue()));
global.put(part.BȍőnChinaValue(), part.BȍőnChinaValue());
}
}
Assertions.assertTrue(global.size() > 1);
}
@Test
public void testGlobalToneMap() {
boolean duplicate = false;
Map<String,String> global = new HashMap<>();
for (int base:BasePartFactory.INSTANCE.BãßBases()) {
for (BãßBȍőnPartʸᴰ<?> part:BasePartFactory.INSTANCE.BãßBuildPartsByBase(base)) {
if (global.containsKey(part.BȍőnIdentifierTone())) {
duplicate = true;
break;
}
global.put(part.BȍőnIdentifierTone(), part.BȍőnChinaValue());
}
}
Assertions.assertTrue(global.size() > 1);
Assertions.assertTrue(duplicate);
}
}

View file

@ -0,0 +1,32 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T02PartBinaryTest {
@Test
public void testBasePart() {
for (T02PartBinary value:T02PartBinary.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T02PartBinary.PART_1, T02PartBinary.PART_1.BãßValueOfTone("˧"));
Assertions.assertEquals(T02PartBinary.PART_2, T02PartBinary.PART_1.BãßValueOfTone(""));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T02PartBinary.PART_1, T02PartBinary.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T02PartBinary.PART_2, T02PartBinary.PART_1.BãßValueOfChina(""));
}
}

View file

@ -0,0 +1,34 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T03PartTritTest {
@Test
public void testBasePart() {
for (T03PartTrit value:T03PartTrit.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T03PartTrit.PART_1, T03PartTrit.PART_1.BãßValueOfTone("˦"));
Assertions.assertEquals(T03PartTrit.PART_2, T03PartTrit.PART_1.BãßValueOfTone("˧"));
Assertions.assertEquals(T03PartTrit.PART_3, T03PartTrit.PART_1.BãßValueOfTone("˨"));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T03PartTrit.PART_1, T03PartTrit.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T03PartTrit.PART_2, T03PartTrit.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T03PartTrit.PART_3, T03PartTrit.PART_1.BãßValueOfChina(""));
}
}

View file

@ -0,0 +1,55 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T04PartQuadTest {
@Test
public void testBasePart() {
for (T04PartQuad value:T04PartQuad.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
Assertions.assertNotNull(value.BȍőnAlt1Value());
Assertions.assertNotNull(value.BãßAlt1Name());
Assertions.assertNotNull(value.BãßAlt1Website());
}
}
@Test
public void testVolgende() {
Assertions.assertEquals(T04PartQuad.PART_1, T04PartQuad.PART_4.BȍőnVolgende());
Assertions.assertEquals(T04PartQuad.PART_2, T04PartQuad.PART_1.BȍőnVolgende());
Assertions.assertEquals(T04PartQuad.PART_3, T04PartQuad.PART_2.BȍőnVolgende());
Assertions.assertEquals(T04PartQuad.PART_4, T04PartQuad.PART_3.BȍőnVolgende());
}
@Test
public void testVorige() {
Assertions.assertEquals(T04PartQuad.PART_1, T04PartQuad.PART_2.BȍőnVorige());
Assertions.assertEquals(T04PartQuad.PART_2, T04PartQuad.PART_3.BȍőnVorige());
Assertions.assertEquals(T04PartQuad.PART_3, T04PartQuad.PART_4.BȍőnVorige());
Assertions.assertEquals(T04PartQuad.PART_4, T04PartQuad.PART_1.BȍőnVorige());
}
@Test
public void testToneMap() {
Assertions.assertEquals(T04PartQuad.PART_1, T04PartQuad.PART_1.BãßValueOfTone("˥"));
Assertions.assertEquals(T04PartQuad.PART_2, T04PartQuad.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T04PartQuad.PART_3, T04PartQuad.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T04PartQuad.PART_4, T04PartQuad.PART_1.BãßValueOfTone("˩"));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T04PartQuad.PART_1, T04PartQuad.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T04PartQuad.PART_2, T04PartQuad.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T04PartQuad.PART_3, T04PartQuad.PART_1.BãßValueOfChina("西"));
Assertions.assertEquals(T04PartQuad.PART_4, T04PartQuad.PART_1.BãßValueOfChina(""));
}
}

View file

@ -0,0 +1,38 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T05PartPental;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T05PartPentalTest {
@Test
public void testBasePart() {
for (T05PartPental value:T05PartPental.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T05PartPental.PART_1, T05PartPental.PART_1.BãßValueOfTone("˥"));
Assertions.assertEquals(T05PartPental.PART_2, T05PartPental.PART_1.BãßValueOfTone("˦"));
Assertions.assertEquals(T05PartPental.PART_3, T05PartPental.PART_1.BãßValueOfTone("˧"));
Assertions.assertEquals(T05PartPental.PART_4, T05PartPental.PART_1.BãßValueOfTone("˨"));
Assertions.assertEquals(T05PartPental.PART_5, T05PartPental.PART_1.BãßValueOfTone("˩"));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T05PartPental.PART_1, T05PartPental.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T05PartPental.PART_2, T05PartPental.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T05PartPental.PART_3, T05PartPental.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T05PartPental.PART_4, T05PartPental.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T05PartPental.PART_5, T05PartPental.PART_1.BãßValueOfChina(""));
}
}

View file

@ -0,0 +1,39 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T06PartSeximal;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T06PartSeximalTest {
@Test
public void testBasePart() {
for (T06PartSeximal value:T06PartSeximal.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
Assertions.assertNotNull(value.BȍőnAlt1Value());
Assertions.assertNotNull(value.BãßAlt1Name());
Assertions.assertNotNull(value.BãßAlt1Website());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T06PartSeximal.PART_1, T06PartSeximal.PART_1.BãßValueOfTone("˦"));
Assertions.assertEquals(T06PartSeximal.PART_2, T06PartSeximal.PART_1.BãßValueOfTone("˨"));
Assertions.assertEquals(T06PartSeximal.PART_5, T06PartSeximal.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T06PartSeximal.PART_6, T06PartSeximal.PART_1.BãßValueOfTone(""));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T06PartSeximal.PART_1, T06PartSeximal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T06PartSeximal.PART_2, T06PartSeximal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T06PartSeximal.PART_5, T06PartSeximal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T06PartSeximal.PART_6, T06PartSeximal.PART_1.BãßValueOfChina(""));
}
}

View file

@ -0,0 +1,39 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T07PartPlanIt;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T07PartPlanItTest {
@Test
public void testBasePart() {
for (T07PartPlanIt value:T07PartPlanIt.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
Assertions.assertNotNull(value.BȍőnAlt1Value());
Assertions.assertNotNull(value.BãßAlt1Name());
Assertions.assertNotNull(value.BãßAlt1Website());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T07PartPlanIt.PART_1, T07PartPlanIt.PART_1.BãßValueOfTone("˥"));
Assertions.assertEquals(T07PartPlanIt.PART_2, T07PartPlanIt.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T07PartPlanIt.PART_6, T07PartPlanIt.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T07PartPlanIt.PART_7, T07PartPlanIt.PART_1.BãßValueOfTone("˩"));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T07PartPlanIt.PART_1, T07PartPlanIt.PART_1.BãßValueOfChina("♎︎"));
Assertions.assertEquals(T07PartPlanIt.PART_2, T07PartPlanIt.PART_1.BãßValueOfChina("♏︎"));
Assertions.assertEquals(T07PartPlanIt.PART_6, T07PartPlanIt.PART_1.BãßValueOfChina("♑︎"));
Assertions.assertEquals(T07PartPlanIt.PART_7, T07PartPlanIt.PART_1.BãßValueOfChina("♈︎"));
}
}

View file

@ -0,0 +1,36 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T08PartOctalTest {
@Test
public void testBasePart() {
for (T08PartOctal value:T08PartOctal.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T08PartOctal.PART_1, T08PartOctal.PART_1.BãßValueOfTone("˥"));
Assertions.assertEquals(T08PartOctal.PART_2, T08PartOctal.PART_1.BãßValueOfTone("˩"));
Assertions.assertEquals(T08PartOctal.PART_7, T08PartOctal.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T08PartOctal.PART_8, T08PartOctal.PART_1.BãßValueOfTone(""));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T08PartOctal.PART_1, T08PartOctal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T08PartOctal.PART_2, T08PartOctal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T08PartOctal.PART_7, T08PartOctal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T08PartOctal.PART_8, T08PartOctal.PART_1.BãßValueOfChina(""));
}
}

View file

@ -0,0 +1,36 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T10PartDecimal;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T10PartDecimalTest {
@Test
public void testBasePart() {
for (T10PartDecimal value:T10PartDecimal.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T10PartDecimal.PART_1, T10PartDecimal.PART_1.BãßValueOfTone("˥"));
Assertions.assertEquals(T10PartDecimal.PART_2, T10PartDecimal.PART_1.BãßValueOfTone("˦"));
Assertions.assertEquals(T10PartDecimal.PART_9, T10PartDecimal.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T10PartDecimal.PART_10, T10PartDecimal.PART_1.BãßValueOfTone(""));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T10PartDecimal.PART_1, T10PartDecimal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T10PartDecimal.PART_2, T10PartDecimal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T10PartDecimal.PART_9, T10PartDecimal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T10PartDecimal.PART_10, T10PartDecimal.PART_1.BãßValueOfChina(""));
}
}

View file

@ -0,0 +1,36 @@
package love.distributedrebirth.numberxd.base2t;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T11PartUndecimal;
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class T11PartUndecimalTest {
@Test
public void testBasePart() {
for (T11PartUndecimal value:T11PartUndecimal.values()) {
Assertions.assertNotNull(value.BȍőnIdentifierTone());
Assertions.assertNotNull(value.BȍőnChinaKey());
Assertions.assertNotNull(value.BȍőnChinaValue());
}
}
@Test
public void testToneMap() {
Assertions.assertEquals(T11PartUndecimal.PART_1, T11PartUndecimal.PART_1.BãßValueOfTone("˥"));
Assertions.assertEquals(T11PartUndecimal.PART_2, T11PartUndecimal.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T11PartUndecimal.PART_10, T11PartUndecimal.PART_1.BãßValueOfTone(""));
Assertions.assertEquals(T11PartUndecimal.PART_11, T11PartUndecimal.PART_1.BãßValueOfTone("˩"));
}
@Test
public void testChinaMap() {
Assertions.assertEquals(T11PartUndecimal.PART_1, T11PartUndecimal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T11PartUndecimal.PART_2, T11PartUndecimal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T11PartUndecimal.PART_10, T11PartUndecimal.PART_1.BãßValueOfChina(""));
Assertions.assertEquals(T11PartUndecimal.PART_11, T11PartUndecimal.PART_1.BãßValueOfChina(""));
}
}

Some files were not shown because too many files have changed in this diff Show more