/* Various exponentiation tests */

proc main()
{
    var a, b, c;

    "2.**3.**4. = ", 2.**3.**4., "\n";

    a = 2.;
    b = 3.;
    c = 4.;
    "a**b**c = ", a**b**c, "\n";

    "(2.**3.)**4. = ", (2.**3.)**4., "\n";
    "2.**-2. = ", 2.**-2., "\n";

    a = 2;
    b = [0,1,2,3];
    c = a ** b;
    "a**b = [", c[0], ",", c[1], ",", c[2], ",", c[3], "]\n";

    a = [2.d,3.d,4.d,5.d];
    b = 2;
    c = a ** b;
    "a**b = [", c[0], ",", c[1], ",", c[2], ",", c[3], "]\n";

    a = [2.d,3.d,4.d,5.d];
    b = [0,1,2,3];
    c = a ** b;
    "a**b = [", c[0], ",", c[1], ",", c[2], ",", c[3], "]\n";
}