pub struct Point { | |
pub x: f32, | |
pub y: f32, | |
} | |
impl Point { | |
fn distance_squared(&self) -> f32 { | |
#[cfg(cfail1)] | |
return self.x + self.y; | |
#[cfg(cfail2)] | |
return self.x * self.x + self.y * self.y; | |
} | |
pub fn distance_from_origin(&self) -> f32 { | |
self.distance_squared().sqrt() | |
} | |
} | |
impl Point { | |
pub fn translate(&mut self, x: f32, y: f32) { | |
self.x += x; | |
self.y += y; | |
} | |
} |