diff -Naur koffice-1.1.1-orig/kspread/kspread_interpreter.cc koffice-1.1.1/kspread/kspread_interpreter.cc --- koffice-1.1.1-orig/kspread/kspread_interpreter.cc 2002-07-03 10:26:14.000000000 -0500 +++ koffice-1.1.1/kspread/kspread_interpreter.cc 2002-07-03 01:45:02.000000000 -0500 @@ -2547,10 +2547,10 @@ } // This is not correct solution for problem with floating point numbers and probably // will fail in platforms where float and double lenghts are same. - if (approx_equal(floor(args[0]->doubleValue()*pow(10,digits)), args[0]->doubleValue()*pow(10,digits))) + if (approx_equal(floor(args[0]->doubleValue()*pow(10.0,digits)), args[0]->doubleValue()*pow(10.0,digits))) result = args[0]->doubleValue(); else - result=floor(args[0]->doubleValue()*pow(10,digits)+1)/pow(10,digits); + result=floor(args[0]->doubleValue()*pow(10.0,digits)+1)/pow(10.0,digits); context.setValue( new KSValue( result) ); return true; @@ -3404,7 +3404,7 @@ return false; } - double arg=pow(sqrt(pow(imag,2)+pow(real,2)),args[1]->intValue()); + double arg=pow(sqrt(pow(imag,2)+pow(real,2)),(int)args[1]->intValue()); double angle=atan(imag/real); double real_res=arg*cos(angle*args[1]->intValue());