From 014e57db3e3a8e5e2ae6934e713aa73d690c4f77 Mon Sep 17 00:00:00 2001 From: kai Date: Sat, 29 Mar 2025 15:17:08 +0100 Subject: [PATCH] add creator methods --- lab02/fib/src/main.cpp | 60 ++++++++++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 17 deletions(-) diff --git a/lab02/fib/src/main.cpp b/lab02/fib/src/main.cpp index 202f2e0..a1f51b5 100644 --- a/lab02/fib/src/main.cpp +++ b/lab02/fib/src/main.cpp @@ -1,34 +1,60 @@ #include #include "matrix.h" #include "compute.cpp" +#include "computeNew.cpp" +#include -int main() { - std::vector v = std::vector(3); - v[0] = 10; - v[1] = 2; - v[2] = 20; +void print(Matrix &m) { + std::cout << std::endl; + for (int i = 0; i < 3; i++) { + for (int y = 0; y < 3; y++) { + std::cout << m(i, y) << "\t"; + } + std::cout << std::endl; + } + std::cout << std::endl; +} + +Matrix create_matrix(int x, int n) { Matrix m = Matrix(3, 3); + for (int i = 0; i < 3; i++) { for (int y = 0; y < 3; y++) { m(i, y) = 1; } } - auto erg = compute(m, v); + return m; +} - std::cout << v[0] << std::endl; - std::cout << v[1] << std::endl; - std::cout << v[2] << std::endl; - - std::cout << std::endl; - - for (int i = 0; i < 3; i++) { - for (int y = 0; y < 3; y++) { - std::cout << erg(i, y) << "\t"; - } - std::cout << std::endl; +std::vector create_vector(int x, int n) { + std::vector v = std::vector(n); + for (int i = 0; i < n; i++) { + v[i] = x; } + return v; +} + +int main() { + + std::vector v = create_vector(1, 3); + Matrix m = create_matrix(1, 1000); + + std::chrono::duration sumTimeOld; + std::chrono::duration sumTimeNew; + auto startTimeOld = std::chrono::system_clock::now(); + volatile auto erg1 = compute(m, v); + auto endTimeOld = std::chrono::system_clock::now(); + sumTimeOld = endTimeOld - startTimeOld; + + auto startTimeNew = std::chrono::system_clock::now(); + volatile auto erg2 = computeNew(m, v); + auto endTimeNew = std::chrono::system_clock::now(); + sumTimeNew = endTimeNew - startTimeNew; + + std::cout << "Time old: " << sumTimeOld.count() << "\nTime new: " << sumTimeNew.count() << std::endl; + return 0; }