/// <summary>
        /// getActiveSegment(c, i, t, state)
        /// For the given column c cell i, return a segment index such that
        /// segmentActive(s,t, state) is true. If multiple segments are active, sequence
        /// segments are given preference. Otherwise, segments with most activity
        /// are given preference.
        /// </summary>
        /// <param name="cell"></param>
        /// <param name="time"> </param>
        /// <returns></returns>
        public HtmSegment GetActiveSegment(HtmCellState cell, HtmTime time)
        {
            var activeSegments = cell.Segments.Where(segment => segment.IsActive(time)).ToList();

            if (activeSegments.Count == 0)
            {
                return(null);
            }

            activeSegments.Sort(new SegmentComparer(time));
            return(activeSegments.First());
        }
Esempio n. 2
0
 public HtmCell()
 {
     _oldState = new HtmCellState();
     _newState = new HtmCellState();
 }