Compare commits
5 Commits
13ef5e037b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 48b016d8b7 | |||
| 8e4595f2ef | |||
| 99c0d3ed70 | |||
| 80c4ebfece | |||
| 8b6f1de822 |
@@ -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"
|
||||||
./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
|
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"
|
||||||
|
|||||||
13
README.md
13
README.md
@@ -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.
|
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.
|
||||||
|
|
||||||
There are still several operations that are works in progress such as:
|
# Building
|
||||||
- Add a function to calculate eigenvalues/vectors
|
1. Initialize the repositiory with the command:
|
||||||
- Add a function to compute RREF
|
```bash
|
||||||
- Add a function for SVD decomposition
|
cmake -S . -B build -G Ninja
|
||||||
- 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`
|
||||||
@@ -1,56 +1,36 @@
|
|||||||
Randomness seeded to: 2444679151
|
Running matrix-timing-tests with timing
|
||||||
0.180 s: Addition
|
Randomness seeded to: 3567651885
|
||||||
0.180 s: Timing Tests
|
1.857 s: Addition
|
||||||
0.177 s: Subtraction
|
1.857 s: Timing Tests
|
||||||
0.177 s: Timing Tests
|
1.788 s: Subtraction
|
||||||
1.868 s: Multiplication
|
1.788 s: Timing Tests
|
||||||
1.868 s: Timing Tests
|
1.929 s: Multiplication
|
||||||
0.127 s: Scalar Multiplication
|
1.929 s: Timing Tests
|
||||||
0.127 s: Timing Tests
|
1.268 s: Scalar Multiplication
|
||||||
0.173 s: Element Multiply
|
1.268 s: Timing Tests
|
||||||
0.173 s: Timing Tests
|
1.798 s: Element Multiply
|
||||||
0.178 s: Element Divide
|
1.798 s: Timing Tests
|
||||||
0.178 s: Timing Tests
|
1.802 s: Element Divide
|
||||||
0.172 s: Minor Matrix
|
1.803 s: Timing Tests
|
||||||
0.172 s: Timing Tests
|
1.553 s: Minor Matrix
|
||||||
0.103 s: Determinant
|
1.554 s: Timing Tests
|
||||||
0.103 s: Timing Tests
|
1.009 s: Determinant
|
||||||
0.411 s: Matrix of Minors
|
1.009 s: Timing Tests
|
||||||
0.411 s: Timing Tests
|
4.076 s: Matrix of Minors
|
||||||
0.109 s: Invert
|
4.076 s: Timing Tests
|
||||||
0.109 s: Timing Tests
|
1.066 s: Invert
|
||||||
0.122 s: Transpose
|
1.066 s: Timing Tests
|
||||||
0.122 s: Timing Tests
|
1.246 s: Transpose
|
||||||
0.190 s: Normalize
|
1.246 s: Timing Tests
|
||||||
0.190 s: Timing Tests
|
2.284 s: Normalize
|
||||||
0.006 s: GET ROW
|
2.284 s: Timing Tests
|
||||||
0.006 s: Timing Tests
|
0.606 s: GET ROW
|
||||||
0.235 s: GET COLUMN
|
0.606 s: Timing Tests
|
||||||
0.235 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
|
test cases: 1 | 1 passed
|
||||||
assertions: - none -
|
assertions: - none -
|
||||||
|
|
||||||
Command being timed: "build/unit-tests/matrix-timing-tests -d yes"
|
|
||||||
User time (seconds): 4.05
|
|
||||||
System time (seconds): 0.00
|
|
||||||
Percent of CPU this job got: 100%
|
|
||||||
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:04.05
|
|
||||||
Average shared text size (kbytes): 0
|
|
||||||
Average unshared data size (kbytes): 0
|
|
||||||
Average stack size (kbytes): 0
|
|
||||||
Average total size (kbytes): 0
|
|
||||||
Maximum resident set size (kbytes): 3200
|
|
||||||
Average resident set size (kbytes): 0
|
|
||||||
Major (requiring I/O) page faults: 184
|
|
||||||
Minor (reclaiming a frame) page faults: 171
|
|
||||||
Voluntary context switches: 1
|
|
||||||
Involuntary context switches: 26
|
|
||||||
Swaps: 0
|
|
||||||
File system inputs: 12
|
|
||||||
File system outputs: 1
|
|
||||||
Socket messages sent: 0
|
|
||||||
Socket messages received: 0
|
|
||||||
Signals delivered: 0
|
|
||||||
Page size (bytes): 4096
|
|
||||||
Exit status: 0
|
|
||||||
|
|||||||
Reference in New Issue
Block a user