Hello,
I am encountering the following scenario while compiling a project
under Visual Studio 2005 with the floating point model set as precise.
Two executables A and B share a common dll C. Both call the function
func() in C with the same input and get slightly different floating
point results. Below is what func() looks like:
const long double pi = atanl(1.0) * 4.0;
long double func(long double myVar) {
long double res = myVar * pi / 180.0;
return res;
}
Changing func() into the following gives the same result (although
different from the first version) in both executables:
const long double pi = atanl(1.0) * 4.0;
long double func(long double myVar) {
long double intermediateRes = pi / 180.0;
long double res = myVar * intermediateRes;
return res;
}
Does anyone know why this is happening?
Thanks