Return object as REAL constant.
(obj, kind=4)
| 972 | |
| 973 | |
| 974 | def as_real(obj, kind=4): |
| 975 | """Return object as REAL constant. |
| 976 | """ |
| 977 | if isinstance(obj, int): |
| 978 | return Expr(Op.REAL, (float(obj), kind)) |
| 979 | if isinstance(obj, float): |
| 980 | return Expr(Op.REAL, (obj, kind)) |
| 981 | if isinstance(obj, Expr): |
| 982 | if obj.op is Op.REAL: |
| 983 | return obj |
| 984 | elif obj.op is Op.INTEGER: |
| 985 | return Expr(Op.REAL, (float(obj.data[0]), kind)) |
| 986 | raise OpError(f'cannot convert {obj} to REAL constant') |
| 987 | |
| 988 | |
| 989 | def as_string(obj, kind=1): |