mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-30 19:47:52 +00:00
Some checks are pending
CI / cargo test (linux) (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / cargo fuzz build (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (windows) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (release) (push) Waiting to run
CI / cargo build (msrv) (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks-instrumented (push) Blocked by required conditions
CI / benchmarks-walltime (push) Blocked by required conditions
Co-authored-by: Micha Reiser <micha@reiser.io>
99 lines
1.1 KiB
Python
99 lines
1.1 KiB
Python
import math
|
||
from math import nan as bad_val
|
||
import numpy as np
|
||
from numpy import nan as npy_nan
|
||
|
||
|
||
x = float("nan")
|
||
y = np.NaN
|
||
|
||
# PLW0117
|
||
if x == float("nan"):
|
||
pass
|
||
|
||
# PLW0117
|
||
if x == float("NaN"):
|
||
pass
|
||
|
||
# PLW0117
|
||
if x == float("NAN"):
|
||
pass
|
||
|
||
# PLW0117
|
||
if x == float("Nan"):
|
||
pass
|
||
|
||
# PLW0117
|
||
if x == math.nan:
|
||
pass
|
||
|
||
# PLW0117
|
||
if x == bad_val:
|
||
pass
|
||
|
||
# PLW0117
|
||
if y == np.NaN:
|
||
pass
|
||
|
||
# PLW0117
|
||
if y == np.NAN:
|
||
pass
|
||
|
||
# PLW0117
|
||
if y == np.nan:
|
||
pass
|
||
|
||
# PLW0117
|
||
if y == npy_nan:
|
||
pass
|
||
|
||
import builtins
|
||
|
||
# PLW0117
|
||
if x == builtins.float("nan"):
|
||
pass
|
||
|
||
# https://github.com/astral-sh/ruff/issues/16374
|
||
match number:
|
||
# Errors
|
||
case np.nan: ...
|
||
case math.nan: ...
|
||
|
||
# No errors
|
||
case np.nan(): ...
|
||
case math.nan(): ...
|
||
case float('nan'): ...
|
||
case npy_nan: ...
|
||
|
||
# OK
|
||
if math.isnan(x):
|
||
pass
|
||
|
||
# OK
|
||
if np.isnan(y):
|
||
pass
|
||
|
||
# OK
|
||
if x == 0:
|
||
pass
|
||
|
||
# OK
|
||
if x == float("32"):
|
||
pass
|
||
|
||
# OK
|
||
if x == float(42):
|
||
pass
|
||
|
||
# OK
|
||
if y == np.inf:
|
||
pass
|
||
|
||
# OK
|
||
if x == "nan":
|
||
pass
|
||
|
||
# PLW0117
|
||
# https://github.com/astral-sh/ruff/issues/18596
|
||
assert x == float("-NaN ")
|
||
assert x == float(" \n+nan \t")
|