Пример #1
0
 public void ExitSignificand(BASICParser.SignificandContext context)
 {
     if (currentFraction == null)
     {
         currentSignificand = new Significand(currentInteger);
     }
     else
     {
         currentSignificand = isInt ? new Significand(currentInteger, currentFraction) : new Significand(currentFraction);
         currentFraction    = null;
     }
 }
Пример #2
0
        /// <inheritdoc/>
        public override string ToString()
        {
            var sign = IsNegative ? "-" : "";

            switch (Kind)
            {
            case FloatLiteralKind.Number:
            default:
                return($"{sign}{Significand} * {Base} ^ {Exponent}");

            case FloatLiteralKind.NaNWithPayload:
                return($"{sign}nan:0x{Significand.ToString("x")}");

            case FloatLiteralKind.CanonicalNaN:
                return($"{sign}nan");

            case FloatLiteralKind.Infinity:
                return($"{sign}inf");
            }
        }