diff options
Diffstat (limited to 'src/elementaryFunctions/pow/zpows.c')
-rw-r--r-- | src/elementaryFunctions/pow/zpows.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/elementaryFunctions/pow/zpows.c b/src/elementaryFunctions/pow/zpows.c index cc532090..1a7059b2 100644 --- a/src/elementaryFunctions/pow/zpows.c +++ b/src/elementaryFunctions/pow/zpows.c @@ -15,5 +15,14 @@ #include "exp.h" doubleComplex zpows(doubleComplex z, doubleComplex power) { + /*Cas z=0 */ + if ( (zreals(z)==0) && (zimags(z)==0) ){ + /* Cas 0^0 */ + if ( (zreals(power)==0) && (zimags(power)==0) ) return DoubleComplex(1,0); + /* Cas 0^x, x!=0 */ + return DoubleComplex(0,0); + } + + /* Cas z!=0 */ return zexps(zmuls(zlogs(z), power)); } |