X-Git-Url: https://ginac.de/CLN/cln.git//cln.git?a=blobdiff_plain;f=src%2Fcomplex%2Ftranscendental%2Fcl_C_log2.cc;h=6f8bdfa18d19badcc29e9602ef3424c30ef6400c;hb=3af2cde18b3aabed4c808b0113daa81c2263b0bd;hp=86e22fac2722735bda8b1e9f4e31ee8a49bc02a8;hpb=850abfde7f0d985ba01526c346bcd0d733562943;p=cln.git diff --git a/src/complex/transcendental/cl_C_log2.cc b/src/complex/transcendental/cl_C_log2.cc index 86e22fa..6f8bdfa 100644 --- a/src/complex/transcendental/cl_C_log2.cc +++ b/src/complex/transcendental/cl_C_log2.cc @@ -1,7 +1,7 @@ // log(). // General includes. -#include "cl_sysdep.h" +#include "base/cl_sysdep.h" // Specification. #include "cln/complex.h" @@ -9,10 +9,10 @@ // Implementation. -#include "cl_C.h" +#include "complex/cl_C.h" #include "cln/real.h" -#include "cl_R.h" -#include "cl_N.h" +#include "real/cl_R.h" +#include "base/cl_N.h" namespace cln { @@ -26,9 +26,9 @@ const cl_N log (const cl_N& a, const cl_N& b) // falls (= a 0): Error // sonst: (phase a) errechnen, ein Float. // b (falls rational) ins selbe Float-Format umwandeln, -// Imaginärteil := (/ (phase a) (log dieses_b)). +// Imaginärteil := (/ (phase a) (log dieses_b)). // Falls a rational: (log (abs a) b). -// Falls a komplex mit rationalem Real- und Imaginärteil, +// Falls a komplex mit rationalem Real- und Imaginärteil, // Betragsquadrat (expt (abs a) 2) exakt ausrechnen als // (+ (expt (realpart a) 2) (expt (imagpart a) 2)). // Setze Realteil := (/ (log Betragsquadrat b) 2). @@ -50,12 +50,12 @@ const cl_N log (const cl_N& a, const cl_N& b) } // b ist reell und >0, a aber nicht. - // Imaginärteil (/ (phase a) (log b)) errechnen: + // Imaginärteil (/ (phase a) (log b)) errechnen: var cl_F im; { var cl_R angle = phase(a); if (eq(angle,0)) // = Fixnum 0 <==> (= a 0) -> Error - { cl_error_division_by_0(); } + { throw division_by_0_exception(); } { DeclareType(cl_F,angle); var cl_F bf = cl_somefloat(b,angle); // (float b) im = angle / ln(bf); @@ -73,14 +73,14 @@ const cl_N log (const cl_N& a, const cl_N& b) } else { DeclareType(cl_C,a); if (rationalp(realpart(a)) && rationalp(imagpart(a))) { - // a komplex mit rationalem Real- und Imaginärteil a1,a2 + // a komplex mit rationalem Real- und Imaginärteil a1,a2 var const cl_R& a1 = realpart(a); var const cl_R& a2 = imagpart(a); re = log(square(a1)+square(a2),b) / 2; goto re_ok; } } - // Keine Chance für rationalen Realteil. + // Keine Chance für rationalen Realteil. { var cl_F abs_a = The(cl_F)(abs(a)); var cl_F log_abs_a = ln(abs_a);