/* Test array #= operator */
proc main()
{
    var fa = {1.0, 2.0, 3.0, 4.0};
    var fb = {0.0, 2.0, 0.0, 4.0};
    var ia = {1, 2, 3, 4};
    var ib = {0, 0, 3, 4};
    var fc, ic;
    var eqv, and, or, xor;

    fc = fa #= fb;
    "fc  = {", fc[0], ", ", fc[1], ", ", fc[2], ", ", fc[3], "}\n";

    ic = ia #= ib;
    "ic  = {", ic[0], ", ", ic[1], ", ", ic[2], ", ", fc[3], "}\n";

    eqv = fc #= ic;
    "eqv = {", eqv[0], ", ", eqv[1], ", ", eqv[2], ", ", eqv[3], "}\n";

    and = fc & ic;
    "and = {", and[0], ", ", and[1], ", ", and[2], ", ", and[3], "}\n";

    or = fc | ic;
    "or  = {", or[0], ", ", or[1], ", ", or[2], ", ", or[3], "}\n";

    xor = fc ^ ic;
    "xor = {", xor[0], ", ", xor[1], ", ", xor[2], ", ", xor[3], "}\n";
}