source: doc/theses/mike_brooks_MMath/programs/array-boundcheck-removal-matmul.cfa @ 8d76f2b

ADTast-experimentalenumpthread-emulationqualifiedEnum
Last change on this file since 8d76f2b was 8d76f2b, checked in by Michael Brooks <mlbrooks@…>, 2 years ago

Adding runtime bound checking for array subscripts and showing the optimizer removing them.

Adding draft thesis content on dependent types and bound checks.

  • Property mode set to 100644
File size: 327 bytes
RevLine 
[8d76f2b]1#include <array.hfa>
2
3// traditional "naiive" loops
4forall( [M], [N], [P] )
5void matmul( array(float, M, P) & src1,
6             array(float, P, N) & src2,
7             array(float, M, N) & tgt ) {
8    for (i; M) for (j; N) {
9        tgt[i][j] = 0;
10        for (k; P)
11            tgt[i][j] += src1[i][k] * src2[k][j];
12    }
13}
Note: See TracBrowser for help on using the repository browser.