New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strange type signature of DCT #16
Comments
I fixed the signatures in 9801ebb. The Complex-valued variants of the functions remain, because they're more convenient for use with the new kernel density code. |
Why did you reopen this? |
I looks like comment was lost somehow. I argue that
|
I've done some math and found that way |
Maybe document them as having this behaviour instead, and/or change their names. I actually use them in their current form (but a name change wouldn't be a big deal). |
Thing I really dislike about these function is that they have I think documenting them is fine but they should be renamed to reflect Another option is to change definition to drop imaginary part of What is your opinion? |
Ping? This is only thing holding back 0.10.2. Personally I prefer second option more. |
Changeset above (not yet in master) modify Any objections againist this? |
They now transform only real part of vector. Imaginary part is discarded. Previous behavior was to transform imaginary part of vector with some linear transformation which is not DCT/IDCT Should fix #16
Signature of dct and idct both are :: Vector (Complex Double) → Vector Double. It's implied that dct is invertible but it's obviously not. Only n out 2n degrees of freedom survive transformation and this information couldn't be recovered. Probably it should be Vector Double → Vector Double
Also different variants of DCT exists wikipedia describe no less than five. It would be helpful to describe which one is actually implemented.
The text was updated successfully, but these errors were encountered: