matrix.c 684 B

1234567891011121314151617181920212223242526
  1. #include <stdio.h>
  2. void
  3. print_matrix(float m[9])
  4. {
  5. printf(" [%.2f %.2f %.2f] \n", m[0], m[1], m[2]);
  6. printf(" [%.2f %.2f %.2f] \n", m[3], m[4], m[5]);
  7. printf(" [%.2f %.2f %.2f] \n\n", m[6], m[7], m[8]);
  8. }
  9. void
  10. multiply_matrices(float a[9], float b[9], float out[9])
  11. {
  12. // zero out target matrix
  13. for (int i = 0; i < 9; i++) {
  14. out[i] = 0;
  15. }
  16. for (int i = 0; i < 3; i++) {
  17. for (int j = 0; j < 3; j++) {
  18. for (int k = 0; k < 3; k++) {
  19. out[i * 3 + j] += a[i * 3 + k] * b[k * 3 + j];
  20. }
  21. }
  22. }
  23. }