All Projects → shingtaklam1324 → mish

shingtaklam1324 / mish

Licence: MIT license
A no-std libm implementation in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to mish

Linear-Algebra-and-Its-Applications-notes
《线性代数及其应用》笔记
Stars: ✭ 196 (+1300%)
Mutual labels:  math, mathematics
openncc
OpenNCC Kit
Stars: ✭ 23 (+64.29%)
Mutual labels:  embedded, embedded-systems
Oscar.jl
A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.
Stars: ✭ 182 (+1200%)
Mutual labels:  math, mathematics
speedy-math
An application which allows user (small kids) to practice basic Mathematics operations
Stars: ✭ 28 (+100%)
Mutual labels:  math, mathematics
graphest
A faithful graphing calculator
Stars: ✭ 42 (+200%)
Mutual labels:  math, mathematics
noteworthy
Markdown editor with bidirectional links and excellent math support, powered by ProseMirror. (In Development!)
Stars: ✭ 178 (+1171.43%)
Mutual labels:  math, mathematics
codex
A repository of mathematical knowledge written in the MathLingua language.
Stars: ✭ 17 (+21.43%)
Mutual labels:  math, mathematics
Libonnx
A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
Stars: ✭ 217 (+1450%)
Mutual labels:  embedded, embedded-systems
pyrgg
🔧 Python Random Graph Generator
Stars: ✭ 158 (+1028.57%)
Mutual labels:  math, mathematics
Mathos-Project
The Mathos Core Library
Stars: ✭ 22 (+57.14%)
Mutual labels:  math, mathematics
mml-book-chinese
mml-book-chinese《Mathematics For Machine Learning》机器学习中的数学 中文版
Stars: ✭ 113 (+707.14%)
Mutual labels:  math, mathematics
string-math
Evaluates a math expression from a string. Supports variables and custom operators.
Stars: ✭ 14 (+0%)
Mutual labels:  math, mathematics
MathImprove
Modify and Improve math expressions.
Stars: ✭ 13 (-7.14%)
Mutual labels:  math, mathematics
Fourier-and-Images
Fourier and Images
Stars: ✭ 81 (+478.57%)
Mutual labels:  math, mathematics
Libhydrogen
A lightweight, secure, easy-to-use crypto library suitable for constrained environments.
Stars: ✭ 247 (+1664.29%)
Mutual labels:  embedded, embedded-systems
Tau.jl
A Julia module providing the definition of the circle constant Tau (2π)
Stars: ✭ 33 (+135.71%)
Mutual labels:  math, mathematics
Awesome Embedded Rust
Curated list of resources for Embedded and Low-level development in the Rust programming language
Stars: ✭ 2,805 (+19935.71%)
Mutual labels:  embedded, embedded-systems
Lwesp
Lightweight Espressif AT parser library for ESP8266 and ESP32 devices.
Stars: ✭ 212 (+1414.29%)
Mutual labels:  embedded, embedded-systems
Mathematics for Machine Learning
Learn mathematics behind machine learning and explore different mathematics in machine learning.
Stars: ✭ 28 (+100%)
Mutual labels:  math, mathematics
tukey
Mini stats toolkit for Clojure/Script
Stars: ✭ 17 (+21.43%)
Mutual labels:  math, mathematics

Mish

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.

Using

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::*;

Modules

  • funcs is where all of the functions are located, all inner functions have been re-exported here
    • m contains a majority of the mathematical functions
    • n deals with the floating point numbers themselves
    • o has some basic operations
    • t contains the trig functions
      • inv contains the inverse trig functions
      • t contains the trig functions
      • h contains hyperbolic functions
      • hinv 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].