-
Notifications
You must be signed in to change notification settings - Fork 25
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
Add deviation functions #41
Conversation
c03c213
to
685bd4d
Compare
Hi @jturner314 @LukeMathWalker, I still have a number of things I want to address (see todo list in description). However, would you mind having a quick look through to make sure I'm heading in the right direction? |
Sorry @munckymagik, but I won't be able to take a look before the beginning of June - I will be traveling around for work. |
@LukeMathWalker @jturner314 don't worry if you need time, I'm in no hurry. Here are 4 specific questions I need to answer to continue:
|
I don't have a strong preference in either direction. I think we could retain the current implementation and then revise once we have sorted out the performance/memory usage issue.
I would avoid duplicating functionality: where we have an equivalent function, I would just drop it from this deviation sub-module. There is no need to emulate 1 to 1 StatsBase's organization.
For consistency purposes, I would prefer to have them as methods. To avoid confusion, I'd prefer to choose one way or the other: having them both (method and free function) doesn't provide any significant advantage in my eyes.
I generally prefer longer, self-explanatory names. It's consistent with the rest of the API and optimises for searchability when you are browsing the docs/trying things out in an IDE. It also minimises the need to actual go and read the documentation for that specific method, if its intent is clear from the name. |
3b5656a
to
65b73fa
Compare
@LukeMathWalker really nearly there now. Is there anything specific we should do to handle NaNs? |
For a first iteration I would do as we did for |
Ok @LukeMathWalker and @jturner314, this is now complete enough to be worth reviewing. Thanks for your patience. |
Thank you for working on it @munckymagik! |
Thanks for the review @LukeMathWalker. I've addressed all the feedback. I also added a link from the package summary to |
Nice work @munckymagik! Happy to merge 🚀 |
Port of deviation functions from StatsBase.jl.
References:
TODO
Basic port:
`rmsd normalize param?- there are at least 4 ways to normalize RMSD so deferring this for nowDesign:
Consider using sum, max etcTesting:
Test with no differencesTest with mut inputClone
types (BigInt, Complex maybe?)Consider usingquickcheck
Finishing up:
private_impl!
marker