Vecxt

Making cross plaform vector problem less... vexing

Scala cli

//> using dep io.github.quafadas::vecxt::0.0.19

Mill

ivy"io.github.quafadas::vecxt::0.0.19"
import vecxt._
import BoundsCheck.DoBoundsCheck.no

val v1 = Array[Double](1, 2, 3)
val v2 = Array[Double](4, 5, 6)

println((v1 + v2).mkString("[",",","]"))

Goals

  • Where possible inline calls to platform-native-BLAS implementations for maximum performance
  • Reasonable,, consistent cross platform ergonomics
  • Very little / no data-structures - the vector part of the library is an extension method on Array[Double] for example
  • A single cross platform test suite
  • Simplicity, speed

Non-Goals