Skip to content

Commit 2d59503

Browse files
committed
BUGFIX: Fixed issues with offsets in moddims after using indexing
1 parent 1b623a0 commit 2d59503

4 files changed

Lines changed: 16 additions & 0 deletions

File tree

src/api/c/moddims.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Array<T> modDims(const Array<T>& in, const af::dim4 &newDims)
3232
}
3333

3434
Out.modDims(newDims);
35+
Out.setDataDims(newDims);
3536

3637
return Out;
3738
}

src/backend/cpu/Array.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,11 @@ namespace cpu
173173
return isOwner() ? info.dims() : data_dims;
174174
}
175175

176+
void setDataDims(const dim4 &new_dims)
177+
{
178+
data_dims = new_dims;
179+
}
180+
176181
T* device()
177182
{
178183
getQueue().sync();

src/backend/cuda/Array.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,11 @@ namespace cuda
168168
return isOwner() ? dims() : data_dims;
169169
}
170170

171+
void setDataDims(const dim4 &new_dims)
172+
{
173+
data_dims = new_dims;
174+
}
175+
171176
T* device()
172177
{
173178
if (!isOwner() || data.use_count() > 1) {

src/backend/opencl/Array.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,11 @@ namespace opencl
200200
return isOwner() ? dims() : data_dims;
201201
}
202202

203+
void setDataDims(const dim4 &new_dims)
204+
{
205+
data_dims = new_dims;
206+
}
207+
203208
operator Param() const
204209
{
205210
KParam info = {{dims()[0], dims()[1], dims()[2], dims()[3]},

0 commit comments

Comments
 (0)