#difference #term #ap #nth #first #arithmetic-progression

ariprog

Need a powerful and simple library to work with arithmetic progressions in Rust? You should definitively try out ariprog!

5 releases

0.1.4 Mar 16, 2024
0.1.3 Mar 16, 2024
0.1.2 Mar 16, 2024
0.1.1 Mar 13, 2024
0.1.0 Mar 12, 2024

#365 in Math

MIT license

9KB

Ariprog

GitHub top language Crates.io Version GitHub's license GitHub last commit (branch)

I had a test (03/2024) on arithmetic progressions, so I decided to create a library to study math. Taking advantage of the fact that I was studying Rust and APs, I created this library.

The objetive of ariprog is to solve the main problems around APs. Here's a list of what it's capable of.

  • Get common difference (d)
  • Get nth term (an)
  • Get first term (a)
  • Get how many terms in the AP (n)
  • Interpolate/insert arithmetic means
  • Get common difference and first term (d, a)

In the API section, you'll see the corresponding functions and how to use them.

๐Ÿ›  Usage

Installation

First, create a new Rust project or open an existing one

cargo new testing-ariprog
cd testing-ariprog

# or
cd existing-project

Then, add ariprog as a dependency

cargo add ariprog

As an alternative, you can add the following line in your Cargo.toml (dependencies section)

ariprog = "0.1.4"

Getting started

use ariprog::{
    common_difference,
    nth_term
};

fn main() {
    let common_diff = common_difference(6.0, 2.0); // expected 4.0

    println!(
        "The common difference in the AP [2.0, 6.0, 10.0, 14.0] is {}",
        common_diff
    );

    println!(
        "The seventeenth term of the AP [2.0, 6.0, 10.0, 14.0, ...] is {}",
        nth_term(2.0, common_diff, 17.0)
    ); // expected 66.0
}

API

First things first, after adding ariprog in your project, import it.

use ariprog;
  • Get common difference (d): ariprog::common_difference
  • Get nth term (an): ariprog::nth_term
  • Get first term (a): ariprog::first_term
  • Insert/interpolate arithmetic means: ariprog::insert_arithmetic_means
  • Get how many terms in the AP (n): ariprog::how_many_terms
  • Get common difference and first term (d, a): ariprog::common_difference_and_first_term

All of these functions have their own documentation. See in docs.rs or in your IDE.

๐Ÿ’– Contributing

Feel free to fork it, make a change and open a pull request. Same for issues, suggest an API change, an improvement, a feature or report a bug.

How to contribute

  1. Fork this repository
  2. Clone your fork on your machine
  3. Make your changes, commit and push these
  4. Open a pull request (write a descriptive message about what you changed)

๐Ÿงช Testing

To test ariprog, with the project in your machine, run cargo test.

You should create tests in tests/unit_test.rs, however if you think that your tests should be in other module, do it and explain why in the PR.

๐Ÿ“ License

This project is licensed under the MIT License - See the LICENSE for more information.


Made with โค and ๐Ÿฆ€ by Kauรช Fraga Rodrigues.

No runtime deps