FC18: Fixed 3th argument naming of E503M72 to mantissa

This commit is contained in:
Willem Cazander 2025-09-02 11:34:38 +02:00
parent 696aa7d351
commit badf68fc25
7 changed files with 105 additions and 103 deletions

View file

@ -311,7 +311,7 @@ public class FourCornerUnicodeDisplay {
}
@Override
public void strobeNumberE503M72(boolean sign, BigInteger exponent, BigInteger significand) {
public void strobeNumberE503M72(boolean sign, BigInteger exponent, BigInteger mantissa) {
List<Integer> numberCandy = new ArrayList<>();
numberCandy.add(FCDotCDC1604DashP6.NY25_ROUND_LEFT.ordinal());
numberCandy.add(FCDotCDC1604DashP6.NY19_MINUS.ordinal());
@ -325,7 +325,7 @@ public class FourCornerUnicodeDisplay {
numberCandy.add(FCDotCDC1604DashP6.NY18_ASTERISK.ordinal());
FourCornerRecipe.toDecimalsX18(numberCandy, 1);
numberCandy.add(FCDotCDC1604DashP6.NY16_DOT.ordinal());
FourCornerRecipe.toDecimalsX18(numberCandy, significand);
FourCornerRecipe.toDecimalsX18(numberCandy, mantissa);
renderFromInt18(numberCandy, output);
}

View file

@ -147,14 +147,14 @@ public enum FourCornerDotCake {
FC_CDC1604_P6(0, 64, FCDotCDC1604DashP6.values(), "Character Dough Cake"),
FC_LUA0127_P7A(64, 27, FCDotLUA0127DashP7A.values(), "Local Union Alphabet P7A"),
FC_LUA0127_P7B(91, 27, FCDotLUA0127DashP7B.values(), "Local Union Alphabet P7B"),
FC_LUA0127_P7C(118, 27, FCDotLUA0127DashP7C.values(), "Local Union Alphabet P7C"),
FC_LUA0127_P7D(145, 27, FCDotLUA0127DashP7D.values(), "Local Union Alphabet P7D"),
FC_LUA0127_P7A(64, 27, FCDotLUA0127DashP7A.values(), "Local Union Alphabet P7A"), // low
FC_LUA0127_P7B(91, 27, FCDotLUA0127DashP7B.values(), "Local Union Alphabet P7B"), // low underline
FC_LUA0127_P7C(118, 27, FCDotLUA0127DashP7C.values(), "Local Union Alphabet P7C"), // upper bold ??
FC_LUA0127_P7D(145, 27, FCDotLUA0127DashP7D.values(), "Local Union Alphabet P7D"), // low italy
FC_BYD0127_P7E(172, 27, FCDotBYD0127DashP7E.values(), "Block Your Display P7D"),
FC_BYD0127_P7F(199, 27, FCDotBYD0127DashP7F.values(), "Block Your Display P7E"),
FC_BYD0127_P7G(226, 27, FCDotBYD0127DashP7G.values(), "Block Your Display P7F"),
FC_BYD0127_P7E(172, 27, FCDotBYD0127DashP7E.values(), "Block Your Display P7E"),
FC_BYD0127_P7F(199, 27, FCDotBYD0127DashP7F.values(), "Block Your Display P7F"),
FC_BYD0127_P7G(226, 27, FCDotBYD0127DashP7G.values(), "Block Your Display P7G"),
/// Mind the gap, for retro metro, mini maxi mosi members
/// NOTE: MSX 0xFF is the cursor (TODO: move to BYD)
@ -357,72 +357,72 @@ public enum FourCornerDotCake {
FC_SANDWORM_15(0x030000, 32768, "Sand octal spice of the olgoi khorkhoi"),
/// 16x256=4096+1020 cake points to embed base2 number types
FC_BA2U0016_SEL0(0x038000, 2, "Embed number unsiged 16 bit select"),
FC_BA2U0016_BANK(0x038002, 256, "Embed number unsiged 16 bit bank"),
FC_BA2U0032_SEL0(0x038102, 4, "Embed number unsiged 32 bit select"),
FC_BA2U0032_BANK(0x038106, 256, "Embed number unsiged 32 bit bank"),
FC_BA2U0064_SEL0(0x038206, 8, "Embed number unsiged 64 bit select"),
FC_BA2U0064_BANK(0x03820E, 256, "Embed number unsiged 64 bit bank"),
FC_BA2U0128_SEL0(0x03830E, 16, "Embed number unsiged 128 bit select"),
FC_BA2U0128_BANK(0x03831E, 256, "Embed number unsiged 128 bit bank"),
FC_BA2U0256_SEL0(0x03841E, 32, "Embed number unsiged 256 bit select"),
FC_BA2U0256_BANK(0x03843E, 256, "Embed number unsiged 256 bit bank"),
FC_BA2U0512_SEL0(0x03853E, 64, "Embed number unsiged 512 bit select"),
FC_BA2U0512_BANK(0x03857E, 256, "Embed number unsiged 512 bit bank"),
FC_BA2U1024_SEL0(0x03867E, 128, "Embed number unsiged 1024 bit select"),
FC_BA2U1024_BANK(0x0386FE, 256, "Embed number unsiged 1024 bit bank"),
FC_BA2U2048_SEL0(0x0387FE, 256, "Embed number unsiged 2048 bit select"),
FC_BA2U2048_BANK(0x0388FE, 256, "Embed number unsiged 2048 bit bank"),
FC_BA2I0016_SEL0(0x0389FE, 2, "Embed number siged 16 bit select"),
FC_BA2I0016_BANK(0x038A00, 256, "Embed number siged 16 bit bank"),
FC_BA2I0032_SEL0(0x038B00, 4, "Embed number siged 32 bit select"),
FC_BA2I0032_BANK(0x038B04, 256, "Embed number siged 32 bit bank"),
FC_BA2I0064_SEL0(0x038C04, 8, "Embed number siged 64 bit select"),
FC_BA2I0064_BANK(0x038C0C, 256, "Embed number siged 64 bit bank"),
FC_BA2I0128_SEL0(0x038D0C, 16, "Embed number siged 128 bit select"),
FC_BA2I0128_BANK(0x038D1C, 256, "Embed number siged 128 bit bank"),
FC_BA2I0256_SEL0(0x038E1C, 32, "Embed number siged 256 bit select"),
FC_BA2I0256_BANK(0x038E3C, 256, "Embed number siged 256 bit bank"),
FC_BA2I0512_SEL0(0x038F3C, 64, "Embed number siged 512 bit select"),
FC_BA2I0512_BANK(0x038F7C, 256, "Embed number siged 512 bit bank"),
FC_BA2I1024_SEL0(0x03907C, 128, "Embed number siged 1024 bit select"),
FC_BA2I1024_BANK(0x0390FC, 256, "Embed number siged 1024 bit bank"),
FC_BA2I2048_SEL0(0x0391FC, 256, "Embed number siged 2048 bit select"),
FC_BA2I2048_BANK(0x0392FC, 256, "Embed number siged 2048 bit bank"),
FC_BA2U0016_SEL0(0x038000, 2, "Embed number unsigned 16 bit select"),
FC_BA2U0016_BANK(0x038002, 256, "Embed number unsigned 16 bit bank"),
FC_BA2U0032_SEL0(0x038102, 4, "Embed number unsigned 32 bit select"),
FC_BA2U0032_BANK(0x038106, 256, "Embed number unsigned 32 bit bank"),
FC_BA2U0064_SEL0(0x038206, 8, "Embed number unsigned 64 bit select"),
FC_BA2U0064_BANK(0x03820E, 256, "Embed number unsigned 64 bit bank"),
FC_BA2U0128_SEL0(0x03830E, 16, "Embed number unsigned 128 bit select"),
FC_BA2U0128_BANK(0x03831E, 256, "Embed number unsigned 128 bit bank"),
FC_BA2U0256_SEL0(0x03841E, 32, "Embed number unsigned 256 bit select"),
FC_BA2U0256_BANK(0x03843E, 256, "Embed number unsigned 256 bit bank"),
FC_BA2U0512_SEL0(0x03853E, 64, "Embed number unsigned 512 bit select"),
FC_BA2U0512_BANK(0x03857E, 256, "Embed number unsigned 512 bit bank"),
FC_BA2U1024_SEL0(0x03867E, 128, "Embed number unsigned 1024 bit select"),
FC_BA2U1024_BANK(0x0386FE, 256, "Embed number unsigned 1024 bit bank"),
FC_BA2U2048_SEL0(0x0387FE, 256, "Embed number unsigned 2048 bit select"),
FC_BA2U2048_BANK(0x0388FE, 256, "Embed number unsigned 2048 bit bank"),
FC_BA2I0016_SEL0(0x0389FE, 2, "Embed number signed 16 bit select"),
FC_BA2I0016_BANK(0x038A00, 256, "Embed number signed 16 bit bank"),
FC_BA2I0032_SEL0(0x038B00, 4, "Embed number signed 32 bit select"),
FC_BA2I0032_BANK(0x038B04, 256, "Embed number signed 32 bit bank"),
FC_BA2I0064_SEL0(0x038C04, 8, "Embed number signed 64 bit select"),
FC_BA2I0064_BANK(0x038C0C, 256, "Embed number signed 64 bit bank"),
FC_BA2I0128_SEL0(0x038D0C, 16, "Embed number signed 128 bit select"),
FC_BA2I0128_BANK(0x038D1C, 256, "Embed number signed 128 bit bank"),
FC_BA2I0256_SEL0(0x038E1C, 32, "Embed number signed 256 bit select"),
FC_BA2I0256_BANK(0x038E3C, 256, "Embed number signed 256 bit bank"),
FC_BA2I0512_SEL0(0x038F3C, 64, "Embed number signed 512 bit select"),
FC_BA2I0512_BANK(0x038F7C, 256, "Embed number signed 512 bit bank"),
FC_BA2I1024_SEL0(0x03907C, 128, "Embed number signed 1024 bit select"),
FC_BA2I1024_BANK(0x0390FC, 256, "Embed number signed 1024 bit bank"),
FC_BA2I2048_SEL0(0x0391FC, 256, "Embed number signed 2048 bit select"),
FC_BA2I2048_BANK(0x0392FC, 256, "Embed number signed 2048 bit bank"),
/// 16x512=8192+1020 cake points to embed base8 number types
FC_BA8U0018_SEL0(0x0393FC, 2, "Embed number unsiged 18 bit select"),
FC_BA8U0018_BANK(0x0393FE, 512, "Embed number unsiged 18 bit bank"),
FC_BA8U0036_SEL0(0x0395FE, 4, "Embed number unsiged 36 bit select"),
FC_BA8U0036_BANK(0x039602, 512, "Embed number unsiged 36 bit bank"),
FC_BA8U0072_SEL0(0x039802, 8, "Embed number unsiged 72 bit select"),
FC_BA8U0072_BANK(0x03980A, 512, "Embed number unsiged 72 bit bank"),
FC_BA8U0144_SEL0(0x039A0A, 16, "Embed number unsiged 144 bit select"),
FC_BA8U0144_BANK(0x039A1A, 512, "Embed number unsiged 144 bit bank"),
FC_BA8U0288_SEL0(0x039C1A, 32, "Embed number unsiged 288 bit select"),
FC_BA8U0288_BANK(0x039C3A, 512, "Embed number unsiged 288 bit bank"),
FC_BA8U0576_SEL0(0x039E3A, 64, "Embed number unsiged 576 bit select"),
FC_BA8U0576_BANK(0x039E7A, 512, "Embed number unsiged 576 bit bank"),
FC_BA8U1152_SEL0(0x03A07A, 128, "Embed number unsiged 1152 bit select"),
FC_BA8U1152_BANK(0x03A0FA, 512, "Embed number unsiged 1152 bit bank"),
FC_BA8U2304_SEL0(0x03A2FA, 256, "Embed number unsiged 2304 bit select"),
FC_BA8U2304_BANK(0x03A3FA, 512, "Embed number unsiged 2304 bit bank"),
FC_BA8I0018_SEL0(0x03A5FA, 2, "Embed number siged 18 bit select"),
FC_BA8I0018_BANK(0x03A5FC, 512, "Embed number siged 18 bit bank"),
FC_BA8I0036_SEL0(0x03A7FC, 4, "Embed number siged 36 bit select"),
FC_BA8I0036_BANK(0x03A800, 512, "Embed number siged 36 bit bank"),
FC_BA8I0072_SEL0(0x03AA00, 8, "Embed number siged 72 bit select"),
FC_BA8I0072_BANK(0x03AA08, 512, "Embed number siged 72 bit bank"),
FC_BA8I0144_SEL0(0x03AC08, 16, "Embed number siged 144 bit select"),
FC_BA8I0144_BANK(0x03AC18, 512, "Embed number siged 144 bit bank"),
FC_BA8I0288_SEL0(0x03AE18, 32, "Embed number siged 288 bit select"),
FC_BA8I0288_BANK(0x03AE38, 512, "Embed number siged 288 bit bank"),
FC_BA8I0576_SEL0(0x03B038, 64, "Embed number siged 576 bit select"),
FC_BA8I0576_BANK(0x03B078, 512, "Embed number siged 576 bit bank"),
FC_BA8I1152_SEL0(0x03B278, 128, "Embed number siged 1152 bit select"),
FC_BA8I1152_BANK(0x03B2F8, 512, "Embed number siged 1152 bit bank"),
FC_BA8I2304_SEL0(0x03B4F8, 256, "Embed number siged 2304 bit select"),
FC_BA8I2304_BANK(0x03B5F8, 512, "Embed number siged 2304 bit bank"),
FC_BA8U0018_SEL0(0x0393FC, 2, "Embed number unsigned 18 bit select"),
FC_BA8U0018_BANK(0x0393FE, 512, "Embed number unsigned 18 bit bank"),
FC_BA8U0036_SEL0(0x0395FE, 4, "Embed number unsigned 36 bit select"),
FC_BA8U0036_BANK(0x039602, 512, "Embed number unsigned 36 bit bank"),
FC_BA8U0072_SEL0(0x039802, 8, "Embed number unsigned 72 bit select"),
FC_BA8U0072_BANK(0x03980A, 512, "Embed number unsigned 72 bit bank"),
FC_BA8U0144_SEL0(0x039A0A, 16, "Embed number unsigned 144 bit select"),
FC_BA8U0144_BANK(0x039A1A, 512, "Embed number unsigned 144 bit bank"),
FC_BA8U0288_SEL0(0x039C1A, 32, "Embed number unsigned 288 bit select"),
FC_BA8U0288_BANK(0x039C3A, 512, "Embed number unsigned 288 bit bank"),
FC_BA8U0576_SEL0(0x039E3A, 64, "Embed number unsigned 576 bit select"),
FC_BA8U0576_BANK(0x039E7A, 512, "Embed number unsigned 576 bit bank"),
FC_BA8U1152_SEL0(0x03A07A, 128, "Embed number unsigned 1152 bit select"),
FC_BA8U1152_BANK(0x03A0FA, 512, "Embed number unsigned 1152 bit bank"),
FC_BA8U2304_SEL0(0x03A2FA, 256, "Embed number unsigned 2304 bit select"),
FC_BA8U2304_BANK(0x03A3FA, 512, "Embed number unsigned 2304 bit bank"),
FC_BA8I0018_SEL0(0x03A5FA, 2, "Embed number signed 18 bit select"),
FC_BA8I0018_BANK(0x03A5FC, 512, "Embed number signed 18 bit bank"),
FC_BA8I0036_SEL0(0x03A7FC, 4, "Embed number signed 36 bit select"),
FC_BA8I0036_BANK(0x03A800, 512, "Embed number signed 36 bit bank"),
FC_BA8I0072_SEL0(0x03AA00, 8, "Embed number signed 72 bit select"),
FC_BA8I0072_BANK(0x03AA08, 512, "Embed number signed 72 bit bank"),
FC_BA8I0144_SEL0(0x03AC08, 16, "Embed number signed 144 bit select"),
FC_BA8I0144_BANK(0x03AC18, 512, "Embed number signed 144 bit bank"),
FC_BA8I0288_SEL0(0x03AE18, 32, "Embed number signed 288 bit select"),
FC_BA8I0288_BANK(0x03AE38, 512, "Embed number signed 288 bit bank"),
FC_BA8I0576_SEL0(0x03B038, 64, "Embed number signed 576 bit select"),
FC_BA8I0576_BANK(0x03B078, 512, "Embed number signed 576 bit bank"),
FC_BA8I1152_SEL0(0x03B278, 128, "Embed number signed 1152 bit select"),
FC_BA8I1152_BANK(0x03B2F8, 512, "Embed number signed 1152 bit bank"),
FC_BA8I2304_SEL0(0x03B4F8, 256, "Embed number signed 2304 bit select"),
FC_BA8I2304_BANK(0x03B5F8, 512, "Embed number signed 2304 bit bank"),
// =========== Allow big terminators to learn a computer math
@ -434,15 +434,12 @@ public enum FourCornerDotCake {
/// Divided in 48 paged banks of 12 bit
FC_NCR1632_BANK(0x03B858, 4096, "New Counting Rods Page octals"),
/// Number signed 576 bit base 10 decimal select
FC_DEC576_SEL0(0x03C858, 48, "Number of 576 bit base 10 decimal select"),
/// Number signed 576 bit base 10 decimal
FC_DEC576_BANK(0x03C888, 4096, "Number of 576 bit base 10 decimal octals"),
/// Number signed 576 bit base 2 float select
FC_E503M72_SEL0(0x03D888, 48, "Number of 576 bit base 10 decimal select"),
/// Number signed 576 bit base 2 float
FC_E503M72_BANK(0x03D8B8, 4096, "Number of 576 bit base 10 decimal octals"),
FC_DEC576_SEL0(0x03C858, 48, "Embed number 576 bit base 10 decimal select"),
FC_DEC576_BANK(0x03C888, 4096, "Embed number 576 bit base 10 decimal bank"),
FC_E503M72_SEL0(0x03D888, 48, "Embed number 576 bit binary floating point select"),
FC_E503M72_BANK(0x03D8B8, 4096, "Embed number 576 bit binary floating point bank"),
//FC_Q503F72_SEL0(0x03D888, 48, "Embed number 576 bit binary fixed point select"),
//FC_Q503F72_BANK(0x03D8B8, 4096, "Embed number 576 bit binary fixed point bank"),
__RESERVED_FREE(0x03E8B8, 0x3F000 - 0x03E8B8),

View file

@ -52,13 +52,13 @@ public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33 {
_ESC6_X3('\u0003'),
/// End of argumented escape sequence prayer.
_SALAH_EXCLAMATION('!'),
_SALAH_EXCLAMATION('!'), // TODO: INTERROBANG('‽')
/// Next argument separator for escape sequences.
_RAKA_QUESTION('?'),
_RAKA_QUESTION('?'), // TODO: DOWNUP_QUESTION('¿')
/// Use 3 pepper marks, to spice up the escape sequences.
_PEPPER_DOWNUP_EXCLAMATION('¡'),
_PEPPER_DOWNUP_QUESTION('¿'),
_PEPPER_DOWNUP_EXCLAMATION('¡'), // TODO: EXCLAMATION('!')
_PEPPER_DOWNUP_QUESTION('¿'), // TODO: QUESTION('?')
/// Special Argument Lexer Token, to season escape sequences.
/// For examples in ESC68_PIE; Move to left pie.

View file

@ -31,17 +31,22 @@ import java.util.List;
/// @version 1.0 Jan 09, 2025
public interface FourCornerZion7Candlelier extends FourCornerZion7Bereshit {
/// Block of one of more number grams of given base.
/// Embed one or more number grams of the given supported base degree type.
void strobeNumberGrams(FourCornerZion7NumberGram gram, List<Integer> values);
/// Embedded signed fractions up to 1152 bit of two 576 bit numbers.
/// Embed NCR1632 "decimal fractional" number. (s576+s576)
void strobeNumberNCR1632(BigInteger numerator, BigInteger denominator);
/// Embedded signed decimal up to 576 bit. (s504+s72)
/// Embed DEC576 todo: REDO as "decimal floating point" number. (s504+s72)
void strobeNumberDEC576(BigInteger coefficient, BigInteger exponent);
//void strobeNumberC503S72(boolean negative, BigInteger combination, BigInteger significand);
/// Embedded E503M72 floating point number. (s+u503+u72)
void strobeNumberE503M72(boolean negative, BigInteger exponent, BigInteger significand);
/// Embed E503M72 "binary floating point" number. (s+u503+u72)
void strobeNumberE503M72(boolean negative, BigInteger exponent, BigInteger mantissa);
// Embed Q503F72 "binary fixed point" number. (s+u503+u72)
//void strobeNumberQ503F72(boolean negative, BigInteger quake, BigInteger fraction);
// XDBX18: doom.wad uses (ARM) Q16.16 which is equal to the real (Texas) Q15.16 (because doom map like E3M2 = 6 bit float)
//void strobeStructBlockRemark(boolean beginOrEnd, boolean textOrDoc);
//void strobeStruct...(...);
@ -61,7 +66,7 @@ public interface FourCornerZion7Candlelier extends FourCornerZion7Bereshit {
}
@Override
default void strobeNumberE503M72(boolean sign, BigInteger exponent, BigInteger significand) {
default void strobeNumberE503M72(boolean sign, BigInteger exponent, BigInteger mantissa) {
}
}
}

View file

@ -41,7 +41,7 @@ public final class FourCornerZion7Petroglyphs {
public static final BigInteger DEC576_COEFFICIENT_MAX = new BigInteger("7FFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF", 16);
public static final BigInteger DEC576_EXPONENT_MAX = new BigInteger("7FFFFFFFFFFFFFFFFF", 16);
public static final BigInteger E503M72_SIGNIFICAND_MAX = new BigInteger("3FFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF", 16);
public static final BigInteger E503M72_MANTISSA_MAX = new BigInteger("3FFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF", 16);
public static final BigInteger E503M72_EXPONENT_MAX = new BigInteger("FFFFFFFFFFFFFFFFFF", 16);
public static final List<Integer> SAND_WORM_SIGNS = List.of(24,48,72,96,120,144,168,192);

View file

@ -450,20 +450,20 @@ public class FourCornerZionStenoGrapher {
}
@Override
public void strobeNumberE503M72(boolean negative, BigInteger exponent, BigInteger significand) {
public void strobeNumberE503M72(boolean negative, BigInteger exponent, BigInteger mantissa) {
Objects.requireNonNull(exponent);
Objects.requireNonNull(significand);
Objects.requireNonNull(mantissa);
if (exponent.compareTo(FourCornerZion7Petroglyphs.E503M72_EXPONENT_MAX) > 0) {
throw new IllegalArgumentException("E503M72 exponent is larger than 72 bit: " + exponent);
}
if (exponent.signum() == -1) {
throw new IllegalArgumentException("E503M72 exponent is smaller than zero: " + exponent);
}
if (significand.compareTo(FourCornerZion7Petroglyphs.E503M72_SIGNIFICAND_MAX) > 0) {
throw new IllegalArgumentException("E503M72 significand is larger than 503 bit: " + significand);
if (mantissa.compareTo(FourCornerZion7Petroglyphs.E503M72_MANTISSA_MAX) > 0) {
throw new IllegalArgumentException("E503M72 mantissa is larger than 503 bit: " + mantissa);
}
if (significand.signum() == -1) {
throw new IllegalArgumentException("E503M72 significand is smaller than zero: " + significand);
if (mantissa.signum() == -1) {
throw new IllegalArgumentException("E503M72 mantissa is smaller than zero: " + mantissa);
}
boolean strobePage = true;
for (int i = 47; i >= 0; i--) {
@ -471,7 +471,7 @@ public class FourCornerZionStenoGrapher {
if (i > 41) {
bankValue = exponent.shiftRight((i - 42) * 12).and(FourCornerZion7Petroglyphs.MASK_BITS_12).intValue();
} else {
bankValue = significand.shiftRight(i * 12).and(FourCornerZion7Petroglyphs.MASK_BITS_12).intValue();
bankValue = mantissa.shiftRight(i * 12).and(FourCornerZion7Petroglyphs.MASK_BITS_12).intValue();
}
if (i == 47 && negative) {
bankValue = (bankValue & 0x7FF) + 0x800;

View file

@ -634,15 +634,15 @@ public class FourCornerZionStenoLexer {
valueBank[47] = valueBank[47] & 0x7FF;
}
BigInteger exponent = BigInteger.ZERO;
BigInteger significand = BigInteger.ZERO;
BigInteger mantissa = BigInteger.ZERO;
for (int ii = 47; ii >= 0; ii--) {
if (ii > 41) {
exponent = exponent.add(BigInteger.valueOf(valueBank[ii]).shiftLeft((ii - 42) * 12));
} else {
significand = significand.add(BigInteger.valueOf(valueBank[ii]).shiftLeft(ii * 12));
mantissa = mantissa.add(BigInteger.valueOf(valueBank[ii]).shiftLeft(ii * 12));
}
}
lexer.handler.strobeNumberE503M72(negative, exponent, significand);
lexer.handler.strobeNumberE503M72(negative, exponent, mantissa);
for (int ii = 0; ii < valueBank.length; ii++) {
valueBank[ii] = 0;
}