Skip to content

Latest commit

 

History

History
50 lines (38 loc) · 1.28 KB

ARCHITECTURE.md

File metadata and controls

50 lines (38 loc) · 1.28 KB

Architecture

The high level architecture of the iterative_methods crate. As a tree structure, the code base looks like this:

iterative_methods_done_right_in_rust
├── src/
│   └── lib.rs
├── examples/
├── tests/
├── Cargo.toml
├── ARCHITECTURE.md
├── LICENSE_APACHE.md
├── LICENSE_MIT.md
├── README.md
├── feedback_loop.sh // run this once to watch project files and automatically update targets and provide feedback.
└── pull_request_template.md

If you haven't already, please see the README.md document for an introduction to the motivation for this library and what it offers.

The remaining sections will address the contents and structure of each directory of the tree.

src

In src, lib.rs exports iterative methods (via algorithms.rs) and utilities consisting of iterator adaptors. They currently include

  • take_until
  • assess
  • inspect
  • last
  • time
  • step_by
  • write_yaml_documents
  • enumerate
  • {weighted_}reservoir_sample and their associated implementations. Unit tests are included.

examples

Examples demonstrating different functionality. Currently:

  • Conjugate Gradient Method (ConjugateGradient)
  • Weighted Reservoir Sampling
  • Output to yaml, e.g., for animations

tests

Some integration tests.