From 49d9026592b8aa6426181b578f110b390cf07a49 Mon Sep 17 00:00:00 2001 From: sunwen Date: Mon, 24 Apr 2023 11:21:31 +0800 Subject: [PATCH] Add acosd and acosd's unittest. --- src/AuroraDefs.h | 3 +++ src/Function1D.cpp | 18 ++++++++++++++++++ src/Function1D.h | 2 ++ test/Function1D_Test.cpp | 10 ++++++++++ 4 files changed, 33 insertions(+) diff --git a/src/AuroraDefs.h b/src/AuroraDefs.h index fe80a1e..2c4cad4 100644 --- a/src/AuroraDefs.h +++ b/src/AuroraDefs.h @@ -4,4 +4,7 @@ //必须在mkl.h和Eigen的头之前,之后 #define MKL_Complex16 std::complex #include "mkl.h" + +#define PI 3.141592653589793238462 + #endif //AURORA_AURORADEFS_H diff --git a/src/Function1D.cpp b/src/Function1D.cpp index 709968f..2602f4e 100644 --- a/src/Function1D.cpp +++ b/src/Function1D.cpp @@ -385,3 +385,21 @@ Matrix Aurora::acos(const Matrix& aMatrix) vdAcos(size, matrixData, resultData); return Matrix::New(resultData, aMatrix); } + +Matrix Aurora::acosd(const Matrix& aMatrix) +{ + if(aMatrix.isComplex() || aMatrix.isNull()) + { + return Matrix(); + } + + size_t size = aMatrix.getDataSize(); + double* matrixData = aMatrix.getData(); + double* resultData = Aurora::malloc(size); + vdAcos(size, matrixData, resultData); + for(size_t i=0; i