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

ADT ast-experimental
Last change on this file since fa2e183 was 8d76f2b, checked in by Michael Brooks <mlbrooks@…>, 3 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.