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