Update removeDataFromArrays to pass unitTest.

This commit is contained in:
sunwen
2023-05-25 16:23:16 +08:00
parent f5302bf790
commit 663ad11e55

View File

@@ -11,36 +11,36 @@ using namespace Aurora;
Aurora::Matrix Recon::removeDataFromArrays(const Aurora::Matrix& aOutPutMatrix, const Aurora::Matrix& aRemoveList) Aurora::Matrix Recon::removeDataFromArrays(const Aurora::Matrix& aOutPutMatrix, const Aurora::Matrix& aRemoveList)
{ {
// Matrix result = aOutPutMatrix; Matrix result = aOutPutMatrix;
// int minusNum = 0; int minusNum = 0;
// for(int i=0; i<aRemoveList.getDataSize(); ++i) for(int i=0; i<aRemoveList.getDataSize(); ++i)
// {
// if(aRemoveList[i] == 0)
// {
// result = deleteColumn(result, i - minusNum);
// ++minusNum;
// }
// }
// return result;
size_t columnSize = sum(aRemoveList, FunctionDirection::All)[0];
double* resultData = Aurora::malloc(columnSize * aOutPutMatrix.getDimSize(0));
Matrix result = Matrix::New(resultData, aOutPutMatrix.getDimSize(0), columnSize);
std::vector<std::pair<int,int>> copyList;
size_t length = 0;
for(size_t i=0; i<aRemoveList.getDataSize(); ++i)
{ {
if(aRemoveList[i] == 1) if(aRemoveList[i] == 0)
{ {
++length; result = deleteColumn(result, i - minusNum);
} ++minusNum;
}
if(aRemoveList[i] == 0 && length != 0)
{
copyList.push_back({});
length = 0;
}
} }
return result;
// size_t columnSize = sum(aRemoveList, FunctionDirection::All)[0];
// double* resultData = Aurora::malloc(columnSize * aOutPutMatrix.getDimSize(0));
// Matrix result = Matrix::New(resultData, aOutPutMatrix.getDimSize(0), columnSize);
// std::vector<std::pair<int,int>> copyList;
// size_t length = 0;
// for(size_t i=0; i<aRemoveList.getDataSize(); ++i)
// {
// if(aRemoveList[i] == 1)
// {
// ++length;
// }
// if(aRemoveList[i] == 0 && length != 0)
// {
// copyList.push_back({});
// length = 0;
// }
// }
} }