diff --git a/hugo.toml b/hugo.toml index fd20038..27eb774 100644 --- a/hugo.toml +++ b/hugo.toml @@ -22,13 +22,13 @@ disableKinds = ['taxonomy', 'term', 'rss', 'sitemap', '404'] path = "github.com/go-fleettools/landingkit" [params] - description = "go-ndarray is a pure-Go (CGO=0) NumPy-style n-dimensional array library for float64 — slicing/views, broadcasting, ufuncs, reductions and linear algebra, multicore + SIMD on amd64, arm64, ppc64le, loong64, riscv64 and s390x, with a Workspace arena for loops." + description = "go-ndarray is a pure-Go (CGO=0) NumPy-style n-dimensional array library in 13 dtypes — slicing/views, broadcasting, ufuncs, reductions, numpy.linalg, numpy.fft and numpy.random (NumPy's numbers for the same seed), multicore + SIMD on amd64, arm64, ppc64le, loong64, riscv64 and s390x, with a Workspace arena for loops." [[params.repos]] name = "ndarray" - kind = "library · v0.9.1" + kind = "library · v0.11.0" href = "https://github.com/go-ndarray/ndarray" - blurb = "The library. Creation (Zeros/Arange/Linspace/…), strided views, broadcasting elementwise + ufuncs, reductions (Sum/Max/ArgMax/CumSum/Clip/Where), manipulation (Reshape/Concatenate/Stack), linalg (MatMul/Dot) via a panel-packed cache-blocked GEMM with a go-asmgen SIMD-FMA micro-kernel (NEON 4×8 on arm64, AVX2/FMA 6×8 on amd64, VSX 8×8 on ppc64le, LASX 8×8 on loong64, RVV 6×8 on riscv64, 4×8 on s390x), and a Workspace arena for loops (Use/Reset/Detach)." + blurb = "The library, in 13 dtypes with NumPy 2 promotion. Creation (Zeros/Arange/Linspace/…), strided views, broadcasting elementwise + ufuncs, reductions (Sum/Max/ArgMax/CumSum/Clip/Where), manipulation (Reshape/Concatenate/Stack), linalg (MatMul/Dot) via a panel-packed cache-blocked GEMM with a go-asmgen SIMD-FMA micro-kernel (NEON 4×8 on arm64, AVX2/FMA 6×8 on amd64, VSX 8×8 on ppc64le, LASX 8×8 on loong64, RVV 6×8 on riscv64, 4×8 on s390x), and a Workspace arena for loops (Use/Reset/Detach). Packages linalg, fft and random are numpy.linalg, numpy.fft and numpy.random." [[params.repos]] name = "docs" kind = "site" @@ -61,9 +61,12 @@ disableKinds = ['taxonomy', 'term', 'rss', 'sitemap', '404'] # The API cards (#api) and the count in the hero come from this list, never # from a number typed beside it. +[[params.families]] + name = "Dtypes" + what = "bool, int8…int64, uint8…uint64, float32/float64, complex64/complex128, chosen at run time with NumPy 2 promotion: `AsType`, `Data[T]`, `Item[T]`, weak Go scalars with `Scalar`." [[params.families]] name = "Creation" - what = "`Zeros`, `Ones`, `Full`, `Arange`, `Linspace`, `FromData`, `Eye` and the rest of NumPy's constructors, float64 throughout." + what = "`Zeros`, `Ones`, `Full`, `Arange`, `Linspace`, `FromData`, `Eye` and the rest of NumPy's constructors, in any dtype (`ZerosOf`, `FromSlice`)." [[params.families]] name = "Views and indexing" what = "`Reshape`, `Transpose` and NumPy basic indexing with `Slice(All(), A(0), …)`: strided views that share data, no copy." @@ -78,7 +81,16 @@ disableKinds = ['taxonomy', 'term', 'rss', 'sitemap', '404'] what = "`Concatenate`, `Stack` and the shape operations NumPy users reach for." [[params.families]] name = "Linear algebra" - what = "`MatMul` and `Dot` through a panel-packed, cache-blocked GEMM with a go-asmgen SIMD micro-kernel per architecture." + what = "`MatMul` and `Dot` through a panel-packed, cache-blocked GEMM with a go-asmgen SIMD micro-kernel per architecture; package `linalg` is `numpy.linalg` (`Solve`, `Inv`, `Det`, `QR`, `SVD`, `Eig`, `Lstsq`, …), checked against numpy 2.5.3 on 1,040 cases." +[[params.families]] + name = "Fourier transforms" + what = "Package `fft` is `numpy.fft` on arrays: `FFT`, `RFFT`, `FFT2`, `FFTN` and the rest, with `n`/`s`, `axes` and `norm`, over go-fft." +[[params.families]] + name = "Random numbers" + what = "Package `random` is `numpy.random` with NumPy's numbers for the same seed: PCG64, MT19937, Philox, SFC64, 40 samplers, and the legacy `RandomState`." +[[params.families]] + name = "Notebooks and storage" + what = "`Repr` prints like NumPy, `Display` gives a notebook text and HTML, and `MarshalBinary` writes the same bytes on every architecture." [[params.families]] name = "Workspace" what = "An arena for loops: `Use`, `Reset`, `Detach` — results stop costing the garbage collector from one pass to the next." diff --git a/layouts/index.html b/layouts/index.html index 1e5ed0b..6cdff07 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -18,8 +18,8 @@
-

NumPy-style n-dimensional arrays in pure Go.
float64, multicore + SIMD.

-

go-ndarray is the numpy equivalent for Go: a float64 n-dimensional array with creation routines, strided views that share data, broadcasting elementwise ops and ufuncs, reductions (incl. arg / cumulative / clip / where), manipulation, and linear algebra (a panel-packed, cache-blocked GEMM) — all in pure Go, with cgo disabled.

+

NumPy-style n-dimensional arrays in pure Go.
13 dtypes, multicore + SIMD.

+

go-ndarray is the numpy equivalent for Go: an n-dimensional array in 13 dtypes with creation routines, strided views that share data, broadcasting elementwise ops and ufuncs, reductions (incl. arg / cumulative / clip / where), manipulation, linear algebra (a panel-packed, cache-blocked GEMM, and numpy.linalg), numpy.fft and numpy.random — all in pure Go, with cgo disabled.