继续Servé 的评论显示 CLR 是用 C++ 编写的,您会发现Math.Abs
调用fabs 或 fabsf。
FCIntrinsicSig("Abs", &gsig_SM_Flt_RetFlt, COMDouble::AbsFlt, CORINFO_INTRINSIC_Abs)
FCIntrinsicSig("Abs", &gsig_SM_Dbl_RetDbl, COMDouble::AbsDbl, CORINFO_INTRINSIC_Abs)
/*=====================================AbsFlt=====================================
**
==============================================================================*/
FCIMPL1_V(float, COMDouble::AbsFlt, float f)
WRAPPER_CONTRACT;
STATIC_CONTRACT_SO_TOLERANT;
FCUnique(0x14);
return fabsf(f);
FCIMPLEND
/*=====================================AbsDbl=====================================
**
==============================================================================*/
FCIMPL1_V(double, COMDouble::AbsDbl, double d)
WRAPPER_CONTRACT;
STATIC_CONTRACT_SO_TOLERANT;
return fabs(d);
FCIMPLEND