int main() { sizearray(); char * text = pointertest(); printf("\nOutput of pointer: %s\n",text); printf("3x3x3=%d",do_pow(3)); return 0; }
double myPow(double x, int n) { int t; double res; t = n; if (t < 0) t = -t; res = do_pow(x, t); if (n < 0) return(1.0 / res); return(res); }
PyObject * PyNumber_Power(PyObject *v, PyObject *w, PyObject *z) { PyObject *res; PyObject *v1, *z1, *w2, *z2; PyObject * (*f)(PyObject *, PyObject *, PyObject *); if (z == Py_None) return do_pow(v, w); /* XXX The ternary version doesn't do class instance coercions */ if (PyInstance_Check(v)) return v->ob_type->tp_as_number->nb_power(v, w, z); if (v->ob_type->tp_as_number == NULL || z->ob_type->tp_as_number == NULL || w->ob_type->tp_as_number == NULL) { return type_error("pow(x, y, z) requires numeric arguments"); } if (PyNumber_Coerce(&v, &w) != 0) return NULL; res = NULL; v1 = v; z1 = z; if (PyNumber_Coerce(&v1, &z1) != 0) goto error2; w2 = w; z2 = z1; if (PyNumber_Coerce(&w2, &z2) != 0) goto error1; if ((f = v1->ob_type->tp_as_number->nb_power) != NULL) res = (*f)(v1, w2, z2); else res = type_error( "pow(x, y, z) not defined for these operands"); Py_DECREF(w2); Py_DECREF(z2); error1: Py_DECREF(v1); Py_DECREF(z1); error2: Py_DECREF(v); Py_DECREF(w); return res; }