X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Fvaluenode_pow.cpp;h=20daaebe08d76680c67dd220829a54fe0fa50aff;hb=18bd95649e87854ac1fbe471231158c8979983cd;hp=fa00618cfcae5c195b5b1d06a8efbcbd72cd1d9e;hpb=a095981e18cc37a8ecc7cd237cc22b9c10329264;p=synfig.git diff --git a/synfig-core/src/synfig/valuenode_pow.cpp b/synfig-core/src/synfig/valuenode_pow.cpp index fa00618..20daaeb 100644 --- a/synfig-core/src/synfig/valuenode_pow.cpp +++ b/synfig-core/src/synfig/valuenode_pow.cpp @@ -170,14 +170,17 @@ ValueNode_Pow::operator()(Time t)const if (abs(power) < epsilon) //x^0 = 1 return 1; if (abs(base) < epsilon) + { if (power > 0) //0^x=0 return Real(0); else + { if ( ( ((int) power) % 2 != 0) && (base < 0) ) //(-0)^(-odd)=-inf return -infinite; else return infinite; - + } + } if (base <= epsilon && ((int) power) != power) //negative number to fractional power -> undefined power = ((int) power); //so round off power to nearest integer