Skip to content

Commit 96bd5b4

Browse files
authored
Merge branch 'develop' into copilot/fix-raster-arithmetic-result
2 parents 291e2cf + 8ec17a1 commit 96bd5b4

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

src/rastr/raster.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,12 @@ def __truediv__(self, other: float | Self | ArrayLike) -> Self:
271271
else:
272272
return NotImplemented
273273

274-
def __rtruediv__(self, other: float | ArrayLike) -> Self:
275-
return self / other
274+
def __rtruediv__(self, other: float) -> Self:
275+
if not isinstance(other, float | int):
276+
return NotImplemented
277+
cls = self.__class__
278+
new_arr = other / self.arr
279+
return cls(arr=new_arr, raster_meta=self.raster_meta)
276280

277281
def __sub__(self, other: float | Self | ArrayLike) -> Self:
278282
cls = self.__class__

tests/rastr/test_raster.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -911,15 +911,17 @@ def test_right_div_float(self):
911911
transform=Affine(1.0, 0.0, 0.0, 0.0, 1.0, 0.0),
912912
)
913913
raster1 = Raster(
914-
arr=np.array([[1, 2], [3, 4]]),
914+
arr=np.array([[1, 2], [3, 4]], dtype=float),
915915
raster_meta=raster_meta,
916916
)
917917

918918
# Act
919919
result = 2.0 / raster1
920920

921921
# Assert
922-
np.testing.assert_array_equal(result.arr, np.array([[0.5, 1], [1.5, 2]]))
922+
np.testing.assert_array_equal(
923+
result.arr, np.array([[2.0 / 1, 2.0 / 2], [2.0 / 3, 2.0 / 4]])
924+
)
923925

924926
def test_shape_mismatch(self):
925927
# Arrange

0 commit comments

Comments
 (0)