public MovingCircularStatistics(int windowSize)
{
if (windowSize < 0 || windowSize == int.MaxValue)
throw new ArgumentOutOfRangeException("windowSize");
Window = windowSize;
sines = new Queue<double>(windowSize + 1);
cosines = new Queue<double>(windowSize + 1);
}