X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpretor/preprocessor/faust-0.9.47mr3/examples/rewriting/mesh.dsp diff --git a/interpretor/preprocessor/faust-0.9.47mr3/examples/rewriting/mesh.dsp b/interpretor/preprocessor/faust-0.9.47mr3/examples/rewriting/mesh.dsp deleted file mode 100644 index 92bb932..0000000 --- a/interpretor/preprocessor/faust-0.9.47mr3/examples/rewriting/mesh.dsp +++ /dev/null @@ -1,43 +0,0 @@ - -/* Layout of a systolic array: - - x1 xm - ↓ ↓ - y1 → □ → ... → □ → y1' - ↓ ↓ - ... ... - ↓ ↓ - yn → □ → ... → □ → yn' - ↓ ↓ - x1' xm' - - g(m,f) : y,x1,...,xm -> x1',...,xm',y' - constructs a single row of size m. - - h(n,m,f) : y1,...,yn,x1,...,xm -> x1',...,xm',yn',...,y1' - constructs an array of size nxm. - - f is the function computed by each cell, which must take - exactly two inputs and yield exactly two outputs. */ - -g(1,f) = f; -g(m,f) = (f, r(m-1)) : (_, g(m-1,f)); - -h(1,m,f) = g(m,f); -h(n,m,f) = (r(n+m) <: - (!,r(n-1),s(m), (_,s(n-1),r(m) : g(m,f)))) : - (h(n-1,m,f), _); - -// route n inputs -r(1) = _; -r(n) = _,r(n-1); - -// skip n inputs -s(1) = !; -s(n) = !,s(n-1); - -// sample cell function -f = + <: _,_; - -//process = g(3,f); -process = h(2,3,f);