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}