我正在使用 的 BCL Codeplex 实现BigRational
,但是它似乎没有可以采用两个的 Pow 方法BigRational
,只有一个采用 aBigRational
和 a的 Pow 方法BigInteger
。我会自己写一个,但我不知道从哪里开始。编辑:一些代码:
public static BigRational Pow(BigRational baseVal, BigRational exponent, int inputPrecision)
{
if (exponent == 0)
{
return BigRational.One;
}
if (exponent == 1)
{
return baseVal;
}
if (exponent.GetWholePart() == exponent)
{
return Pow(baseVal, exponent.GetWholePart());
}
baseVal = Round(baseVal, inputPrecision); //custom rounding method
exponent = Round(exponent, inputPrecision);
BigInteger exponentWhole = exponent.GetWholePart();
BigRational extra = exponent - exponentWhole;
return //what?
}