// File: kernel.cpp
#include "loop_135.h"
#include <stdint.h>

extern "C" void inner_loop_135(struct loop_135_data *data) {
    uint64_t m = data->m;
    uint64_t n = data->n;
    uint64_t k = data->k;
    int8_t *a = data->a;
    int8_t *b = data->b;
    int32_t *c = data->c;
    for (uint64_t x = 0; x < m; x++) {
        for (uint64_t y = 0; y < n; y++) {
            int32_t acc = 0;
            for (uint64_t z = 0; z < k; z++)
                acc += (int32_t)a[x * k + z] * (int32_t)b[z * n + y];
            c[x * n + y] = acc;
        }
    }
}