private int shaveOffWholeNumbers(ref Breuk br) { int rest = (int)br.Value; br.Teller.Term = (br.Teller.Term * br.Teller.Factor) - rest * br.Noemer.Factor; br.Teller.Wortel.Factor = br.Teller.Factor; br.Teller.Factor = 1; return(rest); }
private void moveRootToTeller(ref Breuk br) { br.Teller.Wortel = br.Noemer.Wortel; br.Teller.Term = br.Noemer.Term * -1; br.Noemer.Factor = br.Noemer.Wortel.BaseOfRoot - (br.Noemer.Term * br.Noemer.Term); br.Noemer.Wortel.BaseOfRoot = 0; br.Noemer.Term = 0; br.Simplify(); }
public void Generate(int wortel) { checkWaarden.Clear(); resultaatWaarden.Clear(); this.wortel = wortel; tussenResultaat = initBreukOpWortelVan(wortel); eersteResultaatWaarde = shaveOffWholeNumbers(ref tussenResultaat); checkWaarden.Add(tussenResultaat.Value); tussenResultaat.TakeReciprocal(); moveRootToTeller(ref tussenResultaat); bool stop = false; while (!stop) { stop = update(); } Period = resultaatWaarden.Count; Coefficients = new int[resultaatWaarden.Count + 1]; Coefficients[0] = eersteResultaatWaarde; for (int i = 1; i < Coefficients.Length; i++) { Coefficients[i] = resultaatWaarden[i - 1]; } ShortNotation = "[" + eersteResultaatWaarde + "("; for (int i = 0; i < resultaatWaarden.Count - 1; i++) { ShortNotation += resultaatWaarden[i] + ", "; } ShortNotation += resultaatWaarden[resultaatWaarden.Count - 1] + ")]"; LongNotation = "sqrt(" + this.wortel + ") = " + this.ShortNotation + " => Period = " + this.Period; }