Math.cs を見ると、Atan2 が内部呼び出しとして直接実装されていることがわかります。
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public static extern double Atan2(double y, double x);
これは基本的に、基になる C++ 関数を呼び出すように .NET に指示します。
詳細については、次を参照してください:
MethodImplOptions.InternalCall でマークされたメソッドをその実装にリンクすることは可能ですか?
ダウンロード:
http://www.microsoft.com/en-us/download/details.aspx?id=4917
comfloat.cpp から:
/*=====================================Atan2=====================================
**
==============================================================================*/
FCIMPL2_VV(double, COMDouble::Atan2, double x, double y)
WRAPPER_CONTRACT;
STATIC_CONTRACT_SO_TOLERANT;
// the intrinsic for Atan2 does not produce Nan for Atan2(+-inf,+-inf)
if (IS_DBL_INFINITY(x) && IS_DBL_INFINITY(y)) {
return(x / y); // create a NaN
}
return (double) atan2(x, y);
FCIMPLEND