@@ -5034,6 +5034,14 @@ End Rem
Return "0"
Else
If TDecimalType(expr.exprType) Then
+ If s.StartsWith("1.#INF0000") Then
+ s = "inf"
+ Else If s.StartsWith("-1.#INF0000") Then
+ s = "-inf"
+ Else If s.StartsWith("-1.#IND0000") Then
+ s = "nan"
+ End If
+
Return s + TransIfcType(expr.exprType)
Return s
@@ -602,9 +602,16 @@ Type TIParser
NextToke
Case TOKE_IDENT
If _toke = "nan" Or _toke = "inf" Then
- Local value:String = _toke
+ Local value:String
+ Select _toke
+ Case "inf"
+ value = "1.#INF0000"
+ Case "nan"
+ value = "-1.#IND0000"
+ End Select
If CParse("!") Then
+ value :+ "00000000"
expr=New TConstExpr.Create( New TDoubleType,value )
CParse("#")