Matrix class update.

This commit is contained in:
Krad
2023-04-19 15:54:52 +08:00
parent 0d98d313a5
commit 3b7c918cf1
4 changed files with 296 additions and 50 deletions

View File

@@ -1,10 +1,7 @@
//
// Created by Krad on 2023/4/7.
//
#include <gtest/gtest.h>
#include "Matrix.h"
#include "Function.h"
#include "Function1D.h"
class FunctionTester:public ::testing::Test{
@@ -24,6 +21,43 @@ double fourDecimalRound(double src){
return round(src*10000.0)/10000.0;
}
TEST_F(FunctionTester, matrixSlice) {
double * dataA =new double[8];
double * dataB =new double[8];
for (int i = 0; i < 8; ++i) {
dataA[i]=(double)(i-3);
dataB[i]=(double)(i+2);
}
Aurora::Matrix A = Aurora::Matrix::New(dataA,2,2,2);
printf("A:\r\n");
A.printf();
Aurora::Matrix B = Aurora::Matrix::New(dataB,2,2,2);
printf("B:\r\n");
B.printf();
A(Aurora::$,Aurora::$,1) = B(Aurora::$,Aurora::$,0);
printf("New A:\r\n");
A.printf();
printf("New B:\r\n");
B.printf();
}
TEST_F(FunctionTester, sign) {
double * dataA =new double[9];
double * dataB =new double[9];
for (int i = 0; i < 9; ++i) {
dataA[i]=(double)(i-3);
dataB[i]=(double)(i+2);
}
Aurora::Matrix A = Aurora::Matrix::New(dataA,3,3);
printf("A:\r\n");
A.printf();
Aurora::Matrix B = Aurora::Matrix::New(dataB,3,3);
printf("B:\r\n");
B.printf();
printf("sign(A):\r\n");
sign(A*B).printf();
}
TEST_F(FunctionTester, matrix) {
double * dataA =new double[9];
double * dataB =new double[9];