From 9818caa04f6fae4b0122f978ed0351cf9167b2c9 Mon Sep 17 00:00:00 2001 From: timv Date: Mon, 17 Dec 2012 15:49:35 -0500 Subject: [PATCH] row slicing - an example of interesting structure building --- examples/row.dyna | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 examples/row.dyna diff --git a/examples/row.dyna b/examples/row.dyna new file mode 100644 index 0000000..c50a2d1 --- /dev/null +++ b/examples/row.dyna @@ -0,0 +1,15 @@ + +% extract a row from matrix + +rowlen(N,I) max= J whenever m(N,I,J). +row_(N,I,K) += &nil whenever K is (rowlen(N,I) + 1). +row_(N,I,J) += &cons(*m(N,I,J), *row_(N, I, J + 1)). +row(N,I) += row_(N,I,1). + + +% matrix "b" = [ 3 0 ; +% 0 2 ] +m(b, 1, 1) += 3. +m(b, 1, 2) += 0 . +m(b, 2, 1) += 0 . +m(b, 2, 2) += 2. -- 2.50.1