Compare commits

5 Commits

Author SHA1 Message Date
48b016d8b7 Merge pull request 'Updating the readme' (#7) from update-readme into main
Reviewed-on: #7
2025-06-30 19:05:53 +00:00
8e4595f2ef Updated readme
All checks were successful
Merge-Checker / build_and_test (pull_request) Successful in 1m10s
2025-06-30 14:52:48 -04:00
99c0d3ed70 Merge pull request 'Adjusted timing test repetition and added QR decomposition' (#6) from Minor-cicd-fixes into main
All checks were successful
Merge-Checker / build_and_test (pull_request) Successful in 1m13s
Reviewed-on: #6
2025-06-10 23:06:02 +00:00
80c4ebfece Put time usage back
All checks were successful
Merge-Checker / build_and_test (pull_request) Successful in 1m18s
2025-06-07 11:08:56 -04:00
8b6f1de822 Updated timing test timings
All checks were successful
Merge-Checker / build_and_test (pull_request) Successful in 1m17s
2025-06-07 11:03:55 -04:00
3 changed files with 41 additions and 37 deletions

View File

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

View File

@@ -2,8 +2,11 @@
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.
There are still several operations that are works in progress such as:
- Add a function to calculate eigenvalues/vectors
- Add a function to compute RREF
- Add a function for SVD decomposition
- Add a function for LQ decomposition
# Building
1. Initialize the repositiory with the command:
```bash
cmake -S . -B build -G Ninja
```
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,34 +1,35 @@
Randomness seeded to: 1788535470
1.985 s: Addition
1.986 s: Timing Tests
1.946 s: Subtraction
1.946 s: Timing Tests
1.925 s: Multiplication
1.925 s: Timing Tests
1.348 s: Scalar Multiplication
1.348 s: Timing Tests
1.953 s: Element Multiply
1.953 s: Timing Tests
2.020 s: Element Divide
2.020 s: Timing Tests
1.534 s: Minor Matrix
1.534 s: Timing Tests
1.096 s: Determinant
1.096 s: Timing Tests
4.582 s: Matrix of Minors
4.583 s: Timing Tests
1.150 s: Invert
1.150 s: Timing Tests
1.325 s: Transpose
1.325 s: Timing Tests
2.388 s: Normalize
2.388 s: Timing Tests
0.055 s: GET ROW
0.056 s: Timing Tests
2.494 s: GET COLUMN
2.495 s: Timing Tests
6.163 s: QR Decomposition
6.163 s: Timing Tests
Running matrix-timing-tests with timing
Randomness seeded to: 3567651885
1.857 s: Addition
1.857 s: Timing Tests
1.788 s: Subtraction
1.788 s: Timing Tests
1.929 s: Multiplication
1.929 s: Timing Tests
1.268 s: Scalar Multiplication
1.268 s: Timing Tests
1.798 s: Element Multiply
1.798 s: Timing Tests
1.802 s: Element Divide
1.803 s: Timing Tests
1.553 s: Minor Matrix
1.554 s: Timing Tests
1.009 s: Determinant
1.009 s: Timing Tests
4.076 s: Matrix of Minors
4.076 s: Timing Tests
1.066 s: Invert
1.066 s: Timing Tests
1.246 s: Transpose
1.246 s: Timing Tests
2.284 s: Normalize
2.284 s: Timing Tests
0.606 s: GET ROW
0.606 s: Timing Tests
24.629 s: GET COLUMN
24.630 s: Timing Tests
3.064 s: QR Decomposition
3.064 s: Timing Tests
===============================================================================
test cases: 1 | 1 passed
assertions: - none -