コード例 #1
0
ファイル: Minmax.cs プロジェクト: muba24/flumin-master
 public MinMaxCacheFirstStage(int factor, int size)
 {
     Samples = new GenericRingBuffer <MinMax>(size)
     {
         FixedSize = true
     };
     _max   = float.MinValue;
     _min   = float.MaxValue;
     Factor = factor;
 }
コード例 #2
0
ファイル: Minmax.cs プロジェクト: muba24/flumin-master
 public MinMaxCache(int factor, int previousFactor, int size)
 {
     Samples = new GenericRingBuffer <MinMax>(size)
     {
         FixedSize = true
     };
     _max   = float.MinValue;
     _min   = float.MaxValue;
     Factor = factor;
     Ratio  = factor / previousFactor;
 }
コード例 #3
0
        /// <summary>
        /// Continuous-time stream of data
        /// </summary>
        /// <param name="size">number of samples the buffer can hold</param>
        public DataLine1D(string name, int size, int samplerate)
        {
            _zoomLevels = new[] {
                1 << 6,
                    1 << 7,
                    1 << 8,
                    1 << 9,
                    1 << 10,
                    1 << 11,
                    1 << 12,
                    1 << 13,
                    1 << 14,
                    1 << 15,
                    1 << 16
            };



            _ringBuffer    = new VertexRingBuffer(size);
            _ringBufferMax = new VertexRingBuffer(size);
            _ringBufferMin = new VertexRingBuffer(size);
            _floatTemp     = new float[size];
            _minMaxTemp    = new MinMax[size];

            Name = name;

            SamplesPerSecond = samplerate;
            _signalBuffer    = new GenericRingBuffer <float>(size)
            {
                FixedSize = true
            };
            _minMax    = MinMaxCache.CreateCascade(_zoomLevels, size);
            _minMaxFst = (MinMaxCacheFirstStage)_minMax[0];

            // init as -2 because -1 is for fully zoomed in and 0-.. is for other zoom levels.
            // -2 so that in Render() a level change occurs
            _level = -2;
        }