fastnum2/decimal/dec/math/sin_cos.rs
1use crate::decimal::{
2 dec::math::{mul::mul, sin::sin, sqrt::sqrt, sub::sub},
3 Decimal,
4};
5
6type D<const N: usize> = Decimal<N>;
7
8#[inline]
9pub(crate) const fn sin_cos<const N: usize>(x: D<N>) -> (D<N>, D<N>) {
10 let sin = sin(x);
11 debug_assert!(sin.le(&D::ONE));
12
13 let cos = sqrt(sub(D::ONE, mul(sin, sin)));
14 (sin, cos)
15}