could be based on mathnet-numerics implementation: https://github.com/mathnet/mathnet-numerics/blob/master/src/Numerics/Providers/FourierTransform/ManagedFourierTransformProvider.Bluestein.cs#L252