Skip to content

Commit c016c6d

Browse files
authored
Merge pull request #1134 from JAi-SATHVIK/fix/diff-shape-destruction
fix(math): preserve non-differenced dimension shape in diff for 2D array
2 parents eeeadbf + e9814be commit c016c6d

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/math/stdlib_math_diff.fypp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,14 @@ contains
9191
size_work = size_x + size_prepend + size_append
9292

9393
if (size_work <= n_) then
94-
allocate(y(0, 0))
94+
select case (dim_)
95+
case (1)
96+
allocate(y(0, size(x, 2)))
97+
case (2)
98+
allocate(y(size(x, 1), 0))
99+
case default
100+
error stop "diff_2: internal error: invalid dimension (dim_ must be 1 or 2)"
101+
end select
95102
return
96103
end if
97104

0 commit comments

Comments
 (0)