#pragma once
#include <cstdint>
#include <vector>
#include <deque>

using namespace std;

class MinMaxLemire
{
public:
	MinMaxLemire(uint32_t N);
	~MinMaxLemire();
	void process(vector<float> & array);
    vector<float> & getmaxvalues()
	{
        return maxvalues;
    }
    vector<float> & getminvalues()
	{
        return minvalues;
    }

private:
	uint32_t width;
    vector<float> minvalues;
    vector<float> maxvalues;
	deque<int32_t> maxfifo, minfifo;

};

