use core::f64::consts::PI;
use crate::Polygon;
#[derive(Debug)]
pub struct Circle {
pub radius: f64,
}
impl Circle {
pub fn new(r: f64) -> Option<Circle> {
if r == 0.0 {
None
} else {
Some(Circle { radius: r })
}
}
}
impl Polygon for Circle {
fn area(&self) -> Option<f64> {
Some(PI * self.radius * self.radius)
}
fn peri(&self) -> Option<f64> {
Some(2.0 * PI * self.radius)
}
fn angles(&self) -> Option<Vec<f64>> {
None
}
}