Add a section of how to link IE with CMake project (#99)
[platform/upstream/dldt.git] / inference-engine / src / extension / common / matrixmult.h
1 // Copyright (C) 2018 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #pragma once
6
7 static inline void matrixMult(float *A, float *B, float *C, int m, int n, int k, bool transposeB = false) {
8     if (transposeB) {
9         for (int rowA = 0; rowA < m; rowA++) {
10             for (int rowB = 0; rowB < n; rowB++) {
11                 float sum = 0;
12                 for (int colA = 0; colA < k; colA++) {
13                     sum += A[rowA * k + colA] * B[rowB * k + colA];
14                 }
15
16                 C[rowA * n + rowB] = sum;
17             }
18         }
19     } else {
20         for (int rowA = 0; rowA < m; rowA++) {
21             for (int colB = 0; colB < n; colB++) {
22                 float sum = 0;
23                 for (int colA = 0; colA < k; colA++) {
24                     sum += A[rowA * k + colA] * B[colA * n + colB];
25                 }
26
27                 C[rowA * n + colB] = sum;
28             }
29         }
30     }
31 }