Change repmat copy function from std::copy to cblas_dcopy.

This commit is contained in:
sunwen
2023-04-21 11:32:53 +08:00
parent 84fee55eb8
commit 7eac11272c

View File

@@ -253,7 +253,7 @@ Matrix Aurora::repmat(const Matrix& aMatrix,int aRowTimes, int aColumnTimes)
{
for(int j=1; j<=aRowTimes; ++j)
{
std::copy(originalData, originalData+row*complexStep, resultDataTemp);
cblas_dcopy(row*complexStep,originalData, 1, resultDataTemp, 1);
resultDataTemp += row*complexStep;
}
originalData += row*complexStep;
@@ -263,7 +263,7 @@ Matrix Aurora::repmat(const Matrix& aMatrix,int aRowTimes, int aColumnTimes)
int step = originalDataSize * aRowTimes;
for(int i=1; i<aColumnTimes; ++i)
{
std::copy(resultData, resultData + step, resultData + i*step);
cblas_dcopy(step, resultData, 1, resultData + i*step, 1);
}
std::vector<int> resultInfo;
@@ -291,7 +291,7 @@ Matrix Aurora::repmat(const Matrix& aMatrix,int aRowTimes, int aColumnTimes, int
std::copy(resultTemp.getData(), resultTemp.getData() + resultTempDataSize, resultData);
for(int i=1; i<aSliceTimes; ++i)
{
std::copy(resultData, resultData + resultTempDataSize, resultData + i*resultTempDataSize);
cblas_dcopy(resultTempDataSize, resultData, 1, resultData + i*resultTempDataSize, 1);
}
std::vector<int> resultInfo;
int row = resultTemp.getDimSize(0);