# 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.