#[macro_export]
macro_rules! new_coord {
() => {
$crate::coords::Coord { x: 0, y: 0 }
};
($y:expr) => {
$crate::coords::Coord { x: 0, y: $y as i32 }
};
($x:expr, $y:expr) => {
$crate::coords::Coord {
x: $x as i32,
y: $y as i32,
}
};
}
#[macro_export]
macro_rules! new_vector {
() => {
$crate::vectors::Vector {
start: coords::Coord { x: 0, y: 0 },
end: coords::Coord { x: 0, y: 0 },
magnitude: 0.0,
}
};
($end:expr) => {
vectors::Vector {
start: coords::Coord { x: 0, y: 0 },
end: $end,
magnitude: vectors::get_magnitude(coords::Coord { x: 0, y: 0 }, $end as coords::Coord),
}
};
($start:expr, $end:expr) => {
vectors::Vector {
start: $start,
end: $end,
magnitude: vectors::get_magnitude($start as coords::Coord, $end as coords::Coord),
}
};
}