#[macro_export]
macro_rules! cs {
($x:expr, $y:expr $(,)?) => {
$crate::libs::cs::model::Cs([$x as f64, $y as f64])
};
($x:expr, $y:expr, $z:expr $(,)?) => {
$crate::libs::cs::model::Cs([$x as f64, $y as f64, $z as f64])
};
}
#[macro_export]
macro_rules! dms_angle {
($d:expr, $m:expr, $s:expr) => {
<$crate::libs::angle::Angle as $crate::libs::angle::AbstractAngle>::from_dms($d as i16, $m as u8, $s as f32)
};
}
#[macro_export]
macro_rules! dms {
($d:expr, $m:expr, $s:expr) => {
<$crate::libs::angle::Angle as $crate::libs::angle::AbstractAngle>::rad(
<$crate::libs::angle::Angle as $crate::libs::angle::AbstractAngle>::from_dms($d as i16, $m as u8, $s as f32)
)
};
}
#[macro_export]
macro_rules! impl_sign_str {
($t:ty, $zero:expr) => {
impl $crate::libs::cs::abstracts::AbstractSignStrExt for $t {
#[inline]
fn sign_str(self) -> &'static str { if self >= $zero { "+" } else { "-" } }
#[inline]
fn sign_sn(self) -> &'static str { if self >= $zero { "N" } else { "S" } }
#[inline]
fn sign_we(self) -> &'static str { if self >= $zero { "E" } else { "W" } }
}
};
}