# HG changeset patch # User jwe # Date 1071848234 0 # Node ID 994f449a1ebae67cc4dca824ddf4200dd9077442 # Parent bb9515a3527d344504ff2e8f4b6cdfbb619813d2 [project @ 2003-12-19 15:37:14 by jwe] diff -r bb9515a3527d -r 994f449a1eba src/ChangeLog --- a/src/ChangeLog Thu Dec 18 15:35:09 2003 +0000 +++ b/src/ChangeLog Fri Dec 19 15:37:14 2003 +0000 @@ -1,3 +1,7 @@ +2003-12-19 John W. Eaton + + * xpow.cc (xpow (double, double)): Avoid apparent GNU libm bug. + 2003-12-17 John W. Eaton * symtab.cc (symbol_record::print_symbol_info_line): diff -r bb9515a3527d -r 994f449a1eba src/xpow.cc --- a/src/xpow.cc Thu Dec 18 15:35:09 2003 +0000 +++ b/src/xpow.cc Fri Dec 19 15:37:14 2003 +0000 @@ -70,8 +70,13 @@ { if (a < 0.0 && static_cast (b) != b) { + // XXX FIXME XXX -- avoid apparent GNU libm bug by converting + // A and B to complex instead of just A. + Complex atmp (a); - return pow (atmp, b); + Complex btmp (b); + + return pow (atmp, btmp); } else return pow (a, b);