internal SampleListEnumerator(SampleList sampleList, int index, int count, EnumerationMode mode)
 {
     this.sampleList = sampleList;
     this.index      = index;
     this.startIndex = index;
     this.endIndex   = index + count;
     this.mode       = mode;
 }
        Clone()
        {
            SampleList list = new SampleList(_size);

            Array.Copy(_sampleCount, 0, list._sampleCount, 0, _size);
            Array.Copy(_sampleT, 0, list._sampleT, 0, _size);
            Array.Copy(_sampleX, 0, list._sampleX, 0, _size);
            list._size = _size;
            return(list);
        }
 internal SampleListEnumerator(SampleList sampleList, int index, int count, EnumerationMode mode)
 {
     this.sampleList = sampleList;
     this.index = index;
     this.startIndex = index;
     this.endIndex = index + count;
     this.mode = mode;
 }
 internal KeyList(SampleList sampleList)
 {
     this.sampleList = sampleList;
 }
 /// <summary>
 /// Create a copy of this sample list.
 /// </summary>
 public virtual SampleList Clone()
 {
     SampleList list = new SampleList(_size);
     Array.Copy(_sampleCount, 0, list._sampleCount, 0, _size);
     Array.Copy(_sampleT, 0, list._sampleT, 0, _size);
     Array.Copy(_sampleX, 0, list._sampleX, 0, _size);
     list._size = _size;
     return list;
 }
 internal ValueList(SampleList sampleList)
 {
     this.sampleList = sampleList;
 }
 internal ValueList(SampleList sampleList)
 {
     this.sampleList = sampleList;
 }
 internal KeyList(SampleList sampleList)
 {
     this.sampleList = sampleList;
 }
        /// <summary>
        /// Precompute/optimize the algoritm for the given sample set.
        /// </summary>
        public void Prepare(
            SampleList samples
            )
        {
            if(null == samples)
            {
                throw new ArgumentNullException("samples");
            }

            _samples = samples;
            _effectiveOrder = Math.Min(_maximumOrder, samples.Count);
        }