diff --git a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl.java b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl1D.java similarity index 84% rename from core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl.java rename to core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl1D.java index e1213c23..913da39d 100644 --- a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl.java +++ b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl1D.java @@ -12,18 +12,20 @@ import love.distributedrebirth.demo4d.base2t.V009TyteBaseIterator; import love.distributedrebirth.demo4d.base2t.V090Tocta; /** + * Holds an 144 bit fraction. * * @author willemtsade ©Δ∞ 仙上主天 * */ -public class GroßGetậl implements BaseNumberTyte { +public class GroßGetậl1D implements BaseNumberTyte { public static int NUMERATOR_SIZE = 7; public static int DENOMINATOR_SIZE = 9; + public static int BIT_COUNT = V090Tocta.BIT_COUNT; private final V009Tyte[] numerator = new V009Tyte[NUMERATOR_SIZE]; private final V009Tyte[] denominator = new V009Tyte[DENOMINATOR_SIZE]; - public GroßGetậl() { + public GroßGetậl1D() { for (int i=0;i { } } - public GroßGetậl(T08PartOctalBaseIterator values) { + public GroßGetậl1D(T08PartOctalBaseIterator values) { for (int i=0;i { } } - public GroßGetậl(V009TyteBaseIterator values) { + public GroßGetậl1D(V009TyteBaseIterator values) { for (int i=0;i { } } - public GroßGetậl(V090Tocta tocta) { + public GroßGetậl1D(V090Tocta tocta) { List tytes = new ArrayList<>(); tocta.fillTyteValues(new V009TyteBaseAppender(tytes)); for (int i=0;i { } @Override - public GroßGetậl toClone() { - return new GroßGetậl(cloneIterator()); + public GroßGetậl1D toClone() { + return new GroßGetậl1D(cloneIterator()); } @Override diff --git a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl6D.java b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl6D.java new file mode 100644 index 00000000..d7806f83 --- /dev/null +++ b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậl6D.java @@ -0,0 +1,66 @@ +package love.distributedrebirth.demo4d.numberxd; + +import love.distributedrebirth.demo4d.base2t.BaseNumberTyte; +import love.distributedrebirth.demo4d.base2t.T08PartOctalBaseAppender; +import love.distributedrebirth.demo4d.base2t.T08PartOctalBaseIterator; +import love.distributedrebirth.demo4d.base2t.T12PartUncial; +import love.distributedrebirth.demo4d.base2t.V009TyteBaseAppender; +import love.distributedrebirth.demo4d.base2t.V009TyteBaseIterator; + +/** + * Holds an 864 bit fraction in stereo 6D. + * + * @author willemtsade ©Δ∞ 仙上主天 + * + */ +public class GroßGetậl6D implements BaseNumberTyte { + + public static int BIT_COUNT = GroßGetậl1D.BIT_COUNT * T12PartUncial.LENGTH; + private GroßGetậl1D[] values = new GroßGetậl1D[T12PartUncial.LENGTH]; + + public GroßGetậl6D() { + for (int i=0;i getValue(v).fillOctalValues(appender)); + } + + @Override + public void fillTyteValues(V009TyteBaseAppender appender) { + T12PartUncial.forEach(v -> getValue(v).fillTyteValues(appender)); + } +} diff --git a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyph.java b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyph1D.java similarity index 71% rename from core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyph.java rename to core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyph1D.java index f4439eac..84d02bdf 100644 --- a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyph.java +++ b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyph1D.java @@ -3,18 +3,17 @@ package love.distributedrebirth.demo4d.numberxd; import love.distributedrebirth.demo4d.base2t.BaseNumber; import love.distributedrebirth.demo4d.base2t.T08PartOctalBaseAppender; import love.distributedrebirth.demo4d.base2t.T08PartOctalBaseIterator; -import love.distributedrebirth.demo4d.base2t.V090Tocta; -abstract public class GroßGetậlŌṁGlyph & BaseNumber> implements BaseNumber { +abstract public class GroßGetậlŌṁGlyph1D & BaseNumber> implements BaseNumber { - private GroßGetậl[] values; + private GroßGetậl1D[] values; private int valuesLength; private byte fractalLevel; - public GroßGetậlŌṁGlyph(byte fractalLevel) { + public GroßGetậlŌṁGlyph1D(byte fractalLevel) { this.fractalLevel = fractalLevel; this.valuesLength = resolveFractalLevel(fractalLevel); - this.values = new GroßGetậl[valuesLength]; + this.values = new GroßGetậl1D[valuesLength]; } abstract protected int resolveFractalLevel(byte level); @@ -37,11 +36,11 @@ abstract public class GroßGetậlŌṁGlyph return part; } - public final GroßGetậl getValue(int part) { + public final GroßGetậl1D getValue(int part) { return values[validatePartRequest(part)]; } - public final void setValue(int part, GroßGetậl value) { + public final void setValue(int part, GroßGetậl1D value) { values[validatePartRequest(part)] = value; } @@ -52,19 +51,19 @@ abstract public class GroßGetậlŌṁGlyph V result = toCloneFractal(getFractalLevel()); T08PartOctalBaseIterator clonedOctals = cloneIterator(); for (int i=0;i & BaseNumber> implements BaseNumber { + + private GroßGetậl6D[] values; + private int valuesLength; + private byte fractalLevel; + + public GroßGetậlŌṁGlyph6D(byte fractalLevel) { + this.fractalLevel = fractalLevel; + this.valuesLength = resolveFractalLevel(fractalLevel); + this.values = new GroßGetậl6D[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ậl6D getValue(int part) { + return values[validatePartRequest(part)]; + } + + public final void setValue(int part, GroßGetậl6D value) { + values[validatePartRequest(part)] = value; + } + + abstract protected V toCloneFractal(byte level); + + @Override + public final V toClone() { + V result = toCloneFractal(getFractalLevel()); + T08PartOctalBaseIterator clonedOctals = cloneIterator(); + for (int i=0;i { +public class GroßGetậlŌṁGlyphDiamond1D extends GroßGetậlŌṁGlyph1D { // 0th = 1 * V144Tocta (1) // 1th = 1+3 * V144Tocta (4) @@ -8,7 +8,7 @@ public class GroßGetậlŌṁGlyphDiamond extends GroßGetậlŌṁGlyph { + + // 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ŌṁGlyphDiamond6D(byte level) { + super(level); + } + + protected int resolveFractalLevel(byte level) { + // TODO + return level; + } + + @Override + protected GroßGetậlŌṁGlyphDiamond6D toCloneFractal(byte level) { + return new GroßGetậlŌṁGlyphDiamond6D(level); + } +} diff --git a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar.java b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar.java deleted file mode 100644 index d46870f4..00000000 --- a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar.java +++ /dev/null @@ -1,23 +0,0 @@ -package love.distributedrebirth.demo4d.numberxd; - -public class GroßGetậlŌṁGlyphHyperStar extends GroßGetậlŌṁGlyph { - - // 0th = V144Tocta - // 1th = 5 * V144Tocta - // 2th = 5 * 12 * V144Tocta - // etc - - public GroßGetậlŌṁGlyphHyperStar(byte level) { - super(level); - } - - protected int resolveFractalLevel(byte level) { - // TODO - return level; - } - - @Override - protected GroßGetậlŌṁGlyphHyperStar toCloneFractal(byte level) { - return new GroßGetậlŌṁGlyphHyperStar(level); - } -} \ No newline at end of file diff --git a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar1D.java b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar1D.java new file mode 100644 index 00000000..d5f2bfb4 --- /dev/null +++ b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar1D.java @@ -0,0 +1,23 @@ +package love.distributedrebirth.demo4d.numberxd; + +public class GroßGetậlŌṁGlyphHyperStar1D extends GroßGetậlŌṁGlyph1D { + + // 0th = V144Tocta + // 1th = 5 * V144Tocta + // 2th = 5 * 12 * V144Tocta + // etc + + public GroßGetậlŌṁGlyphHyperStar1D(byte level) { + super(level); + } + + protected int resolveFractalLevel(byte level) { + // TODO + return level; + } + + @Override + protected GroßGetậlŌṁGlyphHyperStar1D toCloneFractal(byte level) { + return new GroßGetậlŌṁGlyphHyperStar1D(level); + } +} \ No newline at end of file diff --git a/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar6D.java b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar6D.java new file mode 100644 index 00000000..9c28e27a --- /dev/null +++ b/core/src/love/distributedrebirth/demo4d/numberxd/GroßGetậlŌṁGlyphHyperStar6D.java @@ -0,0 +1,23 @@ +package love.distributedrebirth.demo4d.numberxd; + +public class GroßGetậlŌṁGlyphHyperStar6D extends GroßGetậlŌṁGlyph6D { + + // 0th = V144Tocta + // 1th = 5 * V144Tocta + // 2th = 5 * 12 * V144Tocta + // etc + + public GroßGetậlŌṁGlyphHyperStar6D(byte level) { + super(level); + } + + protected int resolveFractalLevel(byte level) { + // TODO + return level; + } + + @Override + protected GroßGetậlŌṁGlyphHyperStar6D toCloneFractal(byte level) { + return new GroßGetậlŌṁGlyphHyperStar6D(level); + } +} \ No newline at end of file diff --git a/core/src/love/distributedrebirth/demo4d/numberxd/ŌṁKaassGetậl.java b/core/src/love/distributedrebirth/demo4d/numberxd/ŌṁKaassGetậl4D.java similarity index 67% rename from core/src/love/distributedrebirth/demo4d/numberxd/ŌṁKaassGetậl.java rename to core/src/love/distributedrebirth/demo4d/numberxd/ŌṁKaassGetậl4D.java index 6d91e360..0750294d 100644 --- a/core/src/love/distributedrebirth/demo4d/numberxd/ŌṁKaassGetậl.java +++ b/core/src/love/distributedrebirth/demo4d/numberxd/ŌṁKaassGetậl4D.java @@ -11,14 +11,14 @@ import love.distributedrebirth.demo4d.base2t.V009TyteBaseAppender; * @author willemtsade ©Δ∞ 仙上主天 * */ -public class ŌṁKaassGetậl implements BaseNumberTyte<ŌṁKaassGetậl> { +public class ŌṁKaassGetậl4D implements BaseNumberTyte<ŌṁKaassGetậl4D> { - private ŌṁKlompGetậl[] kaas; + private ŌṁKlompGetậl4D[] kaas; private final int kaasCuts; - public ŌṁKaassGetậl(int kaasCuts) { + public ŌṁKaassGetậl4D(int kaasCuts) { this.kaasCuts = kaasCuts; - this.kaas = new ŌṁKlompGetậl[kaasCuts]; + this.kaas = new ŌṁKlompGetậl4D[kaasCuts]; } public final int getKaasCuts() { @@ -35,39 +35,39 @@ public class ŌṁKaassGetậl implements BaseNumberTyte<ŌṁKaassGetậl> { return part; } - public final ŌṁKlompGetậl getValue(int part) { + public final ŌṁKlompGetậl4D getValue(int part) { return kaas[validatePartRequest(part)]; } - public final void setValue(int part, ŌṁKlompGetậl value) { + public final void setValue(int part, ŌṁKlompGetậl4D value) { kaas[validatePartRequest(part)] = value; } @Override - public final ŌṁKaassGetậl toClone() { - ŌṁKaassGetậl result = new ŌṁKaassGetậl(getKaasCuts()); + public final ŌṁKaassGetậl4D toClone() { + ŌṁKaassGetậl4D result = new ŌṁKaassGetậl4D(getKaasCuts()); T08PartOctalBaseIterator clonedOctals = cloneIterator(); for (int i=0;i { +public class ŌṁKlompGetậl4D implements BaseNumberTyte<ŌṁKlompGetậl4D> { public static int BIT_COUNT = V654Triz.BIT_COUNT * T08PartOctal.LENGTH; private final VCA8Tath[] values = new VCA8Tath[T08PartOctal.LENGTH]; - public ŌṁKlompGetậl() { + public ŌṁKlompGetậl4D() { for (int i=0;i { } @Override - public ŌṁKlompGetậl toClone() { - return new ŌṁKlompGetậl(cloneIterator()); + public ŌṁKlompGetậl4D toClone() { + return new ŌṁKlompGetậl4D(cloneIterator()); } @Override