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());
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
|
||||
@@ -131,6 +131,10 @@ namespace Aurora {
|
||||
|
||||
Matrix auroraNot(const 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);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user