#trigonometry #redstone #embedded

no-std rdsmath

Minimal math library for no_std environments - RedstoneOS

1 unstable release

0.1.0 Jan 3, 2026

#593 in Math


Used in 2 crates

MIT license

25KB
553 lines

RDSMath v0.1.0

Minimal Math Library for RedstoneOS

Biblioteca matemática minimalista para ambientes #![no_std], sem dependências externas.

Características

  • 🚀 Zero dependências - Nenhuma crate externa
  • 📦 #![no_std] - Compatível com bare-metal
  • Otimizada - Aproximações rápidas adequadas para gráficos
  • 🔧 Simples - API limpa e direta

Módulos

Módulo Descrição
consts Constantes matemáticas (PI, E, etc.)
trig Funções trigonométricas (sin, cos, tan, atan2)
exp Exponencial, logaritmo, potência, sqrt
round Arredondamento e truncamento
util Funções utilitárias (lerp, clamp, smoothstep)

Uso

use rdsmath::*;

// Trigonometria
let angle = PI / 4.0;
let (s, c) = sincosf(angle);

// Raiz quadrada (fast inverse sqrt do Quake)
let root = sqrtf(2.0);

// Interpolação
let value = lerpf(0.0, 100.0, 0.5); // = 50.0
let smooth = smoothstepf(0.0, 1.0, 0.5);

// Clamp
let clamped = clampf(150.0, 0.0, 100.0); // = 100.0

Precisão

As funções são otimizadas para velocidade com precisão suficiente para aplicações gráficas (~6 dígitos significativos para a maioria das funções).

Função Precisão Método
sinf/cosf ~6 dígitos Aproximação Bhaskara
sqrtf ~7 dígitos Newton-Raphson + IEEE 754 hack
expf/logf ~5 dígitos Decomposição + Taylor
powf ~5 dígitos exp(y * log(x))

Licença

MIT License - RedstoneOS Team

No runtime deps