Add mod and mod's unittest.
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
#include "AuroraDefs.h"
|
#include "AuroraDefs.h"
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include <cmath>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include <Eigen/Core>
|
#include <Eigen/Core>
|
||||||
@@ -352,3 +353,21 @@ Matrix Aurora::exp(const Matrix& aMatrix)
|
|||||||
}
|
}
|
||||||
return Matrix::New(data, aMatrix);
|
return Matrix::New(data, aMatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Matrix Aurora::mod(const Matrix& aMatrix, double aValue)
|
||||||
|
{
|
||||||
|
if(aMatrix.isComplex() || aMatrix.isNull())
|
||||||
|
{
|
||||||
|
return Matrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t size = aMatrix.getDataSize();
|
||||||
|
double* matrixData = aMatrix.getData();
|
||||||
|
double* resultData = Aurora::malloc(size);
|
||||||
|
for(size_t i=0; i<size; ++i)
|
||||||
|
{
|
||||||
|
resultData[i] = fmod(matrixData[i], aValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Matrix::New(resultData, aMatrix);
|
||||||
|
}
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ namespace Aurora {
|
|||||||
|
|
||||||
Matrix exp(const Matrix& aMatrix);
|
Matrix exp(const Matrix& aMatrix);
|
||||||
|
|
||||||
|
Matrix mod(const Matrix& aMatrix, double aValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 多项式计算
|
* 多项式计算
|
||||||
* @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
|
||||||
|
|||||||
Reference in New Issue
Block a user