Skip to content

TomasLeTrain/vexmath

Repository files navigation

VexMath

Math library for PROS projects focused on speed. Currently implements:

  • various fast/vectorized pseudo-random number generators
  • vectorized versions of common math functions (trig, square root, etc.)
  • fast normally-distributed prng generator (modified float-based implementation of ziggurat algorithm)
  • simple Entropy class to generate random numbers heavily based on veranda

Benchmarking

  • Vectorized xoshiro generator around 2.55x faster than normal xoshiro
  • Vectorized trig taylor approximation around 1.5x faster than normal alternative

Full Benchmarking results can be found in benchmarks/results.md

Credits

  • Gavin Niederman - Veranda: A rand RNG source for vexide programs
  • Julien Pommier - Simple ARM NEON optimized sin, cos, log and exp
  • Christopher D. McFarland - Fast PRNG: an Exponentially- and Normally-distributed PseudoRandom Number Generator

About

Vectorized math library for PROS focused on speed.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages