Compare commits

1 Commits

Author SHA1 Message Date
13ef5e037b Updated timing test timings
All checks were successful
Merge-Checker / build_and_test (pull_request) Successful in 1m18s
2025-06-07 11:01:04 -04:00
3 changed files with 37 additions and 41 deletions

View File

@@ -41,7 +41,7 @@ jobs:
mkdir -p unit-tests/timing-results mkdir -p unit-tests/timing-results
if [ -x build/unit-tests/matrix-timing-tests ]; then if [ -x build/unit-tests/matrix-timing-tests ]; then
echo "Running matrix-timing-tests with timing" echo "Running matrix-timing-tests with timing"
/usr/bin/time -v build/unit-tests/matrix-timing-tests -d yes &> unit-tests/timing-results/matrix-timing-tests.txt ./build/unit-tests/matrix-timing-tests -d yes &> unit-tests/timing-results/matrix-timing-tests.txt
cat unit-tests/timing-results/matrix-timing-tests.txt cat unit-tests/timing-results/matrix-timing-tests.txt
else else
echo "matrix-timing-tests executable not found or not executable" echo "matrix-timing-tests executable not found or not executable"

View File

@@ -2,11 +2,8 @@
This matrix math library is focused on embedded development and avoids any heap memory allocation unless you explicitly ask for it. This matrix math library is focused on embedded development and avoids any heap memory allocation unless you explicitly ask for it.
It uses templates to pre-allocate matrices on the stack. It uses templates to pre-allocate matrices on the stack.
# Building There are still several operations that are works in progress such as:
1. Initialize the repositiory with the command: - Add a function to calculate eigenvalues/vectors
```bash - Add a function to compute RREF
cmake -S . -B build -G Ninja - Add a function for SVD decomposition
``` - Add a function for LQ decomposition
2. Go into the build folder and run `ninja`
3. That's it. You can test out the build by running `./unit-tests/matrix-tests`

View File

@@ -1,35 +1,34 @@
Running matrix-timing-tests with timing Randomness seeded to: 1788535470
Randomness seeded to: 3567651885 1.985 s: Addition
1.857 s: Addition 1.986 s: Timing Tests
1.857 s: Timing Tests 1.946 s: Subtraction
1.788 s: Subtraction 1.946 s: Timing Tests
1.788 s: Timing Tests 1.925 s: Multiplication
1.929 s: Multiplication 1.925 s: Timing Tests
1.929 s: Timing Tests 1.348 s: Scalar Multiplication
1.268 s: Scalar Multiplication 1.348 s: Timing Tests
1.268 s: Timing Tests 1.953 s: Element Multiply
1.798 s: Element Multiply 1.953 s: Timing Tests
1.798 s: Timing Tests 2.020 s: Element Divide
1.802 s: Element Divide 2.020 s: Timing Tests
1.803 s: Timing Tests 1.534 s: Minor Matrix
1.553 s: Minor Matrix 1.534 s: Timing Tests
1.554 s: Timing Tests 1.096 s: Determinant
1.009 s: Determinant 1.096 s: Timing Tests
1.009 s: Timing Tests 4.582 s: Matrix of Minors
4.076 s: Matrix of Minors 4.583 s: Timing Tests
4.076 s: Timing Tests 1.150 s: Invert
1.066 s: Invert 1.150 s: Timing Tests
1.066 s: Timing Tests 1.325 s: Transpose
1.246 s: Transpose 1.325 s: Timing Tests
1.246 s: Timing Tests 2.388 s: Normalize
2.284 s: Normalize 2.388 s: Timing Tests
2.284 s: Timing Tests 0.055 s: GET ROW
0.606 s: GET ROW 0.056 s: Timing Tests
0.606 s: Timing Tests 2.494 s: GET COLUMN
24.629 s: GET COLUMN 2.495 s: Timing Tests
24.630 s: Timing Tests 6.163 s: QR Decomposition
3.064 s: QR Decomposition 6.163 s: Timing Tests
3.064 s: Timing Tests
=============================================================================== ===============================================================================
test cases: 1 | 1 passed test cases: 1 | 1 passed
assertions: - none - assertions: - none -