resource raise_to_power() var x, y, z, u, v : real var i, j, k : int do read(x, y, i, j) != EOF -> z := x ** y; write(x, "**", y, "=", z) k := i ** j; write(i, "**", j, "=", k) u := i ** y; write(i, "**", y, "=", u) v := x ** j; write(x, "**", j, "=", v) od end raise_to_power /* ............... Example compile and run(s) % sr -o powers powers.sr % ./powers 2.5 3.7 3 4 2.50000 ** 3.70000 = 29.6741 3 ** 4 = 81 3 ** 3.70000 = 58.2571 2.50000 ** 4 = 39.0625 -2.0 3.0 3 -2 -2.00000 ** 3.00000 = -8.00000 RTS abort: file powers.sr, line 7: i**j with j<0 */