Add compareSet to 1D
This commit is contained in:
@@ -904,6 +904,30 @@ void Aurora::padding(Matrix &aMatrix, int aIndex, double aValue)
|
|||||||
aMatrix = Matrix::New(newData,size,1,1,aMatrix.getValueType());
|
aMatrix = Matrix::New(newData,size,1,1,aMatrix.getValueType());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Aurora::compareSet(Matrix& aMatrix,double compareValue, double newValue,CompareOp op){
|
||||||
|
Eigen::Map<Eigen::VectorXd> v(aMatrix.getData(),aMatrix.getDataSize());
|
||||||
|
switch (op) {
|
||||||
|
case EQ:
|
||||||
|
v = (v.array() == compareValue).select(newValue, v);
|
||||||
|
break;
|
||||||
|
case GT:
|
||||||
|
v = (v.array() > compareValue).select(newValue, v);
|
||||||
|
break;
|
||||||
|
case LT:
|
||||||
|
v = (v.array() < compareValue).select(newValue, v);
|
||||||
|
break;
|
||||||
|
case NG:
|
||||||
|
v = (v.array() <= compareValue).select(newValue, v);
|
||||||
|
break;
|
||||||
|
case NL:
|
||||||
|
v = (v.array() >= compareValue).select(newValue, v);
|
||||||
|
break;
|
||||||
|
case NE:
|
||||||
|
v = (v.array() != compareValue).select(newValue, v);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Matrix Aurora::convertfp16tofloat(short* aData, int aRows, int aColumns)
|
Matrix Aurora::convertfp16tofloat(short* aData, int aRows, int aColumns)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -131,6 +131,10 @@ namespace Aurora {
|
|||||||
|
|
||||||
Matrix auroraNot(const Matrix& aMatrix);
|
Matrix auroraNot(const Matrix& aMatrix);
|
||||||
Matrix auroraNot(Matrix&& aMatrix);
|
Matrix auroraNot(Matrix&& aMatrix);
|
||||||
|
enum CompareOp{
|
||||||
|
EQ,GT,LT,NG,NL,NE
|
||||||
|
};
|
||||||
|
void compareSet(Matrix& aMatrix,double compareValue, double newValue,CompareOp op);
|
||||||
|
|
||||||
Matrix convertfp16tofloat(short* aData, int aRows, int aColumns);
|
Matrix convertfp16tofloat(short* aData, int aRows, int aColumns);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,21 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
TEST_F(Function1D_Test,compareSet){
|
||||||
|
double * dataA =Aurora::malloc(9);
|
||||||
|
for (int i = 0; i < 9; ++i) {
|
||||||
|
dataA[i]=(double)(i-3);
|
||||||
|
}
|
||||||
|
Aurora::Matrix A = Aurora::Matrix::New(dataA,3,3);
|
||||||
|
EXPECT_EQ(-3, A[0]);
|
||||||
|
EXPECT_EQ(-2, A[1]);
|
||||||
|
EXPECT_EQ(-1, A[2]);
|
||||||
|
compareSet(A,0,0,Aurora::LT);
|
||||||
|
EXPECT_EQ(0, A[0]);
|
||||||
|
EXPECT_EQ(0, A[1]);
|
||||||
|
EXPECT_EQ(0, A[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_F(Function1D_Test, sign) {
|
TEST_F(Function1D_Test, sign) {
|
||||||
double * dataA =Aurora::malloc(9);
|
double * dataA =Aurora::malloc(9);
|
||||||
|
|||||||
Reference in New Issue
Block a user