public virtual void AddDataAtBlock(MarkedData data, int block) { while (blocks.Count <= block) { blocks.Add(new DataBlock()); } blocks[block].AddMarkedData(data); }
internal virtual void DeleteMarkedData(MarkedData data) { if (indexMap.ContainsKey(data.GetIndex())) { this.dataList.Set(indexMap[data.GetIndex()], null); this.feList.Set(indexMap[data.GetIndex()], null); this.indexMap.Remove(data.GetIndex()); } }
internal virtual void AddMarkedData(MarkedData data) { if (!indexMap.ContainsKey(data.GetIndex())) { indexMap[data.GetIndex()] = indexMap.Count; this.dataList.Add(data); this.feList.Add(data.GetFe()); } }
public virtual void AddData(IFeaturable data) { int index = indexMap.Count; MarkedData md = new MarkedData(data, index); dataList.Add(md); this.feList.Add(data); indexMap[index] = index; }
public override int[] Sort(IList <MarkedData> datas, string feature) { int[] r = new int[datas.Count]; MyDictionary <string, int> set = new MyDictionary <string, int>(); if (comparator == null) { comparator = GetComparator(feature); } if (comparator != null) { datas.Sort(GetComparator(feature)); } for (int i = 0; i < datas.Count; i++) { MarkedData data = datas[i]; if (data != null) { IFeaturable fe = data.GetFe(); if (fe != null) { object v = fe.GetFeatureValue(feature); if (v != null) { SetIndex(r, i, v, set); } else { r[i] = REMOVE; } } else { r[i] = REMOVE; } } else { r[i] = REMOVE; } } return(r); }