| Crates.io | area_crate |
| lib.rs | area_crate |
| version | 1.0.2 |
| created_at | 2023-08-10 10:45:37.614802+00 |
| updated_at | 2025-05-10 11:10:32.509755+00 |
| description | A comprehensive geometry calculation library for areas, perimeters, surface areas, and volumes |
| homepage | |
| repository | https://github.com/AkshitVadodariya1201/area_crate |
| max_upload_size | |
| id | 940823 |
| size | 20,073 |
A comprehensive Rust library for geometric calculations, providing functions for calculating areas, perimeters, surface areas, and volumes of various shapes.
Add this to your Cargo.toml:
[dependencies]
area_crate = "1.0.2"
use area_crate::{area, GeometryError};
fn main() -> Result<(), GeometryError> {
// Calculate circle area
let radius = 12.0;
let circle_area = area::circle(radius)?;
assert_eq!(452.3893421169302, circle_area);
// Calculate pentagon area
let pentagon_area = area::pentagon(10.0)?;
println!("Pentagon area: {}", pentagon_area);
// Calculate polygon area (hexagon)
let hexagon_area = area::polygon(6, 10.0)?;
println!("Hexagon area: {}", hexagon_area);
Ok(())
}
use area_crate::{surface_area, volume, GeometryError};
fn main() -> Result<(), GeometryError> {
// Calculate sphere surface area
let radius = 5.0;
let surface = surface_area::sphere(radius)?;
println!("Sphere surface area: {}", surface);
// Calculate cylinder volume
let height = 10.0;
let volume = volume::cylinder(radius, height)?;
println!("Cylinder volume: {}", volume);
Ok(())
}
use area_crate::constants::{PI, TAU, E};
fn main() {
println!("π = {}", PI);
println!("τ = {}", TAU);
println!("e = {}", E);
}
All functions now return a Result type, properly handling invalid inputs:
use area_crate::area;
fn main() {
// This will return an error because radius cannot be negative
let result = area::circle(-5.0);
assert!(result.is_err());
}
This project is licensed under the MIT License. See the LICENSE file for details