Expand description
The Ruby Math module.
The Math module contains module functions for basic trigonometric and
transcendental functions. See class Float
for a list of constants that
define Ruby’s floating point accuracy.
This crate defines math operations as free functions. These functions differ
from those defined in Rust core
by returning a DomainError
when an
input is outside the domain of the function and results in NaN
.
spinoso-math
assumes the Ruby VM uses double precision f64
floats.
§Examples
Compute the hypotenuse:
use spinoso_math as math;
assert_eq!(math::hypot(3.0, 4.0), 5.0);
Compute log with respect to the base 10 and handle domain errors:
use spinoso_math as math;
assert_eq!(math::log10(1.0), Ok(0.0));
assert_eq!(math::log10(10.0), Ok(1.0));
assert_eq!(math::log10(1e100), Ok(100.0));
assert_eq!(math::log10(0.0), Ok(f64::NEG_INFINITY));
assert!(math::log10(-0.1).is_err());
// A NaN return value is distinct from a `DomainError`.
assert!(matches!(math::log10(f64::NAN), Ok(result) if result.is_nan()));
§Crate features
All features are enabled by default.
Structs§
- Error that indicates a math function evaluated to an out of range value.
- A handle to the
Math
module. - Error that indicates a
Math
module function is not implemented.
Enums§
- Sum type of all errors possibly returned from
Math
functions.
Constants§
- Euler’s number (e)
- Archimedes’ constant (π)
Functions§
- Computes the arccosine of the given value. Returns results in the range
(0..=PI)
. - Computes the inverse hyperbolic cosine of the given value.
- Computes the arcsine of the given value. Returns results in the range
(-PI/2..=PI/2)
. - Computes the inverse hyperbolic sine of the given value.
- Computes the arctangent of the given value. Returns results in the range
(-PI/2..=PI/2)
. - Computes the four quadrant arctangent of
value
(y
) andother
(x
) in radians. - Computes the inverse hyperbolic tangent of the given value.
- Returns the cube root of the given value.
- Computes the cosine of the given value (expressed in radians). Returns values in the range
-1.0..=1.0
. - Computes the hyperbolic cosine of the given value (expressed in radians).
- Calculates the error function of the given value.
- Calculates the complementary error function of the given value.
- Returns
e**x
. - Returns a tuple array containing the normalized fraction (a Float) and exponent (an Integer) of the given value.
- Calculates the gamma function of the given value.
- Returns
sqrt(x**2 + y**2)
, the hypotenuse of a right-angled triangle with sides x and y. - Returns the value of
fraction * (2**exponent)
. - Calculates the logarithmic gamma of value and the sign of gamma of value.
- Returns the logarithm of the number with respect to an arbitrary base.
- Returns the base 2 logarithm of the number.
- Returns the base 10 logarithm of the number.
- Computes the sine of the given value (expressed in radians). Returns a Float in the range
-1.0..=1.0
. - Computes the hyperbolic sine of the given value (expressed in radians).
- Returns the non-negative square root of the given value.
- Computes the tangent of the given value (expressed in radians).
- Computes the hyperbolic tangent of the given value (expressed in radians).