Spire is a numeric and algebraic library for Scala, offering type-safe, generic, and high-precision arithmetic. It introduces abstractions like Rings, Fields, and Rationals and supports specialized number types (e.g. Rational, Complex, Interval), macros, and seamless integration with Cats for abstract numeric programming.

Features

  • Algebraic type classes: Semiring, Ring, Field, NRoot, etc.
  • Numeric types including Rational, Complex, Interval, polynomials
  • Specialization via macros for performance on JVM
  • Generic algorithms over types using implicits and typeclass constraints
  • Extra modules: spire-laws for testing, spire-extras for extended types
  • Ideal for precision-critical use cases (math, finance, scientific computing)

Project Samples

Project Activity

See All Activity >