Implemented BaseGetậl

This commit is contained in:
Willem Cazander 2022-02-04 17:38:30 +01:00
parent 954945d1fe
commit a9fa1b2dba
33 changed files with 640 additions and 521 deletions

View file

@ -46,7 +46,7 @@ public class HebrewWalletRenderer extends ImGuiRendererMain {
}; };
for (String data:walletData) { for (String data:walletData) {
Gê̄ldGetậl geld = new Gê̄ldGetậl(data); Gê̄ldGetậl geld = new Gê̄ldGetậl(data);
Gê̄ldGetậl geld2 = new Gê̄ldGetậl(geld.toTeger().toClone().toClone()); // unit test Gê̄ldGetậl geld2 = geld.toClone(); // unit test
ImGui.tableNextRow(); ImGui.tableNextRow();
ImGui.tableNextColumn(); ImGui.tableNextColumn();
ImGui.text(data.length()==2||data.length()==3?"OUT":"IN"); ImGui.text(data.length()==2||data.length()==3?"OUT":"IN");

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

@ -1,13 +1,12 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte; import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
/**
*
*
* @author willemtsade ©Δ 仙上主天
*/
public interface BaseGetậl<V extends BaseNumberTyte<V>> extends BaseNumberTyte<V> {
@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

@ -1,101 +1,53 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
import java.util.ArrayList; import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import java.util.List;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal; import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte; 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.V009Tyte;
import love.distributedrebirth.numberxd.base2t.type.V144Tocta; import love.distributedrebirth.numberxd.base2t.type.V144Tocta;
/** /**
* Holds an 144 bit fraction. * Holds an 144 bit fraction.
*
* @author willemtsade ©Δ 仙上主天
*/ */
public class GroßGetậl1ⁿᴰ implements BaseGetậl<GroßGetậl1ⁿᴰ> { @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 NUMERATOR_SIZE = 7;
public static int DENOMINATOR_SIZE = 9; //public static int DENOMINATOR_SIZE = 9;
public static int BIT_COUNT = V144Tocta.BIT_COUNT; //public static int BIT_COUNT = V144Tocta.BIT_COUNT;
private final V009Tyte[] numerator = new V009Tyte[NUMERATOR_SIZE]; //private final V009Tyte[] numerator = new V009Tyte[NUMERATOR_SIZE];
private final V009Tyte[] denominator = new V009Tyte[DENOMINATOR_SIZE]; //private final V009Tyte[] denominator = new V009Tyte[DENOMINATOR_SIZE];
private final V144Tocta value;
public GroßGetậl1ⁿᴰ() { public GroßGetậl1ⁿᴰ() {
for (int i=0;i<NUMERATOR_SIZE;i++) { this(new V144Tocta());
numerator[i] = new V009Tyte();
}
for (int i=0;i<DENOMINATOR_SIZE;i++) {
denominator[i] = new V009Tyte();
}
} }
public GroßGetậl1ⁿᴰ(BaseIteratorOctal values) { public GroßGetậl1ⁿᴰ(BaseIteratorOctal values) {
for (int i=0;i<NUMERATOR_SIZE;i++) { this(new V144Tocta(values));
numerator[i] = new V009Tyte(values);
}
for (int i=0;i<DENOMINATOR_SIZE;i++) {
denominator[i] = new V009Tyte(values);
}
} }
public GroßGetậl1ⁿᴰ(BaseIteratorTyte values) { public GroßGetậl1ⁿᴰ(BaseIteratorTyte values) {
for (int i=0;i<NUMERATOR_SIZE;i++) { this(new V144Tocta(values));
numerator[i] = values.next();
}
for (int i=0;i<DENOMINATOR_SIZE;i++) {
denominator[i] = values.next();
}
} }
public GroßGetậl1ⁿᴰ(V144Tocta tocta) { public GroßGetậl1ⁿᴰ(V144Tocta value) {
List<V009Tyte> tytes = new ArrayList<>(); this.value = value;
tocta.fillTytesByReference(new BaseAppenderTyte(tytes));
for (int i=0;i<NUMERATOR_SIZE;i++) {
numerator[i] = tytes.get(i);
}
for (int i=0;i<DENOMINATOR_SIZE;i++) {
denominator[i] = tytes.get(i+NUMERATOR_SIZE);
}
} }
public V144Tocta toToctaByReference() {
return new V144Tocta(iteratorTytesByReference());
}
public V144Tocta toToctaByClone() {
return new V144Tocta(iteratorOctalsByClone());
}
@Override @Override
public int getBitCount() { public V009Tyte getValue() {
return V144Tocta.BIT_COUNT; return value.getTytePart(T16PartHex.values()[valueIndex0]);
} }
@Override
public int getValueIndex0Length() {
return T16PartHex.LENGTH();
}
@Override @Override
public GroßGetậl1ⁿᴰ toClone() { public GroßGetậl1ⁿᴰ toClone() {
return new GroßGetậl1ⁿᴰ(iteratorOctalsByClone()); return new GroßGetậl1ⁿᴰ(value.toClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
for (int i=0;i<NUMERATOR_SIZE;i++) {
numerator[i].fillOctalsByClone(appender);
}
for (int i=0;i<DENOMINATOR_SIZE;i++) {
denominator[i].fillOctalsByClone(appender);
}
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
for (int i=0;i<NUMERATOR_SIZE;i++) {
appender.add(numerator[i]);
}
for (int i=0;i<DENOMINATOR_SIZE;i++) {
appender.add(denominator[i]);
}
} }
} }

View file

@ -1,65 +1,53 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T12PartUncial; import love.distributedrebirth.numberxd.base2t.part.T12PartUncial;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal; 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.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte; import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
import love.distributedrebirth.numberxd.base2t.BaseIteratorTyte;
/** /**
* Holds an 864 bit fraction. * Holds an 864 bit fraction.
*
* @author willemtsade ©Δ 仙上主天
*/ */
public class GroßGetậl6ˢᴰ implements BaseNumberTyte<GroßGetậl6ˢᴰ> { @BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class GroßGetậl6ˢᴰ extends AbstractBaseGetậlLevel1<GroßGetậl6ˢᴰ,V009Tyte> {
public static int BIT_COUNT = GroßGetậl1ⁿᴰ.BIT_COUNT * T12PartUncial.LENGTH(); private final V144Tocta[] values = new V144Tocta[T12PartUncial.LENGTH()];
private GroßGetậl1ⁿᴰ[] values = new GroßGetậl1ⁿᴰ[T12PartUncial.LENGTH()];
public GroßGetậl6ˢᴰ() { public GroßGetậl6ˢᴰ() {
for (int i=0;i<this.values.length;i++) { for (int i=0;i<this.values.length;i++) {
this.values[i] = new GroßGetậl1ⁿᴰ(); this.values[i] = new V144Tocta();
} }
} }
public GroßGetậl6ˢᴰ(BaseIteratorOctal values) { public GroßGetậl6ˢᴰ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) { for (int i=0;i<this.values.length;i++) {
this.values[i] = new GroßGetậl1ⁿᴰ(values); this.values[i] = new V144Tocta(values);
} }
} }
public GroßGetậl6ˢᴰ(BaseIteratorTyte values) { public V009Tyte getValue() {
for (int i=0;i<this.values.length;i++) { return values[valueIndex1].getTytePart(T16PartHex.values()[valueIndex0]);
this.values[i] = new GroßGetậl1ⁿᴰ(values);
}
} }
public GroßGetậl1ⁿᴰ getValue(T12PartUncial part) {
return values[part.ordinal()];
}
public void setValue(T12PartUncial part, GroßGetậl1ⁿᴰ value) {
values[part.ordinal()] = value;
}
@Override @Override
public int getBitCount() { public int getValueIndex0Length() {
return BIT_COUNT; return T16PartHex.LENGTH();
} }
@Override
public int getValueIndex1Length() {
return T12PartUncial.LENGTH();
}
@Override @Override
public GroßGetậl6ˢᴰ toClone() { public GroßGetậl6ˢᴰ toClone() {
return new GroßGetậl6ˢᴰ(iteratorOctalsByClone()); BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
} for (int i=0;i<this.values.length;i++) {
cloneStack.addIterator(this.values[i].iteratorOctalsByClone());
@Override }
public void fillOctalsByClone(BaseAppenderOctal appender) { return new GroßGetậl6ˢᴰ(cloneStack);
T12PartUncial.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T12PartUncial.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
} }
} }

View file

@ -1,75 +0,0 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
/**
* Divide GroßGetậl1ⁿᴰ into resolved fractal slices.
*
* @author willemtsade ©Δ 仙上主天
*/
abstract public class GroßGetậlŌṁ1ⁿᴰ<V extends GroßGetậlŌṁ1ⁿᴰ<V> & BaseNumber<V>> implements BaseNumber<V> {
private GroßGetậl1ⁿᴰ[] values;
private int valuesLength;
private byte fractalLevel;
public GroßGetậlŌṁ1ⁿᴰ(byte fractalLevel) {
this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new GroßGetậl1ⁿᴰ[valuesLength];
}
abstract protected int resolveFractalLevel(byte level);
public final byte getFractalLevel() {
return fractalLevel;
}
public final int getValuesLength() {
return valuesLength;
}
private final int validatePartRequest(int part) {
if (part < 0) {
throw new IllegalArgumentException("Requested part is negative");
}
if (part > valuesLength) {
throw new IllegalArgumentException("Requested part exceeds fractal storage");
}
return part;
}
public final GroßGetậl1ⁿᴰ getValue(int part) {
return values[validatePartRequest(part)];
}
public final void setValue(int part, GroßGetậl1ⁿᴰ value) {
values[validatePartRequest(part)] = value;
}
abstract protected V toCloneFractal(byte level);
@Override
public final V toClone() {
V result = toCloneFractal(getFractalLevel());
BaseIteratorOctal clonedOctals = iteratorOctalsByClone();
for (int i=0;i<getValuesLength();i++) {
result.setValue(i, new GroßGetậl1ⁿᴰ(clonedOctals));
}
return result;
}
@Override
public final int getBitCount() {
return GroßGetậl1ⁿᴰ.BIT_COUNT * valuesLength;
}
@Override
public final void fillOctalsByClone(BaseAppenderOctal appender) {
for (GroßGetậl1ⁿᴰ value:values) {
value.fillOctalsByClone(appender);
}
}
}

View file

@ -1,75 +0,0 @@
package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
/**
* Divide GroßGetậl6ˢᴰ into resolved fractal slices.
*
* @author willemtsade ©Δ 仙上主天
*/
abstract public class GroßGetậlŌṁ6ˢᴰ<V extends GroßGetậlŌṁ6ˢᴰ<V> & BaseNumber<V>> implements BaseNumber<V> {
private GroßGetậl6ˢᴰ[] values;
private int valuesLength;
private byte fractalLevel;
public GroßGetậlŌṁ6ˢᴰ(byte fractalLevel) {
this.fractalLevel = fractalLevel;
this.valuesLength = resolveFractalLevel(fractalLevel);
this.values = new GroßGetậl6ˢᴰ[valuesLength];
}
abstract protected int resolveFractalLevel(byte level);
public final byte getFractalLevel() {
return fractalLevel;
}
public final int getValuesLength() {
return valuesLength;
}
private final int validatePartRequest(int part) {
if (part < 0) {
throw new IllegalArgumentException("Requested part is negative");
}
if (part > valuesLength) {
throw new IllegalArgumentException("Requested part exceeds fractal storage");
}
return part;
}
public final GroßGetậl6ˢᴰ getValue(int part) {
return values[validatePartRequest(part)];
}
public final void setValue(int part, GroßGetậl6ˢᴰ value) {
values[validatePartRequest(part)] = value;
}
abstract protected V toCloneFractal(byte level);
@Override
public final V toClone() {
V result = toCloneFractal(getFractalLevel());
BaseIteratorOctal clonedOctals = iteratorOctalsByClone();
for (int i=0;i<getValuesLength();i++) {
result.setValue(i, new GroßGetậl6ˢᴰ(clonedOctals));
}
return result;
}
@Override
public final int getBitCount() {
return GroßGetậl6ˢᴰ.BIT_COUNT * valuesLength;
}
@Override
public final void fillOctalsByClone(BaseAppenderOctal appender) {
for (GroßGetậl6ˢᴰ value:values) {
value.fillOctalsByClone(appender);
}
}
}

View file

@ -1,10 +1,11 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
/** import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
* import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
* @author willemtsade ©Δ 仙上主天 import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
*/
public class GroßGetậlŌṁDiamond1ⁿᴰ extends GroßGetậlŌṁ1ⁿᴰ<GroßGetậlŌṁDiamond1ⁿᴰ> { @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) // 0th = 1 * V144Tocta (1)
// 1th = 1+3 * V144Tocta (4) // 1th = 1+3 * V144Tocta (4)
@ -16,13 +17,25 @@ public class GroßGetậlŌṁDiamond1ⁿᴰ extends GroßGetậlŌṁ1ⁿᴰ<Gr
super(level); super(level);
} }
public GroßGetậlŌṁDiamond1ⁿᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) { protected int resolveFractalLevel(byte level) {
// TODO // TODO
return level; return level;
} }
@Override @Override
protected GroßGetậlŌṁDiamond1ⁿᴰ toCloneFractal(byte level) { public GroßGetậlŌṁDiamond1ⁿᴰ toClone() {
return new GroßGetậlŌṁDiamond1ⁿᴰ(level); 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

@ -1,10 +1,11 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
/** import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
* import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
* @author willemtsade ©Δ 仙上主天 import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
*/
public class GroßGetậlŌṁDiamond6ˢᴰ extends GroßGetậlŌṁ6ˢᴰ<GroßGetậlŌṁDiamond6ˢᴰ> { @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) // 0th = 1 * V144Tocta (1)
// 1th = 1+3 * V144Tocta (4) // 1th = 1+3 * V144Tocta (4)
@ -16,13 +17,28 @@ public class GroßGetậlŌṁDiamond6ˢᴰ extends GroßGetậlŌṁ6ˢᴰ<Gro
super(level); super(level);
} }
public GroßGetậlŌṁDiamond6ˢᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) { protected int resolveFractalLevel(byte level) {
// TODO // TODO
return level; return level;
} }
@Override @Override
protected GroßGetậlŌṁDiamond6ˢᴰ toCloneFractal(byte level) { public GroßGetậlŌṁDiamond6ˢᴰ toClone() {
return new GroßGetậlŌṁDiamond6ˢᴰ(level); 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

@ -1,10 +1,11 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
/** import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
* import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
* @author willemtsade ©Δ 仙上主天 import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
*/
public class GroßGetậlŌṁHyperStàr1ⁿᴰ extends GroßGetậlŌṁ1ⁿᴰ<GroßGetậlŌṁHyperStàr1ⁿᴰ> { @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 // 0th = V144Tocta
// 1th = 5 * V144Tocta // 1th = 5 * V144Tocta
@ -15,13 +16,25 @@ public class GroßGetậlŌṁHyperStàr1ⁿᴰ extends GroßGetậlŌṁ1ⁿᴰ
super(level); super(level);
} }
public GroßGetậlŌṁHyperStàr1ⁿᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) { protected int resolveFractalLevel(byte level) {
// TODO // TODO
return level; return level;
} }
@Override @Override
protected GroßGetậlŌṁHyperStàr1ⁿᴰ toCloneFractal(byte level) { public GroßGetậlŌṁHyperStàr1ⁿᴰ toClone() {
return new GroßGetậlŌṁHyperStàr1ⁿᴰ(level); 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

@ -1,10 +1,11 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
/** import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
* import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
* @author willemtsade ©Δ 仙上主天 import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
*/
public class GroßGetậlŌṁHyperStàr6ˢᴰ extends GroßGetậlŌṁ6ˢᴰ<GroßGetậlŌṁHyperStàr6ˢᴰ> { @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 // 0th = V144Tocta
// 1th = 5 * V144Tocta // 1th = 5 * V144Tocta
@ -15,13 +16,28 @@ public class GroßGetậlŌṁHyperStàr6ˢᴰ extends GroßGetậlŌṁ6ˢᴰ<G
super(level); super(level);
} }
public GroßGetậlŌṁHyperStàr6ˢᴰ(byte level, BaseIteratorOctal values) {
super(level, values);
}
protected int resolveFractalLevel(byte level) { protected int resolveFractalLevel(byte level) {
// TODO // TODO
return level; return level;
} }
@Override @Override
protected GroßGetậlŌṁHyperStàr6ˢᴰ toCloneFractal(byte level) { public GroßGetậlŌṁHyperStàr6ˢᴰ toClone() {
return new GroßGetậlŌṁHyperStàr6ˢᴰ(level); 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

@ -3,37 +3,21 @@ package love.distributedrebirth.numberxd;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad; import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
import love.distributedrebirth.numberxd.base2t.type.V036Teger; 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> {
* @author willemtsade ©Δ 仙上主天
*/
public class Gê̄ldGetậl {
private final Gê̄ldGetậlÅtHebrew nummerAlphabet; private final V036Teger value;
private final Gê̄ldGetậlÅtHebrew nummerDeelA;
private final Gê̄ldGetậlÅtHebrew nummerDeelB;
private final Gê̄ldGetậlÅtHebrew nummerDeelC;
private final double totalDecimalValue; private final double totalDecimalValue;
private static final Character LEFT_TO_RIGHT_MARK = 0x200E; private static final Character LEFT_TO_RIGHT_MARK = 0x200E;
private static final Character RIGHT_TO_LEFT_MARK = 0x200F; private static final Character RIGHT_TO_LEFT_MARK = 0x200F;
public Gê̄ldGetậl(V036Teger teger) { public Gê̄ldGetậl(V036Teger value) {
this( this.value = value;
new Gê̄ldGetậlÅtHebrew(teger.getTytePart(T04PartQuad.PART_1)),
new Gê̄ldGetậlÅtHebrew(teger.getTytePart(T04PartQuad.PART_2)),
new Gê̄ldGetậlÅtHebrew(teger.getTytePart(T04PartQuad.PART_3)),
new Gê̄ldGetậlÅtHebrew(teger.getTytePart(T04PartQuad.PART_4))
);
}
public Gê̄ldGetậl(Gê̄ldGetậlÅtHebrew nummerAlphabet, Gê̄ldGetậlÅtHebrew nummerDeelA, Gê̄ldGetậlÅtHebrew nummerDeelB, Gê̄ldGetậlÅtHebrew nummerDeelC) {
this.nummerAlphabet = nummerAlphabet;
this.nummerDeelA = nummerDeelA;
this.nummerDeelB = nummerDeelB;
this.nummerDeelC = nummerDeelC;
this.totalDecimalValue = calculateDecimalValue(); this.totalDecimalValue = calculateDecimalValue();
} }
@ -101,14 +85,19 @@ public class Gê̄ldGetậl {
} else { } else {
deelC = new Gê̄ldGetậlÅtHebrew(); deelC = new Gê̄ldGetậlÅtHebrew();
} }
this.nummerAlphabet = full; value = new V036Teger();
this.nummerDeelA = deelA; value.setTytePart(T04PartQuad.PART_1, full.toTyte());
this.nummerDeelB = deelB; value.setTytePart(T04PartQuad.PART_2, deelA.toTyte());
this.nummerDeelC = deelC; value.setTytePart(T04PartQuad.PART_3, deelB.toTyte());
value.setTytePart(T04PartQuad.PART_4, deelC.toTyte());
this.totalDecimalValue = calculateDecimalValue(); this.totalDecimalValue = calculateDecimalValue();
} }
private double 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 = boolean hasFourDigits =
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter()) && !Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter()) &&
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter()) && !Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter()) &&
@ -126,40 +115,19 @@ public class Gê̄ldGetậl {
return totalDecimalValue; return totalDecimalValue;
} }
public Gê̄ldGetậlÅtHebrew getNummerAlphabet() {
return nummerAlphabet;
}
public Gê̄ldGetậlÅtHebrew getNummerDeelA() {
return nummerDeelA;
}
public Gê̄ldGetậlÅtHebrew getNummerDeelB() {
return nummerDeelB;
}
public Gê̄ldGetậlÅtHebrew getNummerDeelC() {
return nummerDeelC;
}
public double getTotalDecimalValue() { public double getTotalDecimalValue() {
return totalDecimalValue; return totalDecimalValue;
} }
public V036Teger toTeger() {
V036Teger result = new V036Teger();
result.setTytePart(T04PartQuad.PART_1, nummerAlphabet.toTyte());
result.setTytePart(T04PartQuad.PART_2, nummerDeelA.toTyte());
result.setTytePart(T04PartQuad.PART_3, nummerDeelB.toTyte());
result.setTytePart(T04PartQuad.PART_4, nummerDeelC.toTyte());
return result;
}
public String toHebrewString() { public String toHebrewString() {
return toHebrewString(false); return toHebrewString(false);
} }
public String toHebrewString(boolean reverse) { 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(); StringBuilder buf = new StringBuilder();
buf.append(RIGHT_TO_LEFT_MARK); buf.append(RIGHT_TO_LEFT_MARK);
buf.append(nummerAlphabet.getLetter().getCharacter()); buf.append(nummerAlphabet.getLetter().getCharacter());
@ -189,4 +157,19 @@ public class Gê̄ldGetậl {
} }
return buf.toString(); 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

@ -1,14 +1,11 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit; import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal; import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
import love.distributedrebirth.numberxd.base2t.type.V009Tyte; import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
/** @BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
*
*
* @author willemtsade ©Δ 仙上主天
*/
public class Gê̄ldGetậlÅtHebrew { public class Gê̄ldGetậlÅtHebrew {
private static final double NUMERATOR_ONE = 1d; private static final double NUMERATOR_ONE = 1d;

View file

@ -5,11 +5,9 @@ import java.util.Collections;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
*
* @BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
* @author willemtsade ©Δ 仙上主天
*/
public enum Gê̄ldGetậlÅtHebrewLetter { public enum Gê̄ldGetậlÅtHebrewLetter {
// Unicode is horror in any language else than ascii; // Unicode is horror in any language else than ascii;
// VS Alphabet order // VS Alphabet order

View file

@ -5,11 +5,9 @@ import java.util.Collections;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
*
* @BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
* @author willemtsade ©Δ 仙上主天
*/
public enum Gê̄ldGetậlÅtHebrewVowel { public enum Gê̄ldGetậlÅtHebrewVowel {
NONE (0, (char) 0x0000), NONE (0, (char) 0x0000),
VOWEL_1 (1, (char) 0x05B4), VOWEL_1 (1, (char) 0x05B4),

View file

@ -1,24 +1,14 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
import love.distributedrebirth.numberxd.base2t.typexl.V0x000654ˣᴸ;
import love.distributedrebirth.numberxd.base2t.typexl.V0x000CA8ˣᴸ; import love.distributedrebirth.numberxd.base2t.typexl.V0x000CA8ˣᴸ;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal; import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal; import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte; import love.distributedrebirth.numberxd.base2t.BaseIteratorOctalStack;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/** @BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
* Holds an 25920 bit value. (3240 bytes) public class KlompGetậl4ˢᴰ extends AbstractBaseGetậlLevel0<KlompGetậl4ˢᴰ,V0x000CA8ˣᴸ> {
*
* 4 * VCA8Tath red
* 4 * VCA8Tath blue
*
* @author willemtsade ©Δ 仙上主天
*/
public class KlompGetậl4ˢᴰ implements BaseNumberTyte<KlompGetậl4ˢᴰ> {
public static int BIT_COUNT = V0x000654ˣᴸ.BIT_COUNT * T08PartOctal.LENGTH();
private final V0x000CA8ˣᴸ[] values = new V0x000CA8ˣᴸ[T08PartOctal.LENGTH()]; private final V0x000CA8ˣᴸ[] values = new V0x000CA8ˣᴸ[T08PartOctal.LENGTH()];
public KlompGetậl4ˢᴰ() { public KlompGetậl4ˢᴰ() {
@ -33,31 +23,22 @@ public class KlompGetậl4ˢᴰ implements BaseNumberTyte<KlompGetậl4ˢᴰ> {
} }
} }
public V0x000CA8ˣᴸ getValue(T08PartOctal part) { @Override
return values[part.ordinal()]; public V0x000CA8ˣᴸ getValue() {
} return values[valueIndex0];
public void setValue(T08PartOctal part, V0x000CA8ˣᴸ value) {
values[part.ordinal()] = value;
} }
@Override @Override
public int getBitCount() { public int getValueIndex0Length() {
return BIT_COUNT; return T08PartOctal.LENGTH();
} }
@Override @Override
public KlompGetậl4ˢᴰ toClone() { public KlompGetậl4ˢᴰ toClone() {
return new KlompGetậl4ˢᴰ(iteratorOctalsByClone()); BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
} for (int i=0;i<this.values.length;i++) {
cloneStack.addIterator(this.values[i].iteratorOctalsByClone());
@Override }
public void fillOctalsByClone(BaseAppenderOctal appender) { return new KlompGetậl4ˢᴰ(cloneStack);
T08PartOctal.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T08PartOctal.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
} }
} }

View file

@ -1,73 +1,75 @@
package love.distributedrebirth.numberxd; package love.distributedrebirth.numberxd;
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
import love.distributedrebirth.numberxd.base2t.BaseAppenderOctal;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal; import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseAppenderTyte; 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. * Array of ŌṁKlompGetậl4ˢᴰ sliced as cheese.
*
* @author willemtsade ©Δ 仙上主天
*/ */
public class KlompÅtŌṁKāassGetậl4ˢᴰ implements BaseNumberTyte<KlompÅtŌṁKāassGetậl4ˢᴰ> { @BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class KlompÅtŌṁKāassGetậl4ˢᴰ extends AbstractBaseGetậlLevel1<KlompÅtŌṁKāassGetậl4ˢᴰ, V0x000CA8ˣᴸ> {
private KlompGetậl4ˢᴰ[] kaas; private final V0x000CA8ˣᴸ[][] kaas;
private final int kaasCuts; private final int kaasCuts;
public KlompÅtŌṁKāassGetậl4ˢᴰ(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.kaasCuts = kaasCuts;
this.kaas = new KlompGetậl4ˢᴰ[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 final int getKaasCuts() { 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; return kaasCuts;
} }
private final int validatePartRequest(int part) { @Override
if (part < 0) { public V0x000CA8ˣᴸ getValue() {
throw new IllegalArgumentException("Requested part is negative"); return kaas[valueIndex0][valueIndex1];
}
if (part > kaasCuts) {
throw new IllegalArgumentException("Requested part exceeds kaasCuts storage");
}
return part;
}
public final KlompGetậl4ˢᴰ getValue(int part) {
return kaas[validatePartRequest(part)];
}
public final void setValue(int part, KlompGetậl4ˢᴰ value) {
kaas[validatePartRequest(part)] = value;
} }
@Override @Override
public final KlompÅtŌṁKāassGetậl4ˢᴰ toClone() { public int getValueIndex0Length() {
KlompÅtŌṁKāassGetậl4ˢᴰ result = new KlompÅtŌṁKāassGetậl4ˢᴰ(getKaasCuts()); return T08PartOctal.LENGTH();
BaseIteratorOctal clonedOctals = iteratorOctalsByClone();
for (int i=0;i<getKaasCuts();i++) {
result.setValue(i, new KlompGetậl4ˢᴰ(clonedOctals));
}
return result;
} }
@Override @Override
public final int getBitCount() { public int getValueIndex1Length() {
return KlompGetậl4ˢᴰ.BIT_COUNT * kaasCuts; return kaasCuts;
} }
@Override @Override
public final void fillOctalsByClone(BaseAppenderOctal appender) { public KlompÅtŌṁKāassGetậl4ˢᴰ toClone() {
for (KlompGetậl4ˢᴰ value:kaas) { BaseIteratorOctalStack cloneStack = new BaseIteratorOctalStack();
value.fillOctalsByClone(appender); for (int x=0;x<getValueIndex0Length();x++) {
} setValueIndex0(x);
} for (int y=0;y<getValueIndex1Length();y++) {
setValueIndex1(y);
@Override cloneStack.addIterator(getValue().iteratorOctalsByClone());
public void fillTytesByReference(BaseAppenderTyte appender) { }
for (KlompGetậl4ˢᴰ value:kaas) {
value.fillTytesByReference(appender);
} }
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

@ -37,7 +37,7 @@ public enum Base2Terminator implements BãßBȍőnEnumInstanceʸᴰ<Base2Termina
int v1 = data[3] + (data[4] << SHIFT_8) + (data[5] << 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 v2 = data[6] + (data[7] << SHIFT_8) + (data[8] << SHIFT_16);
List<T08PartOctal> octals = Bãß2ReadOctals(v0, v1, v2); List<T08PartOctal> octals = Bãß2ReadOctals(v0, v1, v2);
output.add(new V072Tong(new BaseIteratorOctal(octals.iterator()))); output.add(new V072Tong(new BaseIteratorOctalAdapter(octals.iterator())));
totalBytes += BLOCK_TONG_SIZE; totalBytes += BLOCK_TONG_SIZE;
} }
return totalBytes; return totalBytes;
@ -56,7 +56,7 @@ public enum Base2Terminator implements BãßBȍőnEnumInstanceʸᴰ<Base2Termina
int v4 = data[12] + (data[13] << SHIFT_8) + (data[14] << 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); int v5 = data[15] + (data[16] << SHIFT_8) + (data[17] << SHIFT_16);
List<T08PartOctal> octals = Bãß2ReadOctals(v0, v1, v2, v3, v4, v5); List<T08PartOctal> octals = Bãß2ReadOctals(v0, v1, v2, v3, v4, v5);
output.add(new V144Tocta(new BaseIteratorOctal(octals.iterator()))); output.add(new V144Tocta(new BaseIteratorOctalAdapter(octals.iterator())));
totalBytes += BLOCK_TOCTA_SIZE; totalBytes += BLOCK_TOCTA_SIZE;
} }
return totalBytes; return totalBytes;

View file

@ -9,21 +9,7 @@ import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
* Iterator model for Octals. * Iterator model for Octals.
*/ */
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public final class BaseIteratorOctal implements Iterator<T08PartOctal> { public interface BaseIteratorOctal extends Iterator<T08PartOctal> {
private final Iterator<T08PartOctal> iterator;
public BaseIteratorOctal(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,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

@ -27,6 +27,6 @@ public interface BaseNumber<V extends BaseNumber<V>> {
default BaseIteratorOctal iteratorOctalsByClone() { default BaseIteratorOctal iteratorOctalsByClone() {
List<T08PartOctal> octals = new ArrayList<>(); List<T08PartOctal> octals = new ArrayList<>();
fillOctalsByClone(new BaseAppenderOctal(octals)); fillOctalsByClone(new BaseAppenderOctal(octals));
return new BaseIteratorOctal(octals.iterator()); return new BaseIteratorOctalAdapter(octals.iterator());
} }
} }

View file

@ -1,58 +0,0 @@
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.T08PartOctal;
/**
* Holds an 25920 bit value. (3240 bytes)
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
public class V0x006540ˣᴸ implements BaseNumberTyteXL<V0x006540ˣᴸ> {
public static int BIT_COUNT = V0x000CA8ˣᴸ.BIT_COUNT * T08PartOctal.LENGTH();
private V0x000CA8ˣᴸ[] values = new V0x000CA8ˣᴸ[T08PartOctal.LENGTH()];
public V0x006540ˣᴸ() {
for (int i=0;i<values.length;i++) {
this.values[i] = new V0x000CA8ˣᴸ();
}
}
public V0x006540ˣᴸ(BaseIteratorOctal values) {
for (int i=0;i<this.values.length;i++) {
this.values[i] = new V0x000CA8ˣᴸ(values);
}
}
public V0x000CA8ˣᴸ getValue(T08PartOctal part) {
return values[part.ordinal()];
}
public void setValue(T08PartOctal part, V0x000CA8ˣᴸ value) {
values[part.ordinal()] = value;
}
@Override
public int getBitCount() {
return BIT_COUNT;
}
@Override
public V0x006540ˣᴸ toClone() {
return new V0x006540ˣᴸ(iteratorOctalsByClone());
}
@Override
public void fillOctalsByClone(BaseAppenderOctal appender) {
T08PartOctal.PART_1.BãßVoorElk(v -> getValue(v).fillOctalsByClone(appender));
}
@Override
public void fillTytesByReference(BaseAppenderTyte appender) {
T08PartOctal.PART_1.BãßVoorElk(v -> getValue(v).fillTytesByReference(appender));
}
}