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 inputClonetypes (BigInt, Complex maybe?)Consider usingquickcheckFinishing up:
private_impl!marker