gdxapp4d/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/alu/ŌctopǔsALU.java

112 lines
3.5 KiB
Java
Raw Normal View History

2022-01-31 19:30:05 +01:00
package love.distributedrebirth.numberxd.alu;
2022-10-17 16:42:12 +02:00
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
2022-02-04 22:44:11 +01:00
import love.distributedrebirth.numberxd.BaseGetậl;
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
import love.distributedrebirth.numberxd.base2t.BaseNumber;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
2022-02-02 18:12:59 +01:00
2022-10-15 02:34:58 +02:00
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
2022-01-31 19:30:05 +01:00
public class ŌctopǔsALU {
2022-02-04 22:44:11 +01:00
public <T extends BaseGetậl<T,V>,V extends BaseNumber<V>> BaseGetậl<T,V> math(BaseGetậl<T,V> opA, BaseGetậl<T,V> opB) {
BaseIteratorOctal bioA = opA.iteratorOctalsByClone();
BaseIteratorOctal bioB = opB.iteratorOctalsByClone();
BaseIteratorOctalALU bioALU = new BaseIteratorOctalALU(bioA, bioB);
BaseGetậl<T,V> result = opA.toClone(bioALU);
return result;
}
2022-02-17 19:58:09 +01:00
enum ŌctopǔsMatrixInzet {
NONE,
MATRIX_X,
MATRIX_XY,
MATRIX_XYZ,
MATRIX_XYZW,
MATRIX_DIAMOND,
MATRIX_HYPERSTAR
}
2022-02-04 22:44:11 +01:00
2022-02-09 16:39:11 +01:00
enum ŌctopǔsArmZuigerInzet {
2022-02-17 19:58:09 +01:00
//OCTAL_1, // T08PartOctal
//OCTAL_2, // V006Tixte
2022-02-09 16:39:11 +01:00
OCTAL_3, // V009Tyte
OCTAL_6, // V018Tord
OCTAL_9, // V027Temvig
OCTAL_12, // V036Teger
OCTAL_14, // V042Traw
OCTAL_24, // V072Tong
OCTAL_48, // V144Tocta
2022-02-17 19:58:09 +01:00
OCTAL_48_MATRIX_X,
OCTAL_48_MATRIX_XY,
OCTAL_48_MATRIX_XYZ,
OCTAL_48_MATRIX_XYZW,
2022-02-09 16:39:11 +01:00
OCTAL_280, // V0x000348ˣᴸ (V042Traw * 20)
OCTAL_540, // V0x000654ˣᴸ (V027Temvig * 60)
OCTAL_1080, // V0x000CA8ˣᴸ (V0x000654ˣᴸ * 2)
OCTAL_1680, // V0x0013B0ˣᴸ (V0x000348ˣᴸ * 6)
2022-02-09 19:45:51 +01:00
FRACTION_8640_MATRIX, // KlompGetậl4ˢᴰ (V0x000CA8ˣᴸ * 8)
2022-02-09 16:39:11 +01:00
FRACTION_3, // V009Tyte = digit aka digital hebrew BCD
2022-02-17 19:58:09 +01:00
FRACTION_12_MATRIX_X, // Gê̄ldGetậl (V036Teger * 1_ or quad digit
2022-02-09 19:45:51 +01:00
2022-02-17 19:58:09 +01:00
FRACTION_GROß_MATRIX_X, // GroßGetậl1ⁿᴰ (V144Tocta * 1) or 7/9
FRACTION_GROß_MATRIX_XY, // GroßGetậl6ˢᴰ (GroßGetậl1ⁿᴰ * 2 * 6)
FRACTION_GROß_MATRIX_XYZ,
FRACTION_GROß_MATRIX_XYZW,
FRACTION_DIAMOND_MATRIX_XY, // GroßGetậlŌṁDiamond1ⁿᴰ
FRACTION_DIAMOND_MATRIX_XYZ, // GroßGetậlŌṁDiamond6ˢᴰ
FRACTION_HYPERSTAR_MATRIX_XY, // GroßGetậlŌṁHyperStàr1ⁿᴰ
FRACTION_HYPERSTAR_MATRIX_XYZ, // GroßGetậlŌṁHyperStàr6ˢᴰ
OCTAL_482_MATRIX_X, // WavẽWorstGetậl1ⁿᴰ (V0x0013B0ˣᴸ * x)
OCTAL_482_MATRIX_XY, // WavẽWorstGetậl2ⁿᴰ (V0x0013B0ˣᴸ * x * y)
2022-02-09 19:45:51 +01:00
OCTAL_280_MATRIX_X, // WavẽWorstGetậl1ⁿᴰ (V0x000348ˣᴸ * x)
OCTAL_280_MATRIX_XY, // WavẽWorstGetậl2ⁿᴰ (V0x000348ˣᴸ * x * y)
2022-02-09 16:39:11 +01:00
2022-02-09 19:45:51 +01:00
OCTAL_1680_MATRIX_X, // WavẽWorstGetậl1ⁿᴰ (V0x0013B0ˣᴸ * x)
OCTAL_1680_MATRIX_XY, // WavẽWorstGetậl2ⁿᴰ (V0x0013B0ˣᴸ * x * y)
2022-02-09 16:39:11 +01:00
}
2022-02-04 22:44:11 +01:00
class BaseIteratorOctalALU implements BaseIteratorOctal {
private final BaseIteratorOctal bioA;
private final BaseIteratorOctal bioB;
public BaseIteratorOctalALU(BaseIteratorOctal bioA, BaseIteratorOctal bioB) {
this.bioA = bioA;
this.bioB = bioB;
}
@Override
public boolean hasNext() {
return bioA.hasNext();
}
@Override
public T08PartOctal next() {
T08PartOctal valA = bioA.next();
T08PartOctal valB = bioB.next();
int valANum = valA.BȍőnRangTelNul();
int valBNum = valB.BȍőnRangTelNul();
var valResultNum = valANum + valBNum;
if (valResultNum > valA.BãßInstances().length) {
valResultNum = valA.BãßInstances().length -1;
}
T08PartOctal valResult = T08PartOctal.values()[valResultNum];
return valResult;
}
}
2022-01-31 19:30:05 +01:00
}