If you want to use the program, visit the
Github repo for installation
and usage instructions. If, on the other hand, you want to contribute to clipivot's
development, read on.

In particular, I strongly advise you to read the brief bit at the top of the page for the
aggregation module. That bit should show you how clipivot is structured, so you can
more knowledgeably explore the tool.

Performance: I've tried to design clipivot to be reasonably performant, but I'm sure there
are places where performance could be optimized. If you have any suggestions, I'd love to hear them.
(Note: I'm aware that there are technically faster algorithms for computing median than the one I
wound up with, the BTreeMap
in Rust's standard library. The reason I chose the BTreeMap is that it is well-suited for
adding items from a stream and it is more memory efficient than other algorithms I'm aware of.
But let me know if you're aware of a way to improve the speed of the median computation
while maintaining the best case memory efficiency of BTreeMap.)

Coding style: This is my first project in Rust, so I'm sure there are parts of the code
that are not idiomatic in Rust or that are poorly structured.

Testing: I think I've included fairly decent testing for this tool, but I'm sure there are places
where my testing can improve.

Continuous Integration: Thanks to twotemplates,
I managed to get continuous integration working in Travis CI for two version ins of Linux, one version of OSX,
and one version of Windows. However, some versions I tried to deploy failed
(they're currently commented out in the .travis.yml file). If anyone wants to help get those working or wants to add support
for other environments, I would really appreciate it.