namespace FftSharp { public interface IWindow { /// /// Generate this window as a new array with the given length. /// Normalizing will scale the window so the sum of all points is 1. /// double[] Create(int size, bool normalize = false); /// /// Return a new array where this window was multiplied by the given signal. /// Normalizing will scale the window so the sum of all points is 1 prior to multiplication. /// double[] Apply(double[] input, bool normalize = false); /// /// Modify the given signal by multiplying it by this window IN PLACE. /// Normalizing will scale the window so the sum of all points is 1 prior to multiplication. /// void ApplyInPlace(double[] input, bool normalize = false); /// /// Single word name for this window /// string Name { get; } /// /// A brief description of what makes this window unique and what it is typically used for. /// string Description { get; } } }