public override Value VisitIs_eqisnan(calculatorParser.Is_eqisnanContext context) { Value ret = Visit(context.expr()); if (ret.isDouble()) { if (double.IsNaN(ret.asDouble())) { return(new Value(true)); } if (double.IsInfinity(ret.asDouble())) { return(new Value(true)); } } return(new Value(false)); }
/// <summary> /// Visit a parse tree produced by <see cref="calculatorParser.is_eqisnan"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitIs_eqisnan([NotNull] calculatorParser.Is_eqisnanContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="calculatorParser.is_eqisnan"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitIs_eqisnan([NotNull] calculatorParser.Is_eqisnanContext context) { }