// Test multidimensional sin() and subrange using namespace oadl; #include "libstd.oah" proc sayer(a) { if (a.isarray()) { forall (a[i]) { if ((i > 0) && !a[i].isarray()) " "; sayer(a[i]); } "\n"; } else { say(a); } } proc main() { var a, b, sa, sb, i, j, k; a = new PackFloat(4,4,4); for (i = 0; i < 2; i++) { j = 0; for (k = 0; k < 2; k++) { a[i+1,j+1,k+1] = math::PI_4; } } b = a[1:2,1,1:2]; sa = math::sin(a); sb = math::sin(b); for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { for (k = 0; k < 4; k++) { if (k > 0) " "; say(sa[i][j][k]); } "\n"; } "\n"; } for (i = 0; i < 2; i++) { j = 0; for (k = 0; k < 2; k++) { if (k > 0) " "; say(sb[i][j][k]); } "\n"; "\n"; } }