HNHacker News
TopNewBestAskShowJobs

clearprop

102 karma · joined June 30, 2024

submissionscomments
clearprop··on Properly testing concurrent data structures
I thought Rust was thread-safe and I don't see any "unsafe" blocks. What am I missing?
clearprop··on Convolutions, Fast Fourier Transform and polynomials (2022)
Indeed, updated: https://github.com/alrevuelta/myblog/commit/9fcc3dc84b1d9b66...

Thanks for the feedback.

clearprop··on Convolutions, Fast Fourier Transform and polynomials (2022)
Great feedback. I have updated the post using convolve instead. There is a huge difference convolve/naive. On the other hand, convolved is slower than the FFT as expected, but for greater than 3000 degree polynomials or so. See diff: https://github.com/alrevuelta/myblog/commit/9fcc3dc84b1d9b66...
clearprop··on Convolutions, Fast Fourier Transform and polynomials (2022)
Thanks! In case it helps: * Multiplying two polynomials as taught in school is in reality a convolution. * "performing the convolution of two signals in the time domain is equivalent to multiplying them in the frequency domain" * FFT allows us to convert from time domain to frequency domain * We use FFT to convert our polynomial to frequency domain. * If we are now in the frequency domain, we just need to multiply. Faster than a convolution.

Does it clarify the missing step? Happy to update the post with what's missing.

clearprop··on Convolutions, Fast Fourier Transform and polynomials (2022)
Thanks for the comment. That makes sense, since as you are saying, a base10 number can be expressed as a polynomial where x=10. Eg: 983 = 9x^2 + 8x + 3 aka [9, 8, 3]. Wondering how big the number has to be to make sense, and where this is used in practice.