A libm
-ish program. It provides most of the functions of libm
in pure #![no_std]
Rust.
Note that it is completely unoptimised, using +-*/
and loops only.
Documentation is missing, but most of the signatures are the same as std
, so use those docs instead.
Most functions have been checked, consider increasing the amount of iterations and validating before using for applications where accuracy is critical.
This is a proof of concept, and for most of the functions, they only work within a range. This is not
intended to be a replacement for libm. For that, look to something like m
.
Add this to your Cargo.toml
mish = "0.2.0"
add this to your crate root
extern crate mish;
and import all functions
use mish::*;
funcs
is where all of the functions are located, all inner functions have been re-exported herem
contains a majority of the mathematical functionsn
deals with the floating point numbers themselveso
has some basic operationst
contains the trig functionsinv
contains the inverse trig functionst
contains the trig functionsh
contains hyperbolic functionshinv
contains inverse hyperbolic functions
Note: All functions with iterative methods have a counterpart, not included in prelude
, that end with _
.
These methods have an extra integer (i32
or usize
) argument, which specifies the amount of iterations to run for.
This can be used to specify precision vs speed of execution. The methods included by default are wrappers with a default
value for the loop iterations.