summaryrefslogtreecommitdiff
path: root/matrix.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-01-16 17:09:14 +0000
committerrodri <rgl@antares-labs.eu>2024-01-16 17:09:14 +0000
commitd6be49085c76bbea87b7d7c61455b93883669bf1 (patch)
treebff7cf7fbc66cd5da303122ebb50f87e8a7d44a7 /matrix.c
parent168a16b70a928ed64061bdac7fc9d52235c3f9fc (diff)
downloadballistics-d6be49085c76bbea87b7d7c61455b93883669bf1.tar.gz
ballistics-d6be49085c76bbea87b7d7c61455b93883669bf1.tar.bz2
ballistics-d6be49085c76bbea87b7d7c61455b93883669bf1.zip
rewrite it using libgeometry.
Diffstat (limited to 'matrix.c')
-rw-r--r--matrix.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/matrix.c b/matrix.c
deleted file mode 100644
index 12956a7..0000000
--- a/matrix.c
+++ /dev/null
@@ -1,74 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include "dat.h"
-#include "fns.h"
-
-void
-addm(Matrix a, Matrix b)
-{
- int i, j;
-
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++)
- a[i][j] += b[i][j];
-}
-
-void
-subm(Matrix a, Matrix b)
-{
- int i, j;
-
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++)
- a[i][j] -= b[i][j];
-}
-
-void
-mulm(Matrix a, Matrix b)
-{
- int i, j, k;
- Matrix r;
-
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++){
- r[i][j] = 0;
- for(k = 0; k < 3; k++)
- r[i][j] += a[i][k]*b[k][j];
- }
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++)
- a[i][j] = r[i][j];
-}
-
-void
-transm(Matrix m)
-{
- int i, j;
- double tmp;
-
- for(i = 0; i < 3; i++)
- for(j = i; j < 3; j++){
- tmp = m[i][j];
- m[i][j] = m[j][i];
- m[j][i] = tmp;
- }
-}
-
-double
-detm(Matrix m)
-{
- return m[0][0]*(m[1][1]*m[2][2] - m[1][2]*m[2][1])
- + m[0][1]*(m[1][2]*m[2][0] - m[1][0]*m[2][2])
- + m[0][2]*(m[1][0]*m[2][1] - m[1][1]*m[2][0]);
-}
-
-Vector
-mulvecm(Vector v, Matrix m)
-{
- Vector r;
-
- r.x = v.x * m[0][0] + v.y * m[0][1] + v.w * m[0][2];
- r.y = v.x * m[1][0] + v.y * m[1][1] + v.w * m[1][2];
- r.w = v.x * m[2][0] + v.y * m[2][1] + v.w * m[2][2];
- return r;
-}