public void AddDocument(FeedItem doc) { // merge new labels into existing labels foreach (Label newLabel in doc.Labels) { Label duplLabel = Labels.Find(lbl => lbl.Name == newLabel.Name); if (duplLabel != null) { duplLabel.Count += newLabel.Count; duplLabel.Frequency = 0; // reset } else { Labels.Add(newLabel); newLabel.Frequency = 0; // reset } } // recalculate frequencies WordsCount += doc.WordsCount; foreach (Label label in Labels) { label.Frequency = (double)label.Count / WordsCount; } LikedDocs.Add(doc.Id); }
public void Jump(string name) { Label label = Labels.Find(x => x.Name == name); if (label != null) { Counter = label.Index; } }
public LabelSe Label(Predicate <ElementSe> predicate) { try { return(Labels.Find(predicate)); } catch (Exception) { return(null); } }
public void MakeLabel(string name) { if (Labels.Find(x => x.Name == name) == null) { Labels.Add( new Label() { Name = name, Index = Counter - 1 } ); } }
public void LoadLabel(string name, char register, int lineNumber) { Label label = Labels.Find(x => x.Name.Equals(name)); if (label != null) { throw new LabelException("Label Already Exists On Line: " + label.LineNumber + 1); } int regIndex = Registers.FindIndex(x => x.Name.Equals(register)); Labels.Add(new Label(name, regIndex, lineNumber + 1)); }
public void ExecuteDecrement(string name, ref int index) { Label label = Labels.Find(x => x.Name.Equals(name)); if (label == null) { throw new LabelException(string.Format("Label '{0}' Doesnt Exist", name)); } Register register = Registers[label.RegisterIndex]; if (register.Value > 0) { register.Value--; index = label.LineNumber - 1; } }