(
val: float | int | str,
sort: FPSortRef | None = None,
ctx: Context | None = None,
)
| 3261 | |
| 3262 | |
| 3263 | def FPVal( |
| 3264 | val: float | int | str, |
| 3265 | sort: FPSortRef | None = None, |
| 3266 | ctx: Context | None = None, |
| 3267 | ) -> FPNumRef: |
| 3268 | if sort is None: |
| 3269 | sort = Float64() |
| 3270 | val = float(val) if isinstance(val, (int, str)) else val |
| 3271 | bits = struct.unpack("<Q", struct.pack("<d", val))[0] |
| 3272 | return FPNumRef(FpLitNode(bits, sort.ebits(), sort.sbits()), sort, frozenset()) |
| 3273 | |
| 3274 | |
| 3275 | def fpNaN(sort: FPSortRef, ctx: Context | None = None) -> FPNumRef: |