|
|
|
@ -45,7 +45,9 @@ pub trait Trig { |
|
|
|
91 ..=180 => Self::sintab()[180 - d as usize],
|
|
|
|
181..=270 => -Self::sintab()[d as usize - 180],
|
|
|
|
271..=359 => -Self::sintab()[360 - d as usize],
|
|
|
|
_ => Self::sin(d % 360),
|
|
|
|
_ => {
|
|
|
|
Self::sin(if d < 0 { d % 360 + 360 } else { d % 360 })
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@ -56,7 +58,9 @@ pub trait Trig { |
|
|
|
91 ..=180 => -Self::sintab()[90 - (180 - d as usize)],
|
|
|
|
181..=270 => -Self::sintab()[90 - (d as usize - 180)],
|
|
|
|
271..=359 => Self::sintab()[90 - (360 - d as usize)],
|
|
|
|
_ => Self::cos(d % 360),
|
|
|
|
_ => {
|
|
|
|
Self::cos(if d < 0 { d % 360 + 360 } else { d % 360 })
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@ -64,7 +68,9 @@ pub trait Trig { |
|
|
|
match d {
|
|
|
|
0 ..=179 => Self::tantab()[d as usize],
|
|
|
|
180..=359 => Self::tantab()[d as usize - 180],
|
|
|
|
_ => Self::tan(d % 360),
|
|
|
|
_ => {
|
|
|
|
Self::tan(if d < 0 { d % 360 + 360 } else { d % 360 })
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|