Skip to content

explicitly cast the dtype of where's condition parameter to bool #10087

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Mar 13, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fall back to xp.bool_ if xp.bool doesn't exist
  • Loading branch information
keewis committed Mar 12, 2025
commit afce80b39ea8013e08a707c889c314362a3e9ed1
5 changes: 3 additions & 2 deletions xarray/core/duck_array_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@

if xp == np:
# numpy currently doesn't have a astype:
return data.astype(dtype, **kwargs)

Check warning on line 236 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / macos-latest py3.10

invalid value encountered in cast

Check warning on line 236 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / macos-latest py3.10

invalid value encountered in cast

Check warning on line 236 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / windows-latest py3.10

invalid value encountered in cast

Check warning on line 236 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / windows-latest py3.10

invalid value encountered in cast

Check warning on line 236 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10

invalid value encountered in cast

Check warning on line 236 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10

invalid value encountered in cast
return xp.astype(data, dtype, **kwargs)


Expand Down Expand Up @@ -377,10 +377,11 @@
"""Three argument where() with better dtype promotion rules."""
xp = get_array_namespace(condition, x, y)

dtype = xp.bool if hasattr(xp, "bool") else xp.bool_

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.

Check warning on line 380 in xarray/core/duck_array_ops.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest py3.10 min-all-deps

In the future `np.bool` will be defined as the corresponding NumPy scalar.
if not is_duck_array(condition):
condition = asarray(condition, dtype=xp.bool, xp=xp)
condition = asarray(condition, dtype=dtype, xp=xp)
else:
condition = astype(condition, dtype=xp.bool, xp=xp)
condition = astype(condition, dtype=dtype, xp=xp)

return xp.where(condition, *as_shared_dtype([x, y], xp=xp))

Expand Down
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy