Trait typed_floats::Atan2
source · pub trait Atan2<T> {
type Output;
// Required method
fn atan2(self, rhs: T) -> Self::Output;
}
Expand description
This trait is used to specify the return type of the Atan2::atan2()
function.
Required Associated Types§
sourcetype Output
type Output
The resulting type after applying Atan2::atan2()
.
Required Methods§
sourcefn atan2(self, rhs: T) -> Self::Output
fn atan2(self, rhs: T) -> Self::Output
Computes the four quadrant arctangent of self
(y
) and other
(x
) in radians.
x = 0
,y = 0
:0
x >= 0
:arctan(y/x)
->[-pi/2, pi/2]
y >= 0
:arctan(y/x) + pi
->(pi/2, pi]
y < 0
:arctan(y/x) - pi
->(-pi, -pi/2)
§Examples
use typed_floats::tf64::NonNaN;
use typed_floats::tf64::consts::FRAC_PI_4;
// Positive angles measured counter-clockwise
// from positive x axis
// -pi/4 radians (45 deg clockwise)
let x1: NonNaN = 3.0_f64.try_into().unwrap();
let y1: NonNaN = (-3.0_f64).try_into().unwrap();
// 3pi/4 radians (135 deg counter-clockwise)
let x2 = -3.0_f64;
let y2 = 3.0_f64;
assert_relative_eq!(y1.atan2(x1), -core::f64::consts::FRAC_PI_4);
assert_relative_eq!(y2.atan2(x2), 3.0 * core::f64::consts::FRAC_PI_4);
See f64::atan2()
for more details.