aboutsummaryrefslogtreecommitdiffstats
path: root/test/matrix.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/matrix.c')
-rw-r--r--test/matrix.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/matrix.c b/test/matrix.c
new file mode 100644
index 0000000..d612734
--- /dev/null
+++ b/test/matrix.c
@@ -0,0 +1,23 @@
+#define N 4
+
+void matrix_multiply(int first[][N], int second[][N], int multiply[][N]) {
+ int sum = 0;
+ for (int c = 0; c < N; c++) {
+ for (int d = 0; d < N; d++) {
+ for (int k = 0; k < N; k++) {
+ sum = sum + first[c][k]*second[k][d];
+ }
+ multiply[c][d] = sum;
+ sum = 0;
+ }
+ }
+}
+
+int main() {
+ int f[N][N] = {{1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}};
+ int s[N][N] = {{5, 6, 7, 8}, {5, 6, 7, 8}, {5, 6, 7, 8}, {5, 6, 7, 8}};
+ int m[N][N] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
+
+ matrix_multiply(f, s, m);
+ return m[1][1];
+}