Commit 7ee977f9 authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Phi*ToR(): rounding-errors will be attended, because the domain of atanh is (-1,1)

parent ae8b0b71
......@@ -16,8 +16,12 @@ namespace AMDiS {
}
//convert Phi1 to r
inline double Phi1ToR(double p1, double eps) { return atanh(1-2*p1)*eps/3; }
inline double Phi1ToR(double p1, double eps) {
return eps/3.0 * atanh( std::max(-1+1.e-14, std::min(1-1.e-14, 1-2*p1)) );
}
//convert Phi2 to r
inline double Phi2ToR(double p2, double eps) { return atanh(1+2*p2)*eps/3; }
inline double Phi2ToR(double p2, double eps) {
return eps/3.0 * atanh( std::max(-1+1.e-14, std::min(1-1.e-14, 1+2*p2) );
}
}
#endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment