summaryrefslogtreecommitdiff
path: root/tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests.c')
-rw-r--r--tests.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests.c b/tests.c
new file mode 100644
index 0000000..9b2a4dc
--- /dev/null
+++ b/tests.c
@@ -0,0 +1,24 @@
+#include "tests.h"
+
+#include <assert.h>
+
+#include "matrix.h"
+
+void test_LR()
+{
+ Matrix *A = matrix_from_str("[2 3 1;4 1 -5;-1 2 3]");
+ Matrix *b = matrix_from_str("[-1;2;3]");
+
+ Matrix **LR = matrix_LR(A, b);
+ Matrix *L = LR[0];
+ Matrix *R = LR[1];
+ Matrix *y = matrix_forwardel(L, b);
+ Matrix *x = matrix_backsubst(R, y);
+
+ assert(matrix_eq(matrix_mult(A, x), b, 0.01));
+}
+
+void run_tests()
+{
+ test_LR();
+}