From a8c6d8e44cdcff395a6a797791abbd78368fe701 Mon Sep 17 00:00:00 2001
From: giuliaghirardini <giuliaghirardini2001@gmail.com>
Date: Sun, 10 Mar 2024 22:37:00 +0100
Subject: [PATCH] [benchmark][speed] Added new operations: dterminant, inverse,
 \, transpose matrix

---
 tests/operations/determinantSpeed.m | 13 +++++++++++++
 tests/operations/inverseSpeed.m     | 13 +++++++++++++
 tests/operations/mldivideSpeed.m    | 15 +++++++++++++++
 tests/operations/transposeSpeed.m   | 13 +++++++++++++
 4 files changed, 54 insertions(+)
 create mode 100644 tests/operations/determinantSpeed.m
 create mode 100644 tests/operations/inverseSpeed.m
 create mode 100644 tests/operations/mldivideSpeed.m
 create mode 100644 tests/operations/transposeSpeed.m

diff --git a/tests/operations/determinantSpeed.m b/tests/operations/determinantSpeed.m
new file mode 100644
index 0000000..7cc83d8
--- /dev/null
+++ b/tests/operations/determinantSpeed.m
@@ -0,0 +1,13 @@
+function determinantTime = determinantSpeed(len)
+    rng;
+    x = randi(1000,len,len); 
+    testClass.a = x; testStruct.a = x;
+
+    tic
+    t = det(testStruct.a);
+    determinantTime.struct = toc;
+
+    tic
+    t = det(testClass.a);
+    determinantTime.class = toc;
+end
\ No newline at end of file
diff --git a/tests/operations/inverseSpeed.m b/tests/operations/inverseSpeed.m
new file mode 100644
index 0000000..86f299b
--- /dev/null
+++ b/tests/operations/inverseSpeed.m
@@ -0,0 +1,13 @@
+function inverseTime = inverseSpeed(len)
+    rng;
+    x = randi(1000,len,len); 
+    testClass.a = x; testStruct.a = x;
+
+    tic
+    t = inv(testStruct.a);
+    inverseTime.struct = toc;
+
+    tic
+    t = inv(testClass.a);
+    inverseTime.class = toc;
+end
\ No newline at end of file
diff --git a/tests/operations/mldivideSpeed.m b/tests/operations/mldivideSpeed.m
new file mode 100644
index 0000000..aa95f2f
--- /dev/null
+++ b/tests/operations/mldivideSpeed.m
@@ -0,0 +1,15 @@
+function mldivideTime = mldivideSpeed(len)
+    rng;
+    A = randi(1000,len,len); 
+    B = randi(1000,len,1);
+    testClass.a = A; testStruct.a = A;
+    testClass.b = B; testStruct.b = B;
+
+    tic
+    t = mldivide(testStruct.a,testStruct.b);
+    mldivideTime.struct = toc;
+
+    tic
+    t = mldivide(testClass.a,testClass.b);
+    mldivideTime.class = toc;
+end
\ No newline at end of file
diff --git a/tests/operations/transposeSpeed.m b/tests/operations/transposeSpeed.m
new file mode 100644
index 0000000..31608af
--- /dev/null
+++ b/tests/operations/transposeSpeed.m
@@ -0,0 +1,13 @@
+function transposeTime = transposeSpeed(len)
+    rng;
+    x = randi(1000,len,len); 
+    testClass.a = x; testStruct.a = x;
+
+    tic
+    t = testStruct.a';
+    transposeTime.struct = toc;
+
+    tic
+    t = testClass.a';
+    transposeTime.class = toc;
+end
\ No newline at end of file
-- 
GitLab