Opis Rust

Opis is an arithmetic library for integer numbers written in Rust.

Usage

In Cargo.toml

```

[dependencies] opis = "0.9.0"

```

In your rust file

```

use opis::Int;

```

Features

API

Conversion Functions

From Str

```

let integer: Int = Int::from_str("6747", 10)?;

```

To Str

```

let binarystr: String = integer.tostr(2);

```

Arithmetic Functions

Addition(add)

```

let s = inta.add(&int2b);

```

Subtraction(sub)

```

let d = inta.sub(&intb).unwrap();

```

Multiplication(mul)

```

let p = inta.mul(&intb);

```

Division(div)

```

let q = inta.div(&intb).unwrap();

```

Remainder(rem)

```

let r = inta.rem(&intb).unwrap();

```

Modulo(modulo)

```

let m = inta.modulo(&intb).unwrap();

```

Exponentiation(pow)

```

let p = inta.pow(&inte);

```

Modular Inverse(mod_inv)

```

let mi = inta.modinv(&int_m);

```

Comparison Function

```

match &int1.cmp(&int2)[..] { "greater" => Println!("a is greater than b!"), "less" => Println!("a is less than b!"), "equal" => Println!("a is equal to b!"), _ => Println!("no match!"), }

```

Performance

Version 1 Requirements

Contribution

Pull requests, bug reports and any kind of suggestion are welcome.

2021-11-2