Add mod and mod's unittest.

This commit is contained in:
sunwen
2023-04-23 16:37:23 +08:00
parent 4c08268887
commit 4096087315
2 changed files with 21 additions and 0 deletions

View File

@@ -5,6 +5,7 @@
#include "AuroraDefs.h"
#include <cstring>
#include <cmath>
#include <iostream>
#include <Eigen/Core>
@@ -352,3 +353,21 @@ Matrix Aurora::exp(const Matrix& 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);
}

View File

@@ -51,6 +51,8 @@ namespace Aurora {
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