ADT
ast-experimental
enum
pthread-emulation
qualifiedEnum
|
Last change
on this file since 27f1055 was 8e819a9, checked in by Michael Brooks <mlbrooks@…>, 4 years ago |
|
Mike MMath initial
|
-
Property mode
set to
100644
|
|
File size:
669 bytes
|
| Line | |
|---|
| 1 | #include "array.hfa"
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 | // TODO: can I mini-sweeten the type overloads of -[[-,-,-]] beyond ptrdiff_t
|
|---|
| 5 | // so that it works with for(i; z(-))
|
|---|
| 6 |
|
|---|
| 7 | // PARK: refining the feature idea of equationally-defined operators, to include
|
|---|
| 8 | // declaration: foo a = b * c;
|
|---|
| 9 | // meaning construct a to be b times c
|
|---|
| 10 |
|
|---|
| 11 | forall( ztype(R), ztype(C), ztype(Mid) )
|
|---|
| 12 | void mul( array( float, R, Mid) & srcL,
|
|---|
| 13 | array( float, Mid, C) & srcR,
|
|---|
| 14 | array( float, R, C ) & dst ) {
|
|---|
| 15 | for (ptrdiff_t r = 0; r < z(R); r++) for (ptrdiff_t c = 0; c < z(C); c++) {
|
|---|
| 16 | dst[[r,c]] = 0;
|
|---|
| 17 | for (ptrdiff_t i = 0; i < z(Mid); i++)
|
|---|
| 18 | dst[[r,c]] += srcL[[r,i]] * srcR[[i,c]];
|
|---|
| 19 | }
|
|---|
| 20 | }
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.