From 9c09e349d3df5df67824741099f6811cab27c752 Mon Sep 17 00:00:00 2001 From: kradchen Date: Mon, 15 May 2023 16:18:29 +0800 Subject: [PATCH] Aurora not function --- src/Function1D.cpp | 14 ++++++++++++++ src/Function1D.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/Function1D.cpp b/src/Function1D.cpp index 4d4d781..68284a0 100644 --- a/src/Function1D.cpp +++ b/src/Function1D.cpp @@ -18,6 +18,7 @@ #include #include #include +#include using namespace Aurora; @@ -199,6 +200,19 @@ Aurora::Matrix Aurora::round(const Aurora::Matrix &&matrix) { return matrix; } +Matrix Aurora::auroraNot(const Matrix& aMatrix){ + return auroraNot(std::forward(aMatrix.deepCopy())); +} + +Matrix Aurora::auroraNot(Matrix&& aMatrix){ + Eigen::Map v2(aMatrix.getData(), aMatrix.getDataSize()); + v2 = (v2.array()>0).select(1,v2); + v2 = (v2.array()<0).select(0,v2); + v2 = v2.array()+1.0; + v2 = (v2.array() == 2.0).select(0.0, v2); + return aMatrix; +} + Aurora::Matrix Aurora::sqrt(const Aurora::Matrix& matrix) { if (matrix.getValueType() != Complex) { diff --git a/src/Function1D.h b/src/Function1D.h index cddd088..2926d23 100644 --- a/src/Function1D.h +++ b/src/Function1D.h @@ -113,6 +113,9 @@ namespace Aurora { */ void padding(Matrix& aMatrix, int aIndex, double aValue); + Matrix auroraNot(const Matrix& aMatrix); + Matrix auroraNot(Matrix&& aMatrix); + Matrix convertfp16tofloat(short* aData, int aRows, int aColumns); };