// Test calling pack on a multidimensional array

proc main()
{
    var a, b;
    var i, j, k, n;

    a = new Array(3,4,5);
    n = 0;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) {
            for (k = 0; k < 5; k++) {
                a[i,j,k] = Float(n);
                n++;
            }
        }
    }

    b = a.pack();

    "typeof(a) = ", ?? a, "\n";
    "typeof(b) = ", ?? b, "\n";

    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) {
            for (k = 0; k < 5; k++) {
                if (k > 0) " ";
                say(b[i,j,k]);
            }
            "\n";
        }
        "\n";
    }
}