/// <summary> /// if num is ABC, the initial number was 0.ABC /// </summary> /// <param name="num"></param> /// <param name="N"></param> /// <returns></returns> internal static EDecimal FloatFromBaseN(string num, int N) { EDecimal res = 0; for (int i = 0; i < num.Length; i++) { char digit = num[i]; res = RealNumber.CtxAdd(res, RealNumber.CtxDivide(ALPHABET_FROMCHAR[digit], EDecimal.FromInt32(N).Pow(i + 1))); } return(res); }
private static EDecimal PiOver(int a) => RealNumber.CtxDivide(RealNumber.CtxMultiply(2, MathS.DecimalConst.pi), a);