public ParyN(ExpansionBase expansionBase, int n) { expansion = new List <int>(expansionBase.GetK()); ArrayUtils.Fill(expansion, 0, expansionBase.GetK()); int i = 0; int r; int k = n; while (k != 0) { r = k % expansionBase.Pk(i); k = k / expansionBase.Pk(i); expansion.RemoveAt(i); expansion.Insert(i, r); i++; } }
public ParyX Build(decimal x) { List <int> expansion = new List <int>(expansionBase.GetK()); ArrayUtils.Fill(expansion, 0, expansionBase.GetK()); int i = 0; decimal k = x; int r; while (k != 0 && i < expansionBase.GetK()) { k = Math.Round(k * expansionBase.Pk(i), roundDecimals); r = (int)k / 1; k = k % 1; expansion.RemoveAt(i); expansion.Insert(i, r); i++; } return(new ParyX(expansion, x)); }