Add linspace and linspace's unittest.
This commit is contained in:
@@ -538,3 +538,15 @@ Matrix Aurora::vecnorm(const Matrix& aMatrix, NormMethod aNormMethod, int aDim)
|
|||||||
|
|
||||||
return Matrix::New(resultData,column);
|
return Matrix::New(resultData,column);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Matrix Aurora::linspace(double aStart, double aEnd, int aNum)
|
||||||
|
{
|
||||||
|
double step = (aEnd - aStart) / (aNum - 1);
|
||||||
|
double* resultData = Aurora::malloc(aNum);
|
||||||
|
for (int i = 0; i < aNum; i++)
|
||||||
|
{
|
||||||
|
resultData[i] = aStart + step * i;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Matrix::New(resultData,aNum);
|
||||||
|
}
|
||||||
|
|||||||
@@ -72,6 +72,8 @@ namespace Aurora {
|
|||||||
|
|
||||||
Matrix vecnorm(const Matrix& aMatrix, NormMethod aNormMethod, int aDim);
|
Matrix vecnorm(const Matrix& aMatrix, NormMethod aNormMethod, int aDim);
|
||||||
|
|
||||||
|
Matrix linspace(double aStart, double aEnd, int aNum);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 多项式计算
|
* 多项式计算
|
||||||
* @brief 例如p[1 0 1],x[3 2 5],代表对多项式 y = x^2 + 1 求(x=3, x=2, x=5)时所有的y
|
* @brief 例如p[1 0 1],x[3 2 5],代表对多项式 y = x^2 + 1 求(x=3, x=2, x=5)时所有的y
|
||||||
|
|||||||
@@ -428,3 +428,14 @@ TEST_F(Function1D_Test, vecnrom) {
|
|||||||
EXPECT_DOUBLE_AE(result.getData()[0],9.5394);
|
EXPECT_DOUBLE_AE(result.getData()[0],9.5394);
|
||||||
EXPECT_DOUBLE_AE(result.getData()[1],43.3474);
|
EXPECT_DOUBLE_AE(result.getData()[1],43.3474);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(Function1D_Test, linspace) {
|
||||||
|
auto result = Aurora::linspace(-5,5,7);
|
||||||
|
EXPECT_DOUBLE_AE(result.getData()[0],-5);
|
||||||
|
EXPECT_DOUBLE_AE(result.getData()[1],-3.3333);
|
||||||
|
EXPECT_DOUBLE_AE(result.getData()[2],-1.6667);
|
||||||
|
EXPECT_DOUBLE_AE(result.getData()[3],0);
|
||||||
|
EXPECT_DOUBLE_AE(result.getData()[4],1.6667);
|
||||||
|
EXPECT_DOUBLE_AE(result.getData()[5], 3.3333);
|
||||||
|
EXPECT_DOUBLE_AE(result.getData()[6], 5.0000);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user