////////////////////////////////////////////////////////////////////////////// Real ReaPower(Real x, Real y) ////////////////////////////////////////////////////////////////////////////// { Case ( EQ(y,0), 1, And(EQ(x,0), GT(y,0)), 0, And(EQ(x,0), LT(y,0)), 1/0, And(NE(x,0), NE(y,0)), Sign(x)*(Abs(x)^y) ) }; ////////////////////////////////////////////////////////////////////////////// PutDescription("Calcula la potencia y de un numero x. La funcion ^ no retorna correctamente el valor para x <= 0 e y no entero o 0, en las versiones 1.1.8 y 1.1.9", ReaPower); ////////////////////////////////////////////////////////////////////////////// Set TestReaPower = { Set xSet = SetOfReal(3, 0, -3); Set ySet = SetOfReal(3, 4/3, 3/2, 1/2, 1/3, 0, -1/3, -1/2, -3/2, -4/3, -3); Set data = EvalSet(CartProd(xSet, ySet), Set(Set reg) { Real x = reg[1]; Real y = reg[2]; Real pow = ReaPower(x,y); Real ori = x^y; SetOfReal(x, y, pow, ori) }); Set header = SetOfText("x", "y", "ReaPower(x, y)", "x^y"); SetOfSet(header)<