{"repo":"orsinium-labs/tinymath","free":true,"listed":false,"github":"https://github.com/orsinium-labs/tinymath","clone":"git clone https://github.com/orsinium-labs/tinymath.git","description":"📐 The fastest and smallest Go math library for constrained environments, like microcontrollers or WebAssembly.","language":"Go","stars":101,"topics":["embedded","gamedev","go","golang","math","tinygo","trigonometry","wasm","webassembly"],"license":"MIT","category":"game-templates","readme_excerpt":"🧮 tinymath [📚 docs ] [🐙 github ] The fastest Go math library for constrained environments, like microcontrollers or WebAssembly. Optimizes for performance and small code size at the cost of precision. Uses float32 because most microcontrollers (like ESP32) have much faster computation for float32 than for float64. Designed and tested to work with both Go and TinyGo, hence the name. Most algorithms are ported from micromath Rust library. Zero dependency. 📦 Installation 🔧 Usage 🔬 Size Here is a comparison of WebAssembly binary size (built with TinyGo) when using tinymath vs stdlib math: function tinymath stdlib ratio ------------ --------: ------: -----: atan 106 367 28% atan2 167 782 21% exp 463 2722 17% fract 166 154 107% hypot 67 203 33% ln 196 4892 4% powf 701 9167 7% round 129 171 75% sin 125 1237 10% sqrt 57 57 100% tan 138 1137 12% trunc 57 57 100% To reproduce: python3 size bench.py","default_branch":null,"files":null,"tree":[],"storefront":"/r/orsinium-labs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/orsinium-labs/tinymath/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}