From b51def0f60282ddc092ed83bb089d380dd06f545 Mon Sep 17 00:00:00 2001 From: Waterdragen Date: Fri, 9 May 2025 19:20:58 +0800 Subject: [PATCH] Add more element-wise math functions for floats --- src/numeric/impl_float_maths.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/numeric/impl_float_maths.rs b/src/numeric/impl_float_maths.rs index 7012a8b93..358d57cf3 100644 --- a/src/numeric/impl_float_maths.rs +++ b/src/numeric/impl_float_maths.rs @@ -103,12 +103,16 @@ where fn exp /// `2^x` of each element. fn exp2 + /// `e^x - 1` of each element. + fn exp_m1 /// Natural logarithm of each element. fn ln /// Base 2 logarithm of each element. fn log2 /// Base 10 logarithm of each element. fn log10 + /// `ln(1 + x)` of each element. + fn ln_1p /// Cubic root of each element. fn cbrt /// Sine of each element (in radians). @@ -117,6 +121,24 @@ where fn cos /// Tangent of each element (in radians). fn tan + /// Arcsine of each element (return in radians). + fn asin + /// Arccosine of each element (return in radians). + fn acos + /// Arctangent of each element (return in radians). + fn atan + /// Hyperbolic sine of each element. + fn sinh + /// Hyperbolic cosine of each element. + fn cosh + /// Hyperbolic tangent of each element. + fn tanh + /// Inverse hyperbolic sine of each element. + fn asinh + /// Inverse hyperbolic cosine of each element. + fn acosh + /// Inverse hyperbolic tangent of each element. + fn atanh /// Converts radians to degrees for each element. fn to_degrees /// Converts degrees to radians for each element. @@ -133,6 +155,8 @@ where fn log(A) /// The positive difference between given number and each element. fn abs_sub(A) + /// Length of the hypotenuse of a right-angle triangle of each element + fn hypot(A) } /// Square (two powers) of each element.