(x)
| 26 | X = np.arange(n, dtype=np.float32) |
| 27 | |
| 28 | def window(x): |
| 29 | x = 2 * x / length - 1 |
| 30 | np.clip(x, -1, 1, out=x) |
| 31 | return 0.5 * (1 + np.cos(x * math.pi)) |
| 32 | |
| 33 | wave = np.sin(X[:, np.newaxis] * (np.array(frequencies) * (2 * math.pi))) |
| 34 | return wave * window(X)[:, np.newaxis] |
no test coverage detected