pull_requests: 1306588555
This data as json
id | node_id | number | state | locked | title | user | body | created_at | updated_at | closed_at | merged_at | merge_commit_sha | assignee | milestone | draft | head | base | author_association | auto_merge | repo | url | merged_by |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1306588555 | PR_kwDOAMm_X85N4PWL | 7741 | closed | 0 | Add lshift and rshift operators | 6145107 | This seems a little too easy, but the PR just adds lshift and rshit to `generate_ops.py` and `ops.py` then generated the 2 stub files with `generate_ops.py`. - [x] Closes #7727 - [x] Tests added for: - xr.Variable - DataArray - dask - groupby - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - There will be new `<<` `>>` syntax for dataarrays and datasets. - [x] New functions/methods are listed in `api.rst` - Existing basic math operators aren't really listed, that I can find. - Could add example code in the "Data arrays also implement many numpy.ndarray methods:" section of computation.rst ? I'll wait for initial review before spending time on whats-new and api docs. This enables bit shifting on arrays (when the type supports it). ```python import xarray as xr x = xr.DataArray(5) print(x << 1) # <xarray.DataArray ()> # array(10) x = xr.DataArray([0,1,2,3,4,5]) print(x << 1) # <xarray.DataArray (dim_0: 6)> # array([ 0, 2, 4, 6, 8, 10]) # Dimensions without coordinates: dim_0 x = xr.DataArray([0,1,2,3,4,5]) print(x >> 1) # <xarray.DataArray (dim_0: 6)> # array([0, 0, 1, 1, 2, 2]) # Dimensions without coordinates: dim_0 x = xr.DataArray([0,1,2,3,4,5.]) print(x >> 1) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/workspaces/xarray/xarray/core/_typed_ops.py", line 255, in __rshift__ return self._binary_op(other, operator.rshift) File "/workspaces/xarray/xarray/core/dataarray.py", line 4566, in _binary_op f(self.variable, other_variable) File "/workspaces/xarray/xarray/core/_typed_ops.py", line 461, in __rshift__ return self._binary_op(other, operator.rshift) File "/workspaces/xarray/xarray/core/variable.py", line 2662, in _binary_op f(self_data, other_data) if not reflexive else f(other_data, self_data) TypeError: ufunc 'right_shift' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' ``` | 2023-04-08T21:45:46Z | 2023-04-28T14:22:07Z | 2023-04-28T14:22:07Z | 2023-04-28T14:22:07Z | a220022e7ef8d3df68619643954352fa39394ea8 | 0 | 3efcbe5fbffaf43667fa070cbc4ae9f834923c00 | 7c53a94f53c4c01155c432c8b287f3d0b318a7c7 | CONTRIBUTOR | 13221727 | https://github.com/pydata/xarray/pull/7741 |
Links from other tables
- 2 rows from pull_requests_id in labels_pull_requests