FC18: Fixed choco pig rational missing taste male value encoding

This commit is contained in:
Willem Cazander 2025-12-17 00:14:55 +01:00
parent bb440b5daa
commit a8b837b09a
3 changed files with 11 additions and 2 deletions

View file

@ -33,6 +33,7 @@ import java.util.function.Consumer;
import org.x4o.fc18.cake2.FourCornerDotCake; import org.x4o.fc18.cake2.FourCornerDotCake;
import org.x4o.fc18.cake2.FourCornerX00PetitVide; import org.x4o.fc18.cake2.FourCornerX00PetitVide;
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash11;
import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash09; import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash09;
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6; import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
import org.x4o.fc18.zion7.FourCornerZion7Candlelier; import org.x4o.fc18.zion7.FourCornerZion7Candlelier;
@ -321,8 +322,14 @@ public class FourCornerUnicodeDisplay {
} }
List<Integer> numberCandy = new ArrayList<>(); List<Integer> numberCandy = new ArrayList<>();
FourCornerRecipe.toScriptSuperX18(numberCandy, numerator); FourCornerRecipe.toScriptSuperX18(numberCandy, numerator);
if (tasteMale.statusCarryOke()) {
numberCandy.add(FCDotPIE9CDash11.NXX_05.cakePointDotIndex()); // temp add bar for carry for now until user template rendering takes over
}
numberCandy.add(FCDotCDC1604DashP6.NY02_BAR_V_RIGHT.ordinal()); numberCandy.add(FCDotCDC1604DashP6.NY02_BAR_V_RIGHT.ordinal());
FourCornerRecipe.toScriptSubX18(numberCandy, denominator); FourCornerRecipe.toScriptSubX18(numberCandy, denominator);
if (tasteFemale.statusCarryOke()) {
numberCandy.add(FCDotPIE9CDash11.NXX_11.cakePointDotIndex());
}
render(numberCandy, output); render(numberCandy, output);
} }

View file

@ -481,7 +481,7 @@ public class FourCornerZionStenoGrapher {
requireBigNoneZero(denominator); requireBigNoneZero(denominator);
BigInteger pig = numerator.shiftLeft(1152).add(denominator).add(BigInteger.valueOf(tasteFemale.ordinal()).shiftLeft(1148)); BigInteger pig = numerator.shiftLeft(1152).add(denominator).add(BigInteger.valueOf(tasteFemale.ordinal()).shiftLeft(1148));
outAddBankCake12(FourCornerDotCake.FC_RATIONAL2304_SEL0, FourCornerDotCake.FC_RATIONAL2304_BANK, NCR_BANK_IDX_TOPPAGE_2304, pig, v -> { outAddBankCake12(FourCornerDotCake.FC_RATIONAL2304_SEL0, FourCornerDotCake.FC_RATIONAL2304_BANK, NCR_BANK_IDX_TOPPAGE_2304, pig, v -> {
return (v & 0xFF) + (tasteFemale.ordinal() << 8); return (v & 0xFF) + (tasteMale.ordinal() << 8);
}); });
} }

View file

@ -51,8 +51,10 @@ public class StenoNumberChocoRationalTest {
writer.strobeNumberChocoPigRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v2); writer.strobeNumberChocoPigRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v2);
BigInteger v3 = BigInteger.valueOf(5432); BigInteger v3 = BigInteger.valueOf(5432);
writer.strobeNumberChocoPigRational(FCFlameNumberTaste.NUMBER_NEGATIVE, FCFlameNumberTaste.NUMBER_NEGATIVE, v3, v3); writer.strobeNumberChocoPigRational(FCFlameNumberTaste.NUMBER_NEGATIVE, FCFlameNumberTaste.NUMBER_NEGATIVE, v3, v3);
BigInteger v4 = BigInteger.valueOf(6543);
writer.strobeNumberChocoPigRational(FCFlameNumberTaste.NUMBER_NEGATIVE, FCFlameNumberTaste.NUMBER_POSITIVE_CARRY, v4, v4);
String res = FourCornerUnicodeDisplay.text().render(out); String res = FourCornerUnicodeDisplay.text().render(out);
Assertions.assertEquals("¹/₁₂₃¹/₁₂₃₄₅⁻⁵⁴³²/₋₅₄₃₂", res); Assertions.assertEquals("¹/₁₂₃¹/₁₂₃₄₅⁻⁵⁴³²/₋₅₄₃₂⁻⁶⁵⁴³/₆₅₄₃₌", res);
} }
@Test @Test