complexible 0.2.4

A minimal and user-friendly Rust library complex-number operations, bringing the joy of complex mathematics to Rustaceans everywhere!
Documentation
# Complexible: A Rust Library for Complex-Number Operations

Complexible is a minimal and user-friendly Rust library for complex-number operations, bringing the joy of complex mathematics to Rustaceans everywhere! Designed with simplicity and ease-of-use in mind, Complexible offers a range of functionality to help you work with complex numbers in your Rust projects.

## Features 🎁

* Complex numbers support:
    * Representation of complex numbers in Cartesian (`CartesianComplexNumber`) and polar (`PolarComplexNumber`) forms
    * Conversion between Cartesian and polar forms
    * Creation of complex numbers from real numbers
* Angle representation:
    * Angle representation using `Angle`, `Radian`, and `Degree` structs
* Basic arithmetic operations on complex numbers:
    * Addition
    * Subtraction
    * Multiplication (complex and scalar)
    * Division
* Complex number properties and operations:
    * Real part
    * Imaginary part
    * Magnitude (absolute value)
    * Angle (argument) in radians and degrees
    * Natural logarithm (ln)
    * Logarithm with arbitrary base
    * Logarithm base 10
    * Power (exponentiation)
    * Nth root

## Installation 🪄


```
cargo add complexible
```

## Usage 💡

Here's a quick example to get you started:

```
use complexible::complex_numbers::*;

fn main() {
    let a = ComplexNumber::from_cartesian(3.0, 4.0);

    let angle = Angle::from_radians(0.927); 
    let b = ComplexNumber::from_polar(5.0, angle);

    let sum = a.add(&b);
    let product = a.mul(&b); 

    println!("Sum: {}", sum);
    println!("Product: {}", product);
}
```
For more examples and detailed documentation, please refer to the [API documentation](https://docs.rs/complexible).

## Quick Tour 🚀

To get a quick tour of complex numbers and the functions of this library, you can refer to [this section](https://github.com/kevmasajedi/And-DSP-for-All/tree/main/Fundamentals_of_Linear_Systems/complex_numbers) of __DSP for All__ library.

## Contributing ✍🏻

We welcome contributions! If you'd like to help improve Complexible, feel free to submit a pull request on __GitHub__. Please make sure to follow the existing coding style and add tests for any new features or bug fixes.

## License 📜

Complexible is released under the MIT license.