/// <summary> /// Resizes the signal until its length be a power of 2. /// </summary> /// <returns></returns> public void MakeLengthPowerOfTwo() { if (LengthIsPowerOf2() || Samples.Length == 0) { return; } var length = Samples.Length; while (!(WaveMath.IsPowerOf2(length)) && length > 0) { length--; } var newArray = MemoryPool.Pool.New <double>(length); Array.Copy(Samples, newArray, length); Samples = newArray; }
/// <summary> /// Informs that size of signal is a power of 2. /// </summary> /// <returns></returns> public bool LengthIsPowerOf2() { return(WaveMath.IsPowerOf2(Samples.Length)); }