add tan_pi
[vector-math.git] / src / algorithms / trig_pi.rs
index e7763787910685fda9a765093a6d1ef4764dca1e..5be0ad65b017a389823488c1050a1b22eeb51293 100644 (file)
@@ -249,6 +249,27 @@ pub fn cos_pi_f64<Ctx: Context>(ctx: Ctx, x: Ctx::VecF64) -> Ctx::VecF64 {
     sin_cos_pi_f64(ctx, x).1
 }
 
+/// computes `tan(pi * x)`
+/// error inherited from `sin_pi / cos_pi`
+pub fn tan_pi_f16<Ctx: Context>(ctx: Ctx, x: Ctx::VecF16) -> Ctx::VecF16 {
+    let (sin, cos) = sin_cos_pi_f16(ctx, x);
+    sin / cos
+}
+
+/// computes `tan(pi * x)`
+/// error inherited from `sin_pi / cos_pi`
+pub fn tan_pi_f32<Ctx: Context>(ctx: Ctx, x: Ctx::VecF32) -> Ctx::VecF32 {
+    let (sin, cos) = sin_cos_pi_f32(ctx, x);
+    sin / cos
+}
+
+/// computes `tan(pi * x)`
+/// error inherited from `sin_pi / cos_pi`
+pub fn tan_pi_f64<Ctx: Context>(ctx: Ctx, x: Ctx::VecF64) -> Ctx::VecF64 {
+    let (sin, cos) = sin_cos_pi_f64(ctx, x);
+    sin / cos
+}
+
 #[cfg(test)]
 mod tests {
     use super::*;