// Falls y rational:
// Falls y Integer:
// Falls y=0: Ergebnis 1,
-// [Nach CLTL folgendermaßen:
+// [Nach CLTL folgendermaßen:
// x reell:
// x rational -> Fixnum 1
// x Float -> (float 1 x)
// x komplex:
// x komplex rational -> Fixnum 1
-// sonst: #C(1.0 0.0) im Float-Format des Real- bzw. Imaginärteils von x
+// sonst: #C(1.0 0.0) im Float-Format des Real- bzw. Imaginärteils von x
// ]
// Falls x rational oder komplex rational oder |y| klein:
// x^|y| durch wiederholtes Quadrieren und Multiplizieren und evtl.
// liefere 1.0 falls x und y reell, #C(1.0 0.0) sonst.
// Sonst: (exp (* (log x) y))
// Das Ergebnis liegt in Q(i), falls x in Q(i) liegt und 4y ein Integer ist.??
-// Genauigkeit erhöhen, log2(|y|) Bits mehr??
+// Genauigkeit erhöhen, log2(|y|) Bits mehr??
// Bei x oder y rational und der andere Long-Float: bitte kein Single-Float!??
// Liefert x^0.
if (rationalp(realpart(x)) && rationalp(imagpart(x)))
return expt(x,y); // exakt ausrechnen
}
- // x nicht exakt und |y| groß
+ // x nicht exakt und |y| groß
} else {
DeclareType(cl_RT,y);
// y Ratio
throw division_by_0_exception();
else {
var cl_R f = contagion(contagion(x),contagion(y));
- // ein Float, da sonst x = Fixnum 0 gewesen wäre
+ // ein Float, da sonst x = Fixnum 0 gewesen wäre
{ DeclareType(cl_F,f);
var cl_F f0 = cl_float(0,f);
return complex_C(f0,f0); // #C(0.0 0.0)