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