2022-01-30 22:00:16 +01:00
|
|
|
package love.distributedrebirth.numberxd;
|
2022-01-30 15:45:40 +01:00
|
|
|
|
2022-01-30 22:00:16 +01:00
|
|
|
import love.distributedrebirth.numberxd.base2t.BaseNumberTyte;
|
|
|
|
|
import love.distributedrebirth.numberxd.base2t.T08PartOctalBaseAppender;
|
|
|
|
|
import love.distributedrebirth.numberxd.base2t.T08PartOctalBaseIterator;
|
|
|
|
|
import love.distributedrebirth.numberxd.base2t.V009TyteBaseAppender;
|
2022-01-30 15:45:40 +01:00
|
|
|
|
2022-01-30 19:04:03 +01:00
|
|
|
/**
|
|
|
|
|
* Array of KlompGetậl sliced as cheese.
|
|
|
|
|
*
|
|
|
|
|
* @author willemtsade ©Δ∞ 仙上主天
|
|
|
|
|
*
|
|
|
|
|
*/
|
2022-01-30 21:50:19 +01:00
|
|
|
public class ŌṁKaassGetậl4D implements BaseNumberTyte<ŌṁKaassGetậl4D> {
|
2022-01-30 19:04:03 +01:00
|
|
|
|
2022-01-30 21:50:19 +01:00
|
|
|
private ŌṁKlompGetậl4D[] kaas;
|
2022-01-30 19:04:03 +01:00
|
|
|
private final int kaasCuts;
|
|
|
|
|
|
2022-01-30 21:50:19 +01:00
|
|
|
public ŌṁKaassGetậl4D(int kaasCuts) {
|
2022-01-30 19:04:03 +01:00
|
|
|
this.kaasCuts = kaasCuts;
|
2022-01-30 21:50:19 +01:00
|
|
|
this.kaas = new ŌṁKlompGetậl4D[kaasCuts];
|
2022-01-30 19:04:03 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public final int getKaasCuts() {
|
|
|
|
|
return kaasCuts;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private final int validatePartRequest(int part) {
|
|
|
|
|
if (part < 0) {
|
|
|
|
|
throw new IllegalArgumentException("Requested part is negative");
|
|
|
|
|
}
|
|
|
|
|
if (part > kaasCuts) {
|
|
|
|
|
throw new IllegalArgumentException("Requested part exceeds kaasCuts storage");
|
|
|
|
|
}
|
|
|
|
|
return part;
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-30 21:50:19 +01:00
|
|
|
public final ŌṁKlompGetậl4D getValue(int part) {
|
2022-01-30 19:04:03 +01:00
|
|
|
return kaas[validatePartRequest(part)];
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-30 21:50:19 +01:00
|
|
|
public final void setValue(int part, ŌṁKlompGetậl4D value) {
|
2022-01-30 19:04:03 +01:00
|
|
|
kaas[validatePartRequest(part)] = value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2022-01-30 21:50:19 +01:00
|
|
|
public final ŌṁKaassGetậl4D toClone() {
|
|
|
|
|
ŌṁKaassGetậl4D result = new ŌṁKaassGetậl4D(getKaasCuts());
|
2022-01-31 13:15:04 +01:00
|
|
|
T08PartOctalBaseIterator clonedOctals = iteratorOctalsByClone();
|
2022-01-30 19:04:03 +01:00
|
|
|
for (int i=0;i<getKaasCuts();i++) {
|
2022-01-30 21:50:19 +01:00
|
|
|
result.setValue(i, new ŌṁKlompGetậl4D(clonedOctals));
|
2022-01-30 19:04:03 +01:00
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public final int getBitCount() {
|
2022-01-30 21:50:19 +01:00
|
|
|
return ŌṁKlompGetậl4D.BIT_COUNT * kaasCuts;
|
2022-01-30 19:04:03 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2022-01-31 13:15:04 +01:00
|
|
|
public final void fillOctalsByClone(T08PartOctalBaseAppender appender) {
|
2022-01-30 21:50:19 +01:00
|
|
|
for (ŌṁKlompGetậl4D value:kaas) {
|
2022-01-31 13:15:04 +01:00
|
|
|
value.fillOctalsByClone(appender);
|
2022-01-30 19:04:03 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2022-01-31 13:15:04 +01:00
|
|
|
public void fillTytesByReference(V009TyteBaseAppender appender) {
|
2022-01-30 21:50:19 +01:00
|
|
|
for (ŌṁKlompGetậl4D value:kaas) {
|
2022-01-31 13:15:04 +01:00
|
|
|
value.fillTytesByReference(appender);
|
2022-01-30 19:04:03 +01:00
|
|
|
}
|
|
|
|
|
}
|
2022-01-30 15:45:40 +01:00
|
|
|
}
|