simd

package
v0.28.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package simd provides vectorized kernels for hot columnar loops, each with a portable pure-Go fallback selected at build time by architecture and, on amd64, at runtime by CPU feature. The assembly is generated by avo (internal/cmd/gensimd) and committed (*_amd64.s); the pure-Go path is the reference the assembly is fuzzed against, so results are bit-identical on every platform.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MinMaxFloat64 added in v0.10.0

func MinMaxFloat64(s []float64) (mn, mx float64)

MinMaxFloat64 returns the minimum and maximum of s, ignoring NaN. An empty or all-NaN slice returns (+Inf, -Inf) — i.e. min > max — the sentinel a caller reads as "no real values". On a CPU with AVX2 and a slice long enough to amortize the dispatch it uses the vector kernel, else the portable reference; both return identical results.

func MinMaxInt64

func MinMaxInt64(s []int64) (mn, mx int64)

MinMaxInt64 returns the minimum and maximum of s (and 0, 0 for an empty slice). On a CPU with AVX2 and a slice long enough to amortize the dispatch it uses the vector kernel, else the portable reference; both return identical results.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL