Improve MatrixSlice assign performance.
This commit is contained in:
@@ -542,12 +542,19 @@ namespace Aurora {
|
|||||||
switch (mSliceMode) {
|
switch (mSliceMode) {
|
||||||
case 2:{
|
case 2:{
|
||||||
if (mType== Normal) {
|
if (mType== Normal) {
|
||||||
cblas_dcopy_batch_strided(mSize, slice.mData, slice.mStride, slice.mStride2, mData, mStride,
|
// cblas_dcopy_batch_strided(mSize, slice.mData, slice.mStride, slice.mStride2, mData, mStride,
|
||||||
mStride2, mSize2);
|
// mStride2, mSize2);
|
||||||
|
for (int i = 0; i < mSize2; ++i) {
|
||||||
|
cblas_dcopy(mSize,slice.mData + i*slice.mStride2,slice.mStride,mData+i*mStride2,mStride);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cblas_zcopy_batch_strided(mSize,(std::complex<double>*)slice.mData,slice.mStride,slice.mStride2,
|
// cblas_zcopy_batch_strided(mSize,(std::complex<double>*)slice.mData,slice.mStride,slice.mStride2,
|
||||||
(std::complex<double>*)mData,mStride,mStride2,mSize2);
|
// (std::complex<double>*)mData,mStride,mStride2,mSize2);
|
||||||
|
for (int i = 0; i < mSize2; ++i) {
|
||||||
|
cblas_zcopy(mSize, (std::complex<double> *) (slice.mData + i * slice.mStride2), slice.mStride,
|
||||||
|
(std::complex<double> *) (mData + i * mStride2), mStride);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user