lightweight-simd 0.1.1

Lightweight generic fixed-array vector types relying on compiler auto-vectorization
Documentation
# Most or all contents generated by AI (model glm-5.3)
#
# Unit, integration, and doc tests. The OS axis is deliberate: ubuntu
# (x86-64, no target flags) takes the separated mul+add cfg branch of
# docs/adr/0005, macos (aarch64, hardware FMA) the fused MulAdd branch,
# and --features use_libm_fma the libm branch on ubuntu — together the
# matrix exercises every cfg arm.
name: tests

on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

concurrency:
  group: tests-${{ github.ref }}
  cancel-in-progress: true

jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest]
        flags: ["", "--all-features", "--features use_libm_fma"]
    runs-on: ${{ matrix.os }}
    timeout-minutes: 20
    steps:
      - uses: actions/checkout@v5

      - uses: dtolnay/rust-toolchain@nightly

      - name: cargo test
        run: cargo test ${{ matrix.flags }}

  msrv:
    # Build on the exact minimum from Cargo.toml `rust-version`: the MSRV
    # claim is only as good as its CI leg. `+1.82.0` pins each invocation
    # explicitly because rust-toolchain.toml would otherwise route every
    # cargo call to the repo's pinned nightly.
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
      - uses: actions/checkout@v5

      - uses: dtolnay/rust-toolchain@1.82.0

      - name: cargo +1.82.0 test --all-features
        run: cargo +1.82.0 test --all-features