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