| 178 | |
| 179 | # --------------------------------------------------------------------------- # |
| 180 | def run_numpy(): |
| 181 | import numpy as np |
| 182 | |
| 183 | inp = KASE["inputs"]["numpy"] |
| 184 | if inp is None: |
| 185 | emit(status="unsupported", reason="NumPy has no symbolic algebra") |
| 186 | return |
| 187 | |
| 188 | timing = timeit(lambda: eval(inp["expr"], {"np": np})) |
| 189 | val = eval(inp["expr"], {"np": np}) |
| 190 | val = float(val) |
| 191 | if not np.isfinite(val): |
| 192 | emit(status="overflow", text=repr(val), valueText=repr(val), values=[], **timing) |
| 193 | else: |
| 194 | # repr() of a float64 round-trips to full ~17 significant digits. |
| 195 | emit(status="ok", text=repr(val), valueText=repr(val), values=[], **timing) |
| 196 | |
| 197 | |
| 198 | if TOOL == "sympy": |