From 0d15f45f7a2580626126f39843dfc8cbd7bf8126 Mon Sep 17 00:00:00 2001 From: Adam Getchell Date: Mon, 26 Oct 2026 20:54:37 -0700 Subject: [PATCH] perf(bench): focus release benchmark acquisition - Separate full public la-stack coverage from the 16 local peer LU-and-solve cases, and omit peer timings from hosted release acquisition. - Cover construction, storage, angles, Gram matrices, interval filters, certified linear forms, and exact conversions with dedicated native cases. - Keep retained LU publication retryable, preserve historical evidence, and expose case budgets and elapsed runtime without reducing sampling. - Validate with just ci and all 1,270 selected native smoke checks. Refs #301 --- .github/workflows/release-benchmarks.yml | 34 +- Cargo.toml | 5 + benches/exact.rs | 6 + benches/public_api.rs | 301 ++ docs/BENCHMARKING.md | 203 +- docs/RELEASING.md | 8 +- docs/code_organization.md | 16 +- justfile | 12 +- .../tooling/test_justfile_discoverability.py | 34 +- tests/tooling/test_performance_workflow.py | 71 +- tests/tooling/test_release_baseline.py | 48 +- tooling/README.md | 17 +- tooling/criterion-inventory.toml | 1263 +++++-- tooling/criterion-saved.toml | 2500 +++++++++++--- tooling/measurements/full.toml | 2960 ++++++++++++----- tooling/performance-policy.toml | 1261 +++++++ tooling/performance.just | 44 +- .../retained/det_from_lu-mean-linear.toml | 37 - .../plots/retained/det_from_lu-mean-log.toml | 37 - .../retained/det_from_lu-median-linear.toml | 37 - .../retained/det_from_lu-median-log.toml | 37 - .../retained/det_via_lu-mean-linear.toml | 37 - .../plots/retained/det_via_lu-mean-log.toml | 37 - .../retained/det_via_lu-median-linear.toml | 37 - .../plots/retained/det_via_lu-median-log.toml | 37 - tooling/plots/retained/dot-mean-linear.toml | 37 - tooling/plots/retained/dot-mean-log.toml | 37 - tooling/plots/retained/dot-median-linear.toml | 37 - tooling/plots/retained/dot-median-log.toml | 37 - .../plots/retained/inf_norm-mean-linear.toml | 37 - tooling/plots/retained/inf_norm-mean-log.toml | 37 - .../retained/inf_norm-median-linear.toml | 37 - .../plots/retained/inf_norm-median-log.toml | 37 - tooling/plots/retained/lu-mean-linear.toml | 37 - tooling/plots/retained/lu-mean-log.toml | 37 - tooling/plots/retained/lu-median-linear.toml | 37 - tooling/plots/retained/lu-median-log.toml | 37 - .../plots/retained/norm2_sq-mean-linear.toml | 37 - tooling/plots/retained/norm2_sq-mean-log.toml | 37 - .../retained/norm2_sq-median-linear.toml | 37 - .../plots/retained/norm2_sq-median-log.toml | 37 - .../retained/solve_from_lu-mean-linear.toml | 37 - .../retained/solve_from_lu-mean-log.toml | 37 - .../retained/solve_from_lu-median-linear.toml | 37 - .../retained/solve_from_lu-median-log.toml | 37 - .../scratch/det_from_lu-mean-linear.toml | 38 - .../plots/scratch/det_from_lu-mean-log.toml | 38 - .../scratch/det_from_lu-median-linear.toml | 38 - .../plots/scratch/det_from_lu-median-log.toml | 38 - .../plots/scratch/det_via_lu-mean-linear.toml | 38 - .../plots/scratch/det_via_lu-mean-log.toml | 38 - .../scratch/det_via_lu-median-linear.toml | 38 - .../plots/scratch/det_via_lu-median-log.toml | 38 - tooling/plots/scratch/dot-mean-linear.toml | 38 - tooling/plots/scratch/dot-mean-log.toml | 38 - tooling/plots/scratch/dot-median-linear.toml | 38 - tooling/plots/scratch/dot-median-log.toml | 38 - .../plots/scratch/inf_norm-mean-linear.toml | 38 - tooling/plots/scratch/inf_norm-mean-log.toml | 38 - .../plots/scratch/inf_norm-median-linear.toml | 38 - .../plots/scratch/inf_norm-median-log.toml | 38 - tooling/plots/scratch/lu-mean-linear.toml | 38 - tooling/plots/scratch/lu-mean-log.toml | 38 - tooling/plots/scratch/lu-median-linear.toml | 38 - tooling/plots/scratch/lu-median-log.toml | 38 - .../plots/scratch/norm2_sq-mean-linear.toml | 38 - tooling/plots/scratch/norm2_sq-mean-log.toml | 38 - .../plots/scratch/norm2_sq-median-linear.toml | 38 - .../plots/scratch/norm2_sq-median-log.toml | 38 - .../scratch/solve_from_lu-mean-linear.toml | 38 - .../plots/scratch/solve_from_lu-mean-log.toml | 38 - .../scratch/solve_from_lu-median-linear.toml | 38 - .../scratch/solve_from_lu-median-log.toml | 38 - 73 files changed, 7131 insertions(+), 3752 deletions(-) create mode 100644 benches/public_api.rs delete mode 100644 tooling/plots/retained/det_from_lu-mean-linear.toml delete mode 100644 tooling/plots/retained/det_from_lu-mean-log.toml delete mode 100644 tooling/plots/retained/det_from_lu-median-linear.toml delete mode 100644 tooling/plots/retained/det_from_lu-median-log.toml delete mode 100644 tooling/plots/retained/det_via_lu-mean-linear.toml delete mode 100644 tooling/plots/retained/det_via_lu-mean-log.toml delete mode 100644 tooling/plots/retained/det_via_lu-median-linear.toml delete mode 100644 tooling/plots/retained/det_via_lu-median-log.toml delete mode 100644 tooling/plots/retained/dot-mean-linear.toml delete mode 100644 tooling/plots/retained/dot-mean-log.toml delete mode 100644 tooling/plots/retained/dot-median-linear.toml delete mode 100644 tooling/plots/retained/dot-median-log.toml delete mode 100644 tooling/plots/retained/inf_norm-mean-linear.toml delete mode 100644 tooling/plots/retained/inf_norm-mean-log.toml delete mode 100644 tooling/plots/retained/inf_norm-median-linear.toml delete mode 100644 tooling/plots/retained/inf_norm-median-log.toml delete mode 100644 tooling/plots/retained/lu-mean-linear.toml delete mode 100644 tooling/plots/retained/lu-mean-log.toml delete mode 100644 tooling/plots/retained/lu-median-linear.toml delete mode 100644 tooling/plots/retained/lu-median-log.toml delete mode 100644 tooling/plots/retained/norm2_sq-mean-linear.toml delete mode 100644 tooling/plots/retained/norm2_sq-mean-log.toml delete mode 100644 tooling/plots/retained/norm2_sq-median-linear.toml delete mode 100644 tooling/plots/retained/norm2_sq-median-log.toml delete mode 100644 tooling/plots/retained/solve_from_lu-mean-linear.toml delete mode 100644 tooling/plots/retained/solve_from_lu-mean-log.toml delete mode 100644 tooling/plots/retained/solve_from_lu-median-linear.toml delete mode 100644 tooling/plots/retained/solve_from_lu-median-log.toml delete mode 100644 tooling/plots/scratch/det_from_lu-mean-linear.toml delete mode 100644 tooling/plots/scratch/det_from_lu-mean-log.toml delete mode 100644 tooling/plots/scratch/det_from_lu-median-linear.toml delete mode 100644 tooling/plots/scratch/det_from_lu-median-log.toml delete mode 100644 tooling/plots/scratch/det_via_lu-mean-linear.toml delete mode 100644 tooling/plots/scratch/det_via_lu-mean-log.toml delete mode 100644 tooling/plots/scratch/det_via_lu-median-linear.toml delete mode 100644 tooling/plots/scratch/det_via_lu-median-log.toml delete mode 100644 tooling/plots/scratch/dot-mean-linear.toml delete mode 100644 tooling/plots/scratch/dot-mean-log.toml delete mode 100644 tooling/plots/scratch/dot-median-linear.toml delete mode 100644 tooling/plots/scratch/dot-median-log.toml delete mode 100644 tooling/plots/scratch/inf_norm-mean-linear.toml delete mode 100644 tooling/plots/scratch/inf_norm-mean-log.toml delete mode 100644 tooling/plots/scratch/inf_norm-median-linear.toml delete mode 100644 tooling/plots/scratch/inf_norm-median-log.toml delete mode 100644 tooling/plots/scratch/lu-mean-linear.toml delete mode 100644 tooling/plots/scratch/lu-mean-log.toml delete mode 100644 tooling/plots/scratch/lu-median-linear.toml delete mode 100644 tooling/plots/scratch/lu-median-log.toml delete mode 100644 tooling/plots/scratch/norm2_sq-mean-linear.toml delete mode 100644 tooling/plots/scratch/norm2_sq-mean-log.toml delete mode 100644 tooling/plots/scratch/norm2_sq-median-linear.toml delete mode 100644 tooling/plots/scratch/norm2_sq-median-log.toml delete mode 100644 tooling/plots/scratch/solve_from_lu-mean-linear.toml delete mode 100644 tooling/plots/scratch/solve_from_lu-mean-log.toml delete mode 100644 tooling/plots/scratch/solve_from_lu-median-linear.toml delete mode 100644 tooling/plots/scratch/solve_from_lu-median-log.toml diff --git a/.github/workflows/release-benchmarks.yml b/.github/workflows/release-benchmarks.yml index 3b77176..1517c73 100644 --- a/.github/workflows/release-benchmarks.yml +++ b/.github/workflows/release-benchmarks.yml @@ -62,7 +62,7 @@ jobs: release-baseline: needs: validate-release runs-on: ubuntu-latest - # 2 min checkout + 90 min shared setup + 150 min comparative + 90 min exact + # 2 min checkout + 60 min shared setup + 140 min default + 130 min exact # + 18 min for the tail and runner overhead; below the hosted 360 min limit. timeout-minutes: 350 env: @@ -82,30 +82,30 @@ jobs: - name: Prepare release benchmarks # One parent timeout bounds all nested installs, validation, and inventory. - timeout-minutes: 90 + timeout-minutes: 60 uses: ./.github/actions/prepare-release-benchmarks # zizmor: ignore[self-repository] actionlint 1.7.12 does not accept $/... with: validated-attempt: ${{ needs.validate-release.outputs.validated-attempt }} - - name: Save comparative Criterion baseline + - name: Save default-feature Criterion baseline id: comparative - timeout-minutes: 150 + timeout-minutes: 140 run: | set -euo pipefail - echo "[release-baseline] vs_linalg started $(date -u +%FT%TZ); budget 150 min" - date +%s > target/vs_linalg-started - just bench-save-baseline "$RELEASE_TAG" vs_linalg - date +%s > target/vs_linalg-finished + echo "[release-baseline] public-default started $(date -u +%FT%TZ); budget 140 min" + date +%s > target/public-default-started + just bench-save-baseline "$RELEASE_TAG" public-default + date +%s > target/public-default-finished - name: Save exact Criterion baseline id: exact - timeout-minutes: 90 + timeout-minutes: 130 run: | set -euo pipefail - echo "[release-baseline] exact started $(date -u +%FT%TZ); budget 90 min" - date +%s > target/exact-started - just bench-save-baseline "$RELEASE_TAG" exact - date +%s > target/exact-finished + echo "[release-baseline] public-exact started $(date -u +%FT%TZ); budget 130 min" + date +%s > target/public-exact-started + just bench-save-baseline "$RELEASE_TAG" public-exact + date +%s > target/public-exact-finished - name: Validate complete release dataset run: just bench-release-check "$RELEASE_TAG" @@ -141,7 +141,7 @@ jobs: echo "" echo "| Suite | Outcome | Elapsed seconds | Budget minutes |" echo "| --- | --- | --- | --- |" - for suite in vs_linalg exact; do + for suite in public-default public-exact; do elapsed="not started" if [[ -f "target/$suite-started" ]]; then end="$(date +%s)" @@ -151,10 +151,10 @@ jobs: elapsed="$((end - $(cat "target/$suite-started")))" fi outcome="$COMPARATIVE_OUTCOME" - budget=150 - if [[ "$suite" == exact ]]; then + budget=140 + if [[ "$suite" == public-exact ]]; then outcome="$EXACT_OUTCOME" - budget=90 + budget=130 fi echo "| $suite | $outcome | $elapsed | $budget |" done diff --git a/Cargo.toml b/Cargo.toml index fdd839d..188d0e3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,6 +71,11 @@ required-features = [ "exact" ] name = "rational_input_5x5" required-features = [ "exact" ] +[[bench]] +name = "public_api" +harness = false +required-features = [ "bench" ] + [[bench]] name = "angle" harness = false diff --git a/benches/exact.rs b/benches/exact.rs index dd710bc..8ae3b4f 100644 --- a/benches/exact.rs +++ b/benches/exact.rs @@ -383,6 +383,12 @@ fn bench_canonical_conversion(c: &mut Criterion) { group.bench_function("rounded_result", |b| { b.iter(|| black_box(black_box(&input).to_rounded_f64())); }); + group.bench_function("strict_array", |b| { + b.iter(|| black_box(black_box(input.as_array()).try_to_f64())); + }); + group.bench_function("rounded_array", |b| { + b.iter(|| black_box(black_box(input.as_array()).to_rounded_f64())); + }); group.finish(); } } diff --git a/benches/public_api.rs b/benches/public_api.rs new file mode 100644 index 0000000..b4c24e8 --- /dev/null +++ b/benches/public_api.rs @@ -0,0 +1,301 @@ +#![forbid(unsafe_code)] + +//! Public construction, access, mutation and symmetry contracts outside kernels. + +use std::hint::black_box; + +use criterion::measurement::WallTime; +use criterion::{BenchmarkGroup, Criterion}; +use la_stack::{Interval, IntervalMatrix, Matrix, Tolerance, Vector}; + +#[path = "common/bench_utils.rs"] +mod bench_utils; +use bench_utils::OrAbort; + +fn register(c: &mut Criterion) { + let matrix = Matrix::::identity(); + let rows = *matrix.as_rows(); + let vector = Vector::::try_new([1.0; D]).or_abort("public vector fixture"); + let tolerance = Tolerance::try_new(0.0).or_abort("public tolerance fixture"); + assert_eq!(matrix.det().or_abort("identity determinant"), 1.0); + assert!(matrix.is_symmetric(tolerance).or_abort("identity symmetry")); + assert_eq!( + matrix + .first_asymmetry(tolerance) + .or_abort("identity asymmetry"), + None + ); + + let mut group = c.benchmark_group(format!("public_d{D}")); + macro_rules! bench { + ($name:literal, $expression:expr) => { + group.bench_function($name, |b| b.iter(|| black_box($expression))); + }; + } + bench!( + "matrix_from_rows", + Matrix::try_from_rows(black_box(rows)).or_abort("matrix construction") + ); + bench!("matrix_zero", Matrix::::zero()); + bench!("matrix_identity", Matrix::::identity()); + bench!( + "det_direct", + black_box(&matrix) + .det_direct() + .or_abort("direct determinant") + ); + bench!( + "det_bound", + black_box(&matrix) + .det_errbound() + .or_abort("determinant bound") + ); + bench!("det_with_bound", { + black_box(&matrix) + .det_direct_with_errbound() + .or_abort("bounded determinant") + .map(|value| (value.determinant(), value.absolute_error_bound())) + }); + bench!( + "matrix_access", + ( + black_box(&matrix).get(0, 0), + black_box(&matrix).try_get(0, 0), + black_box(&matrix).as_rows(), + black_box(matrix).into_rows() + ) + ); + bench!("matrix_set", { + let mut value = black_box(matrix); + value.set(0, 0, black_box(2.0)).or_abort("matrix mutation"); + value + }); + bench!( + "is_symmetric", + black_box(&matrix) + .is_symmetric(black_box(tolerance)) + .or_abort("symmetry") + ); + bench!( + "first_asymmetry", + black_box(&matrix) + .first_asymmetry(black_box(tolerance)) + .or_abort("asymmetry") + ); + bench!( + "vector_new", + Vector::try_new(black_box([1.0; D])).or_abort("vector construction") + ); + bench!("vector_zero", Vector::::zero()); + bench!( + "vector_access", + ( + black_box(&vector).as_array(), + black_box(vector).into_array() + ) + ); + register_intervals::(&mut group, &matrix); + group.finish(); +} + +fn register_intervals( + group: &mut BenchmarkGroup<'_, WallTime>, + matrix: &Matrix, +) { + let rows = *matrix.as_rows(); + let interval = Interval::point(1.0).or_abort("public interval fixture"); + let intervals = IntervalMatrix::from_matrix(matrix); + assert!( + intervals + .det() + .or_abort("identity interval determinant") + .contains(1.0) + ); + macro_rules! bench { + ($name:literal, $expression:expr) => { + group.bench_function($name, |b| b.iter(|| black_box($expression))); + }; + } + bench!( + "interval_matrix_from_rows", + IntervalMatrix::from_rows(black_box(*intervals.as_rows())) + ); + bench!( + "interval_matrix_from_points", + IntervalMatrix::try_from_point_rows(black_box(rows)) + .or_abort("interval matrix construction") + ); + bench!( + "interval_matrix_from_matrix", + IntervalMatrix::from_matrix(black_box(matrix)) + ); + bench!("interval_matrix_zero", IntervalMatrix::::zero()); + bench!("interval_matrix_identity", IntervalMatrix::::identity()); + bench!( + "interval_matrix_access", + ( + black_box(&intervals).get(0, 0), + black_box(&intervals).try_get(0, 0), + black_box(&intervals).as_rows(), + black_box(intervals).into_rows() + ) + ); + bench!("interval_matrix_set", { + let mut value = black_box(intervals); + value + .set(0, 0, black_box(interval)) + .or_abort("interval matrix mutation"); + value + }); + bench!( + "interval_det", + black_box(&intervals).det().or_abort("interval determinant") + ); +} + +fn register_scalars(c: &mut Criterion) { + let interval = Interval::point(1.0).or_abort("public scalar fixture"); + let mut group = c.benchmark_group("public_scalar"); + macro_rules! bench { + ($name:literal, $expression:expr) => { + group.bench_function($name, |b| b.iter(|| black_box($expression))); + }; + } + bench!( + "tolerance", + Tolerance::try_new(black_box(0.0)) + .or_abort("tolerance parsing") + .get() + ); + bench!( + "interval_new", + Interval::try_new(black_box(-1.0), black_box(1.0)).or_abort("interval construction") + ); + bench!( + "interval_point", + Interval::point(black_box(1.0)).or_abort("interval point") + ); + bench!( + "interval_subtraction", + Interval::try_from_subtraction(black_box(1.0), black_box(0.5)) + .or_abort("interval subtraction") + ); + bench!( + "interval_access", + ( + black_box(interval).lower(), + black_box(interval).upper(), + black_box(interval).contains(black_box(1.0)) + ) + ); + bench!("interval_negate", black_box(&interval).negate()); + group.finish(); +} + +#[cfg(feature = "exact")] +fn register_exact(c: &mut Criterion) { + use la_stack::{BigRational, RationalMatrix, RationalVector}; + let entry = BigRational::from_integer(1.into()); + let matrix = RationalMatrix::::try_from_fn(|i, j| { + BigRational::from_integer(i32::from(i == j).into()) + }) + .or_abort("rational matrix fixture"); + let vector = + RationalVector::::try_from_fn(|_| entry.clone()).or_abort("rational vector fixture"); + assert_eq!(matrix.det(), entry); + assert_eq!( + matrix.solve(&vector).or_abort("rational identity solve"), + vector + ); + let mut group = c.benchmark_group(format!("public_exact_d{D}")); + group.bench_function("matrix_from_rows", |b| { + b.iter(|| { + RationalMatrix::try_from_rows(black_box(matrix.as_rows().clone())) + .or_abort("rational rows") + }); + }); + group.bench_function("matrix_from_fn", |b| { + b.iter(|| { + RationalMatrix::::try_from_fn(|i, j| { + black_box(&matrix) + .get(i, j) + .or_abort("rational entry") + .clone() + }) + .or_abort("rational function") + }); + }); + group.bench_function("matrix_zero", |b| b.iter(RationalMatrix::::zero)); + group.bench_function("matrix_access", |b| { + b.iter(|| black_box((black_box(&matrix).as_rows(), black_box(&matrix).get(0, 0)))); + }); + group.bench_function("matrix_into_rows", |b| { + b.iter(|| black_box(matrix.clone()).into_rows()); + }); + group.bench_function("vector_new", |b| { + b.iter(|| { + RationalVector::try_new(black_box(vector.as_array().clone())) + .or_abort("rational vector") + }); + }); + group.bench_function("vector_from_fn", |b| { + b.iter(|| { + RationalVector::::try_from_fn(|i| { + black_box(&vector) + .get(i) + .or_abort("rational vector entry") + .clone() + }) + .or_abort("rational vector function") + }); + }); + group.bench_function("vector_zero", |b| b.iter(RationalVector::::zero)); + group.bench_function("vector_access", |b| { + b.iter(|| black_box((black_box(&vector).as_array(), black_box(&vector).get(0)))); + }); + group.bench_function("vector_into_array", |b| { + b.iter(|| black_box(vector.clone()).into_array()); + }); + group.finish(); +} + +#[cfg(feature = "exact")] +fn register_scalar(c: &mut Criterion) { + use la_stack::{BigRational, ExactF64Conversion}; + let scalar = BigRational::new(1.into(), 2.into()); + assert_eq!(scalar.try_to_f64().or_abort("exact scalar fixture"), 0.5); + assert_eq!( + scalar.to_rounded_f64().or_abort("rounded scalar fixture"), + 0.5 + ); + let mut group = c.benchmark_group("public_exact_scalar"); + group.bench_function("strict", |b| { + b.iter(|| black_box(&scalar).try_to_f64().or_abort("strict scalar")); + }); + group.bench_function("rounded", |b| { + b.iter(|| { + black_box(&scalar) + .to_rounded_f64() + .or_abort("rounded scalar") + }); + }); + group.finish(); +} + +fn main() { + let mut c = Criterion::default().configure_from_args(); + register_scalars(&mut c); + register::<2>(&mut c); + register::<3>(&mut c); + register::<4>(&mut c); + register::<5>(&mut c); + #[cfg(feature = "exact")] + { + register_scalar(&mut c); + register_exact::<2>(&mut c); + register_exact::<3>(&mut c); + register_exact::<4>(&mut c); + register_exact::<5>(&mut c); + } + c.final_summary(); +} diff --git a/docs/BENCHMARKING.md b/docs/BENCHMARKING.md index d33f18d..cd256c0 100644 --- a/docs/BENCHMARKING.md +++ b/docs/BENCHMARKING.md @@ -8,6 +8,7 @@ the commands measure and where their outputs go. - [Start Here](#start-here) - [Benchmark Suites](#benchmark-suites) + - [Release acquisition policy](#release-acquisition-policy) - [Common Workflows](#common-workflows) - [Compare Current Code With The Latest Release](#compare-current-code-with-the-latest-release) - [Compare Current Code With A Specific Release](#compare-current-code-with-a-specific-release) @@ -59,7 +60,75 @@ evidence being validated. ## Benchmark Suites -`la-stack` has seven Criterion benchmark suites. +`la-stack` has eight Criterion benchmark targets. Routine release acquisition +selects public workloads from these targets; unfiltered targets remain available +for diagnostics. + +### Release acquisition policy + +The #301 policy `public-release-and-lu-peers-v1` applies to new measurements. +The full la-stack selection has 646 default-feature and 608 exact-feature cases. +Local `performance-release`, `performance-local`, and full `performance-measure` +measure these same 1,254 cases at both revisions under one captured harness. +Only the baseline phase also measures the 16 native nalgebra/faer LU +factorization-plus-one-solve cases at D=2, 3, 4, 5, 8, 16, 32, and 64. +The matching eight current la-stack timings already belong to the full suite. +Peers and la-stack originate in one local acquisition environment; +hosted results never supply the denominator of a local peer ratio. + +Hosted release acquisition and the default `bench-save-baseline` measure only +la-stack. Discovery, saved-byte verification, and local measurement declarations +have separate completeness requirements. `tooling/performance-policy.toml` +contains the independent required case catalog; native `--list` discovery +retains the observed inventory and rejects missing required cases. +The installed engine rejects duplicate semantic IDs and incomplete raw samples. + +| Public operation family | Measurement owner and feature configuration | +| --- | --- | +| Angles: vector, checked slice, construction followed by angle | `angle`, default, vetted dense/sparse/endpoint fixtures at D=3–6; excludes the control kernel | +| Certified dot products, affine differences, certificate endpoints | `linear_form`, default, prepared and projection-batch regimes at D=2–6 | +| Construction, storage access, mutation, symmetry and tolerances | `public_api`, default, D=2–5; accessor rows combine trivial queries; mutations reset a local copy | +| Exact determinant/sign/solve and strict/rounded binary64 APIs | `exact`, exact, fixed/corpus/adversarial inputs at D=2–5 | +| Exact scalar, array and canonical-vector conversions | `public_api` scalar and `exact` conversions, exact, D=2–5 where applicable, with strict rejection and range boundaries | +| Gram construction | `gram`, default, square and embedded inputs through coordinate dimension 8; excludes hand-written controls | +| Interval arithmetic, assembly, determinant and sign | `interval` and `public_api`, default; scalar edge regimes, storage at D=2–5, sign filters at D=3–7 | +| LU/LDLT, factorization-inclusive and prepared solves/determinants, norms and dot products | `vs_linalg` la-stack rows, default, D=2–64, with norm scenarios and D=8 stress inputs | +| Direct determinant, error bound and paired result access | `public_api`, default, D=2–5; `exact` retains its existing exact-feature baseline rows | +| Rational construction, storage, mutation, determinant/sign/solve and dispatch | `public_api`, `exact`, `rational_solve`, exact; small/wide inputs and structured dyadic/non-dyadic systems through D=8 | + +Default implementations share their constructor's workload. Error factories, +formatting, enum queries, indexing/dispatch macros and re-exported third-party +traits are covered by correctness tests or their containing public workflow, +rather than separate timing rows. Rational ownership-transfer rows include +cloning a fresh owned input. Fixture generation and independent oracles remain +outside timing. This map covers public API workflows, rather than every possible +parameter combination. + +Broad peer operations, Gaussian and hand-written reference timings, determinant +implementation diagnostics and exponent-spread studies remain opt-in. Use +`bench-vs-linalg`, `bench-exact`, or the non-exact diagnostic workflow explicitly. +Neither routine release path acquires them. The README retains its existing +eight-dimension LU graph; no additional performance page or graph is produced. + +The local driver prints the case count and nominal timing budget before samples +are acquired. The current plan has 2,524 measurements and a nominal 336.5-minute +warmup-plus-measurement budget, before compilation, gates, and analysis. +`performance-release` records measurement-and-promotion elapsed seconds and exit +status in ignored `target/bench-reports/full/runtime.txt`, including failures. +The timer starts after Just's prerequisite checks. Use `time just performance-release` +to include those checks in an end-to-end command measurement. Keep these records and +the terminal log with the exact command, revisions, toolchain, dependencies and +host when comparing actual before/after runtime. The former 1,422-case run had +a nominal 189.6-minute budget; that calculation supplies no observed elapsed +time. Expanded public coverage means removing peers alone establishes no overall +speedup. No new end-to-end acquisition has been timed for #301. + +**`public_api`** (`benches/public_api.rs`) owns construction, access, mutation, +symmetry, direct determinant certificates, interval determinant queries, and +exact scalar conversion workloads missing from the kernel suites. The release +selection measures its default rows once and its `public_exact_*` rows once +with `exact`; it never repeats default rows in the exact phase. Dimensionless +interval and tolerance operations have one shared scalar owner. **`angle`** (`benches/angle.rs`) measures unsigned angles in ambient dimensions 3–6 using dense, nearly parallel, nearly antipodal, mixed-scale, and subnormal @@ -74,7 +143,7 @@ Its timings describe kernel cost only. Prepared `Vector::angle`, checked slices through `VectorAngle::angle`, and construction followed by the method have separate rows so validation and adapter costs remain visible. Every row uses `iter` with borrowed, preconstructed inputs; only `construct_then_angle` includes -construction. This focused signal is outside the release-report schema. +construction. Release acquisition includes the three public API rows. Complete-run reports use a table for each statistic, with columns for the selected series. Benchmark identifiers retain the suite, dimension, and input @@ -123,15 +192,14 @@ The non-dyadic `permuted_upper` family and row-permuted Hilbert control reproduce #246. The dyadic dense control is a row permutation of a strictly diagonally dominant matrix; the sparse control is tridiagonal. `tests/exact_bench_config.rs` validates every family through D=8 (including -empty and scalar cases). This focused suite stays outside the release-report -schema. +empty and scalar cases). Release acquisition includes construction, prepared solves and the public +adapter; the legacy Gaussian reference remains a diagnostic. **`gram`** (`benches/gram.rs`) compares `gram_matrix` with checked hand-written assembly for square and embedded vector sets with coordinate dimensions 2-8. The orthogonal, dependent, near-dependent, and mixed-scale fixtures are checked against an independent integer matrix-product oracle before timing. Run it with -`cargo bench --locked --features bench --bench gram`. This focused construction -signal is not part of the release-to-release report schema. +`cargo bench --locked --features bench --bench gram`. Release acquisition includes the public `gram_matrix` row. **`interval`** (`benches/interval.rs`) measures the default-feature, division-free interval determinant sign filter. It separates scalar addition, @@ -140,8 +208,7 @@ evaluation. Matrices cover 3×3 through 7×7, with sparse lifted, dense conclusi and dense inconclusive inputs. Scalar cases include exact values, cancellation, zero, and underflow. Only explicitly named assembly measurements include matrix construction; expected-result validation stays outside timing. -This suite is a focused kernel signal; it is not part of the -release-to-release `vs_linalg` or `exact` report schema. +Release acquisition includes these public interval operations. **`linear_form`** (`benches/linear_form.rs`) measures the default-feature certified dot-product and affine-difference filters through D=2–6. Prepared @@ -152,8 +219,7 @@ Repeated projection batches reuse a common vertex at the origin and after an exact translation, with separate construction-only, prepared, and construction-inclusive measurements. The original D=4 plain-dot control remains. Fixture expectations are validated outside the timed closures. -This focused kernel signal is not part of the -release-to-release report schema. +Release acquisition includes these public certified reduction operations. ## Common Workflows @@ -285,16 +351,16 @@ ratio direction. For plot/CSV-only output, select a named view and input source: ```bash -just plot-vs-linalg "$CURRENT_TAG" "$CURRENT_COMMIT" "$PREVIOUS_TAG" "$PREVIOUS_COMMIT" dot-mean-log retained +just plot-vs-linalg "$CURRENT_TAG" "$CURRENT_COMMIT" "$PREVIOUS_TAG" "$PREVIOUS_COMMIT" lu_solve-mean-log retained just plot-vs-linalg "$CURRENT_TAG" "$CURRENT_COMMIT" "$PREVIOUS_TAG" "$PREVIOUS_COMMIT" lu_solve-median-linear scratch just plot-vs-linalg "$CURRENT_TAG" "$CURRENT_COMMIT" "$PREVIOUS_TAG" "$PREVIOUS_COMMIT" lu_solve-median-log non-exact ``` View names combine a metric, `mean` or `median`, and `linear` or `log`. -Metrics are `det_from_lu`, `det_via_lu`, `dot`, `inf_norm`, `lu`, -`lu_solve`, `norm2_sq` and `solve_from_lu`. All 32 views have static -declarations under each of `tooling/plots/non-exact/`, -`tooling/plots/retained/` and `tooling/plots/scratch/`. Scratch views consume +Full scratch and retained evidence support the four `lu_solve` views. +The optional non-exact diagnostic supports 32 views: `det_from_lu`, +`det_via_lu`, `dot`, `inf_norm`, `lu`, `lu_solve`, `norm2_sq` and +`solve_from_lu`, declared under `tooling/plots/non-exact/`. Scratch views consume the full scratch pair; retained views work after scratch cleanup. Non-exact views consume the non-exact scratch pair and use separate `vs_linalg_non_exact_*` output paths. The old separate metric/statistic, @@ -345,6 +411,12 @@ just performance-doc Those commands deliberately select different inputs. A partial scratch pair fails `performance-promote`; it never triggers a retained-history fallback. +The completed v0.5.1/v0.5.0 run used the former broad-peer declaration. It stays +frozen under that identity and needs no rerun. Current renderers reject it as +input to the new acquisition policy; they become available for new matching +complete runs after acquisition and promotion. Removing scratch evidence never +selects or relabels a historical run automatically. + Historical reports, plots, CSV/JSON, indexes and immutable complete runs keep their original bytes and links during this migration. The existing v0.5.0/v0.4.6 comparison lacks the newer acquisition declaration and is now a @@ -552,7 +624,7 @@ random-corpus groups, and adversarial-input groups: calls using row-denominator clearing plus integer Bareiss elimination with straightforward cubic `BigRational` Gaussian determinant and solve references on identical matrices and right-hand sides \[7, 11-12\]. -- `rational_input_wide{256,1024}_d{2..8}` — diagnostic rational groups with +- `rational_input_wide{256,1024}_d{2..8}` — wide-component rational groups with large positive rational row factors. These retain exact solutions and strict diagonal dominance while exercising heap-backed numerator and denominator storage. See the [row-clearing study](archive/performance/studies/rational-row-clearing.md) @@ -566,7 +638,8 @@ used `iter_batched` and excluded input cloning; do not compare those timings directly with the current complete-operation measurements. Remeasure both revisions using the same current harness. -Two additional local diagnostic families are excluded from the release signal: +Canonical conversion is a public release workload; determinant implementation +diagnostics remain optional: - `canonical_conversion_*_d{2..5}` isolates strict and rounded conversion of already-canonical vectors. The dyadic, non-dyadic, and wide-component inputs @@ -633,10 +706,9 @@ and first failing component. These checks run outside timed Criterion closures. Any disagreement or unexpected error fails setup instead of becoming an artificially fast measurement. -The original `rational_input_d{2..8}` groups are part of the canonical exact -release signal. The wide-component -diagnostics remain local Criterion evidence and are not included in the release -report's group registry. +The `rational_input_d{2..8}` groups and their wide-component counterparts +are part of the canonical exact release signal for la-stack's public rational +APIs. Their Gaussian reference timings remain optional diagnostics. New exact comparisons require these groups, with Criterion point estimates and confidence intervals, in both baseline and current phases. Frozen historical reports may retain current-only rows with a coverage note and no cross-release @@ -665,7 +737,7 @@ or `det_exact_f64_result (vs det_exact_f64)`. Those used the historical lossy `*_exact_f64` baseline. New comparisons require matching benchmark identifiers; the pre-v0.4.3 name substitutions have been removed. -The default `release-signal` scope includes the canonical exact-arithmetic +The default `public-release-and-lu-peers-v1` scope includes canonical exact-arithmetic groups because their inputs and execution order are fixed across revisions. Historical baselines created before the `exact_random_corpus_d*` names were introduced do not have comparable full-corpus rows, so those rows appear once both sides of a @@ -704,59 +776,44 @@ benchmarking. Publication makes the attached evidence immutable. ### Hosted Release Runtime Budget -The producer runs full `vs_linalg` and `exact` suites sequentially on one -`ubuntu-latest` runner. Separate steps allow 150 and 90 minutes respectively; -the outer job allows 350 minutes. Checkout has a 2-minute timeout, followed -by a composite preparation step with one shared 90-minute timeout covering -all tool installation, input validation, and inventory. Preparation reserves -35 minutes for uncached tools, the two declared 25-minute discovery deadlines, -and 5 minutes for input validation. Exceeding either setup deadline fails the -producer before benchmarking or publication. The remaining 18 minutes provide headroom for -dataset validation, packaging, upload, diagnostics, and runner overhead. -Discovery compiles both suites before measurement and shares the preparation -deadline with the preceding work. Dependency caches remain disabled. - -The [first v0.5.0 run](https://github.com/acgetchell/la-stack/actions/runs/38998792985) -spent about 27 minutes installing uncached tools, then exhausted its old -28-minute preparation limit during inventory compilation. Neither measurement -suite started. The expanded setup budget accommodates compilation separately -from tool installation without reducing measurement time or sampling. - -The [v0.4.5 run](https://github.com/acgetchell/la-stack/actions/runs/32444040827) -measured 304 comparative benchmarks in about 55m 34s, plus 2m 9s compilation -(57m 43s total). Its exact suite was cancelled during `exact_d2/det_exact`; -that run provides no complete exact-suite runtime. The old 60-minute outer -limit therefore could not accommodate even that smaller harness. - -The comparative inventory on 2026-09-07 contained 533 cases. The current exact -suite contains 354 cases: 264 original cases plus 90 diagnostic cases retained -by the [row-scaling study](archive/performance/studies/exact-row-scaling.md). -The planning estimate uses 12 seconds per benchmark, allowing analysis/report overhead -above the configured 3-second warmup and 5-second measurement target. This is -a capacity estimate, not a measured runtime or a guaranteed upper bound; -Criterion can extend measurement for expensive iterations. - -| Suite | Benchmarks | Nominal warmup + measurement | Planning estimate | Step limit | Headroom above estimate | -| --- | --- | --- | --- | --- | --- | -| `vs_linalg` | 533 | 71.1 min | 106.6 min | 150 min | 43.4 min (41%) | -| `exact` | 354 | 47.2 min | 70.8 min | 90 min | 19.2 min (27%) | - -Both commands retain Criterion's release defaults: 100 samples, 100,000 -resamples, 95% confidence, 3-second warmup, and 5-second measurement target. -There are no quick-mode flags, sampling reductions, or benchmark filters. -Diagnostic families and all peer rows remain included. The workflow logs -the current inventory counts and planning estimates before timing; its final -summary records each suite's outcome, elapsed seconds, and budget even after -a step failure. A runner-level termination can still prevent that summary. +The producer runs default and exact public workloads sequentially on one +`ubuntu-latest` runner. The steps allow 140 and 130 minutes, within a 350-minute +job. Checkout allows 2 minutes; preparation allows 60 minutes for uncached tools, +two 10-minute discovery deadlines and independent input validation. Preparation +reserves 35 minutes for tools and 5 for the input gate. The remaining 18 minutes +cover dataset validation, packaging, upload, diagnostics and runner overhead. +Discovery compiles all selected targets before timing. Dependency caches remain +disabled; these deadlines remain capacity estimates until the new hosted policy +has completed on a runner. + +| Selection | Cases | Nominal warmup + measurement | Planning estimate at 12 s/case | Step limit | +| --- | --- | --- | --- | --- | +| `public-default` | 646 | 86.1 min | 129.2 min | 140 min | +| `public-exact` | 608 | 81.1 min | 121.6 min | 130 min | +| Hosted total | 1,254 | 167.2 min | 250.8 min | 350 min including setup and tail | +| Local total: both revisions and 16 peers | 2,524 | 336.5 min | 504.8 min | Separate per-phase deadlines | + +These estimates are not measured runtimes or upper bounds. Criterion can extend +measurement for expensive iterations. Sampling remains unchanged: 100 samples, +100,000 resamples, 95% confidence, 3-second warmup and 5-second measurement +target. Native filters select public workloads without reducing their sampling. + +The workflow logs discovered counts and budgets before timing. Its final summary +records each feature selection's outcome, elapsed seconds and budget, including +failed steps. A runner-level termination can prevent the summary. For comparable +before/after runtime evidence, retain command, source/harness identity, toolchain, +dependencies, runner/host and cache state, plus setup and acquisition elapsed +times. Do not infer a speedup from the number of removed peer rows. Historical +completed v0.5.1/v0.5.0 evidence remains unchanged and requires no rerun. `just bench-release-inventory` requires a fresh Criterion directory and obtains -the complete IDs from each compiled binary's `--list` output. It also checks -that the inventory includes the report registry and every canonical README -peer row. `just bench-release-check ` then requires every discovered ID, -valid mean/median estimates with 95% intervals, and 100 finite positive samples. -Each named baseline's four raw JSON files must match its `new` measurement. -Missing diagnostics, failed Criterion writes, stale baselines, and malformed -measurements all stop publication. Only successful validation permits packaging +IDs from each selected native binary's `--list` output. It checks the independent +la-stack catalog; hosted completeness deliberately does not require peer rows. +`just bench-release-check ` requires every discovered ID, mean/median +estimates with 95% intervals and 100 finite positive samples. Each named +baseline's four raw JSON files must match its fresh `new` measurement, including +the native sanitized storage paths. Missing public cases, failed writes, stale +baselines and malformed measurements stop publication. Only validation permits packaging the single `criterion/` archive, including the inventory manifest, and uploading the temporary Actions artifact. The separate publisher attaches that archive as `la-stack-$TAG-criterion-baseline.tar.gz` to the draft, verifies its uploaded diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 3a38715..60791c4 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -430,7 +430,8 @@ in that tag's cache scope. Dispatching from `main` or a different tag is rejecte The workflow automatically: -1. Runs the full benchmark suites for the tagged commit. +1. Runs the full public la-stack workload selection for the tagged commit; + local acquisition separately owns the README's 16 peer LU-and-solve cases. 2. Uploads the archive to the draft and verifies its name, state, size, and SHA-256 digest. 3. Leaves the draft and verified archive ready for maintainer review. @@ -530,8 +531,9 @@ shared package, and exports verified paths. The short preflight job receives `co for draft visibility; the separate asset writer receives it to attach the archive. Neither privileged benchmark job checks out or executes repository code. -The producer budgets 150 minutes for `vs_linalg` and 90 minutes for `exact` -within a 350-minute job, including a 90-minute preparation budget for uncached +The producer budgets 140 minutes for default-feature public workloads and +130 minutes for exact-feature public workloads within a 350-minute job, +including a 60-minute preparation budget for uncached tool installation, compilation, inventory and input validation. Both suites retain full release sampling. Inventory and raw-data validation must succeed before the single complete archive is diff --git a/docs/code_organization.md b/docs/code_organization.md index 8813013..bd7b5d6 100644 --- a/docs/code_organization.md +++ b/docs/code_organization.md @@ -112,6 +112,9 @@ production `tooling` adapters during pytest collection. ## Benchmarks and support tooling +`benches/public_api.rs` owns public construction, storage, mutation, symmetry, +direct determinant certificates, interval determinant and exact scalar conversion +workloads at D=2–5 where applicable. Kernel operations keep their existing owners. `benches/` contains Criterion suites for angles, exact arithmetic, Gram construction, intervals, linear forms, structured rational solves, and nalgebra/faer comparisons. Helpers under `benches/common/` own fixture and oracle validation. Exact benchmark helpers @@ -199,8 +202,8 @@ Hosted Dependabot approvals use the pinned shared GitHub workflow; the [rollout guide](dev/MANAGING_CHANGES.md#dependabot-approval-rollout) owns settings and deployment verification. -`tooling/criterion-inventory.toml` declares native full-suite list commands and -minimum scientific report/plot coverage. `tooling/criterion-saved.toml` declares +`tooling/criterion-inventory.toml` declares hosted la-stack-only list commands and +independent public API coverage. `tooling/criterion-saved.toml` declares complete saved-sample requirements. Shared discovery and saved-sample APIs own inventory parsing and exact raw-file verification. The release workflow packages only datasets that pass that gate; its regression and archive tests live in @@ -211,14 +214,17 @@ and measurements. `tooling/measurements/{full,non-exact}.toml` declares the minimum release, complete sampling, independent required cases, original baseline-phase peers, sources, harness, probes, environment and compatibility. `tooling/performance-policy.toml` remains the independent scientific catalog -used by consumer acceptance tests; runtime commands consume the shared schemas. +used by consumer acceptance tests and the local budget display. Full acquisition +adds only 16 peer LU-and-solve cases in the baseline phase; the non-exact +diagnostic retains broader peers. Runtime commands consume the shared schemas. `tooling/performance-report.toml` binds release eligibility to the full measurement declaration and owns the current report and immutable history. `tooling/performance-readme.toml` declares the canonical README view, formatter, freshness checks and tagged evidence links. Static named configurations under -`tooling/plots/{non-exact,retained,scratch}/` preserve eight metrics, mean/median and -linear/log choices with explicit input ownership. +`tooling/plots/{retained,scratch}/` preserve LU solve with mean/median and +linear/log choices. `tooling/plots/non-exact/` retains eight diagnostic metrics. +All views require explicit input ownership. `tooling/release_performance.py` temporarily captures independent release tags and commits during `performance-prepare` and supplies them to the separate diff --git a/justfile b/justfile index 11d84c4..6655d09 100644 --- a/justfile +++ b/justfile @@ -85,6 +85,7 @@ bench-compile: CARGO_BUILD_WARNINGS=deny {{ _run }} cargo bench --locked --workspace --no-run --features bench CARGO_BUILD_WARNINGS=deny {{ _run }} cargo bench --locked --no-run --features bench,exact --bench exact CARGO_BUILD_WARNINGS=deny {{ _run }} cargo bench --locked --no-run --features bench,exact --bench rational_solve + CARGO_BUILD_WARNINGS=deny {{ _run }} cargo bench --locked --no-run --features bench,exact --bench public_api # Run the exact-arithmetic benchmark suite. bench-exact: @@ -124,8 +125,10 @@ bench-save-baseline tag suite="all": suite={{ quote(suite) }} case "$suite" in all) - {{ _run }} cargo bench --locked -p la-stack-comparison --features bench --bench vs_linalg -- --noplot --save-baseline {{ quote(tag) }} - {{ _run }} cargo bench --locked --features bench,exact --bench exact -- --noplot --save-baseline {{ quote(tag) }} + {{ _run }} just --justfile tooling/performance.just --working-directory . la-stack measure {{ quote(tag) }} + ;; + public-default|public-exact) + {{ _run }} just --justfile tooling/performance.just --working-directory . "$suite" measure {{ quote(tag) }} ;; exact) {{ _run }} cargo bench --locked --features bench,exact --bench exact -- --noplot --save-baseline {{ quote(tag) }} @@ -362,6 +365,11 @@ performance-readme current_tag="" current_revision="" baseline_tag="" baseline_r # Measure, retain an immutable complete run, and promote distinct-release documentation. performance-release current_tag="" baseline_tag="": _ensure-gh python-sync + #!/usr/bin/env bash + set -euo pipefail + mkdir -p target/bench-reports/full + started=$(date +%s) + trap 'status=$?; elapsed=$(($(date +%s) - started)); printf "performance-release: %s seconds; exit %s\\n" "$elapsed" "$status" | tee target/bench-reports/full/runtime.txt' EXIT {{ _run }} uv run --locked research-repo-tools performance measure tooling/measurements/full.toml {{ quote(current_tag) }} {{ quote(baseline_tag) }} --repository acgetchell/la-stack --allow-git-mutations --payload target/bench-reports/full/run.json --manifest target/bench-reports/full/evidence.json --report target/bench-reports/full/report.md {{ _run }} uv run --locked research-repo-tools performance promote tooling/performance-report.toml --payload target/bench-reports/full/run.json --manifest target/bench-reports/full/evidence.json diff --git a/tests/tooling/test_justfile_discoverability.py b/tests/tooling/test_justfile_discoverability.py index 539b666..00d144f 100644 --- a/tests/tooling/test_justfile_discoverability.py +++ b/tests/tooling/test_justfile_discoverability.py @@ -56,34 +56,20 @@ def test_exact_benchmark_package_excludes_peer_libraries() -> None: assert "vs_linalg" in {target["name"] for target in comparison["targets"]} -def test_release_runs_each_suite_once_and_reuses_peer_measurements() -> None: +def test_saved_release_baseline_selects_only_public_workloads() -> None: baseline = dry_run(REPO_ROOT, "bench-save-baseline", ["v0.4.5", "all"]) - # Execute the real recipe's shell branching while replacing only Cargo. + # Stub the nested driver itself: a shell-local Cargo stub cannot intercept + # commands launched by the child Just process. Never acquire real samples. runner = run_just("--evaluate", "_run").stdout.strip() - script = 'cargo() { printf "%s\\n" "$*"; }\n' + baseline.stderr.replace(runner + " ", "") + script = 'just() { printf "%s\\n" "$*"; }\n' + baseline.stderr.replace(runner + " ", "") baseline_run = run_command("bash", ["--noprofile", "--norc", "-euc", script], cwd=REPO_ROOT) baseline_commands = [shlex.split(line) for line in baseline_run.stdout.splitlines()] - recipes = just_recipes() - current = recipes["bench-latest"] - assert not current["body"] - current_commands = [] - for dependency in current["dependencies"]: - recipe = recipes[dependency["recipe"]] - assert not recipe["dependencies"] - commands = dry_run(REPO_ROOT, dependency["recipe"]).stderr - current_commands.extend(shlex.split(line.removeprefix(runner + " ")) for line in commands.splitlines()) - - assert len(baseline_commands) == len(current_commands) == 2 - baseline_comparison, baseline_exact = baseline_commands - current_comparison, current_exact = current_commands - for command in (baseline_comparison, current_comparison): - assert command[command.index("-p") + 1] == "la-stack-comparison" - assert command[command.index("--bench") + 1] == "vs_linalg" - for command in (baseline_exact, current_exact): - assert "-p" not in command - assert command[command.index("--bench") + 1] == "exact" - assert baseline_comparison[baseline_comparison.index("--") + 1 :] == ["--noplot", "--save-baseline", "v0.4.5"] - assert current_comparison[current_comparison.index("--") + 1 :] == ["la_stack", "--noplot"] + assert baseline_commands == [["--justfile", "tooling/performance.just", "--working-directory", ".", "la-stack", "measure", "v0.4.5"]] + native = dry_run(REPO_ROOT, "la-stack", ["measure", "v0.4.5"], justfile=Path("tooling/performance.just")).stderr + assert native.count("cargo bench --locked") == 9 + assert native.count("args+=(--save-baseline") == 9 + assert "^d[0-9]+/la_stack_" in native + assert "(nalgebra|faer)_lu_solve$" not in native def test_ci_enforces_full_python_fixture_lint_policy() -> None: diff --git a/tests/tooling/test_performance_workflow.py b/tests/tooling/test_performance_workflow.py index a071cde..d4259f6 100644 --- a/tests/tooling/test_performance_workflow.py +++ b/tests/tooling/test_performance_workflow.py @@ -11,7 +11,7 @@ from typing import TYPE_CHECKING, cast import pytest -from research_repo_tools.common_measurement import CommonHarnessPlan, DiscoveryPolicy, measure_prepared_pair, validate_run_policy +from research_repo_tools.common_measurement import CommonHarnessPlan, DiscoveredSeries, DiscoveryPolicy, measure_prepared_pair, validate_run_policy from research_repo_tools.complete_runs import RunSeries from research_repo_tools.evidence import load_evidence, publish_evidence from research_repo_tools.just_inspect import dry_run @@ -35,7 +35,7 @@ with Path("target/gates.txt").open("a", encoding="utf-8", newline="\\n") as stream: stream.write("gate\\n") raise SystemExit(0) -ids = [name for name in IDS[phase] if (name.startswith("d") if suite == "vs_linalg" else not name.startswith("d"))] +ids = IDS[phase][suite] if action == "list": for name in ids: print(name + ": benchmark") @@ -64,11 +64,14 @@ def declaration(root: Path, view: str = "full") -> CommonHarnessPlan: return plan -def scientific_ids() -> tuple[set[str], set[str]]: +def scientific_ids(view: str = "full") -> tuple[set[str], set[str]]: """Derive expectations from the independent domain catalog, not a measured run.""" catalog = tomllib.loads((ROOT / "tooling/performance-policy.toml").read_text(encoding="utf-8")) + if view == "full": + return set(catalog["release"]["default"] + catalog["release"]["exact"]), { + f"d{dimension}/{peer}_lu_solve" for dimension in catalog["dimensions"] for peer in ("nalgebra", "faer") + } library = { - *(f"{group}/{name}" for group, names in catalog["exact"].items() for name in names), *( f"d{dimension}/{name}" for dimension in catalog["dimensions"] @@ -82,9 +85,11 @@ def scientific_ids() -> tuple[set[str], set[str]]: def synthetic_timings() -> dict[str, dict[str, dict[str, float]]]: """Distinguish every case, phase, and statistic so selection errors stay visible.""" library, peers = scientific_ids() + diagnostic_library, diagnostic_peers = scientific_ids("non-exact") return { phase: { - name: {"median": float(offset + index * 4), "mean": float(offset + index * 4 + 1)} for index, name in enumerate(sorted(library | peers), start=1) + name: {"median": float(offset + index * 4), "mean": float(offset + index * 4 + 1)} + for index, name in enumerate(sorted(library | peers | diagnostic_library | diagnostic_peers), start=1) } for phase, offset in (("current", 0), ("baseline", 10_000)) } @@ -92,9 +97,7 @@ def synthetic_timings() -> dict[str, dict[str, dict[str, float]]]: @pytest.mark.parametrize("view", ["full", "non-exact"]) def test_declared_scientific_sampling_coverage_and_original_peer_phases(view: str) -> None: - library, peers = scientific_ids() - if view == "non-exact": - library = {name for name in library if name.startswith("d")} + library, peers = scientific_ids(view) plan = declaration(ROOT, view) catalog = tomllib.loads((ROOT / "tooling/performance-policy.toml").read_text(encoding="utf-8")) assert plan.measurement.minimum_release == "v" + ".".join(str(part) for part in catalog["minimum-release"]) @@ -116,6 +119,12 @@ def test_declared_scientific_sampling_coverage_and_original_peer_phases(view: st "faer": "baseline", } for item in plan.series: + if isinstance(item, DiscoveredSeries): + assert view == "full" + assert item.name.startswith("la-stack") + expected = tuple(sorted(library | (peers if item.phase == "baseline" else set()))) + assert dict(item.resolve(expected).rows) == {name: name for name in library} + continue assert isinstance(item, RunSeries) if item.name.startswith("la-stack"): assert dict(item.rows) == {name: name for name in library} @@ -124,6 +133,7 @@ def test_declared_scientific_sampling_coverage_and_original_peer_phases(view: st f"d{dimension}/{name}": f"d{dimension}/{peer}" for dimension in catalog["dimensions"] for name, peer_names in catalog["peers"].items() + if view == "non-exact" or name == "la_stack_lu_solve" for peer in peer_names if peer.startswith(f"{item.name}_") } @@ -135,7 +145,7 @@ def test_named_views_keep_every_metric_statistic_axis_and_explicit_input_choice( catalog = tomllib.loads((ROOT / "tooling/performance-policy.toml").read_text(encoding="utf-8")) for source in ("scratch", "retained", "non-exact"): files = sorted((ROOT / "tooling/plots" / source).glob("*.toml")) - assert len(files) == len(catalog["metrics"]) * 4 + assert len(files) == (len(catalog["metrics"]) if source == "non-exact" else 1) * 4 for path in files: metric, statistic, axis = path.stem.split("-") view = tomllib.loads(path.read_text(encoding="utf-8")) @@ -189,12 +199,13 @@ def test_native_recipes_preserve_scientific_gates_and_peer_reuse() -> None: justfile = Path("tooling/performance.just") baseline = dry_run(ROOT, "baseline-all", justfile=justfile).stderr current = dry_run(ROOT, "current-all", justfile=justfile).stderr - assert baseline.count("cargo bench --locked") == current.count("cargo bench --locked") == 2 - assert "la_stack --noplot" in current - assert "la_stack --noplot" not in baseline + assert baseline.count("cargo bench --locked") == 10 + assert current.count("cargo bench --locked") == 9 + assert "(nalgebra|faer)_lu_solve$" in baseline + assert "(nalgebra|faer)_lu_solve$" not in current assert "--target" in baseline assert "--target" in current - assert dry_run(ROOT, "baseline-all", ["list"], justfile=justfile).stderr.count("--list") == 2 + assert dry_run(ROOT, "baseline-all", ["list"], justfile=justfile).stderr.count("args+=(--list)") == 10 assert "--test vs_linalg_inputs --test exact_bench_config" in dry_run(ROOT, "gate", justfile=justfile).stderr for name in ("performance-local", "performance-local-non-exact"): command = dry_run(ROOT, name).stderr @@ -209,8 +220,18 @@ def test_native_recipes_preserve_scientific_gates_and_peer_reuse() -> None: def prepared(tmp_path: Path) -> tuple[Path, Path]: """Replace only native timing/gates with a bounded fixture, retaining real policy.""" - library, peers = scientific_ids() - ids = {"baseline": sorted(library | peers), "current": sorted(library)} + _library, peers = scientific_ids() + catalog = tomllib.loads((ROOT / "tooling/performance-policy.toml").read_text(encoding="utf-8")) + diagnostic_library, diagnostic_peers = scientific_ids("non-exact") + ids = { + side: { + "public-default": sorted(catalog["release"]["default"]), + "public-exact": sorted(catalog["release"]["exact"]), + "peers": sorted(peers), + "vs_linalg": sorted(diagnostic_library | (diagnostic_peers if side == "baseline" else set())), + } + for side in ("baseline", "current") + } for phase in ("baseline", "current"): root = tmp_path / phase root.mkdir(parents=True) @@ -235,10 +256,12 @@ def prepared(tmp_path: Path) -> tuple[Path, Path]: (root / "tooling/fixture.py").write_text(f"IDS = {ids!r}\nTIMINGS = {synthetic_timings()!r}\n" + DRIVER, encoding="utf-8", newline="\n") driver = f"{shlex.quote(sys.executable)} -X utf8 tooling/fixture.py" native = 'export CRITERION_HOME := absolute_path(env("CRITERION_HOME", "target/criterion"))\n' + native += '\nbaseline-all mode="measure": (baseline-public-default mode) (baseline-public-exact mode) (baseline-peers mode)\n' + native += '\ncurrent-all mode="measure": (current-public-default mode) (current-public-exact mode)\n' for side in ("baseline", "current"): - native += f'\n{side}-all mode="measure": ({side}-vs_linalg mode) ({side}-exact mode)\n' - for suite in ("vs_linalg", "exact"): + for suite in ("public-default", "public-exact", "peers"): native += f'\n{side}-{suite} mode="measure":\n {driver} {side} {suite} {{{{mode}}}}\n' + native += f'\n{side}-vs_linalg mode="measure":\n {driver} {side} vs_linalg {{{{mode}}}}\n' native += f"\ngate:\n {driver} current all gate\n" (root / "tooling/performance.just").write_text(native, encoding="utf-8", newline="\n") for config in (root / "tooling/measurements").glob("*.toml"): @@ -435,7 +458,8 @@ def test_publication_boundaries_leave_all_outputs_unchanged(complete_run: tuple[ @pytest.mark.parametrize("phase", ["baseline", "current"]) -def test_actual_measurement_recipe_rejects_old_releases_before_git(phase: str, tmp_path: Path) -> None: +@pytest.mark.parametrize("command", ["performance-measure", "performance-release"]) +def test_actual_measurement_recipe_rejects_old_releases_before_git(phase: str, command: str, tmp_path: Path) -> None: root = tmp_path / "consumer" root.mkdir() for name in ("pyproject.toml", "uv.lock", ".python-version", "Cargo.toml", "rust-toolchain.toml"): @@ -447,11 +471,18 @@ def test_actual_measurement_recipe_rejects_old_releases_before_git(phase: str, t shutil.copyfile(source, destination) (root / "src").mkdir() (root / "src/lib.rs").write_text("// fixture\n", encoding="utf-8", newline="\n") - result = recipe(root, "performance-measure", "v0.4.6" if phase == "current" else PAIR.current, "v0.4.6" if phase == "baseline" else PAIR.baseline) + result = recipe(root, command, "v0.4.6" if phase == "current" else PAIR.current, "v0.4.6" if phase == "baseline" else PAIR.baseline) assert result.returncode != 0 assert "requires v0.5.0 or newer" in result.stderr assert not (root / ".git").exists() - assert not (root / "target").exists() + if command == "performance-release": + runtime = (root / "target/bench-reports/full/runtime.txt").read_text(encoding="utf-8") + assert runtime.startswith("performance-release: ") + assert runtime.endswith(f" seconds; exit {result.returncode}\n") + assert not (root / "target/bench-reports/full/run.json").exists() + assert not (root / "docs/performance-runs").exists() + else: + assert not (root / "target").exists() def test_legacy_bytes_hashes_are_unchanged() -> None: diff --git a/tests/tooling/test_release_baseline.py b/tests/tooling/test_release_baseline.py index 148c7c9..922400a 100644 --- a/tests/tooling/test_release_baseline.py +++ b/tests/tooling/test_release_baseline.py @@ -25,24 +25,17 @@ WORKFLOW = REPO_ROOT / ".github/workflows/release-benchmarks.yml" PREPARATION = REPO_ROOT / ".github/actions/prepare-release-benchmarks/action.yml" CATALOG = tomllib.loads((REPO_ROOT / "tooling/performance-policy.toml").read_text(encoding="utf-8")) -REQUIRED = { - *(f"{group}/{name}" for group, names in CATALOG["exact"].items() for name in names), - *( - f"d{dimension}/{name}" - for dimension in CATALOG["dimensions"] - for name in [*CATALOG["library-benchmarks"], *CATALOG["additional"].get(str(dimension), [])] - ), - *(f"d{dimension}/{peer}" for dimension in CATALOG["dimensions"] for peers in CATALOG["peers"].values() for peer in peers), -} +REQUIRED = set(CATALOG["release"]["default"] + CATALOG["release"]["exact"]) # Retain optional diagnostic additions without letting a declaration omission # remove independently required scientific cases from the archive fixture. DECLARED = set(load_discovery(REPO_ROOT, "tooling/criterion-inventory.toml").required) | set( tomllib.loads((REPO_ROOT / "tooling/criterion-saved.toml").read_text(encoding="utf-8"))["required"] ) IDS = { - "vs_linalg": sorted(name for name in REQUIRED | DECLARED if name.startswith("d")), - "exact": sorted(name for name in REQUIRED | DECLARED if not name.startswith("d")), + "public-default": sorted(set(CATALOG["release"]["default"])), + "public-exact": sorted(set(CATALOG["release"]["exact"]) | (DECLARED - REQUIRED)), } +STORAGE = tomllib.loads((REPO_ROOT / "tooling/criterion-saved.toml").read_text(encoding="utf-8"))["storage-paths"] BASELINE = "v1.2.3" RAW_FILES = ("benchmark.json", "estimates.json", "sample.json", "tukey.json") @@ -70,7 +63,7 @@ def dataset(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> tuple[Path, Path for ids in IDS.values(): for benchmark in ids: for sample in ("new", BASELINE): - directory = criterion / benchmark / sample + directory = criterion / STORAGE.get(benchmark, benchmark) / sample write_json(directory / "benchmark.json", {"full_id": benchmark}) write_json(directory / "sample.json", {"iters": [1.0] * 100, "times": [2.0] * 100}) write_json(directory / "estimates.json", {"mean": estimate, "median": estimate}) @@ -134,9 +127,9 @@ def test_complete_dataset_round_trips_through_workflow_archive(dataset: tuple[Pa for benchmark in ids: for sample in ("new", BASELINE): for filename in RAW_FILES: - member = archive.extractfile(f"criterion/{benchmark}/{sample}/{filename}") + member = archive.extractfile(f"criterion/{STORAGE.get(benchmark, benchmark)}/{sample}/{filename}") assert member is not None - assert member.read() == (criterion / benchmark / sample / filename).read_bytes() + assert member.read() == (criterion / STORAGE.get(benchmark, benchmark) / sample / filename).read_bytes() member = archive.extractfile("criterion/release-benchmark-inventory.json") assert member is not None assert json.loads(member.read())["suites"] == IDS @@ -171,22 +164,24 @@ def assert_scientific_inventory(root: Path) -> None: discovery = load_discovery(root, "tooling/criterion-inventory.toml") missing = REQUIRED - set(discovery.required) assert not missing, f"discovery omitted scientific cases: {sorted(missing)}" - assert {suite.name for suite in discovery.suites} == {"vs_linalg", "exact"} + assert {suite.name for suite in discovery.suites} == {"public-default", "public-exact"} assert all(suite.command[-1] == "list" for suite in discovery.suites) saved = tomllib.loads((root / "tooling/criterion-saved.toml").read_text(encoding="utf-8")) missing = REQUIRED - set(saved["required"]) assert not missing, f"saved inventory omitted scientific cases: {sorted(missing)}" - assert saved["storage-paths"] == {name: name for name in saved["required"]} + assert set(saved["storage-paths"]) == set(saved["required"]) assert saved["raw-files"] == list(RAW_FILES) -def test_configured_inventory_includes_release_consumers_and_peers() -> None: +def test_configured_inventory_includes_public_workloads_without_peers() -> None: assert_scientific_inventory(REPO_ROOT) + assert len(REQUIRED) == 1254 + assert not any("/nalgebra_" in name or "/faer_" in name for name in REQUIRED) @pytest.mark.parametrize("declaration", ["criterion-inventory.toml", "criterion-saved.toml", "both"]) -def test_scientific_inventory_detects_a_nonsentinel_omission(tmp_path: Path, declaration: str) -> None: - removed = "d3/la_stack_norm2_sq" +@pytest.mark.parametrize("removed", ["d3/la_stack_norm2_sq", "public_d4/interval_det", "canonical_conversion_dyadic_d3/strict_array"]) +def test_scientific_inventory_detects_a_nonsentinel_omission(tmp_path: Path, declaration: str, removed: str) -> None: tooling = tmp_path / "tooling" tooling.mkdir() for filename in ("criterion-inventory.toml", "criterion-saved.toml"): @@ -212,7 +207,7 @@ def test_workflow_requires_preflight_and_isolates_publication_permissions() -> N assert "cache: false" in preparation steps = [ "Prepare release benchmarks", - "Save comparative Criterion baseline", + "Save default-feature Criterion baseline", "Save exact Criterion baseline", "Validate complete release dataset", "Package release Criterion baseline", @@ -257,7 +252,7 @@ def test_setup_limits_preserve_benchmark_and_tail_budgets() -> None: producer = workflow.split(" release-baseline:\n", 1)[1].split(" publish-baseline:\n", 1)[0] job_limit = re.search(r"(?m)^ timeout-minutes: (\d+)$", producer) assert job_limit is not None - setup = producer.split(" steps:\n", 1)[1].split(" - name: Save comparative Criterion baseline", 1)[0] + setup = producer.split(" steps:\n", 1)[1].split(" - name: Save default-feature Criterion baseline", 1)[0] setup_steps = re.findall(r"(?ms)^ - .*?(?=^ - |\Z)", setup) assert setup_steps setup_limits: list[int] = [] @@ -274,14 +269,15 @@ def test_setup_limits_preserve_benchmark_and_tail_budgets() -> None: assert "uses: ./.github/actions/prepare-release-benchmarks" in setup assert "using: composite" in PREPARATION.read_text(encoding="utf-8") benchmark_limits = [ - int(limit) for limit in re.findall(r"(?ms)^ - name: Save (?:comparative|exact) Criterion baseline\n.*?^ timeout-minutes: (\d+)$", producer) + int(limit) + for limit in re.findall(r"(?ms)^ - name: Save (?:default-feature|exact) Criterion baseline\n.*?^ timeout-minutes: (\d+)$", producer) ] - assert benchmark_limits == [150, 90] + assert benchmark_limits == [140, 130] assert int(job_limit[1]) - sum(setup_limits) - sum(benchmark_limits) >= 15 assert int(job_limit[1]) <= 360 -@pytest.mark.parametrize(("suite", "step"), [("vs_linalg", "Save comparative Criterion baseline"), ("exact", "Save exact Criterion baseline")]) +@pytest.mark.parametrize(("suite", "step"), [("public-default", "Save default-feature Criterion baseline"), ("public-exact", "Save exact Criterion baseline")]) def test_failed_suite_retains_timing_and_does_not_mark_completion(tmp_path: Path, suite: str, step: str) -> None: (tmp_path / "target").mkdir() # A shell function substitutes only the benchmark command; timestamps and @@ -302,8 +298,8 @@ def test_failed_suite_retains_timing_and_does_not_mark_completion(tmp_path: Path }, ) assert result.returncode == 0, result.stderr - assert "| vs_linalg | failure |" in summary.read_text(encoding="utf-8") - assert "| exact | skipped |" in summary.read_text(encoding="utf-8") + assert "| public-default | failure |" in summary.read_text(encoding="utf-8") + assert "| public-exact | skipped |" in summary.read_text(encoding="utf-8") @pytest.mark.parametrize("validated_attempt", ["", "1", "2"]) diff --git a/tooling/README.md b/tooling/README.md index 2a9463f..52653d2 100644 --- a/tooling/README.md +++ b/tooling/README.md @@ -113,7 +113,7 @@ There is no runtime configuration generator. | `measurements/full.toml`, `measurements/non-exact.toml` | Release floor, required cases, sampling, original peer phases, source/harness inventories, probes and environments | | `performance-policy.toml` | Independent scientific catalog used by consumer acceptance tests | | `performance.just` | Native discovery, correctness gates and measurement commands | -| `criterion-inventory.toml` | Release discovery and independent required scientific IDs | +| `criterion-inventory.toml` | Hosted la-stack-only discovery and independent required scientific IDs | | `criterion-saved.toml` | Required IDs, canonical paths, 100 samples and exact saved raw JSON bytes | | `performance-report.toml` | Independent release eligibility, current report and immutable run history | | `performance-readme.toml` | Canonical README selection, formatter, source freshness and tagged links | @@ -124,6 +124,16 @@ non-exact declarations require 100 samples, mean and median estimates, 95% intervals and nanoseconds. Both native correctness gates run before timing. Reference libraries originate in the baseline phase. +The full #301 policy measures all public la-stack workflows at both revisions, +plus only 16 baseline-phase peer LU-factorization-and-solve cases. Hosted +acquisition omits peers entirely. The full scratch/retained plot selections +therefore expose only LU solve; broad peer plots remain in the explicitly +requested non-exact diagnostic. `performance.just` prints the independent local +case budget before measurement, and `performance-release` records the recipe +body's elapsed seconds and failure status under ignored scratch outputs. The +[public workflow map](../docs/BENCHMARKING.md#release-acquisition-policy) owns +coverage decisions, feature configurations and runtime estimates. + Working-tree measurements include tracked changes and nonignored untracked regular files. Scratch outputs belong under ignored `target/`. Tag preparation is explicit: `just performance-prepare` fetches tags and @@ -142,6 +152,11 @@ README publication requires archived release-eligible evidence, independently supplied release/commit assertions, matching current source/harness membership and digests, and a successful formatter before replacing any output. +The completed v0.5.1/v0.5.0 run predates the #301 acquisition policy and remains +frozen. It is not reclassified as a new-policy run or rerun by these commands. +Current offline rendering requires a complete run acquired under the matching +declaration. + Historical CSV/JSON, plots, reports and complete runs remain frozen with their original bytes and links. This includes the v0.5.0/v0.4.6 comparison: it lacks the newer acquisition declaration and is no longer a regeneration input. diff --git a/tooling/criterion-inventory.toml b/tooling/criterion-inventory.toml index 2a0a5dd..52bf3a2 100644 --- a/tooling/criterion-inventory.toml +++ b/tooling/criterion-inventory.toml @@ -1,18 +1,302 @@ -# Full unfiltered native suites; required IDs include every report and plot consumer. +# Release policy for #301: la-stack public workloads only; peers stay local. schema = 1 required = [ - "d16/faer_det_from_ldlt", - "d16/faer_det_from_lu", - "d16/faer_det_via_lu", - "d16/faer_dot_native", - "d16/faer_inf_norm", - "d16/faer_ldlt", - "d16/faer_ldlt_solve", - "d16/faer_lu", - "d16/faer_lu_solve", - "d16/faer_norm2_sq", - "d16/faer_solve_from_ldlt", - "d16/faer_solve_from_lu", + "angle_d3/dense/borrowed_slice", + "angle_d3/dense/construct_then_angle", + "angle_d3/dense/prepared_vector", + "angle_d3/dense_antipodal/borrowed_slice", + "angle_d3/dense_antipodal/construct_then_angle", + "angle_d3/dense_antipodal/prepared_vector", + "angle_d3/dense_identical/borrowed_slice", + "angle_d3/dense_identical/construct_then_angle", + "angle_d3/dense_identical/prepared_vector", + "angle_d3/dense_varied/borrowed_slice", + "angle_d3/dense_varied/construct_then_angle", + "angle_d3/dense_varied/prepared_vector", + "angle_d3/maximum_small_angle/borrowed_slice", + "angle_d3/maximum_small_angle/construct_then_angle", + "angle_d3/maximum_small_angle/prepared_vector", + "angle_d3/mixed_scale/borrowed_slice", + "angle_d3/mixed_scale/construct_then_angle", + "angle_d3/mixed_scale/prepared_vector", + "angle_d3/near_antipodal/borrowed_slice", + "angle_d3/near_antipodal/construct_then_angle", + "angle_d3/near_antipodal/prepared_vector", + "angle_d3/near_parallel/borrowed_slice", + "angle_d3/near_parallel/construct_then_angle", + "angle_d3/near_parallel/prepared_vector", + "angle_d3/sparse_adjacent/borrowed_slice", + "angle_d3/sparse_adjacent/construct_then_angle", + "angle_d3/sparse_adjacent/prepared_vector", + "angle_d3/sparse_alternating/borrowed_slice", + "angle_d3/sparse_alternating/construct_then_angle", + "angle_d3/sparse_alternating/prepared_vector", + "angle_d3/sparse_antipodal/borrowed_slice", + "angle_d3/sparse_antipodal/construct_then_angle", + "angle_d3/sparse_antipodal/prepared_vector", + "angle_d3/sparse_identical/borrowed_slice", + "angle_d3/sparse_identical/construct_then_angle", + "angle_d3/sparse_identical/prepared_vector", + "angle_d3/subnormal/borrowed_slice", + "angle_d3/subnormal/construct_then_angle", + "angle_d3/subnormal/prepared_vector", + "angle_d3/subnormal_axes/borrowed_slice", + "angle_d3/subnormal_axes/construct_then_angle", + "angle_d3/subnormal_axes/prepared_vector", + "angle_d4/dense/borrowed_slice", + "angle_d4/dense/construct_then_angle", + "angle_d4/dense/prepared_vector", + "angle_d4/dense_antipodal/borrowed_slice", + "angle_d4/dense_antipodal/construct_then_angle", + "angle_d4/dense_antipodal/prepared_vector", + "angle_d4/dense_identical/borrowed_slice", + "angle_d4/dense_identical/construct_then_angle", + "angle_d4/dense_identical/prepared_vector", + "angle_d4/dense_varied/borrowed_slice", + "angle_d4/dense_varied/construct_then_angle", + "angle_d4/dense_varied/prepared_vector", + "angle_d4/maximum_small_angle/borrowed_slice", + "angle_d4/maximum_small_angle/construct_then_angle", + "angle_d4/maximum_small_angle/prepared_vector", + "angle_d4/mixed_scale/borrowed_slice", + "angle_d4/mixed_scale/construct_then_angle", + "angle_d4/mixed_scale/prepared_vector", + "angle_d4/near_antipodal/borrowed_slice", + "angle_d4/near_antipodal/construct_then_angle", + "angle_d4/near_antipodal/prepared_vector", + "angle_d4/near_parallel/borrowed_slice", + "angle_d4/near_parallel/construct_then_angle", + "angle_d4/near_parallel/prepared_vector", + "angle_d4/sparse_adjacent/borrowed_slice", + "angle_d4/sparse_adjacent/construct_then_angle", + "angle_d4/sparse_adjacent/prepared_vector", + "angle_d4/sparse_alternating/borrowed_slice", + "angle_d4/sparse_alternating/construct_then_angle", + "angle_d4/sparse_alternating/prepared_vector", + "angle_d4/sparse_antipodal/borrowed_slice", + "angle_d4/sparse_antipodal/construct_then_angle", + "angle_d4/sparse_antipodal/prepared_vector", + "angle_d4/sparse_identical/borrowed_slice", + "angle_d4/sparse_identical/construct_then_angle", + "angle_d4/sparse_identical/prepared_vector", + "angle_d4/subnormal/borrowed_slice", + "angle_d4/subnormal/construct_then_angle", + "angle_d4/subnormal/prepared_vector", + "angle_d4/subnormal_axes/borrowed_slice", + "angle_d4/subnormal_axes/construct_then_angle", + "angle_d4/subnormal_axes/prepared_vector", + "angle_d5/dense/borrowed_slice", + "angle_d5/dense/construct_then_angle", + "angle_d5/dense/prepared_vector", + "angle_d5/dense_antipodal/borrowed_slice", + "angle_d5/dense_antipodal/construct_then_angle", + "angle_d5/dense_antipodal/prepared_vector", + "angle_d5/dense_identical/borrowed_slice", + "angle_d5/dense_identical/construct_then_angle", + "angle_d5/dense_identical/prepared_vector", + "angle_d5/dense_varied/borrowed_slice", + "angle_d5/dense_varied/construct_then_angle", + "angle_d5/dense_varied/prepared_vector", + "angle_d5/maximum_small_angle/borrowed_slice", + "angle_d5/maximum_small_angle/construct_then_angle", + "angle_d5/maximum_small_angle/prepared_vector", + "angle_d5/mixed_scale/borrowed_slice", + "angle_d5/mixed_scale/construct_then_angle", + "angle_d5/mixed_scale/prepared_vector", + "angle_d5/near_antipodal/borrowed_slice", + "angle_d5/near_antipodal/construct_then_angle", + "angle_d5/near_antipodal/prepared_vector", + "angle_d5/near_parallel/borrowed_slice", + "angle_d5/near_parallel/construct_then_angle", + "angle_d5/near_parallel/prepared_vector", + "angle_d5/sparse_adjacent/borrowed_slice", + "angle_d5/sparse_adjacent/construct_then_angle", + "angle_d5/sparse_adjacent/prepared_vector", + "angle_d5/sparse_alternating/borrowed_slice", + "angle_d5/sparse_alternating/construct_then_angle", + "angle_d5/sparse_alternating/prepared_vector", + "angle_d5/sparse_antipodal/borrowed_slice", + "angle_d5/sparse_antipodal/construct_then_angle", + "angle_d5/sparse_antipodal/prepared_vector", + "angle_d5/sparse_identical/borrowed_slice", + "angle_d5/sparse_identical/construct_then_angle", + "angle_d5/sparse_identical/prepared_vector", + "angle_d5/subnormal/borrowed_slice", + "angle_d5/subnormal/construct_then_angle", + "angle_d5/subnormal/prepared_vector", + "angle_d5/subnormal_axes/borrowed_slice", + "angle_d5/subnormal_axes/construct_then_angle", + "angle_d5/subnormal_axes/prepared_vector", + "angle_d6/dense/borrowed_slice", + "angle_d6/dense/construct_then_angle", + "angle_d6/dense/prepared_vector", + "angle_d6/dense_antipodal/borrowed_slice", + "angle_d6/dense_antipodal/construct_then_angle", + "angle_d6/dense_antipodal/prepared_vector", + "angle_d6/dense_identical/borrowed_slice", + "angle_d6/dense_identical/construct_then_angle", + "angle_d6/dense_identical/prepared_vector", + "angle_d6/dense_varied/borrowed_slice", + "angle_d6/dense_varied/construct_then_angle", + "angle_d6/dense_varied/prepared_vector", + "angle_d6/maximum_small_angle/borrowed_slice", + "angle_d6/maximum_small_angle/construct_then_angle", + "angle_d6/maximum_small_angle/prepared_vector", + "angle_d6/mixed_scale/borrowed_slice", + "angle_d6/mixed_scale/construct_then_angle", + "angle_d6/mixed_scale/prepared_vector", + "angle_d6/near_antipodal/borrowed_slice", + "angle_d6/near_antipodal/construct_then_angle", + "angle_d6/near_antipodal/prepared_vector", + "angle_d6/near_parallel/borrowed_slice", + "angle_d6/near_parallel/construct_then_angle", + "angle_d6/near_parallel/prepared_vector", + "angle_d6/sparse_adjacent/borrowed_slice", + "angle_d6/sparse_adjacent/construct_then_angle", + "angle_d6/sparse_adjacent/prepared_vector", + "angle_d6/sparse_alternating/borrowed_slice", + "angle_d6/sparse_alternating/construct_then_angle", + "angle_d6/sparse_alternating/prepared_vector", + "angle_d6/sparse_antipodal/borrowed_slice", + "angle_d6/sparse_antipodal/construct_then_angle", + "angle_d6/sparse_antipodal/prepared_vector", + "angle_d6/sparse_identical/borrowed_slice", + "angle_d6/sparse_identical/construct_then_angle", + "angle_d6/sparse_identical/prepared_vector", + "angle_d6/subnormal/borrowed_slice", + "angle_d6/subnormal/construct_then_angle", + "angle_d6/subnormal/prepared_vector", + "angle_d6/subnormal_axes/borrowed_slice", + "angle_d6/subnormal_axes/construct_then_angle", + "angle_d6/subnormal_axes/prepared_vector", + "canonical_conversion_below_overflow_d2/rounded_array", + "canonical_conversion_below_overflow_d2/rounded_result", + "canonical_conversion_below_overflow_d2/strict_array", + "canonical_conversion_below_overflow_d2/strict_result", + "canonical_conversion_below_overflow_d3/rounded_array", + "canonical_conversion_below_overflow_d3/rounded_result", + "canonical_conversion_below_overflow_d3/strict_array", + "canonical_conversion_below_overflow_d3/strict_result", + "canonical_conversion_below_overflow_d4/rounded_array", + "canonical_conversion_below_overflow_d4/rounded_result", + "canonical_conversion_below_overflow_d4/strict_array", + "canonical_conversion_below_overflow_d4/strict_result", + "canonical_conversion_below_overflow_d5/rounded_array", + "canonical_conversion_below_overflow_d5/rounded_result", + "canonical_conversion_below_overflow_d5/strict_array", + "canonical_conversion_below_overflow_d5/strict_result", + "canonical_conversion_dyadic_d2/rounded_array", + "canonical_conversion_dyadic_d2/rounded_result", + "canonical_conversion_dyadic_d2/strict_array", + "canonical_conversion_dyadic_d2/strict_result", + "canonical_conversion_dyadic_d3/rounded_array", + "canonical_conversion_dyadic_d3/rounded_result", + "canonical_conversion_dyadic_d3/strict_array", + "canonical_conversion_dyadic_d3/strict_result", + "canonical_conversion_dyadic_d4/rounded_array", + "canonical_conversion_dyadic_d4/rounded_result", + "canonical_conversion_dyadic_d4/strict_array", + "canonical_conversion_dyadic_d4/strict_result", + "canonical_conversion_dyadic_d5/rounded_array", + "canonical_conversion_dyadic_d5/rounded_result", + "canonical_conversion_dyadic_d5/strict_array", + "canonical_conversion_dyadic_d5/strict_result", + "canonical_conversion_min_subnormal_d2/rounded_array", + "canonical_conversion_min_subnormal_d2/rounded_result", + "canonical_conversion_min_subnormal_d2/strict_array", + "canonical_conversion_min_subnormal_d2/strict_result", + "canonical_conversion_min_subnormal_d3/rounded_array", + "canonical_conversion_min_subnormal_d3/rounded_result", + "canonical_conversion_min_subnormal_d3/strict_array", + "canonical_conversion_min_subnormal_d3/strict_result", + "canonical_conversion_min_subnormal_d4/rounded_array", + "canonical_conversion_min_subnormal_d4/rounded_result", + "canonical_conversion_min_subnormal_d4/strict_array", + "canonical_conversion_min_subnormal_d4/strict_result", + "canonical_conversion_min_subnormal_d5/rounded_array", + "canonical_conversion_min_subnormal_d5/rounded_result", + "canonical_conversion_min_subnormal_d5/strict_array", + "canonical_conversion_min_subnormal_d5/strict_result", + "canonical_conversion_negative_underflow_d2/rounded_array", + "canonical_conversion_negative_underflow_d2/rounded_result", + "canonical_conversion_negative_underflow_d2/strict_array", + "canonical_conversion_negative_underflow_d2/strict_result", + "canonical_conversion_negative_underflow_d3/rounded_array", + "canonical_conversion_negative_underflow_d3/rounded_result", + "canonical_conversion_negative_underflow_d3/strict_array", + "canonical_conversion_negative_underflow_d3/strict_result", + "canonical_conversion_negative_underflow_d4/rounded_array", + "canonical_conversion_negative_underflow_d4/rounded_result", + "canonical_conversion_negative_underflow_d4/strict_array", + "canonical_conversion_negative_underflow_d4/strict_result", + "canonical_conversion_negative_underflow_d5/rounded_array", + "canonical_conversion_negative_underflow_d5/rounded_result", + "canonical_conversion_negative_underflow_d5/strict_array", + "canonical_conversion_negative_underflow_d5/strict_result", + "canonical_conversion_non_dyadic_d2/rounded_array", + "canonical_conversion_non_dyadic_d2/rounded_result", + "canonical_conversion_non_dyadic_d2/strict_array", + "canonical_conversion_non_dyadic_d2/strict_result", + "canonical_conversion_non_dyadic_d3/rounded_array", + "canonical_conversion_non_dyadic_d3/rounded_result", + "canonical_conversion_non_dyadic_d3/strict_array", + "canonical_conversion_non_dyadic_d3/strict_result", + "canonical_conversion_non_dyadic_d4/rounded_array", + "canonical_conversion_non_dyadic_d4/rounded_result", + "canonical_conversion_non_dyadic_d4/strict_array", + "canonical_conversion_non_dyadic_d4/strict_result", + "canonical_conversion_non_dyadic_d5/rounded_array", + "canonical_conversion_non_dyadic_d5/rounded_result", + "canonical_conversion_non_dyadic_d5/strict_array", + "canonical_conversion_non_dyadic_d5/strict_result", + "canonical_conversion_overflow_midpoint_d2/rounded_array", + "canonical_conversion_overflow_midpoint_d2/rounded_result", + "canonical_conversion_overflow_midpoint_d2/strict_array", + "canonical_conversion_overflow_midpoint_d2/strict_result", + "canonical_conversion_overflow_midpoint_d3/rounded_array", + "canonical_conversion_overflow_midpoint_d3/rounded_result", + "canonical_conversion_overflow_midpoint_d3/strict_array", + "canonical_conversion_overflow_midpoint_d3/strict_result", + "canonical_conversion_overflow_midpoint_d4/rounded_array", + "canonical_conversion_overflow_midpoint_d4/rounded_result", + "canonical_conversion_overflow_midpoint_d4/strict_array", + "canonical_conversion_overflow_midpoint_d4/strict_result", + "canonical_conversion_overflow_midpoint_d5/rounded_array", + "canonical_conversion_overflow_midpoint_d5/rounded_result", + "canonical_conversion_overflow_midpoint_d5/strict_array", + "canonical_conversion_overflow_midpoint_d5/strict_result", + "canonical_conversion_wide1024_d2/rounded_array", + "canonical_conversion_wide1024_d2/rounded_result", + "canonical_conversion_wide1024_d2/strict_array", + "canonical_conversion_wide1024_d2/strict_result", + "canonical_conversion_wide1024_d3/rounded_array", + "canonical_conversion_wide1024_d3/rounded_result", + "canonical_conversion_wide1024_d3/strict_array", + "canonical_conversion_wide1024_d3/strict_result", + "canonical_conversion_wide1024_d4/rounded_array", + "canonical_conversion_wide1024_d4/rounded_result", + "canonical_conversion_wide1024_d4/strict_array", + "canonical_conversion_wide1024_d4/strict_result", + "canonical_conversion_wide1024_d5/rounded_array", + "canonical_conversion_wide1024_d5/rounded_result", + "canonical_conversion_wide1024_d5/strict_array", + "canonical_conversion_wide1024_d5/strict_result", + "canonical_conversion_wide256_d2/rounded_array", + "canonical_conversion_wide256_d2/rounded_result", + "canonical_conversion_wide256_d2/strict_array", + "canonical_conversion_wide256_d2/strict_result", + "canonical_conversion_wide256_d3/rounded_array", + "canonical_conversion_wide256_d3/rounded_result", + "canonical_conversion_wide256_d3/strict_array", + "canonical_conversion_wide256_d3/strict_result", + "canonical_conversion_wide256_d4/rounded_array", + "canonical_conversion_wide256_d4/rounded_result", + "canonical_conversion_wide256_d4/strict_array", + "canonical_conversion_wide256_d4/strict_result", + "canonical_conversion_wide256_d5/rounded_array", + "canonical_conversion_wide256_d5/rounded_result", + "canonical_conversion_wide256_d5/strict_array", + "canonical_conversion_wide256_d5/strict_result", "d16/la_stack_det", "d16/la_stack_det_from_ldlt", "d16/la_stack_det_from_lu", @@ -23,33 +307,14 @@ required = [ "d16/la_stack_ldlt_solve", "d16/la_stack_lu", "d16/la_stack_lu_solve", + "d16/la_stack_norm2", + "d16/la_stack_norm2_scenario_descending", + "d16/la_stack_norm2_scenario_repeated_scale", + "d16/la_stack_norm2_scenario_sparse", + "d16/la_stack_norm2_scenario_wide_dynamic_range", "d16/la_stack_norm2_sq", "d16/la_stack_solve_from_ldlt", "d16/la_stack_solve_from_lu", - "d16/nalgebra_cholesky", - "d16/nalgebra_cholesky_solve", - "d16/nalgebra_det_from_cholesky", - "d16/nalgebra_det_from_lu", - "d16/nalgebra_det_via_lu", - "d16/nalgebra_dot", - "d16/nalgebra_inf_norm", - "d16/nalgebra_lu", - "d16/nalgebra_lu_solve", - "d16/nalgebra_norm_squared", - "d16/nalgebra_solve_from_cholesky", - "d16/nalgebra_solve_from_lu", - "d2/faer_det_from_ldlt", - "d2/faer_det_from_lu", - "d2/faer_det_via_lu", - "d2/faer_dot_native", - "d2/faer_inf_norm", - "d2/faer_ldlt", - "d2/faer_ldlt_solve", - "d2/faer_lu", - "d2/faer_lu_solve", - "d2/faer_norm2_sq", - "d2/faer_solve_from_ldlt", - "d2/faer_solve_from_lu", "d2/la_stack_det", "d2/la_stack_det_from_ldlt", "d2/la_stack_det_from_lu", @@ -60,33 +325,14 @@ required = [ "d2/la_stack_ldlt_solve", "d2/la_stack_lu", "d2/la_stack_lu_solve", + "d2/la_stack_norm2", + "d2/la_stack_norm2_scenario_descending", + "d2/la_stack_norm2_scenario_repeated_scale", + "d2/la_stack_norm2_scenario_sparse", + "d2/la_stack_norm2_scenario_wide_dynamic_range", "d2/la_stack_norm2_sq", "d2/la_stack_solve_from_ldlt", "d2/la_stack_solve_from_lu", - "d2/nalgebra_cholesky", - "d2/nalgebra_cholesky_solve", - "d2/nalgebra_det_from_cholesky", - "d2/nalgebra_det_from_lu", - "d2/nalgebra_det_via_lu", - "d2/nalgebra_dot", - "d2/nalgebra_inf_norm", - "d2/nalgebra_lu", - "d2/nalgebra_lu_solve", - "d2/nalgebra_norm_squared", - "d2/nalgebra_solve_from_cholesky", - "d2/nalgebra_solve_from_lu", - "d3/faer_det_from_ldlt", - "d3/faer_det_from_lu", - "d3/faer_det_via_lu", - "d3/faer_dot_native", - "d3/faer_inf_norm", - "d3/faer_ldlt", - "d3/faer_ldlt_solve", - "d3/faer_lu", - "d3/faer_lu_solve", - "d3/faer_norm2_sq", - "d3/faer_solve_from_ldlt", - "d3/faer_solve_from_lu", "d3/la_stack_det", "d3/la_stack_det_from_ldlt", "d3/la_stack_det_from_lu", @@ -97,33 +343,14 @@ required = [ "d3/la_stack_ldlt_solve", "d3/la_stack_lu", "d3/la_stack_lu_solve", + "d3/la_stack_norm2", + "d3/la_stack_norm2_scenario_descending", + "d3/la_stack_norm2_scenario_repeated_scale", + "d3/la_stack_norm2_scenario_sparse", + "d3/la_stack_norm2_scenario_wide_dynamic_range", "d3/la_stack_norm2_sq", "d3/la_stack_solve_from_ldlt", "d3/la_stack_solve_from_lu", - "d3/nalgebra_cholesky", - "d3/nalgebra_cholesky_solve", - "d3/nalgebra_det_from_cholesky", - "d3/nalgebra_det_from_lu", - "d3/nalgebra_det_via_lu", - "d3/nalgebra_dot", - "d3/nalgebra_inf_norm", - "d3/nalgebra_lu", - "d3/nalgebra_lu_solve", - "d3/nalgebra_norm_squared", - "d3/nalgebra_solve_from_cholesky", - "d3/nalgebra_solve_from_lu", - "d32/faer_det_from_ldlt", - "d32/faer_det_from_lu", - "d32/faer_det_via_lu", - "d32/faer_dot_native", - "d32/faer_inf_norm", - "d32/faer_ldlt", - "d32/faer_ldlt_solve", - "d32/faer_lu", - "d32/faer_lu_solve", - "d32/faer_norm2_sq", - "d32/faer_solve_from_ldlt", - "d32/faer_solve_from_lu", "d32/la_stack_det", "d32/la_stack_det_from_ldlt", "d32/la_stack_det_from_lu", @@ -134,33 +361,14 @@ required = [ "d32/la_stack_ldlt_solve", "d32/la_stack_lu", "d32/la_stack_lu_solve", + "d32/la_stack_norm2", + "d32/la_stack_norm2_scenario_descending", + "d32/la_stack_norm2_scenario_repeated_scale", + "d32/la_stack_norm2_scenario_sparse", + "d32/la_stack_norm2_scenario_wide_dynamic_range", "d32/la_stack_norm2_sq", "d32/la_stack_solve_from_ldlt", "d32/la_stack_solve_from_lu", - "d32/nalgebra_cholesky", - "d32/nalgebra_cholesky_solve", - "d32/nalgebra_det_from_cholesky", - "d32/nalgebra_det_from_lu", - "d32/nalgebra_det_via_lu", - "d32/nalgebra_dot", - "d32/nalgebra_inf_norm", - "d32/nalgebra_lu", - "d32/nalgebra_lu_solve", - "d32/nalgebra_norm_squared", - "d32/nalgebra_solve_from_cholesky", - "d32/nalgebra_solve_from_lu", - "d4/faer_det_from_ldlt", - "d4/faer_det_from_lu", - "d4/faer_det_via_lu", - "d4/faer_dot_native", - "d4/faer_inf_norm", - "d4/faer_ldlt", - "d4/faer_ldlt_solve", - "d4/faer_lu", - "d4/faer_lu_solve", - "d4/faer_norm2_sq", - "d4/faer_solve_from_ldlt", - "d4/faer_solve_from_lu", "d4/la_stack_det", "d4/la_stack_det_from_ldlt", "d4/la_stack_det_from_lu", @@ -171,33 +379,14 @@ required = [ "d4/la_stack_ldlt_solve", "d4/la_stack_lu", "d4/la_stack_lu_solve", + "d4/la_stack_norm2", + "d4/la_stack_norm2_scenario_descending", + "d4/la_stack_norm2_scenario_repeated_scale", + "d4/la_stack_norm2_scenario_sparse", + "d4/la_stack_norm2_scenario_wide_dynamic_range", "d4/la_stack_norm2_sq", "d4/la_stack_solve_from_ldlt", "d4/la_stack_solve_from_lu", - "d4/nalgebra_cholesky", - "d4/nalgebra_cholesky_solve", - "d4/nalgebra_det_from_cholesky", - "d4/nalgebra_det_from_lu", - "d4/nalgebra_det_via_lu", - "d4/nalgebra_dot", - "d4/nalgebra_inf_norm", - "d4/nalgebra_lu", - "d4/nalgebra_lu_solve", - "d4/nalgebra_norm_squared", - "d4/nalgebra_solve_from_cholesky", - "d4/nalgebra_solve_from_lu", - "d5/faer_det_from_ldlt", - "d5/faer_det_from_lu", - "d5/faer_det_via_lu", - "d5/faer_dot_native", - "d5/faer_inf_norm", - "d5/faer_ldlt", - "d5/faer_ldlt_solve", - "d5/faer_lu", - "d5/faer_lu_solve", - "d5/faer_norm2_sq", - "d5/faer_solve_from_ldlt", - "d5/faer_solve_from_lu", "d5/la_stack_det", "d5/la_stack_det_from_ldlt", "d5/la_stack_det_from_lu", @@ -208,33 +397,14 @@ required = [ "d5/la_stack_ldlt_solve", "d5/la_stack_lu", "d5/la_stack_lu_solve", + "d5/la_stack_norm2", + "d5/la_stack_norm2_scenario_descending", + "d5/la_stack_norm2_scenario_repeated_scale", + "d5/la_stack_norm2_scenario_sparse", + "d5/la_stack_norm2_scenario_wide_dynamic_range", "d5/la_stack_norm2_sq", "d5/la_stack_solve_from_ldlt", "d5/la_stack_solve_from_lu", - "d5/nalgebra_cholesky", - "d5/nalgebra_cholesky_solve", - "d5/nalgebra_det_from_cholesky", - "d5/nalgebra_det_from_lu", - "d5/nalgebra_det_via_lu", - "d5/nalgebra_dot", - "d5/nalgebra_inf_norm", - "d5/nalgebra_lu", - "d5/nalgebra_lu_solve", - "d5/nalgebra_norm_squared", - "d5/nalgebra_solve_from_cholesky", - "d5/nalgebra_solve_from_lu", - "d64/faer_det_from_ldlt", - "d64/faer_det_from_lu", - "d64/faer_det_via_lu", - "d64/faer_dot_native", - "d64/faer_inf_norm", - "d64/faer_ldlt", - "d64/faer_ldlt_solve", - "d64/faer_lu", - "d64/faer_lu_solve", - "d64/faer_norm2_sq", - "d64/faer_solve_from_ldlt", - "d64/faer_solve_from_lu", "d64/la_stack_det", "d64/la_stack_det_from_ldlt", "d64/la_stack_det_from_lu", @@ -245,33 +415,14 @@ required = [ "d64/la_stack_ldlt_solve", "d64/la_stack_lu", "d64/la_stack_lu_solve", + "d64/la_stack_norm2", + "d64/la_stack_norm2_scenario_descending", + "d64/la_stack_norm2_scenario_repeated_scale", + "d64/la_stack_norm2_scenario_sparse", + "d64/la_stack_norm2_scenario_wide_dynamic_range", "d64/la_stack_norm2_sq", "d64/la_stack_solve_from_ldlt", "d64/la_stack_solve_from_lu", - "d64/nalgebra_cholesky", - "d64/nalgebra_cholesky_solve", - "d64/nalgebra_det_from_cholesky", - "d64/nalgebra_det_from_lu", - "d64/nalgebra_det_via_lu", - "d64/nalgebra_dot", - "d64/nalgebra_inf_norm", - "d64/nalgebra_lu", - "d64/nalgebra_lu_solve", - "d64/nalgebra_norm_squared", - "d64/nalgebra_solve_from_cholesky", - "d64/nalgebra_solve_from_lu", - "d8/faer_det_from_ldlt", - "d8/faer_det_from_lu", - "d8/faer_det_via_lu", - "d8/faer_dot_native", - "d8/faer_inf_norm", - "d8/faer_ldlt", - "d8/faer_ldlt_solve", - "d8/faer_lu", - "d8/faer_lu_solve", - "d8/faer_norm2_sq", - "d8/faer_solve_from_ldlt", - "d8/faer_solve_from_lu", "d8/la_stack_det", "d8/la_stack_det_from_ldlt", "d8/la_stack_det_from_ldlt_balanced_range", @@ -287,21 +438,14 @@ required = [ "d8/la_stack_lu_ill_conditioned", "d8/la_stack_lu_pivoting", "d8/la_stack_lu_solve", + "d8/la_stack_norm2", + "d8/la_stack_norm2_scenario_descending", + "d8/la_stack_norm2_scenario_repeated_scale", + "d8/la_stack_norm2_scenario_sparse", + "d8/la_stack_norm2_scenario_wide_dynamic_range", "d8/la_stack_norm2_sq", "d8/la_stack_solve_from_ldlt", "d8/la_stack_solve_from_lu", - "d8/nalgebra_cholesky", - "d8/nalgebra_cholesky_solve", - "d8/nalgebra_det_from_cholesky", - "d8/nalgebra_det_from_lu", - "d8/nalgebra_det_via_lu", - "d8/nalgebra_dot", - "d8/nalgebra_inf_norm", - "d8/nalgebra_lu", - "d8/nalgebra_lu_solve", - "d8/nalgebra_norm_squared", - "d8/nalgebra_solve_from_cholesky", - "d8/nalgebra_solve_from_lu", "exact_d2/det", "exact_d2/det_direct", "exact_d2/det_direct_with_errbound", @@ -383,49 +527,742 @@ required = [ "exact_random_corpus_d5/solve_exact", "exact_random_corpus_d5/solve_exact_f64_result", "exact_random_corpus_d5/solve_exact_rounded_f64", - "rational_input_d2/det_big_rational_gaussian", + "gram/1x2/dependent/la_stack", + "gram/1x2/mixed_scale/la_stack", + "gram/1x2/near_dependent/la_stack", + "gram/1x2/orthogonal/la_stack", + "gram/2x2/dependent/la_stack", + "gram/2x2/mixed_scale/la_stack", + "gram/2x2/near_dependent/la_stack", + "gram/2x2/orthogonal/la_stack", + "gram/2x3/dependent/la_stack", + "gram/2x3/mixed_scale/la_stack", + "gram/2x3/near_dependent/la_stack", + "gram/2x3/orthogonal/la_stack", + "gram/3x3/dependent/la_stack", + "gram/3x3/mixed_scale/la_stack", + "gram/3x3/near_dependent/la_stack", + "gram/3x3/orthogonal/la_stack", + "gram/3x4/dependent/la_stack", + "gram/3x4/mixed_scale/la_stack", + "gram/3x4/near_dependent/la_stack", + "gram/3x4/orthogonal/la_stack", + "gram/4x4/dependent/la_stack", + "gram/4x4/mixed_scale/la_stack", + "gram/4x4/near_dependent/la_stack", + "gram/4x4/orthogonal/la_stack", + "gram/4x5/dependent/la_stack", + "gram/4x5/mixed_scale/la_stack", + "gram/4x5/near_dependent/la_stack", + "gram/4x5/orthogonal/la_stack", + "gram/5x5/dependent/la_stack", + "gram/5x5/mixed_scale/la_stack", + "gram/5x5/near_dependent/la_stack", + "gram/5x5/orthogonal/la_stack", + "gram/5x6/dependent/la_stack", + "gram/5x6/mixed_scale/la_stack", + "gram/5x6/near_dependent/la_stack", + "gram/5x6/orthogonal/la_stack", + "gram/6x6/dependent/la_stack", + "gram/6x6/mixed_scale/la_stack", + "gram/6x6/near_dependent/la_stack", + "gram/6x6/orthogonal/la_stack", + "gram/6x7/dependent/la_stack", + "gram/6x7/mixed_scale/la_stack", + "gram/6x7/near_dependent/la_stack", + "gram/6x7/orthogonal/la_stack", + "gram/7x7/dependent/la_stack", + "gram/7x7/mixed_scale/la_stack", + "gram/7x7/near_dependent/la_stack", + "gram/7x7/orthogonal/la_stack", + "gram/7x8/dependent/la_stack", + "gram/7x8/mixed_scale/la_stack", + "gram/7x8/near_dependent/la_stack", + "gram/7x8/orthogonal/la_stack", + "gram/8x8/dependent/la_stack", + "gram/8x8/mixed_scale/la_stack", + "gram/8x8/near_dependent/la_stack", + "gram/8x8/orthogonal/la_stack", + "interval_d3/dense_inconclusive", + "interval_d3/dense_sign", + "interval_d3/lifted_assembly", + "interval_d3/lifted_assembly_and_sign", + "interval_d3/sparse_sign", + "interval_d4/dense_inconclusive", + "interval_d4/dense_sign", + "interval_d4/lifted_assembly", + "interval_d4/lifted_assembly_and_sign", + "interval_d4/sparse_sign", + "interval_d5/dense_inconclusive", + "interval_d5/dense_sign", + "interval_d5/lifted_assembly", + "interval_d5/lifted_assembly_and_sign", + "interval_d5/sparse_sign", + "interval_d6/dense_inconclusive", + "interval_d6/dense_sign", + "interval_d6/lifted_assembly", + "interval_d6/lifted_assembly_and_sign", + "interval_d6/sparse_sign", + "interval_d7/dense_inconclusive", + "interval_d7/dense_sign", + "interval_d7/lifted_assembly", + "interval_d7/lifted_assembly_and_sign", + "interval_d7/sparse_sign", + "interval_det_sign/d4_conclusive_lifted", + "interval_det_sign/d4_inconclusive_lifted", + "interval_det_sign/d7_conclusive_lifted", + "interval_scalar/cancellation/add", + "interval_scalar/cancellation/multiply", + "interval_scalar/cancellation/square", + "interval_scalar/exact/add", + "interval_scalar/exact/multiply", + "interval_scalar/exact/square", + "interval_scalar/point/add", + "interval_scalar/point/multiply", + "interval_scalar/point/square", + "interval_scalar/subnormal/add", + "interval_scalar/subnormal/multiply", + "interval_scalar/subnormal/square", + "interval_scalar/zero/add", + "interval_scalar/zero/multiply", + "interval_scalar/zero/square", + "linear_form_d2_batch/origin/construction", + "linear_form_d2_batch/origin/prepared", + "linear_form_d2_batch/origin/with_construction", + "linear_form_d2_batch/translated/construction", + "linear_form_d2_batch/translated/prepared", + "linear_form_d2_batch/translated/with_construction", + "linear_form_d2_prepared/cancellation/difference", + "linear_form_d2_prepared/cancellation/difference_endpoints", + "linear_form_d2_prepared/cancellation/dot", + "linear_form_d2_prepared/cancellation/dot_endpoints", + "linear_form_d2_prepared/dense/difference", + "linear_form_d2_prepared/dense/difference_endpoints", + "linear_form_d2_prepared/dense/dot", + "linear_form_d2_prepared/dense/dot_endpoints", + "linear_form_d2_prepared/dense_inexact/difference", + "linear_form_d2_prepared/dense_inexact/difference_endpoints", + "linear_form_d2_prepared/dense_inexact/dot", + "linear_form_d2_prepared/dense_inexact/dot_endpoints", + "linear_form_d2_prepared/overflow/dot", + "linear_form_d2_prepared/sparse/difference", + "linear_form_d2_prepared/sparse/difference_endpoints", + "linear_form_d2_prepared/sparse/dot", + "linear_form_d2_prepared/sparse/dot_endpoints", + "linear_form_d2_prepared/underflow/difference", + "linear_form_d2_prepared/underflow/difference_endpoints", + "linear_form_d2_prepared/underflow/dot", + "linear_form_d2_prepared/underflow/dot_endpoints", + "linear_form_d3_batch/origin/construction", + "linear_form_d3_batch/origin/prepared", + "linear_form_d3_batch/origin/with_construction", + "linear_form_d3_batch/translated/construction", + "linear_form_d3_batch/translated/prepared", + "linear_form_d3_batch/translated/with_construction", + "linear_form_d3_prepared/cancellation/difference", + "linear_form_d3_prepared/cancellation/difference_endpoints", + "linear_form_d3_prepared/cancellation/dot", + "linear_form_d3_prepared/cancellation/dot_endpoints", + "linear_form_d3_prepared/dense/difference", + "linear_form_d3_prepared/dense/difference_endpoints", + "linear_form_d3_prepared/dense/dot", + "linear_form_d3_prepared/dense/dot_endpoints", + "linear_form_d3_prepared/dense_inexact/difference", + "linear_form_d3_prepared/dense_inexact/difference_endpoints", + "linear_form_d3_prepared/dense_inexact/dot", + "linear_form_d3_prepared/dense_inexact/dot_endpoints", + "linear_form_d3_prepared/overflow/dot", + "linear_form_d3_prepared/sparse/difference", + "linear_form_d3_prepared/sparse/difference_endpoints", + "linear_form_d3_prepared/sparse/dot", + "linear_form_d3_prepared/sparse/dot_endpoints", + "linear_form_d3_prepared/underflow/difference", + "linear_form_d3_prepared/underflow/difference_endpoints", + "linear_form_d3_prepared/underflow/dot", + "linear_form_d3_prepared/underflow/dot_endpoints", + "linear_form_d4/dot_bounded_inconclusive", + "linear_form_d4/dot_bounded_well_separated", + "linear_form_d4/dot_difference_bounded_inconclusive", + "linear_form_d4/dot_difference_bounded_well_separated", + "linear_form_d4/dot_plain_well_separated", + "linear_form_d4_batch/origin/construction", + "linear_form_d4_batch/origin/prepared", + "linear_form_d4_batch/origin/with_construction", + "linear_form_d4_batch/translated/construction", + "linear_form_d4_batch/translated/prepared", + "linear_form_d4_batch/translated/with_construction", + "linear_form_d4_prepared/cancellation/difference", + "linear_form_d4_prepared/cancellation/difference_endpoints", + "linear_form_d4_prepared/cancellation/dot", + "linear_form_d4_prepared/cancellation/dot_endpoints", + "linear_form_d4_prepared/dense/difference", + "linear_form_d4_prepared/dense/difference_endpoints", + "linear_form_d4_prepared/dense/dot", + "linear_form_d4_prepared/dense/dot_endpoints", + "linear_form_d4_prepared/dense_inexact/difference", + "linear_form_d4_prepared/dense_inexact/difference_endpoints", + "linear_form_d4_prepared/dense_inexact/dot", + "linear_form_d4_prepared/dense_inexact/dot_endpoints", + "linear_form_d4_prepared/overflow/dot", + "linear_form_d4_prepared/sparse/difference", + "linear_form_d4_prepared/sparse/difference_endpoints", + "linear_form_d4_prepared/sparse/dot", + "linear_form_d4_prepared/sparse/dot_endpoints", + "linear_form_d4_prepared/underflow/difference", + "linear_form_d4_prepared/underflow/difference_endpoints", + "linear_form_d4_prepared/underflow/dot", + "linear_form_d4_prepared/underflow/dot_endpoints", + "linear_form_d5_batch/origin/construction", + "linear_form_d5_batch/origin/prepared", + "linear_form_d5_batch/origin/with_construction", + "linear_form_d5_batch/translated/construction", + "linear_form_d5_batch/translated/prepared", + "linear_form_d5_batch/translated/with_construction", + "linear_form_d5_prepared/cancellation/difference", + "linear_form_d5_prepared/cancellation/difference_endpoints", + "linear_form_d5_prepared/cancellation/dot", + "linear_form_d5_prepared/cancellation/dot_endpoints", + "linear_form_d5_prepared/dense/difference", + "linear_form_d5_prepared/dense/difference_endpoints", + "linear_form_d5_prepared/dense/dot", + "linear_form_d5_prepared/dense/dot_endpoints", + "linear_form_d5_prepared/dense_inexact/difference", + "linear_form_d5_prepared/dense_inexact/difference_endpoints", + "linear_form_d5_prepared/dense_inexact/dot", + "linear_form_d5_prepared/dense_inexact/dot_endpoints", + "linear_form_d5_prepared/overflow/dot", + "linear_form_d5_prepared/sparse/difference", + "linear_form_d5_prepared/sparse/difference_endpoints", + "linear_form_d5_prepared/sparse/dot", + "linear_form_d5_prepared/sparse/dot_endpoints", + "linear_form_d5_prepared/underflow/difference", + "linear_form_d5_prepared/underflow/difference_endpoints", + "linear_form_d5_prepared/underflow/dot", + "linear_form_d5_prepared/underflow/dot_endpoints", + "linear_form_d6_batch/origin/construction", + "linear_form_d6_batch/origin/prepared", + "linear_form_d6_batch/origin/with_construction", + "linear_form_d6_batch/translated/construction", + "linear_form_d6_batch/translated/prepared", + "linear_form_d6_batch/translated/with_construction", + "linear_form_d6_prepared/cancellation/difference", + "linear_form_d6_prepared/cancellation/difference_endpoints", + "linear_form_d6_prepared/cancellation/dot", + "linear_form_d6_prepared/cancellation/dot_endpoints", + "linear_form_d6_prepared/dense/difference", + "linear_form_d6_prepared/dense/difference_endpoints", + "linear_form_d6_prepared/dense/dot", + "linear_form_d6_prepared/dense/dot_endpoints", + "linear_form_d6_prepared/dense_inexact/difference", + "linear_form_d6_prepared/dense_inexact/difference_endpoints", + "linear_form_d6_prepared/dense_inexact/dot", + "linear_form_d6_prepared/dense_inexact/dot_endpoints", + "linear_form_d6_prepared/overflow/dot", + "linear_form_d6_prepared/sparse/difference", + "linear_form_d6_prepared/sparse/difference_endpoints", + "linear_form_d6_prepared/sparse/dot", + "linear_form_d6_prepared/sparse/dot_endpoints", + "linear_form_d6_prepared/underflow/difference", + "linear_form_d6_prepared/underflow/difference_endpoints", + "linear_form_d6_prepared/underflow/dot", + "linear_form_d6_prepared/underflow/dot_endpoints", + "public_d2/det_bound", + "public_d2/det_direct", + "public_d2/det_with_bound", + "public_d2/first_asymmetry", + "public_d2/interval_det", + "public_d2/interval_matrix_access", + "public_d2/interval_matrix_from_matrix", + "public_d2/interval_matrix_from_points", + "public_d2/interval_matrix_from_rows", + "public_d2/interval_matrix_identity", + "public_d2/interval_matrix_set", + "public_d2/interval_matrix_zero", + "public_d2/is_symmetric", + "public_d2/matrix_access", + "public_d2/matrix_from_rows", + "public_d2/matrix_identity", + "public_d2/matrix_set", + "public_d2/matrix_zero", + "public_d2/vector_access", + "public_d2/vector_new", + "public_d2/vector_zero", + "public_d3/det_bound", + "public_d3/det_direct", + "public_d3/det_with_bound", + "public_d3/first_asymmetry", + "public_d3/interval_det", + "public_d3/interval_matrix_access", + "public_d3/interval_matrix_from_matrix", + "public_d3/interval_matrix_from_points", + "public_d3/interval_matrix_from_rows", + "public_d3/interval_matrix_identity", + "public_d3/interval_matrix_set", + "public_d3/interval_matrix_zero", + "public_d3/is_symmetric", + "public_d3/matrix_access", + "public_d3/matrix_from_rows", + "public_d3/matrix_identity", + "public_d3/matrix_set", + "public_d3/matrix_zero", + "public_d3/vector_access", + "public_d3/vector_new", + "public_d3/vector_zero", + "public_d4/det_bound", + "public_d4/det_direct", + "public_d4/det_with_bound", + "public_d4/first_asymmetry", + "public_d4/interval_det", + "public_d4/interval_matrix_access", + "public_d4/interval_matrix_from_matrix", + "public_d4/interval_matrix_from_points", + "public_d4/interval_matrix_from_rows", + "public_d4/interval_matrix_identity", + "public_d4/interval_matrix_set", + "public_d4/interval_matrix_zero", + "public_d4/is_symmetric", + "public_d4/matrix_access", + "public_d4/matrix_from_rows", + "public_d4/matrix_identity", + "public_d4/matrix_set", + "public_d4/matrix_zero", + "public_d4/vector_access", + "public_d4/vector_new", + "public_d4/vector_zero", + "public_d5/det_bound", + "public_d5/det_direct", + "public_d5/det_with_bound", + "public_d5/first_asymmetry", + "public_d5/interval_det", + "public_d5/interval_matrix_access", + "public_d5/interval_matrix_from_matrix", + "public_d5/interval_matrix_from_points", + "public_d5/interval_matrix_from_rows", + "public_d5/interval_matrix_identity", + "public_d5/interval_matrix_set", + "public_d5/interval_matrix_zero", + "public_d5/is_symmetric", + "public_d5/matrix_access", + "public_d5/matrix_from_rows", + "public_d5/matrix_identity", + "public_d5/matrix_set", + "public_d5/matrix_zero", + "public_d5/vector_access", + "public_d5/vector_new", + "public_d5/vector_zero", + "public_scalar/tolerance", + "public_scalar/interval_new", + "public_scalar/interval_point", + "public_scalar/interval_subtraction", + "public_scalar/interval_access", + "public_scalar/interval_negate", + "public_exact_d2/matrix_access", + "public_exact_d2/matrix_from_fn", + "public_exact_d2/matrix_from_rows", + "public_exact_d2/matrix_into_rows", + "public_exact_d2/matrix_zero", + "public_exact_d2/vector_access", + "public_exact_d2/vector_from_fn", + "public_exact_d2/vector_into_array", + "public_exact_d2/vector_new", + "public_exact_d2/vector_zero", + "public_exact_d3/matrix_access", + "public_exact_d3/matrix_from_fn", + "public_exact_d3/matrix_from_rows", + "public_exact_d3/matrix_into_rows", + "public_exact_d3/matrix_zero", + "public_exact_d3/vector_access", + "public_exact_d3/vector_from_fn", + "public_exact_d3/vector_into_array", + "public_exact_d3/vector_new", + "public_exact_d3/vector_zero", + "public_exact_d4/matrix_access", + "public_exact_d4/matrix_from_fn", + "public_exact_d4/matrix_from_rows", + "public_exact_d4/matrix_into_rows", + "public_exact_d4/matrix_zero", + "public_exact_d4/vector_access", + "public_exact_d4/vector_from_fn", + "public_exact_d4/vector_into_array", + "public_exact_d4/vector_new", + "public_exact_d4/vector_zero", + "public_exact_d5/matrix_access", + "public_exact_d5/matrix_from_fn", + "public_exact_d5/matrix_from_rows", + "public_exact_d5/matrix_into_rows", + "public_exact_d5/matrix_zero", + "public_exact_d5/vector_access", + "public_exact_d5/vector_from_fn", + "public_exact_d5/vector_into_array", + "public_exact_d5/vector_new", + "public_exact_d5/vector_zero", + "public_exact_scalar/rounded", + "public_exact_scalar/strict", "rational_input_d2/det_row_cleared_bareiss", "rational_input_d2/det_sign_row_cleared_bareiss", - "rational_input_d2/solve_big_rational_gaussian", "rational_input_d2/solve_row_cleared_bareiss", - "rational_input_d3/det_big_rational_gaussian", "rational_input_d3/det_row_cleared_bareiss", "rational_input_d3/det_sign_row_cleared_bareiss", - "rational_input_d3/solve_big_rational_gaussian", "rational_input_d3/solve_row_cleared_bareiss", - "rational_input_d4/det_big_rational_gaussian", "rational_input_d4/det_row_cleared_bareiss", "rational_input_d4/det_sign_row_cleared_bareiss", - "rational_input_d4/solve_big_rational_gaussian", "rational_input_d4/solve_row_cleared_bareiss", - "rational_input_d5/det_big_rational_gaussian", "rational_input_d5/det_row_cleared_bareiss", "rational_input_d5/det_sign_row_cleared_bareiss", - "rational_input_d5/solve_big_rational_gaussian", "rational_input_d5/solve_row_cleared_bareiss", - "rational_input_d6/det_big_rational_gaussian", "rational_input_d6/det_row_cleared_bareiss", "rational_input_d6/det_sign_row_cleared_bareiss", - "rational_input_d6/solve_big_rational_gaussian", "rational_input_d6/solve_row_cleared_bareiss", - "rational_input_d7/det_big_rational_gaussian", "rational_input_d7/det_row_cleared_bareiss", "rational_input_d7/det_sign_row_cleared_bareiss", - "rational_input_d7/solve_big_rational_gaussian", "rational_input_d7/solve_row_cleared_bareiss", - "rational_input_d8/det_big_rational_gaussian", "rational_input_d8/det_row_cleared_bareiss", "rational_input_d8/det_sign_row_cleared_bareiss", - "rational_input_d8/solve_big_rational_gaussian", "rational_input_d8/solve_row_cleared_bareiss", + "rational_input_wide1024_d2/det_row_cleared_bareiss", + "rational_input_wide1024_d2/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d2/solve_row_cleared_bareiss", + "rational_input_wide1024_d3/det_row_cleared_bareiss", + "rational_input_wide1024_d3/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d3/solve_row_cleared_bareiss", + "rational_input_wide1024_d4/det_row_cleared_bareiss", + "rational_input_wide1024_d4/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d4/solve_row_cleared_bareiss", + "rational_input_wide1024_d5/det_row_cleared_bareiss", + "rational_input_wide1024_d5/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d5/solve_row_cleared_bareiss", + "rational_input_wide1024_d6/det_row_cleared_bareiss", + "rational_input_wide1024_d6/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d6/solve_row_cleared_bareiss", + "rational_input_wide1024_d7/det_row_cleared_bareiss", + "rational_input_wide1024_d7/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d7/solve_row_cleared_bareiss", + "rational_input_wide1024_d8/det_row_cleared_bareiss", + "rational_input_wide1024_d8/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d8/solve_row_cleared_bareiss", + "rational_input_wide256_d2/det_row_cleared_bareiss", + "rational_input_wide256_d2/det_sign_row_cleared_bareiss", + "rational_input_wide256_d2/solve_row_cleared_bareiss", + "rational_input_wide256_d3/det_row_cleared_bareiss", + "rational_input_wide256_d3/det_sign_row_cleared_bareiss", + "rational_input_wide256_d3/solve_row_cleared_bareiss", + "rational_input_wide256_d4/det_row_cleared_bareiss", + "rational_input_wide256_d4/det_sign_row_cleared_bareiss", + "rational_input_wide256_d4/solve_row_cleared_bareiss", + "rational_input_wide256_d5/det_row_cleared_bareiss", + "rational_input_wide256_d5/det_sign_row_cleared_bareiss", + "rational_input_wide256_d5/solve_row_cleared_bareiss", + "rational_input_wide256_d6/det_row_cleared_bareiss", + "rational_input_wide256_d6/det_sign_row_cleared_bareiss", + "rational_input_wide256_d6/solve_row_cleared_bareiss", + "rational_input_wide256_d7/det_row_cleared_bareiss", + "rational_input_wide256_d7/det_sign_row_cleared_bareiss", + "rational_input_wide256_d7/solve_row_cleared_bareiss", + "rational_input_wide256_d8/det_row_cleared_bareiss", + "rational_input_wide256_d8/det_sign_row_cleared_bareiss", + "rational_input_wide256_d8/solve_row_cleared_bareiss", + "rational_solve/dense/dyadic_d2/adapter", + "rational_solve/dense/dyadic_d2/construct", + "rational_solve/dense/dyadic_d2/prepared", + "rational_solve/dense/dyadic_d3/adapter", + "rational_solve/dense/dyadic_d3/construct", + "rational_solve/dense/dyadic_d3/prepared", + "rational_solve/dense/dyadic_d4/adapter", + "rational_solve/dense/dyadic_d4/construct", + "rational_solve/dense/dyadic_d4/prepared", + "rational_solve/dense/dyadic_d5/adapter", + "rational_solve/dense/dyadic_d5/construct", + "rational_solve/dense/dyadic_d5/prepared", + "rational_solve/dense/dyadic_d6/adapter", + "rational_solve/dense/dyadic_d6/construct", + "rational_solve/dense/dyadic_d6/prepared", + "rational_solve/dense/dyadic_d7/adapter", + "rational_solve/dense/dyadic_d7/construct", + "rational_solve/dense/dyadic_d7/prepared", + "rational_solve/dense/dyadic_d8/adapter", + "rational_solve/dense/dyadic_d8/construct", + "rational_solve/dense/dyadic_d8/prepared", + "rational_solve/dense/rational_d2/adapter", + "rational_solve/dense/rational_d2/construct", + "rational_solve/dense/rational_d2/prepared", + "rational_solve/dense/rational_d3/adapter", + "rational_solve/dense/rational_d3/construct", + "rational_solve/dense/rational_d3/prepared", + "rational_solve/dense/rational_d4/adapter", + "rational_solve/dense/rational_d4/construct", + "rational_solve/dense/rational_d4/prepared", + "rational_solve/dense/rational_d5/adapter", + "rational_solve/dense/rational_d5/construct", + "rational_solve/dense/rational_d5/prepared", + "rational_solve/dense/rational_d6/adapter", + "rational_solve/dense/rational_d6/construct", + "rational_solve/dense/rational_d6/prepared", + "rational_solve/dense/rational_d7/adapter", + "rational_solve/dense/rational_d7/construct", + "rational_solve/dense/rational_d7/prepared", + "rational_solve/dense/rational_d8/adapter", + "rational_solve/dense/rational_d8/construct", + "rational_solve/dense/rational_d8/prepared", + "rational_solve/diagonal/dyadic_d2/adapter", + "rational_solve/diagonal/dyadic_d2/construct", + "rational_solve/diagonal/dyadic_d2/prepared", + "rational_solve/diagonal/dyadic_d3/adapter", + "rational_solve/diagonal/dyadic_d3/construct", + "rational_solve/diagonal/dyadic_d3/prepared", + "rational_solve/diagonal/dyadic_d4/adapter", + "rational_solve/diagonal/dyadic_d4/construct", + "rational_solve/diagonal/dyadic_d4/prepared", + "rational_solve/diagonal/dyadic_d5/adapter", + "rational_solve/diagonal/dyadic_d5/construct", + "rational_solve/diagonal/dyadic_d5/prepared", + "rational_solve/diagonal/dyadic_d6/adapter", + "rational_solve/diagonal/dyadic_d6/construct", + "rational_solve/diagonal/dyadic_d6/prepared", + "rational_solve/diagonal/dyadic_d7/adapter", + "rational_solve/diagonal/dyadic_d7/construct", + "rational_solve/diagonal/dyadic_d7/prepared", + "rational_solve/diagonal/dyadic_d8/adapter", + "rational_solve/diagonal/dyadic_d8/construct", + "rational_solve/diagonal/dyadic_d8/prepared", + "rational_solve/diagonal/rational_d2/adapter", + "rational_solve/diagonal/rational_d2/construct", + "rational_solve/diagonal/rational_d2/prepared", + "rational_solve/diagonal/rational_d3/adapter", + "rational_solve/diagonal/rational_d3/construct", + "rational_solve/diagonal/rational_d3/prepared", + "rational_solve/diagonal/rational_d4/adapter", + "rational_solve/diagonal/rational_d4/construct", + "rational_solve/diagonal/rational_d4/prepared", + "rational_solve/diagonal/rational_d5/adapter", + "rational_solve/diagonal/rational_d5/construct", + "rational_solve/diagonal/rational_d5/prepared", + "rational_solve/diagonal/rational_d6/adapter", + "rational_solve/diagonal/rational_d6/construct", + "rational_solve/diagonal/rational_d6/prepared", + "rational_solve/diagonal/rational_d7/adapter", + "rational_solve/diagonal/rational_d7/construct", + "rational_solve/diagonal/rational_d7/prepared", + "rational_solve/diagonal/rational_d8/adapter", + "rational_solve/diagonal/rational_d8/construct", + "rational_solve/diagonal/rational_d8/prepared", + "rational_solve/lower/dyadic_d2/adapter", + "rational_solve/lower/dyadic_d2/construct", + "rational_solve/lower/dyadic_d2/prepared", + "rational_solve/lower/dyadic_d3/adapter", + "rational_solve/lower/dyadic_d3/construct", + "rational_solve/lower/dyadic_d3/prepared", + "rational_solve/lower/dyadic_d4/adapter", + "rational_solve/lower/dyadic_d4/construct", + "rational_solve/lower/dyadic_d4/prepared", + "rational_solve/lower/dyadic_d5/adapter", + "rational_solve/lower/dyadic_d5/construct", + "rational_solve/lower/dyadic_d5/prepared", + "rational_solve/lower/dyadic_d6/adapter", + "rational_solve/lower/dyadic_d6/construct", + "rational_solve/lower/dyadic_d6/prepared", + "rational_solve/lower/dyadic_d7/adapter", + "rational_solve/lower/dyadic_d7/construct", + "rational_solve/lower/dyadic_d7/prepared", + "rational_solve/lower/dyadic_d8/adapter", + "rational_solve/lower/dyadic_d8/construct", + "rational_solve/lower/dyadic_d8/prepared", + "rational_solve/lower/rational_d2/adapter", + "rational_solve/lower/rational_d2/construct", + "rational_solve/lower/rational_d2/prepared", + "rational_solve/lower/rational_d3/adapter", + "rational_solve/lower/rational_d3/construct", + "rational_solve/lower/rational_d3/prepared", + "rational_solve/lower/rational_d4/adapter", + "rational_solve/lower/rational_d4/construct", + "rational_solve/lower/rational_d4/prepared", + "rational_solve/lower/rational_d5/adapter", + "rational_solve/lower/rational_d5/construct", + "rational_solve/lower/rational_d5/prepared", + "rational_solve/lower/rational_d6/adapter", + "rational_solve/lower/rational_d6/construct", + "rational_solve/lower/rational_d6/prepared", + "rational_solve/lower/rational_d7/adapter", + "rational_solve/lower/rational_d7/construct", + "rational_solve/lower/rational_d7/prepared", + "rational_solve/lower/rational_d8/adapter", + "rational_solve/lower/rational_d8/construct", + "rational_solve/lower/rational_d8/prepared", + "rational_solve/permuted_lower/dyadic_d2/adapter", + "rational_solve/permuted_lower/dyadic_d2/construct", + "rational_solve/permuted_lower/dyadic_d2/prepared", + "rational_solve/permuted_lower/dyadic_d3/adapter", + "rational_solve/permuted_lower/dyadic_d3/construct", + "rational_solve/permuted_lower/dyadic_d3/prepared", + "rational_solve/permuted_lower/dyadic_d4/adapter", + "rational_solve/permuted_lower/dyadic_d4/construct", + "rational_solve/permuted_lower/dyadic_d4/prepared", + "rational_solve/permuted_lower/dyadic_d5/adapter", + "rational_solve/permuted_lower/dyadic_d5/construct", + "rational_solve/permuted_lower/dyadic_d5/prepared", + "rational_solve/permuted_lower/dyadic_d6/adapter", + "rational_solve/permuted_lower/dyadic_d6/construct", + "rational_solve/permuted_lower/dyadic_d6/prepared", + "rational_solve/permuted_lower/dyadic_d7/adapter", + "rational_solve/permuted_lower/dyadic_d7/construct", + "rational_solve/permuted_lower/dyadic_d7/prepared", + "rational_solve/permuted_lower/dyadic_d8/adapter", + "rational_solve/permuted_lower/dyadic_d8/construct", + "rational_solve/permuted_lower/dyadic_d8/prepared", + "rational_solve/permuted_lower/rational_d2/adapter", + "rational_solve/permuted_lower/rational_d2/construct", + "rational_solve/permuted_lower/rational_d2/prepared", + "rational_solve/permuted_lower/rational_d3/adapter", + "rational_solve/permuted_lower/rational_d3/construct", + "rational_solve/permuted_lower/rational_d3/prepared", + "rational_solve/permuted_lower/rational_d4/adapter", + "rational_solve/permuted_lower/rational_d4/construct", + "rational_solve/permuted_lower/rational_d4/prepared", + "rational_solve/permuted_lower/rational_d5/adapter", + "rational_solve/permuted_lower/rational_d5/construct", + "rational_solve/permuted_lower/rational_d5/prepared", + "rational_solve/permuted_lower/rational_d6/adapter", + "rational_solve/permuted_lower/rational_d6/construct", + "rational_solve/permuted_lower/rational_d6/prepared", + "rational_solve/permuted_lower/rational_d7/adapter", + "rational_solve/permuted_lower/rational_d7/construct", + "rational_solve/permuted_lower/rational_d7/prepared", + "rational_solve/permuted_lower/rational_d8/adapter", + "rational_solve/permuted_lower/rational_d8/construct", + "rational_solve/permuted_lower/rational_d8/prepared", + "rational_solve/permuted_upper/dyadic_d2/adapter", + "rational_solve/permuted_upper/dyadic_d2/construct", + "rational_solve/permuted_upper/dyadic_d2/prepared", + "rational_solve/permuted_upper/dyadic_d3/adapter", + "rational_solve/permuted_upper/dyadic_d3/construct", + "rational_solve/permuted_upper/dyadic_d3/prepared", + "rational_solve/permuted_upper/dyadic_d4/adapter", + "rational_solve/permuted_upper/dyadic_d4/construct", + "rational_solve/permuted_upper/dyadic_d4/prepared", + "rational_solve/permuted_upper/dyadic_d5/adapter", + "rational_solve/permuted_upper/dyadic_d5/construct", + "rational_solve/permuted_upper/dyadic_d5/prepared", + "rational_solve/permuted_upper/dyadic_d6/adapter", + "rational_solve/permuted_upper/dyadic_d6/construct", + "rational_solve/permuted_upper/dyadic_d6/prepared", + "rational_solve/permuted_upper/dyadic_d7/adapter", + "rational_solve/permuted_upper/dyadic_d7/construct", + "rational_solve/permuted_upper/dyadic_d7/prepared", + "rational_solve/permuted_upper/dyadic_d8/adapter", + "rational_solve/permuted_upper/dyadic_d8/construct", + "rational_solve/permuted_upper/dyadic_d8/prepared", + "rational_solve/permuted_upper/rational_d2/adapter", + "rational_solve/permuted_upper/rational_d2/construct", + "rational_solve/permuted_upper/rational_d2/prepared", + "rational_solve/permuted_upper/rational_d3/adapter", + "rational_solve/permuted_upper/rational_d3/construct", + "rational_solve/permuted_upper/rational_d3/prepared", + "rational_solve/permuted_upper/rational_d4/adapter", + "rational_solve/permuted_upper/rational_d4/construct", + "rational_solve/permuted_upper/rational_d4/prepared", + "rational_solve/permuted_upper/rational_d5/adapter", + "rational_solve/permuted_upper/rational_d5/construct", + "rational_solve/permuted_upper/rational_d5/prepared", + "rational_solve/permuted_upper/rational_d6/adapter", + "rational_solve/permuted_upper/rational_d6/construct", + "rational_solve/permuted_upper/rational_d6/prepared", + "rational_solve/permuted_upper/rational_d7/adapter", + "rational_solve/permuted_upper/rational_d7/construct", + "rational_solve/permuted_upper/rational_d7/prepared", + "rational_solve/permuted_upper/rational_d8/adapter", + "rational_solve/permuted_upper/rational_d8/construct", + "rational_solve/permuted_upper/rational_d8/prepared", + "rational_solve/sparse/dyadic_d2/adapter", + "rational_solve/sparse/dyadic_d2/construct", + "rational_solve/sparse/dyadic_d2/prepared", + "rational_solve/sparse/dyadic_d3/adapter", + "rational_solve/sparse/dyadic_d3/construct", + "rational_solve/sparse/dyadic_d3/prepared", + "rational_solve/sparse/dyadic_d4/adapter", + "rational_solve/sparse/dyadic_d4/construct", + "rational_solve/sparse/dyadic_d4/prepared", + "rational_solve/sparse/dyadic_d5/adapter", + "rational_solve/sparse/dyadic_d5/construct", + "rational_solve/sparse/dyadic_d5/prepared", + "rational_solve/sparse/dyadic_d6/adapter", + "rational_solve/sparse/dyadic_d6/construct", + "rational_solve/sparse/dyadic_d6/prepared", + "rational_solve/sparse/dyadic_d7/adapter", + "rational_solve/sparse/dyadic_d7/construct", + "rational_solve/sparse/dyadic_d7/prepared", + "rational_solve/sparse/dyadic_d8/adapter", + "rational_solve/sparse/dyadic_d8/construct", + "rational_solve/sparse/dyadic_d8/prepared", + "rational_solve/sparse/rational_d2/adapter", + "rational_solve/sparse/rational_d2/construct", + "rational_solve/sparse/rational_d2/prepared", + "rational_solve/sparse/rational_d3/adapter", + "rational_solve/sparse/rational_d3/construct", + "rational_solve/sparse/rational_d3/prepared", + "rational_solve/sparse/rational_d4/adapter", + "rational_solve/sparse/rational_d4/construct", + "rational_solve/sparse/rational_d4/prepared", + "rational_solve/sparse/rational_d5/adapter", + "rational_solve/sparse/rational_d5/construct", + "rational_solve/sparse/rational_d5/prepared", + "rational_solve/sparse/rational_d6/adapter", + "rational_solve/sparse/rational_d6/construct", + "rational_solve/sparse/rational_d6/prepared", + "rational_solve/sparse/rational_d7/adapter", + "rational_solve/sparse/rational_d7/construct", + "rational_solve/sparse/rational_d7/prepared", + "rational_solve/sparse/rational_d8/adapter", + "rational_solve/sparse/rational_d8/construct", + "rational_solve/sparse/rational_d8/prepared", + "rational_solve/upper/dyadic_d2/adapter", + "rational_solve/upper/dyadic_d2/construct", + "rational_solve/upper/dyadic_d2/prepared", + "rational_solve/upper/dyadic_d3/adapter", + "rational_solve/upper/dyadic_d3/construct", + "rational_solve/upper/dyadic_d3/prepared", + "rational_solve/upper/dyadic_d4/adapter", + "rational_solve/upper/dyadic_d4/construct", + "rational_solve/upper/dyadic_d4/prepared", + "rational_solve/upper/dyadic_d5/adapter", + "rational_solve/upper/dyadic_d5/construct", + "rational_solve/upper/dyadic_d5/prepared", + "rational_solve/upper/dyadic_d6/adapter", + "rational_solve/upper/dyadic_d6/construct", + "rational_solve/upper/dyadic_d6/prepared", + "rational_solve/upper/dyadic_d7/adapter", + "rational_solve/upper/dyadic_d7/construct", + "rational_solve/upper/dyadic_d7/prepared", + "rational_solve/upper/dyadic_d8/adapter", + "rational_solve/upper/dyadic_d8/construct", + "rational_solve/upper/dyadic_d8/prepared", + "rational_solve/upper/rational_d2/adapter", + "rational_solve/upper/rational_d2/construct", + "rational_solve/upper/rational_d2/prepared", + "rational_solve/upper/rational_d3/adapter", + "rational_solve/upper/rational_d3/construct", + "rational_solve/upper/rational_d3/prepared", + "rational_solve/upper/rational_d4/adapter", + "rational_solve/upper/rational_d4/construct", + "rational_solve/upper/rational_d4/prepared", + "rational_solve/upper/rational_d5/adapter", + "rational_solve/upper/rational_d5/construct", + "rational_solve/upper/rational_d5/prepared", + "rational_solve/upper/rational_d6/adapter", + "rational_solve/upper/rational_d6/construct", + "rational_solve/upper/rational_d6/prepared", + "rational_solve/upper/rational_d7/adapter", + "rational_solve/upper/rational_d7/construct", + "rational_solve/upper/rational_d7/prepared", + "rational_solve/upper/rational_d8/adapter", + "rational_solve/upper/rational_d8/construct", + "rational_solve/upper/rational_d8/prepared", ] [[suites]] -name = "vs_linalg" -command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-vs_linalg", "list" ] -timeout = 1500 +name = "public-default" +command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "public-default", "list" ] +timeout = 600 [[suites]] -name = "exact" -command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-exact", "list" ] -timeout = 1500 +name = "public-exact" +command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "public-exact", "list" ] +timeout = 600 diff --git a/tooling/criterion-saved.toml b/tooling/criterion-saved.toml index c668418..bdea80c 100644 --- a/tooling/criterion-saved.toml +++ b/tooling/criterion-saved.toml @@ -1,20 +1,304 @@ -# The installed verifier checks independent scientific coverage and exact saved bytes. +# Exact saved-byte verification for the hosted la-stack-only acquisition policy. schema = 1 saved-sample = "last" inventory = "target/release-benchmark-inventory.json" required = [ - "d16/faer_det_from_ldlt", - "d16/faer_det_from_lu", - "d16/faer_det_via_lu", - "d16/faer_dot_native", - "d16/faer_inf_norm", - "d16/faer_ldlt", - "d16/faer_ldlt_solve", - "d16/faer_lu", - "d16/faer_lu_solve", - "d16/faer_norm2_sq", - "d16/faer_solve_from_ldlt", - "d16/faer_solve_from_lu", + "angle_d3/dense/borrowed_slice", + "angle_d3/dense/construct_then_angle", + "angle_d3/dense/prepared_vector", + "angle_d3/dense_antipodal/borrowed_slice", + "angle_d3/dense_antipodal/construct_then_angle", + "angle_d3/dense_antipodal/prepared_vector", + "angle_d3/dense_identical/borrowed_slice", + "angle_d3/dense_identical/construct_then_angle", + "angle_d3/dense_identical/prepared_vector", + "angle_d3/dense_varied/borrowed_slice", + "angle_d3/dense_varied/construct_then_angle", + "angle_d3/dense_varied/prepared_vector", + "angle_d3/maximum_small_angle/borrowed_slice", + "angle_d3/maximum_small_angle/construct_then_angle", + "angle_d3/maximum_small_angle/prepared_vector", + "angle_d3/mixed_scale/borrowed_slice", + "angle_d3/mixed_scale/construct_then_angle", + "angle_d3/mixed_scale/prepared_vector", + "angle_d3/near_antipodal/borrowed_slice", + "angle_d3/near_antipodal/construct_then_angle", + "angle_d3/near_antipodal/prepared_vector", + "angle_d3/near_parallel/borrowed_slice", + "angle_d3/near_parallel/construct_then_angle", + "angle_d3/near_parallel/prepared_vector", + "angle_d3/sparse_adjacent/borrowed_slice", + "angle_d3/sparse_adjacent/construct_then_angle", + "angle_d3/sparse_adjacent/prepared_vector", + "angle_d3/sparse_alternating/borrowed_slice", + "angle_d3/sparse_alternating/construct_then_angle", + "angle_d3/sparse_alternating/prepared_vector", + "angle_d3/sparse_antipodal/borrowed_slice", + "angle_d3/sparse_antipodal/construct_then_angle", + "angle_d3/sparse_antipodal/prepared_vector", + "angle_d3/sparse_identical/borrowed_slice", + "angle_d3/sparse_identical/construct_then_angle", + "angle_d3/sparse_identical/prepared_vector", + "angle_d3/subnormal/borrowed_slice", + "angle_d3/subnormal/construct_then_angle", + "angle_d3/subnormal/prepared_vector", + "angle_d3/subnormal_axes/borrowed_slice", + "angle_d3/subnormal_axes/construct_then_angle", + "angle_d3/subnormal_axes/prepared_vector", + "angle_d4/dense/borrowed_slice", + "angle_d4/dense/construct_then_angle", + "angle_d4/dense/prepared_vector", + "angle_d4/dense_antipodal/borrowed_slice", + "angle_d4/dense_antipodal/construct_then_angle", + "angle_d4/dense_antipodal/prepared_vector", + "angle_d4/dense_identical/borrowed_slice", + "angle_d4/dense_identical/construct_then_angle", + "angle_d4/dense_identical/prepared_vector", + "angle_d4/dense_varied/borrowed_slice", + "angle_d4/dense_varied/construct_then_angle", + "angle_d4/dense_varied/prepared_vector", + "angle_d4/maximum_small_angle/borrowed_slice", + "angle_d4/maximum_small_angle/construct_then_angle", + "angle_d4/maximum_small_angle/prepared_vector", + "angle_d4/mixed_scale/borrowed_slice", + "angle_d4/mixed_scale/construct_then_angle", + "angle_d4/mixed_scale/prepared_vector", + "angle_d4/near_antipodal/borrowed_slice", + "angle_d4/near_antipodal/construct_then_angle", + "angle_d4/near_antipodal/prepared_vector", + "angle_d4/near_parallel/borrowed_slice", + "angle_d4/near_parallel/construct_then_angle", + "angle_d4/near_parallel/prepared_vector", + "angle_d4/sparse_adjacent/borrowed_slice", + "angle_d4/sparse_adjacent/construct_then_angle", + "angle_d4/sparse_adjacent/prepared_vector", + "angle_d4/sparse_alternating/borrowed_slice", + "angle_d4/sparse_alternating/construct_then_angle", + "angle_d4/sparse_alternating/prepared_vector", + "angle_d4/sparse_antipodal/borrowed_slice", + "angle_d4/sparse_antipodal/construct_then_angle", + "angle_d4/sparse_antipodal/prepared_vector", + "angle_d4/sparse_identical/borrowed_slice", + "angle_d4/sparse_identical/construct_then_angle", + "angle_d4/sparse_identical/prepared_vector", + "angle_d4/subnormal/borrowed_slice", + "angle_d4/subnormal/construct_then_angle", + "angle_d4/subnormal/prepared_vector", + "angle_d4/subnormal_axes/borrowed_slice", + "angle_d4/subnormal_axes/construct_then_angle", + "angle_d4/subnormal_axes/prepared_vector", + "angle_d5/dense/borrowed_slice", + "angle_d5/dense/construct_then_angle", + "angle_d5/dense/prepared_vector", + "angle_d5/dense_antipodal/borrowed_slice", + "angle_d5/dense_antipodal/construct_then_angle", + "angle_d5/dense_antipodal/prepared_vector", + "angle_d5/dense_identical/borrowed_slice", + "angle_d5/dense_identical/construct_then_angle", + "angle_d5/dense_identical/prepared_vector", + "angle_d5/dense_varied/borrowed_slice", + "angle_d5/dense_varied/construct_then_angle", + "angle_d5/dense_varied/prepared_vector", + "angle_d5/maximum_small_angle/borrowed_slice", + "angle_d5/maximum_small_angle/construct_then_angle", + "angle_d5/maximum_small_angle/prepared_vector", + "angle_d5/mixed_scale/borrowed_slice", + "angle_d5/mixed_scale/construct_then_angle", + "angle_d5/mixed_scale/prepared_vector", + "angle_d5/near_antipodal/borrowed_slice", + "angle_d5/near_antipodal/construct_then_angle", + "angle_d5/near_antipodal/prepared_vector", + "angle_d5/near_parallel/borrowed_slice", + "angle_d5/near_parallel/construct_then_angle", + "angle_d5/near_parallel/prepared_vector", + "angle_d5/sparse_adjacent/borrowed_slice", + "angle_d5/sparse_adjacent/construct_then_angle", + "angle_d5/sparse_adjacent/prepared_vector", + "angle_d5/sparse_alternating/borrowed_slice", + "angle_d5/sparse_alternating/construct_then_angle", + "angle_d5/sparse_alternating/prepared_vector", + "angle_d5/sparse_antipodal/borrowed_slice", + "angle_d5/sparse_antipodal/construct_then_angle", + "angle_d5/sparse_antipodal/prepared_vector", + "angle_d5/sparse_identical/borrowed_slice", + "angle_d5/sparse_identical/construct_then_angle", + "angle_d5/sparse_identical/prepared_vector", + "angle_d5/subnormal/borrowed_slice", + "angle_d5/subnormal/construct_then_angle", + "angle_d5/subnormal/prepared_vector", + "angle_d5/subnormal_axes/borrowed_slice", + "angle_d5/subnormal_axes/construct_then_angle", + "angle_d5/subnormal_axes/prepared_vector", + "angle_d6/dense/borrowed_slice", + "angle_d6/dense/construct_then_angle", + "angle_d6/dense/prepared_vector", + "angle_d6/dense_antipodal/borrowed_slice", + "angle_d6/dense_antipodal/construct_then_angle", + "angle_d6/dense_antipodal/prepared_vector", + "angle_d6/dense_identical/borrowed_slice", + "angle_d6/dense_identical/construct_then_angle", + "angle_d6/dense_identical/prepared_vector", + "angle_d6/dense_varied/borrowed_slice", + "angle_d6/dense_varied/construct_then_angle", + "angle_d6/dense_varied/prepared_vector", + "angle_d6/maximum_small_angle/borrowed_slice", + "angle_d6/maximum_small_angle/construct_then_angle", + "angle_d6/maximum_small_angle/prepared_vector", + "angle_d6/mixed_scale/borrowed_slice", + "angle_d6/mixed_scale/construct_then_angle", + "angle_d6/mixed_scale/prepared_vector", + "angle_d6/near_antipodal/borrowed_slice", + "angle_d6/near_antipodal/construct_then_angle", + "angle_d6/near_antipodal/prepared_vector", + "angle_d6/near_parallel/borrowed_slice", + "angle_d6/near_parallel/construct_then_angle", + "angle_d6/near_parallel/prepared_vector", + "angle_d6/sparse_adjacent/borrowed_slice", + "angle_d6/sparse_adjacent/construct_then_angle", + "angle_d6/sparse_adjacent/prepared_vector", + "angle_d6/sparse_alternating/borrowed_slice", + "angle_d6/sparse_alternating/construct_then_angle", + "angle_d6/sparse_alternating/prepared_vector", + "angle_d6/sparse_antipodal/borrowed_slice", + "angle_d6/sparse_antipodal/construct_then_angle", + "angle_d6/sparse_antipodal/prepared_vector", + "angle_d6/sparse_identical/borrowed_slice", + "angle_d6/sparse_identical/construct_then_angle", + "angle_d6/sparse_identical/prepared_vector", + "angle_d6/subnormal/borrowed_slice", + "angle_d6/subnormal/construct_then_angle", + "angle_d6/subnormal/prepared_vector", + "angle_d6/subnormal_axes/borrowed_slice", + "angle_d6/subnormal_axes/construct_then_angle", + "angle_d6/subnormal_axes/prepared_vector", + "canonical_conversion_below_overflow_d2/rounded_array", + "canonical_conversion_below_overflow_d2/rounded_result", + "canonical_conversion_below_overflow_d2/strict_array", + "canonical_conversion_below_overflow_d2/strict_result", + "canonical_conversion_below_overflow_d3/rounded_array", + "canonical_conversion_below_overflow_d3/rounded_result", + "canonical_conversion_below_overflow_d3/strict_array", + "canonical_conversion_below_overflow_d3/strict_result", + "canonical_conversion_below_overflow_d4/rounded_array", + "canonical_conversion_below_overflow_d4/rounded_result", + "canonical_conversion_below_overflow_d4/strict_array", + "canonical_conversion_below_overflow_d4/strict_result", + "canonical_conversion_below_overflow_d5/rounded_array", + "canonical_conversion_below_overflow_d5/rounded_result", + "canonical_conversion_below_overflow_d5/strict_array", + "canonical_conversion_below_overflow_d5/strict_result", + "canonical_conversion_dyadic_d2/rounded_array", + "canonical_conversion_dyadic_d2/rounded_result", + "canonical_conversion_dyadic_d2/strict_array", + "canonical_conversion_dyadic_d2/strict_result", + "canonical_conversion_dyadic_d3/rounded_array", + "canonical_conversion_dyadic_d3/rounded_result", + "canonical_conversion_dyadic_d3/strict_array", + "canonical_conversion_dyadic_d3/strict_result", + "canonical_conversion_dyadic_d4/rounded_array", + "canonical_conversion_dyadic_d4/rounded_result", + "canonical_conversion_dyadic_d4/strict_array", + "canonical_conversion_dyadic_d4/strict_result", + "canonical_conversion_dyadic_d5/rounded_array", + "canonical_conversion_dyadic_d5/rounded_result", + "canonical_conversion_dyadic_d5/strict_array", + "canonical_conversion_dyadic_d5/strict_result", + "canonical_conversion_min_subnormal_d2/rounded_array", + "canonical_conversion_min_subnormal_d2/rounded_result", + "canonical_conversion_min_subnormal_d2/strict_array", + "canonical_conversion_min_subnormal_d2/strict_result", + "canonical_conversion_min_subnormal_d3/rounded_array", + "canonical_conversion_min_subnormal_d3/rounded_result", + "canonical_conversion_min_subnormal_d3/strict_array", + "canonical_conversion_min_subnormal_d3/strict_result", + "canonical_conversion_min_subnormal_d4/rounded_array", + "canonical_conversion_min_subnormal_d4/rounded_result", + "canonical_conversion_min_subnormal_d4/strict_array", + "canonical_conversion_min_subnormal_d4/strict_result", + "canonical_conversion_min_subnormal_d5/rounded_array", + "canonical_conversion_min_subnormal_d5/rounded_result", + "canonical_conversion_min_subnormal_d5/strict_array", + "canonical_conversion_min_subnormal_d5/strict_result", + "canonical_conversion_negative_underflow_d2/rounded_array", + "canonical_conversion_negative_underflow_d2/rounded_result", + "canonical_conversion_negative_underflow_d2/strict_array", + "canonical_conversion_negative_underflow_d2/strict_result", + "canonical_conversion_negative_underflow_d3/rounded_array", + "canonical_conversion_negative_underflow_d3/rounded_result", + "canonical_conversion_negative_underflow_d3/strict_array", + "canonical_conversion_negative_underflow_d3/strict_result", + "canonical_conversion_negative_underflow_d4/rounded_array", + "canonical_conversion_negative_underflow_d4/rounded_result", + "canonical_conversion_negative_underflow_d4/strict_array", + "canonical_conversion_negative_underflow_d4/strict_result", + "canonical_conversion_negative_underflow_d5/rounded_array", + "canonical_conversion_negative_underflow_d5/rounded_result", + "canonical_conversion_negative_underflow_d5/strict_array", + "canonical_conversion_negative_underflow_d5/strict_result", + "canonical_conversion_non_dyadic_d2/rounded_array", + "canonical_conversion_non_dyadic_d2/rounded_result", + "canonical_conversion_non_dyadic_d2/strict_array", + "canonical_conversion_non_dyadic_d2/strict_result", + "canonical_conversion_non_dyadic_d3/rounded_array", + "canonical_conversion_non_dyadic_d3/rounded_result", + "canonical_conversion_non_dyadic_d3/strict_array", + "canonical_conversion_non_dyadic_d3/strict_result", + "canonical_conversion_non_dyadic_d4/rounded_array", + "canonical_conversion_non_dyadic_d4/rounded_result", + "canonical_conversion_non_dyadic_d4/strict_array", + "canonical_conversion_non_dyadic_d4/strict_result", + "canonical_conversion_non_dyadic_d5/rounded_array", + "canonical_conversion_non_dyadic_d5/rounded_result", + "canonical_conversion_non_dyadic_d5/strict_array", + "canonical_conversion_non_dyadic_d5/strict_result", + "canonical_conversion_overflow_midpoint_d2/rounded_array", + "canonical_conversion_overflow_midpoint_d2/rounded_result", + "canonical_conversion_overflow_midpoint_d2/strict_array", + "canonical_conversion_overflow_midpoint_d2/strict_result", + "canonical_conversion_overflow_midpoint_d3/rounded_array", + "canonical_conversion_overflow_midpoint_d3/rounded_result", + "canonical_conversion_overflow_midpoint_d3/strict_array", + "canonical_conversion_overflow_midpoint_d3/strict_result", + "canonical_conversion_overflow_midpoint_d4/rounded_array", + "canonical_conversion_overflow_midpoint_d4/rounded_result", + "canonical_conversion_overflow_midpoint_d4/strict_array", + "canonical_conversion_overflow_midpoint_d4/strict_result", + "canonical_conversion_overflow_midpoint_d5/rounded_array", + "canonical_conversion_overflow_midpoint_d5/rounded_result", + "canonical_conversion_overflow_midpoint_d5/strict_array", + "canonical_conversion_overflow_midpoint_d5/strict_result", + "canonical_conversion_wide1024_d2/rounded_array", + "canonical_conversion_wide1024_d2/rounded_result", + "canonical_conversion_wide1024_d2/strict_array", + "canonical_conversion_wide1024_d2/strict_result", + "canonical_conversion_wide1024_d3/rounded_array", + "canonical_conversion_wide1024_d3/rounded_result", + "canonical_conversion_wide1024_d3/strict_array", + "canonical_conversion_wide1024_d3/strict_result", + "canonical_conversion_wide1024_d4/rounded_array", + "canonical_conversion_wide1024_d4/rounded_result", + "canonical_conversion_wide1024_d4/strict_array", + "canonical_conversion_wide1024_d4/strict_result", + "canonical_conversion_wide1024_d5/rounded_array", + "canonical_conversion_wide1024_d5/rounded_result", + "canonical_conversion_wide1024_d5/strict_array", + "canonical_conversion_wide1024_d5/strict_result", + "canonical_conversion_wide256_d2/rounded_array", + "canonical_conversion_wide256_d2/rounded_result", + "canonical_conversion_wide256_d2/strict_array", + "canonical_conversion_wide256_d2/strict_result", + "canonical_conversion_wide256_d3/rounded_array", + "canonical_conversion_wide256_d3/rounded_result", + "canonical_conversion_wide256_d3/strict_array", + "canonical_conversion_wide256_d3/strict_result", + "canonical_conversion_wide256_d4/rounded_array", + "canonical_conversion_wide256_d4/rounded_result", + "canonical_conversion_wide256_d4/strict_array", + "canonical_conversion_wide256_d4/strict_result", + "canonical_conversion_wide256_d5/rounded_array", + "canonical_conversion_wide256_d5/rounded_result", + "canonical_conversion_wide256_d5/strict_array", + "canonical_conversion_wide256_d5/strict_result", "d16/la_stack_det", "d16/la_stack_det_from_ldlt", "d16/la_stack_det_from_lu", @@ -25,33 +309,14 @@ required = [ "d16/la_stack_ldlt_solve", "d16/la_stack_lu", "d16/la_stack_lu_solve", + "d16/la_stack_norm2", + "d16/la_stack_norm2_scenario_descending", + "d16/la_stack_norm2_scenario_repeated_scale", + "d16/la_stack_norm2_scenario_sparse", + "d16/la_stack_norm2_scenario_wide_dynamic_range", "d16/la_stack_norm2_sq", "d16/la_stack_solve_from_ldlt", "d16/la_stack_solve_from_lu", - "d16/nalgebra_cholesky", - "d16/nalgebra_cholesky_solve", - "d16/nalgebra_det_from_cholesky", - "d16/nalgebra_det_from_lu", - "d16/nalgebra_det_via_lu", - "d16/nalgebra_dot", - "d16/nalgebra_inf_norm", - "d16/nalgebra_lu", - "d16/nalgebra_lu_solve", - "d16/nalgebra_norm_squared", - "d16/nalgebra_solve_from_cholesky", - "d16/nalgebra_solve_from_lu", - "d2/faer_det_from_ldlt", - "d2/faer_det_from_lu", - "d2/faer_det_via_lu", - "d2/faer_dot_native", - "d2/faer_inf_norm", - "d2/faer_ldlt", - "d2/faer_ldlt_solve", - "d2/faer_lu", - "d2/faer_lu_solve", - "d2/faer_norm2_sq", - "d2/faer_solve_from_ldlt", - "d2/faer_solve_from_lu", "d2/la_stack_det", "d2/la_stack_det_from_ldlt", "d2/la_stack_det_from_lu", @@ -62,33 +327,14 @@ required = [ "d2/la_stack_ldlt_solve", "d2/la_stack_lu", "d2/la_stack_lu_solve", + "d2/la_stack_norm2", + "d2/la_stack_norm2_scenario_descending", + "d2/la_stack_norm2_scenario_repeated_scale", + "d2/la_stack_norm2_scenario_sparse", + "d2/la_stack_norm2_scenario_wide_dynamic_range", "d2/la_stack_norm2_sq", "d2/la_stack_solve_from_ldlt", "d2/la_stack_solve_from_lu", - "d2/nalgebra_cholesky", - "d2/nalgebra_cholesky_solve", - "d2/nalgebra_det_from_cholesky", - "d2/nalgebra_det_from_lu", - "d2/nalgebra_det_via_lu", - "d2/nalgebra_dot", - "d2/nalgebra_inf_norm", - "d2/nalgebra_lu", - "d2/nalgebra_lu_solve", - "d2/nalgebra_norm_squared", - "d2/nalgebra_solve_from_cholesky", - "d2/nalgebra_solve_from_lu", - "d3/faer_det_from_ldlt", - "d3/faer_det_from_lu", - "d3/faer_det_via_lu", - "d3/faer_dot_native", - "d3/faer_inf_norm", - "d3/faer_ldlt", - "d3/faer_ldlt_solve", - "d3/faer_lu", - "d3/faer_lu_solve", - "d3/faer_norm2_sq", - "d3/faer_solve_from_ldlt", - "d3/faer_solve_from_lu", "d3/la_stack_det", "d3/la_stack_det_from_ldlt", "d3/la_stack_det_from_lu", @@ -99,33 +345,14 @@ required = [ "d3/la_stack_ldlt_solve", "d3/la_stack_lu", "d3/la_stack_lu_solve", + "d3/la_stack_norm2", + "d3/la_stack_norm2_scenario_descending", + "d3/la_stack_norm2_scenario_repeated_scale", + "d3/la_stack_norm2_scenario_sparse", + "d3/la_stack_norm2_scenario_wide_dynamic_range", "d3/la_stack_norm2_sq", "d3/la_stack_solve_from_ldlt", "d3/la_stack_solve_from_lu", - "d3/nalgebra_cholesky", - "d3/nalgebra_cholesky_solve", - "d3/nalgebra_det_from_cholesky", - "d3/nalgebra_det_from_lu", - "d3/nalgebra_det_via_lu", - "d3/nalgebra_dot", - "d3/nalgebra_inf_norm", - "d3/nalgebra_lu", - "d3/nalgebra_lu_solve", - "d3/nalgebra_norm_squared", - "d3/nalgebra_solve_from_cholesky", - "d3/nalgebra_solve_from_lu", - "d32/faer_det_from_ldlt", - "d32/faer_det_from_lu", - "d32/faer_det_via_lu", - "d32/faer_dot_native", - "d32/faer_inf_norm", - "d32/faer_ldlt", - "d32/faer_ldlt_solve", - "d32/faer_lu", - "d32/faer_lu_solve", - "d32/faer_norm2_sq", - "d32/faer_solve_from_ldlt", - "d32/faer_solve_from_lu", "d32/la_stack_det", "d32/la_stack_det_from_ldlt", "d32/la_stack_det_from_lu", @@ -136,33 +363,14 @@ required = [ "d32/la_stack_ldlt_solve", "d32/la_stack_lu", "d32/la_stack_lu_solve", + "d32/la_stack_norm2", + "d32/la_stack_norm2_scenario_descending", + "d32/la_stack_norm2_scenario_repeated_scale", + "d32/la_stack_norm2_scenario_sparse", + "d32/la_stack_norm2_scenario_wide_dynamic_range", "d32/la_stack_norm2_sq", "d32/la_stack_solve_from_ldlt", "d32/la_stack_solve_from_lu", - "d32/nalgebra_cholesky", - "d32/nalgebra_cholesky_solve", - "d32/nalgebra_det_from_cholesky", - "d32/nalgebra_det_from_lu", - "d32/nalgebra_det_via_lu", - "d32/nalgebra_dot", - "d32/nalgebra_inf_norm", - "d32/nalgebra_lu", - "d32/nalgebra_lu_solve", - "d32/nalgebra_norm_squared", - "d32/nalgebra_solve_from_cholesky", - "d32/nalgebra_solve_from_lu", - "d4/faer_det_from_ldlt", - "d4/faer_det_from_lu", - "d4/faer_det_via_lu", - "d4/faer_dot_native", - "d4/faer_inf_norm", - "d4/faer_ldlt", - "d4/faer_ldlt_solve", - "d4/faer_lu", - "d4/faer_lu_solve", - "d4/faer_norm2_sq", - "d4/faer_solve_from_ldlt", - "d4/faer_solve_from_lu", "d4/la_stack_det", "d4/la_stack_det_from_ldlt", "d4/la_stack_det_from_lu", @@ -173,33 +381,14 @@ required = [ "d4/la_stack_ldlt_solve", "d4/la_stack_lu", "d4/la_stack_lu_solve", + "d4/la_stack_norm2", + "d4/la_stack_norm2_scenario_descending", + "d4/la_stack_norm2_scenario_repeated_scale", + "d4/la_stack_norm2_scenario_sparse", + "d4/la_stack_norm2_scenario_wide_dynamic_range", "d4/la_stack_norm2_sq", "d4/la_stack_solve_from_ldlt", "d4/la_stack_solve_from_lu", - "d4/nalgebra_cholesky", - "d4/nalgebra_cholesky_solve", - "d4/nalgebra_det_from_cholesky", - "d4/nalgebra_det_from_lu", - "d4/nalgebra_det_via_lu", - "d4/nalgebra_dot", - "d4/nalgebra_inf_norm", - "d4/nalgebra_lu", - "d4/nalgebra_lu_solve", - "d4/nalgebra_norm_squared", - "d4/nalgebra_solve_from_cholesky", - "d4/nalgebra_solve_from_lu", - "d5/faer_det_from_ldlt", - "d5/faer_det_from_lu", - "d5/faer_det_via_lu", - "d5/faer_dot_native", - "d5/faer_inf_norm", - "d5/faer_ldlt", - "d5/faer_ldlt_solve", - "d5/faer_lu", - "d5/faer_lu_solve", - "d5/faer_norm2_sq", - "d5/faer_solve_from_ldlt", - "d5/faer_solve_from_lu", "d5/la_stack_det", "d5/la_stack_det_from_ldlt", "d5/la_stack_det_from_lu", @@ -210,33 +399,14 @@ required = [ "d5/la_stack_ldlt_solve", "d5/la_stack_lu", "d5/la_stack_lu_solve", + "d5/la_stack_norm2", + "d5/la_stack_norm2_scenario_descending", + "d5/la_stack_norm2_scenario_repeated_scale", + "d5/la_stack_norm2_scenario_sparse", + "d5/la_stack_norm2_scenario_wide_dynamic_range", "d5/la_stack_norm2_sq", "d5/la_stack_solve_from_ldlt", "d5/la_stack_solve_from_lu", - "d5/nalgebra_cholesky", - "d5/nalgebra_cholesky_solve", - "d5/nalgebra_det_from_cholesky", - "d5/nalgebra_det_from_lu", - "d5/nalgebra_det_via_lu", - "d5/nalgebra_dot", - "d5/nalgebra_inf_norm", - "d5/nalgebra_lu", - "d5/nalgebra_lu_solve", - "d5/nalgebra_norm_squared", - "d5/nalgebra_solve_from_cholesky", - "d5/nalgebra_solve_from_lu", - "d64/faer_det_from_ldlt", - "d64/faer_det_from_lu", - "d64/faer_det_via_lu", - "d64/faer_dot_native", - "d64/faer_inf_norm", - "d64/faer_ldlt", - "d64/faer_ldlt_solve", - "d64/faer_lu", - "d64/faer_lu_solve", - "d64/faer_norm2_sq", - "d64/faer_solve_from_ldlt", - "d64/faer_solve_from_lu", "d64/la_stack_det", "d64/la_stack_det_from_ldlt", "d64/la_stack_det_from_lu", @@ -247,33 +417,14 @@ required = [ "d64/la_stack_ldlt_solve", "d64/la_stack_lu", "d64/la_stack_lu_solve", + "d64/la_stack_norm2", + "d64/la_stack_norm2_scenario_descending", + "d64/la_stack_norm2_scenario_repeated_scale", + "d64/la_stack_norm2_scenario_sparse", + "d64/la_stack_norm2_scenario_wide_dynamic_range", "d64/la_stack_norm2_sq", "d64/la_stack_solve_from_ldlt", "d64/la_stack_solve_from_lu", - "d64/nalgebra_cholesky", - "d64/nalgebra_cholesky_solve", - "d64/nalgebra_det_from_cholesky", - "d64/nalgebra_det_from_lu", - "d64/nalgebra_det_via_lu", - "d64/nalgebra_dot", - "d64/nalgebra_inf_norm", - "d64/nalgebra_lu", - "d64/nalgebra_lu_solve", - "d64/nalgebra_norm_squared", - "d64/nalgebra_solve_from_cholesky", - "d64/nalgebra_solve_from_lu", - "d8/faer_det_from_ldlt", - "d8/faer_det_from_lu", - "d8/faer_det_via_lu", - "d8/faer_dot_native", - "d8/faer_inf_norm", - "d8/faer_ldlt", - "d8/faer_ldlt_solve", - "d8/faer_lu", - "d8/faer_lu_solve", - "d8/faer_norm2_sq", - "d8/faer_solve_from_ldlt", - "d8/faer_solve_from_lu", "d8/la_stack_det", "d8/la_stack_det_from_ldlt", "d8/la_stack_det_from_ldlt_balanced_range", @@ -289,21 +440,14 @@ required = [ "d8/la_stack_lu_ill_conditioned", "d8/la_stack_lu_pivoting", "d8/la_stack_lu_solve", + "d8/la_stack_norm2", + "d8/la_stack_norm2_scenario_descending", + "d8/la_stack_norm2_scenario_repeated_scale", + "d8/la_stack_norm2_scenario_sparse", + "d8/la_stack_norm2_scenario_wide_dynamic_range", "d8/la_stack_norm2_sq", "d8/la_stack_solve_from_ldlt", "d8/la_stack_solve_from_lu", - "d8/nalgebra_cholesky", - "d8/nalgebra_cholesky_solve", - "d8/nalgebra_det_from_cholesky", - "d8/nalgebra_det_from_lu", - "d8/nalgebra_det_via_lu", - "d8/nalgebra_dot", - "d8/nalgebra_inf_norm", - "d8/nalgebra_lu", - "d8/nalgebra_lu_solve", - "d8/nalgebra_norm_squared", - "d8/nalgebra_solve_from_cholesky", - "d8/nalgebra_solve_from_lu", "exact_d2/det", "exact_d2/det_direct", "exact_d2/det_direct_with_errbound", @@ -385,41 +529,734 @@ required = [ "exact_random_corpus_d5/solve_exact", "exact_random_corpus_d5/solve_exact_f64_result", "exact_random_corpus_d5/solve_exact_rounded_f64", - "rational_input_d2/det_big_rational_gaussian", + "gram/1x2/dependent/la_stack", + "gram/1x2/mixed_scale/la_stack", + "gram/1x2/near_dependent/la_stack", + "gram/1x2/orthogonal/la_stack", + "gram/2x2/dependent/la_stack", + "gram/2x2/mixed_scale/la_stack", + "gram/2x2/near_dependent/la_stack", + "gram/2x2/orthogonal/la_stack", + "gram/2x3/dependent/la_stack", + "gram/2x3/mixed_scale/la_stack", + "gram/2x3/near_dependent/la_stack", + "gram/2x3/orthogonal/la_stack", + "gram/3x3/dependent/la_stack", + "gram/3x3/mixed_scale/la_stack", + "gram/3x3/near_dependent/la_stack", + "gram/3x3/orthogonal/la_stack", + "gram/3x4/dependent/la_stack", + "gram/3x4/mixed_scale/la_stack", + "gram/3x4/near_dependent/la_stack", + "gram/3x4/orthogonal/la_stack", + "gram/4x4/dependent/la_stack", + "gram/4x4/mixed_scale/la_stack", + "gram/4x4/near_dependent/la_stack", + "gram/4x4/orthogonal/la_stack", + "gram/4x5/dependent/la_stack", + "gram/4x5/mixed_scale/la_stack", + "gram/4x5/near_dependent/la_stack", + "gram/4x5/orthogonal/la_stack", + "gram/5x5/dependent/la_stack", + "gram/5x5/mixed_scale/la_stack", + "gram/5x5/near_dependent/la_stack", + "gram/5x5/orthogonal/la_stack", + "gram/5x6/dependent/la_stack", + "gram/5x6/mixed_scale/la_stack", + "gram/5x6/near_dependent/la_stack", + "gram/5x6/orthogonal/la_stack", + "gram/6x6/dependent/la_stack", + "gram/6x6/mixed_scale/la_stack", + "gram/6x6/near_dependent/la_stack", + "gram/6x6/orthogonal/la_stack", + "gram/6x7/dependent/la_stack", + "gram/6x7/mixed_scale/la_stack", + "gram/6x7/near_dependent/la_stack", + "gram/6x7/orthogonal/la_stack", + "gram/7x7/dependent/la_stack", + "gram/7x7/mixed_scale/la_stack", + "gram/7x7/near_dependent/la_stack", + "gram/7x7/orthogonal/la_stack", + "gram/7x8/dependent/la_stack", + "gram/7x8/mixed_scale/la_stack", + "gram/7x8/near_dependent/la_stack", + "gram/7x8/orthogonal/la_stack", + "gram/8x8/dependent/la_stack", + "gram/8x8/mixed_scale/la_stack", + "gram/8x8/near_dependent/la_stack", + "gram/8x8/orthogonal/la_stack", + "interval_d3/dense_inconclusive", + "interval_d3/dense_sign", + "interval_d3/lifted_assembly", + "interval_d3/lifted_assembly_and_sign", + "interval_d3/sparse_sign", + "interval_d4/dense_inconclusive", + "interval_d4/dense_sign", + "interval_d4/lifted_assembly", + "interval_d4/lifted_assembly_and_sign", + "interval_d4/sparse_sign", + "interval_d5/dense_inconclusive", + "interval_d5/dense_sign", + "interval_d5/lifted_assembly", + "interval_d5/lifted_assembly_and_sign", + "interval_d5/sparse_sign", + "interval_d6/dense_inconclusive", + "interval_d6/dense_sign", + "interval_d6/lifted_assembly", + "interval_d6/lifted_assembly_and_sign", + "interval_d6/sparse_sign", + "interval_d7/dense_inconclusive", + "interval_d7/dense_sign", + "interval_d7/lifted_assembly", + "interval_d7/lifted_assembly_and_sign", + "interval_d7/sparse_sign", + "interval_det_sign/d4_conclusive_lifted", + "interval_det_sign/d4_inconclusive_lifted", + "interval_det_sign/d7_conclusive_lifted", + "interval_scalar/cancellation/add", + "interval_scalar/cancellation/multiply", + "interval_scalar/cancellation/square", + "interval_scalar/exact/add", + "interval_scalar/exact/multiply", + "interval_scalar/exact/square", + "interval_scalar/point/add", + "interval_scalar/point/multiply", + "interval_scalar/point/square", + "interval_scalar/subnormal/add", + "interval_scalar/subnormal/multiply", + "interval_scalar/subnormal/square", + "interval_scalar/zero/add", + "interval_scalar/zero/multiply", + "interval_scalar/zero/square", + "linear_form_d2_batch/origin/construction", + "linear_form_d2_batch/origin/prepared", + "linear_form_d2_batch/origin/with_construction", + "linear_form_d2_batch/translated/construction", + "linear_form_d2_batch/translated/prepared", + "linear_form_d2_batch/translated/with_construction", + "linear_form_d2_prepared/cancellation/difference", + "linear_form_d2_prepared/cancellation/difference_endpoints", + "linear_form_d2_prepared/cancellation/dot", + "linear_form_d2_prepared/cancellation/dot_endpoints", + "linear_form_d2_prepared/dense/difference", + "linear_form_d2_prepared/dense/difference_endpoints", + "linear_form_d2_prepared/dense/dot", + "linear_form_d2_prepared/dense/dot_endpoints", + "linear_form_d2_prepared/dense_inexact/difference", + "linear_form_d2_prepared/dense_inexact/difference_endpoints", + "linear_form_d2_prepared/dense_inexact/dot", + "linear_form_d2_prepared/dense_inexact/dot_endpoints", + "linear_form_d2_prepared/overflow/dot", + "linear_form_d2_prepared/sparse/difference", + "linear_form_d2_prepared/sparse/difference_endpoints", + "linear_form_d2_prepared/sparse/dot", + "linear_form_d2_prepared/sparse/dot_endpoints", + "linear_form_d2_prepared/underflow/difference", + "linear_form_d2_prepared/underflow/difference_endpoints", + "linear_form_d2_prepared/underflow/dot", + "linear_form_d2_prepared/underflow/dot_endpoints", + "linear_form_d3_batch/origin/construction", + "linear_form_d3_batch/origin/prepared", + "linear_form_d3_batch/origin/with_construction", + "linear_form_d3_batch/translated/construction", + "linear_form_d3_batch/translated/prepared", + "linear_form_d3_batch/translated/with_construction", + "linear_form_d3_prepared/cancellation/difference", + "linear_form_d3_prepared/cancellation/difference_endpoints", + "linear_form_d3_prepared/cancellation/dot", + "linear_form_d3_prepared/cancellation/dot_endpoints", + "linear_form_d3_prepared/dense/difference", + "linear_form_d3_prepared/dense/difference_endpoints", + "linear_form_d3_prepared/dense/dot", + "linear_form_d3_prepared/dense/dot_endpoints", + "linear_form_d3_prepared/dense_inexact/difference", + "linear_form_d3_prepared/dense_inexact/difference_endpoints", + "linear_form_d3_prepared/dense_inexact/dot", + "linear_form_d3_prepared/dense_inexact/dot_endpoints", + "linear_form_d3_prepared/overflow/dot", + "linear_form_d3_prepared/sparse/difference", + "linear_form_d3_prepared/sparse/difference_endpoints", + "linear_form_d3_prepared/sparse/dot", + "linear_form_d3_prepared/sparse/dot_endpoints", + "linear_form_d3_prepared/underflow/difference", + "linear_form_d3_prepared/underflow/difference_endpoints", + "linear_form_d3_prepared/underflow/dot", + "linear_form_d3_prepared/underflow/dot_endpoints", + "linear_form_d4/dot_bounded_inconclusive", + "linear_form_d4/dot_bounded_well_separated", + "linear_form_d4/dot_difference_bounded_inconclusive", + "linear_form_d4/dot_difference_bounded_well_separated", + "linear_form_d4/dot_plain_well_separated", + "linear_form_d4_batch/origin/construction", + "linear_form_d4_batch/origin/prepared", + "linear_form_d4_batch/origin/with_construction", + "linear_form_d4_batch/translated/construction", + "linear_form_d4_batch/translated/prepared", + "linear_form_d4_batch/translated/with_construction", + "linear_form_d4_prepared/cancellation/difference", + "linear_form_d4_prepared/cancellation/difference_endpoints", + "linear_form_d4_prepared/cancellation/dot", + "linear_form_d4_prepared/cancellation/dot_endpoints", + "linear_form_d4_prepared/dense/difference", + "linear_form_d4_prepared/dense/difference_endpoints", + "linear_form_d4_prepared/dense/dot", + "linear_form_d4_prepared/dense/dot_endpoints", + "linear_form_d4_prepared/dense_inexact/difference", + "linear_form_d4_prepared/dense_inexact/difference_endpoints", + "linear_form_d4_prepared/dense_inexact/dot", + "linear_form_d4_prepared/dense_inexact/dot_endpoints", + "linear_form_d4_prepared/overflow/dot", + "linear_form_d4_prepared/sparse/difference", + "linear_form_d4_prepared/sparse/difference_endpoints", + "linear_form_d4_prepared/sparse/dot", + "linear_form_d4_prepared/sparse/dot_endpoints", + "linear_form_d4_prepared/underflow/difference", + "linear_form_d4_prepared/underflow/difference_endpoints", + "linear_form_d4_prepared/underflow/dot", + "linear_form_d4_prepared/underflow/dot_endpoints", + "linear_form_d5_batch/origin/construction", + "linear_form_d5_batch/origin/prepared", + "linear_form_d5_batch/origin/with_construction", + "linear_form_d5_batch/translated/construction", + "linear_form_d5_batch/translated/prepared", + "linear_form_d5_batch/translated/with_construction", + "linear_form_d5_prepared/cancellation/difference", + "linear_form_d5_prepared/cancellation/difference_endpoints", + "linear_form_d5_prepared/cancellation/dot", + "linear_form_d5_prepared/cancellation/dot_endpoints", + "linear_form_d5_prepared/dense/difference", + "linear_form_d5_prepared/dense/difference_endpoints", + "linear_form_d5_prepared/dense/dot", + "linear_form_d5_prepared/dense/dot_endpoints", + "linear_form_d5_prepared/dense_inexact/difference", + "linear_form_d5_prepared/dense_inexact/difference_endpoints", + "linear_form_d5_prepared/dense_inexact/dot", + "linear_form_d5_prepared/dense_inexact/dot_endpoints", + "linear_form_d5_prepared/overflow/dot", + "linear_form_d5_prepared/sparse/difference", + "linear_form_d5_prepared/sparse/difference_endpoints", + "linear_form_d5_prepared/sparse/dot", + "linear_form_d5_prepared/sparse/dot_endpoints", + "linear_form_d5_prepared/underflow/difference", + "linear_form_d5_prepared/underflow/difference_endpoints", + "linear_form_d5_prepared/underflow/dot", + "linear_form_d5_prepared/underflow/dot_endpoints", + "linear_form_d6_batch/origin/construction", + "linear_form_d6_batch/origin/prepared", + "linear_form_d6_batch/origin/with_construction", + "linear_form_d6_batch/translated/construction", + "linear_form_d6_batch/translated/prepared", + "linear_form_d6_batch/translated/with_construction", + "linear_form_d6_prepared/cancellation/difference", + "linear_form_d6_prepared/cancellation/difference_endpoints", + "linear_form_d6_prepared/cancellation/dot", + "linear_form_d6_prepared/cancellation/dot_endpoints", + "linear_form_d6_prepared/dense/difference", + "linear_form_d6_prepared/dense/difference_endpoints", + "linear_form_d6_prepared/dense/dot", + "linear_form_d6_prepared/dense/dot_endpoints", + "linear_form_d6_prepared/dense_inexact/difference", + "linear_form_d6_prepared/dense_inexact/difference_endpoints", + "linear_form_d6_prepared/dense_inexact/dot", + "linear_form_d6_prepared/dense_inexact/dot_endpoints", + "linear_form_d6_prepared/overflow/dot", + "linear_form_d6_prepared/sparse/difference", + "linear_form_d6_prepared/sparse/difference_endpoints", + "linear_form_d6_prepared/sparse/dot", + "linear_form_d6_prepared/sparse/dot_endpoints", + "linear_form_d6_prepared/underflow/difference", + "linear_form_d6_prepared/underflow/difference_endpoints", + "linear_form_d6_prepared/underflow/dot", + "linear_form_d6_prepared/underflow/dot_endpoints", + "public_d2/det_bound", + "public_d2/det_direct", + "public_d2/det_with_bound", + "public_d2/first_asymmetry", + "public_d2/interval_det", + "public_d2/interval_matrix_access", + "public_d2/interval_matrix_from_matrix", + "public_d2/interval_matrix_from_points", + "public_d2/interval_matrix_from_rows", + "public_d2/interval_matrix_identity", + "public_d2/interval_matrix_set", + "public_d2/interval_matrix_zero", + "public_d2/is_symmetric", + "public_d2/matrix_access", + "public_d2/matrix_from_rows", + "public_d2/matrix_identity", + "public_d2/matrix_set", + "public_d2/matrix_zero", + "public_d2/vector_access", + "public_d2/vector_new", + "public_d2/vector_zero", + "public_d3/det_bound", + "public_d3/det_direct", + "public_d3/det_with_bound", + "public_d3/first_asymmetry", + "public_d3/interval_det", + "public_d3/interval_matrix_access", + "public_d3/interval_matrix_from_matrix", + "public_d3/interval_matrix_from_points", + "public_d3/interval_matrix_from_rows", + "public_d3/interval_matrix_identity", + "public_d3/interval_matrix_set", + "public_d3/interval_matrix_zero", + "public_d3/is_symmetric", + "public_d3/matrix_access", + "public_d3/matrix_from_rows", + "public_d3/matrix_identity", + "public_d3/matrix_set", + "public_d3/matrix_zero", + "public_d3/vector_access", + "public_d3/vector_new", + "public_d3/vector_zero", + "public_d4/det_bound", + "public_d4/det_direct", + "public_d4/det_with_bound", + "public_d4/first_asymmetry", + "public_d4/interval_det", + "public_d4/interval_matrix_access", + "public_d4/interval_matrix_from_matrix", + "public_d4/interval_matrix_from_points", + "public_d4/interval_matrix_from_rows", + "public_d4/interval_matrix_identity", + "public_d4/interval_matrix_set", + "public_d4/interval_matrix_zero", + "public_d4/is_symmetric", + "public_d4/matrix_access", + "public_d4/matrix_from_rows", + "public_d4/matrix_identity", + "public_d4/matrix_set", + "public_d4/matrix_zero", + "public_d4/vector_access", + "public_d4/vector_new", + "public_d4/vector_zero", + "public_d5/det_bound", + "public_d5/det_direct", + "public_d5/det_with_bound", + "public_d5/first_asymmetry", + "public_d5/interval_det", + "public_d5/interval_matrix_access", + "public_d5/interval_matrix_from_matrix", + "public_d5/interval_matrix_from_points", + "public_d5/interval_matrix_from_rows", + "public_d5/interval_matrix_identity", + "public_d5/interval_matrix_set", + "public_d5/interval_matrix_zero", + "public_d5/is_symmetric", + "public_d5/matrix_access", + "public_d5/matrix_from_rows", + "public_d5/matrix_identity", + "public_d5/matrix_set", + "public_d5/matrix_zero", + "public_d5/vector_access", + "public_d5/vector_new", + "public_d5/vector_zero", + "public_scalar/tolerance", + "public_scalar/interval_new", + "public_scalar/interval_point", + "public_scalar/interval_subtraction", + "public_scalar/interval_access", + "public_scalar/interval_negate", + "public_exact_d2/matrix_access", + "public_exact_d2/matrix_from_fn", + "public_exact_d2/matrix_from_rows", + "public_exact_d2/matrix_into_rows", + "public_exact_d2/matrix_zero", + "public_exact_d2/vector_access", + "public_exact_d2/vector_from_fn", + "public_exact_d2/vector_into_array", + "public_exact_d2/vector_new", + "public_exact_d2/vector_zero", + "public_exact_d3/matrix_access", + "public_exact_d3/matrix_from_fn", + "public_exact_d3/matrix_from_rows", + "public_exact_d3/matrix_into_rows", + "public_exact_d3/matrix_zero", + "public_exact_d3/vector_access", + "public_exact_d3/vector_from_fn", + "public_exact_d3/vector_into_array", + "public_exact_d3/vector_new", + "public_exact_d3/vector_zero", + "public_exact_d4/matrix_access", + "public_exact_d4/matrix_from_fn", + "public_exact_d4/matrix_from_rows", + "public_exact_d4/matrix_into_rows", + "public_exact_d4/matrix_zero", + "public_exact_d4/vector_access", + "public_exact_d4/vector_from_fn", + "public_exact_d4/vector_into_array", + "public_exact_d4/vector_new", + "public_exact_d4/vector_zero", + "public_exact_d5/matrix_access", + "public_exact_d5/matrix_from_fn", + "public_exact_d5/matrix_from_rows", + "public_exact_d5/matrix_into_rows", + "public_exact_d5/matrix_zero", + "public_exact_d5/vector_access", + "public_exact_d5/vector_from_fn", + "public_exact_d5/vector_into_array", + "public_exact_d5/vector_new", + "public_exact_d5/vector_zero", + "public_exact_scalar/rounded", + "public_exact_scalar/strict", "rational_input_d2/det_row_cleared_bareiss", "rational_input_d2/det_sign_row_cleared_bareiss", - "rational_input_d2/solve_big_rational_gaussian", "rational_input_d2/solve_row_cleared_bareiss", - "rational_input_d3/det_big_rational_gaussian", "rational_input_d3/det_row_cleared_bareiss", "rational_input_d3/det_sign_row_cleared_bareiss", - "rational_input_d3/solve_big_rational_gaussian", "rational_input_d3/solve_row_cleared_bareiss", - "rational_input_d4/det_big_rational_gaussian", "rational_input_d4/det_row_cleared_bareiss", "rational_input_d4/det_sign_row_cleared_bareiss", - "rational_input_d4/solve_big_rational_gaussian", "rational_input_d4/solve_row_cleared_bareiss", - "rational_input_d5/det_big_rational_gaussian", "rational_input_d5/det_row_cleared_bareiss", "rational_input_d5/det_sign_row_cleared_bareiss", - "rational_input_d5/solve_big_rational_gaussian", "rational_input_d5/solve_row_cleared_bareiss", - "rational_input_d6/det_big_rational_gaussian", "rational_input_d6/det_row_cleared_bareiss", "rational_input_d6/det_sign_row_cleared_bareiss", - "rational_input_d6/solve_big_rational_gaussian", "rational_input_d6/solve_row_cleared_bareiss", - "rational_input_d7/det_big_rational_gaussian", "rational_input_d7/det_row_cleared_bareiss", "rational_input_d7/det_sign_row_cleared_bareiss", - "rational_input_d7/solve_big_rational_gaussian", "rational_input_d7/solve_row_cleared_bareiss", - "rational_input_d8/det_big_rational_gaussian", "rational_input_d8/det_row_cleared_bareiss", "rational_input_d8/det_sign_row_cleared_bareiss", - "rational_input_d8/solve_big_rational_gaussian", "rational_input_d8/solve_row_cleared_bareiss", + "rational_input_wide1024_d2/det_row_cleared_bareiss", + "rational_input_wide1024_d2/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d2/solve_row_cleared_bareiss", + "rational_input_wide1024_d3/det_row_cleared_bareiss", + "rational_input_wide1024_d3/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d3/solve_row_cleared_bareiss", + "rational_input_wide1024_d4/det_row_cleared_bareiss", + "rational_input_wide1024_d4/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d4/solve_row_cleared_bareiss", + "rational_input_wide1024_d5/det_row_cleared_bareiss", + "rational_input_wide1024_d5/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d5/solve_row_cleared_bareiss", + "rational_input_wide1024_d6/det_row_cleared_bareiss", + "rational_input_wide1024_d6/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d6/solve_row_cleared_bareiss", + "rational_input_wide1024_d7/det_row_cleared_bareiss", + "rational_input_wide1024_d7/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d7/solve_row_cleared_bareiss", + "rational_input_wide1024_d8/det_row_cleared_bareiss", + "rational_input_wide1024_d8/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d8/solve_row_cleared_bareiss", + "rational_input_wide256_d2/det_row_cleared_bareiss", + "rational_input_wide256_d2/det_sign_row_cleared_bareiss", + "rational_input_wide256_d2/solve_row_cleared_bareiss", + "rational_input_wide256_d3/det_row_cleared_bareiss", + "rational_input_wide256_d3/det_sign_row_cleared_bareiss", + "rational_input_wide256_d3/solve_row_cleared_bareiss", + "rational_input_wide256_d4/det_row_cleared_bareiss", + "rational_input_wide256_d4/det_sign_row_cleared_bareiss", + "rational_input_wide256_d4/solve_row_cleared_bareiss", + "rational_input_wide256_d5/det_row_cleared_bareiss", + "rational_input_wide256_d5/det_sign_row_cleared_bareiss", + "rational_input_wide256_d5/solve_row_cleared_bareiss", + "rational_input_wide256_d6/det_row_cleared_bareiss", + "rational_input_wide256_d6/det_sign_row_cleared_bareiss", + "rational_input_wide256_d6/solve_row_cleared_bareiss", + "rational_input_wide256_d7/det_row_cleared_bareiss", + "rational_input_wide256_d7/det_sign_row_cleared_bareiss", + "rational_input_wide256_d7/solve_row_cleared_bareiss", + "rational_input_wide256_d8/det_row_cleared_bareiss", + "rational_input_wide256_d8/det_sign_row_cleared_bareiss", + "rational_input_wide256_d8/solve_row_cleared_bareiss", + "rational_solve/dense/dyadic_d2/adapter", + "rational_solve/dense/dyadic_d2/construct", + "rational_solve/dense/dyadic_d2/prepared", + "rational_solve/dense/dyadic_d3/adapter", + "rational_solve/dense/dyadic_d3/construct", + "rational_solve/dense/dyadic_d3/prepared", + "rational_solve/dense/dyadic_d4/adapter", + "rational_solve/dense/dyadic_d4/construct", + "rational_solve/dense/dyadic_d4/prepared", + "rational_solve/dense/dyadic_d5/adapter", + "rational_solve/dense/dyadic_d5/construct", + "rational_solve/dense/dyadic_d5/prepared", + "rational_solve/dense/dyadic_d6/adapter", + "rational_solve/dense/dyadic_d6/construct", + "rational_solve/dense/dyadic_d6/prepared", + "rational_solve/dense/dyadic_d7/adapter", + "rational_solve/dense/dyadic_d7/construct", + "rational_solve/dense/dyadic_d7/prepared", + "rational_solve/dense/dyadic_d8/adapter", + "rational_solve/dense/dyadic_d8/construct", + "rational_solve/dense/dyadic_d8/prepared", + "rational_solve/dense/rational_d2/adapter", + "rational_solve/dense/rational_d2/construct", + "rational_solve/dense/rational_d2/prepared", + "rational_solve/dense/rational_d3/adapter", + "rational_solve/dense/rational_d3/construct", + "rational_solve/dense/rational_d3/prepared", + "rational_solve/dense/rational_d4/adapter", + "rational_solve/dense/rational_d4/construct", + "rational_solve/dense/rational_d4/prepared", + "rational_solve/dense/rational_d5/adapter", + "rational_solve/dense/rational_d5/construct", + "rational_solve/dense/rational_d5/prepared", + "rational_solve/dense/rational_d6/adapter", + "rational_solve/dense/rational_d6/construct", + "rational_solve/dense/rational_d6/prepared", + "rational_solve/dense/rational_d7/adapter", + "rational_solve/dense/rational_d7/construct", + "rational_solve/dense/rational_d7/prepared", + "rational_solve/dense/rational_d8/adapter", + "rational_solve/dense/rational_d8/construct", + "rational_solve/dense/rational_d8/prepared", + "rational_solve/diagonal/dyadic_d2/adapter", + "rational_solve/diagonal/dyadic_d2/construct", + "rational_solve/diagonal/dyadic_d2/prepared", + "rational_solve/diagonal/dyadic_d3/adapter", + "rational_solve/diagonal/dyadic_d3/construct", + "rational_solve/diagonal/dyadic_d3/prepared", + "rational_solve/diagonal/dyadic_d4/adapter", + "rational_solve/diagonal/dyadic_d4/construct", + "rational_solve/diagonal/dyadic_d4/prepared", + "rational_solve/diagonal/dyadic_d5/adapter", + "rational_solve/diagonal/dyadic_d5/construct", + "rational_solve/diagonal/dyadic_d5/prepared", + "rational_solve/diagonal/dyadic_d6/adapter", + "rational_solve/diagonal/dyadic_d6/construct", + "rational_solve/diagonal/dyadic_d6/prepared", + "rational_solve/diagonal/dyadic_d7/adapter", + "rational_solve/diagonal/dyadic_d7/construct", + "rational_solve/diagonal/dyadic_d7/prepared", + "rational_solve/diagonal/dyadic_d8/adapter", + "rational_solve/diagonal/dyadic_d8/construct", + "rational_solve/diagonal/dyadic_d8/prepared", + "rational_solve/diagonal/rational_d2/adapter", + "rational_solve/diagonal/rational_d2/construct", + "rational_solve/diagonal/rational_d2/prepared", + "rational_solve/diagonal/rational_d3/adapter", + "rational_solve/diagonal/rational_d3/construct", + "rational_solve/diagonal/rational_d3/prepared", + "rational_solve/diagonal/rational_d4/adapter", + "rational_solve/diagonal/rational_d4/construct", + "rational_solve/diagonal/rational_d4/prepared", + "rational_solve/diagonal/rational_d5/adapter", + "rational_solve/diagonal/rational_d5/construct", + "rational_solve/diagonal/rational_d5/prepared", + "rational_solve/diagonal/rational_d6/adapter", + "rational_solve/diagonal/rational_d6/construct", + "rational_solve/diagonal/rational_d6/prepared", + "rational_solve/diagonal/rational_d7/adapter", + "rational_solve/diagonal/rational_d7/construct", + "rational_solve/diagonal/rational_d7/prepared", + "rational_solve/diagonal/rational_d8/adapter", + "rational_solve/diagonal/rational_d8/construct", + "rational_solve/diagonal/rational_d8/prepared", + "rational_solve/lower/dyadic_d2/adapter", + "rational_solve/lower/dyadic_d2/construct", + "rational_solve/lower/dyadic_d2/prepared", + "rational_solve/lower/dyadic_d3/adapter", + "rational_solve/lower/dyadic_d3/construct", + "rational_solve/lower/dyadic_d3/prepared", + "rational_solve/lower/dyadic_d4/adapter", + "rational_solve/lower/dyadic_d4/construct", + "rational_solve/lower/dyadic_d4/prepared", + "rational_solve/lower/dyadic_d5/adapter", + "rational_solve/lower/dyadic_d5/construct", + "rational_solve/lower/dyadic_d5/prepared", + "rational_solve/lower/dyadic_d6/adapter", + "rational_solve/lower/dyadic_d6/construct", + "rational_solve/lower/dyadic_d6/prepared", + "rational_solve/lower/dyadic_d7/adapter", + "rational_solve/lower/dyadic_d7/construct", + "rational_solve/lower/dyadic_d7/prepared", + "rational_solve/lower/dyadic_d8/adapter", + "rational_solve/lower/dyadic_d8/construct", + "rational_solve/lower/dyadic_d8/prepared", + "rational_solve/lower/rational_d2/adapter", + "rational_solve/lower/rational_d2/construct", + "rational_solve/lower/rational_d2/prepared", + "rational_solve/lower/rational_d3/adapter", + "rational_solve/lower/rational_d3/construct", + "rational_solve/lower/rational_d3/prepared", + "rational_solve/lower/rational_d4/adapter", + "rational_solve/lower/rational_d4/construct", + "rational_solve/lower/rational_d4/prepared", + "rational_solve/lower/rational_d5/adapter", + "rational_solve/lower/rational_d5/construct", + "rational_solve/lower/rational_d5/prepared", + "rational_solve/lower/rational_d6/adapter", + "rational_solve/lower/rational_d6/construct", + "rational_solve/lower/rational_d6/prepared", + "rational_solve/lower/rational_d7/adapter", + "rational_solve/lower/rational_d7/construct", + "rational_solve/lower/rational_d7/prepared", + "rational_solve/lower/rational_d8/adapter", + "rational_solve/lower/rational_d8/construct", + "rational_solve/lower/rational_d8/prepared", + "rational_solve/permuted_lower/dyadic_d2/adapter", + "rational_solve/permuted_lower/dyadic_d2/construct", + "rational_solve/permuted_lower/dyadic_d2/prepared", + "rational_solve/permuted_lower/dyadic_d3/adapter", + "rational_solve/permuted_lower/dyadic_d3/construct", + "rational_solve/permuted_lower/dyadic_d3/prepared", + "rational_solve/permuted_lower/dyadic_d4/adapter", + "rational_solve/permuted_lower/dyadic_d4/construct", + "rational_solve/permuted_lower/dyadic_d4/prepared", + "rational_solve/permuted_lower/dyadic_d5/adapter", + "rational_solve/permuted_lower/dyadic_d5/construct", + "rational_solve/permuted_lower/dyadic_d5/prepared", + "rational_solve/permuted_lower/dyadic_d6/adapter", + "rational_solve/permuted_lower/dyadic_d6/construct", + "rational_solve/permuted_lower/dyadic_d6/prepared", + "rational_solve/permuted_lower/dyadic_d7/adapter", + "rational_solve/permuted_lower/dyadic_d7/construct", + "rational_solve/permuted_lower/dyadic_d7/prepared", + "rational_solve/permuted_lower/dyadic_d8/adapter", + "rational_solve/permuted_lower/dyadic_d8/construct", + "rational_solve/permuted_lower/dyadic_d8/prepared", + "rational_solve/permuted_lower/rational_d2/adapter", + "rational_solve/permuted_lower/rational_d2/construct", + "rational_solve/permuted_lower/rational_d2/prepared", + "rational_solve/permuted_lower/rational_d3/adapter", + "rational_solve/permuted_lower/rational_d3/construct", + "rational_solve/permuted_lower/rational_d3/prepared", + "rational_solve/permuted_lower/rational_d4/adapter", + "rational_solve/permuted_lower/rational_d4/construct", + "rational_solve/permuted_lower/rational_d4/prepared", + "rational_solve/permuted_lower/rational_d5/adapter", + "rational_solve/permuted_lower/rational_d5/construct", + "rational_solve/permuted_lower/rational_d5/prepared", + "rational_solve/permuted_lower/rational_d6/adapter", + "rational_solve/permuted_lower/rational_d6/construct", + "rational_solve/permuted_lower/rational_d6/prepared", + "rational_solve/permuted_lower/rational_d7/adapter", + "rational_solve/permuted_lower/rational_d7/construct", + "rational_solve/permuted_lower/rational_d7/prepared", + "rational_solve/permuted_lower/rational_d8/adapter", + "rational_solve/permuted_lower/rational_d8/construct", + "rational_solve/permuted_lower/rational_d8/prepared", + "rational_solve/permuted_upper/dyadic_d2/adapter", + "rational_solve/permuted_upper/dyadic_d2/construct", + "rational_solve/permuted_upper/dyadic_d2/prepared", + "rational_solve/permuted_upper/dyadic_d3/adapter", + "rational_solve/permuted_upper/dyadic_d3/construct", + "rational_solve/permuted_upper/dyadic_d3/prepared", + "rational_solve/permuted_upper/dyadic_d4/adapter", + "rational_solve/permuted_upper/dyadic_d4/construct", + "rational_solve/permuted_upper/dyadic_d4/prepared", + "rational_solve/permuted_upper/dyadic_d5/adapter", + "rational_solve/permuted_upper/dyadic_d5/construct", + "rational_solve/permuted_upper/dyadic_d5/prepared", + "rational_solve/permuted_upper/dyadic_d6/adapter", + "rational_solve/permuted_upper/dyadic_d6/construct", + "rational_solve/permuted_upper/dyadic_d6/prepared", + "rational_solve/permuted_upper/dyadic_d7/adapter", + "rational_solve/permuted_upper/dyadic_d7/construct", + "rational_solve/permuted_upper/dyadic_d7/prepared", + "rational_solve/permuted_upper/dyadic_d8/adapter", + "rational_solve/permuted_upper/dyadic_d8/construct", + "rational_solve/permuted_upper/dyadic_d8/prepared", + "rational_solve/permuted_upper/rational_d2/adapter", + "rational_solve/permuted_upper/rational_d2/construct", + "rational_solve/permuted_upper/rational_d2/prepared", + "rational_solve/permuted_upper/rational_d3/adapter", + "rational_solve/permuted_upper/rational_d3/construct", + "rational_solve/permuted_upper/rational_d3/prepared", + "rational_solve/permuted_upper/rational_d4/adapter", + "rational_solve/permuted_upper/rational_d4/construct", + "rational_solve/permuted_upper/rational_d4/prepared", + "rational_solve/permuted_upper/rational_d5/adapter", + "rational_solve/permuted_upper/rational_d5/construct", + "rational_solve/permuted_upper/rational_d5/prepared", + "rational_solve/permuted_upper/rational_d6/adapter", + "rational_solve/permuted_upper/rational_d6/construct", + "rational_solve/permuted_upper/rational_d6/prepared", + "rational_solve/permuted_upper/rational_d7/adapter", + "rational_solve/permuted_upper/rational_d7/construct", + "rational_solve/permuted_upper/rational_d7/prepared", + "rational_solve/permuted_upper/rational_d8/adapter", + "rational_solve/permuted_upper/rational_d8/construct", + "rational_solve/permuted_upper/rational_d8/prepared", + "rational_solve/sparse/dyadic_d2/adapter", + "rational_solve/sparse/dyadic_d2/construct", + "rational_solve/sparse/dyadic_d2/prepared", + "rational_solve/sparse/dyadic_d3/adapter", + "rational_solve/sparse/dyadic_d3/construct", + "rational_solve/sparse/dyadic_d3/prepared", + "rational_solve/sparse/dyadic_d4/adapter", + "rational_solve/sparse/dyadic_d4/construct", + "rational_solve/sparse/dyadic_d4/prepared", + "rational_solve/sparse/dyadic_d5/adapter", + "rational_solve/sparse/dyadic_d5/construct", + "rational_solve/sparse/dyadic_d5/prepared", + "rational_solve/sparse/dyadic_d6/adapter", + "rational_solve/sparse/dyadic_d6/construct", + "rational_solve/sparse/dyadic_d6/prepared", + "rational_solve/sparse/dyadic_d7/adapter", + "rational_solve/sparse/dyadic_d7/construct", + "rational_solve/sparse/dyadic_d7/prepared", + "rational_solve/sparse/dyadic_d8/adapter", + "rational_solve/sparse/dyadic_d8/construct", + "rational_solve/sparse/dyadic_d8/prepared", + "rational_solve/sparse/rational_d2/adapter", + "rational_solve/sparse/rational_d2/construct", + "rational_solve/sparse/rational_d2/prepared", + "rational_solve/sparse/rational_d3/adapter", + "rational_solve/sparse/rational_d3/construct", + "rational_solve/sparse/rational_d3/prepared", + "rational_solve/sparse/rational_d4/adapter", + "rational_solve/sparse/rational_d4/construct", + "rational_solve/sparse/rational_d4/prepared", + "rational_solve/sparse/rational_d5/adapter", + "rational_solve/sparse/rational_d5/construct", + "rational_solve/sparse/rational_d5/prepared", + "rational_solve/sparse/rational_d6/adapter", + "rational_solve/sparse/rational_d6/construct", + "rational_solve/sparse/rational_d6/prepared", + "rational_solve/sparse/rational_d7/adapter", + "rational_solve/sparse/rational_d7/construct", + "rational_solve/sparse/rational_d7/prepared", + "rational_solve/sparse/rational_d8/adapter", + "rational_solve/sparse/rational_d8/construct", + "rational_solve/sparse/rational_d8/prepared", + "rational_solve/upper/dyadic_d2/adapter", + "rational_solve/upper/dyadic_d2/construct", + "rational_solve/upper/dyadic_d2/prepared", + "rational_solve/upper/dyadic_d3/adapter", + "rational_solve/upper/dyadic_d3/construct", + "rational_solve/upper/dyadic_d3/prepared", + "rational_solve/upper/dyadic_d4/adapter", + "rational_solve/upper/dyadic_d4/construct", + "rational_solve/upper/dyadic_d4/prepared", + "rational_solve/upper/dyadic_d5/adapter", + "rational_solve/upper/dyadic_d5/construct", + "rational_solve/upper/dyadic_d5/prepared", + "rational_solve/upper/dyadic_d6/adapter", + "rational_solve/upper/dyadic_d6/construct", + "rational_solve/upper/dyadic_d6/prepared", + "rational_solve/upper/dyadic_d7/adapter", + "rational_solve/upper/dyadic_d7/construct", + "rational_solve/upper/dyadic_d7/prepared", + "rational_solve/upper/dyadic_d8/adapter", + "rational_solve/upper/dyadic_d8/construct", + "rational_solve/upper/dyadic_d8/prepared", + "rational_solve/upper/rational_d2/adapter", + "rational_solve/upper/rational_d2/construct", + "rational_solve/upper/rational_d2/prepared", + "rational_solve/upper/rational_d3/adapter", + "rational_solve/upper/rational_d3/construct", + "rational_solve/upper/rational_d3/prepared", + "rational_solve/upper/rational_d4/adapter", + "rational_solve/upper/rational_d4/construct", + "rational_solve/upper/rational_d4/prepared", + "rational_solve/upper/rational_d5/adapter", + "rational_solve/upper/rational_d5/construct", + "rational_solve/upper/rational_d5/prepared", + "rational_solve/upper/rational_d6/adapter", + "rational_solve/upper/rational_d6/construct", + "rational_solve/upper/rational_d6/prepared", + "rational_solve/upper/rational_d7/adapter", + "rational_solve/upper/rational_d7/construct", + "rational_solve/upper/rational_d7/prepared", + "rational_solve/upper/rational_d8/adapter", + "rational_solve/upper/rational_d8/construct", + "rational_solve/upper/rational_d8/prepared", ] raw-files = [ "benchmark.json", "estimates.json", "sample.json", "tukey.json" ] sample-count = 100 @@ -428,18 +1265,302 @@ confidence-level = 0.95 unit = "ns" [storage-paths] -"d16/faer_det_from_ldlt" = "d16/faer_det_from_ldlt" -"d16/faer_det_from_lu" = "d16/faer_det_from_lu" -"d16/faer_det_via_lu" = "d16/faer_det_via_lu" -"d16/faer_dot_native" = "d16/faer_dot_native" -"d16/faer_inf_norm" = "d16/faer_inf_norm" -"d16/faer_ldlt" = "d16/faer_ldlt" -"d16/faer_ldlt_solve" = "d16/faer_ldlt_solve" -"d16/faer_lu" = "d16/faer_lu" -"d16/faer_lu_solve" = "d16/faer_lu_solve" -"d16/faer_norm2_sq" = "d16/faer_norm2_sq" -"d16/faer_solve_from_ldlt" = "d16/faer_solve_from_ldlt" -"d16/faer_solve_from_lu" = "d16/faer_solve_from_lu" +"angle_d3/dense/borrowed_slice" = "angle_d3_dense/borrowed_slice" +"angle_d3/dense/construct_then_angle" = "angle_d3_dense/construct_then_angle" +"angle_d3/dense/prepared_vector" = "angle_d3_dense/prepared_vector" +"angle_d3/dense_antipodal/borrowed_slice" = "angle_d3_dense_antipodal/borrowed_slice" +"angle_d3/dense_antipodal/construct_then_angle" = "angle_d3_dense_antipodal/construct_then_angle" +"angle_d3/dense_antipodal/prepared_vector" = "angle_d3_dense_antipodal/prepared_vector" +"angle_d3/dense_identical/borrowed_slice" = "angle_d3_dense_identical/borrowed_slice" +"angle_d3/dense_identical/construct_then_angle" = "angle_d3_dense_identical/construct_then_angle" +"angle_d3/dense_identical/prepared_vector" = "angle_d3_dense_identical/prepared_vector" +"angle_d3/dense_varied/borrowed_slice" = "angle_d3_dense_varied/borrowed_slice" +"angle_d3/dense_varied/construct_then_angle" = "angle_d3_dense_varied/construct_then_angle" +"angle_d3/dense_varied/prepared_vector" = "angle_d3_dense_varied/prepared_vector" +"angle_d3/maximum_small_angle/borrowed_slice" = "angle_d3_maximum_small_angle/borrowed_slice" +"angle_d3/maximum_small_angle/construct_then_angle" = "angle_d3_maximum_small_angle/construct_then_angle" +"angle_d3/maximum_small_angle/prepared_vector" = "angle_d3_maximum_small_angle/prepared_vector" +"angle_d3/mixed_scale/borrowed_slice" = "angle_d3_mixed_scale/borrowed_slice" +"angle_d3/mixed_scale/construct_then_angle" = "angle_d3_mixed_scale/construct_then_angle" +"angle_d3/mixed_scale/prepared_vector" = "angle_d3_mixed_scale/prepared_vector" +"angle_d3/near_antipodal/borrowed_slice" = "angle_d3_near_antipodal/borrowed_slice" +"angle_d3/near_antipodal/construct_then_angle" = "angle_d3_near_antipodal/construct_then_angle" +"angle_d3/near_antipodal/prepared_vector" = "angle_d3_near_antipodal/prepared_vector" +"angle_d3/near_parallel/borrowed_slice" = "angle_d3_near_parallel/borrowed_slice" +"angle_d3/near_parallel/construct_then_angle" = "angle_d3_near_parallel/construct_then_angle" +"angle_d3/near_parallel/prepared_vector" = "angle_d3_near_parallel/prepared_vector" +"angle_d3/sparse_adjacent/borrowed_slice" = "angle_d3_sparse_adjacent/borrowed_slice" +"angle_d3/sparse_adjacent/construct_then_angle" = "angle_d3_sparse_adjacent/construct_then_angle" +"angle_d3/sparse_adjacent/prepared_vector" = "angle_d3_sparse_adjacent/prepared_vector" +"angle_d3/sparse_alternating/borrowed_slice" = "angle_d3_sparse_alternating/borrowed_slice" +"angle_d3/sparse_alternating/construct_then_angle" = "angle_d3_sparse_alternating/construct_then_angle" +"angle_d3/sparse_alternating/prepared_vector" = "angle_d3_sparse_alternating/prepared_vector" +"angle_d3/sparse_antipodal/borrowed_slice" = "angle_d3_sparse_antipodal/borrowed_slice" +"angle_d3/sparse_antipodal/construct_then_angle" = "angle_d3_sparse_antipodal/construct_then_angle" +"angle_d3/sparse_antipodal/prepared_vector" = "angle_d3_sparse_antipodal/prepared_vector" +"angle_d3/sparse_identical/borrowed_slice" = "angle_d3_sparse_identical/borrowed_slice" +"angle_d3/sparse_identical/construct_then_angle" = "angle_d3_sparse_identical/construct_then_angle" +"angle_d3/sparse_identical/prepared_vector" = "angle_d3_sparse_identical/prepared_vector" +"angle_d3/subnormal/borrowed_slice" = "angle_d3_subnormal/borrowed_slice" +"angle_d3/subnormal/construct_then_angle" = "angle_d3_subnormal/construct_then_angle" +"angle_d3/subnormal/prepared_vector" = "angle_d3_subnormal/prepared_vector" +"angle_d3/subnormal_axes/borrowed_slice" = "angle_d3_subnormal_axes/borrowed_slice" +"angle_d3/subnormal_axes/construct_then_angle" = "angle_d3_subnormal_axes/construct_then_angle" +"angle_d3/subnormal_axes/prepared_vector" = "angle_d3_subnormal_axes/prepared_vector" +"angle_d4/dense/borrowed_slice" = "angle_d4_dense/borrowed_slice" +"angle_d4/dense/construct_then_angle" = "angle_d4_dense/construct_then_angle" +"angle_d4/dense/prepared_vector" = "angle_d4_dense/prepared_vector" +"angle_d4/dense_antipodal/borrowed_slice" = "angle_d4_dense_antipodal/borrowed_slice" +"angle_d4/dense_antipodal/construct_then_angle" = "angle_d4_dense_antipodal/construct_then_angle" +"angle_d4/dense_antipodal/prepared_vector" = "angle_d4_dense_antipodal/prepared_vector" +"angle_d4/dense_identical/borrowed_slice" = "angle_d4_dense_identical/borrowed_slice" +"angle_d4/dense_identical/construct_then_angle" = "angle_d4_dense_identical/construct_then_angle" +"angle_d4/dense_identical/prepared_vector" = "angle_d4_dense_identical/prepared_vector" +"angle_d4/dense_varied/borrowed_slice" = "angle_d4_dense_varied/borrowed_slice" +"angle_d4/dense_varied/construct_then_angle" = "angle_d4_dense_varied/construct_then_angle" +"angle_d4/dense_varied/prepared_vector" = "angle_d4_dense_varied/prepared_vector" +"angle_d4/maximum_small_angle/borrowed_slice" = "angle_d4_maximum_small_angle/borrowed_slice" +"angle_d4/maximum_small_angle/construct_then_angle" = "angle_d4_maximum_small_angle/construct_then_angle" +"angle_d4/maximum_small_angle/prepared_vector" = "angle_d4_maximum_small_angle/prepared_vector" +"angle_d4/mixed_scale/borrowed_slice" = "angle_d4_mixed_scale/borrowed_slice" +"angle_d4/mixed_scale/construct_then_angle" = "angle_d4_mixed_scale/construct_then_angle" +"angle_d4/mixed_scale/prepared_vector" = "angle_d4_mixed_scale/prepared_vector" +"angle_d4/near_antipodal/borrowed_slice" = "angle_d4_near_antipodal/borrowed_slice" +"angle_d4/near_antipodal/construct_then_angle" = "angle_d4_near_antipodal/construct_then_angle" +"angle_d4/near_antipodal/prepared_vector" = "angle_d4_near_antipodal/prepared_vector" +"angle_d4/near_parallel/borrowed_slice" = "angle_d4_near_parallel/borrowed_slice" +"angle_d4/near_parallel/construct_then_angle" = "angle_d4_near_parallel/construct_then_angle" +"angle_d4/near_parallel/prepared_vector" = "angle_d4_near_parallel/prepared_vector" +"angle_d4/sparse_adjacent/borrowed_slice" = "angle_d4_sparse_adjacent/borrowed_slice" +"angle_d4/sparse_adjacent/construct_then_angle" = "angle_d4_sparse_adjacent/construct_then_angle" +"angle_d4/sparse_adjacent/prepared_vector" = "angle_d4_sparse_adjacent/prepared_vector" +"angle_d4/sparse_alternating/borrowed_slice" = "angle_d4_sparse_alternating/borrowed_slice" +"angle_d4/sparse_alternating/construct_then_angle" = "angle_d4_sparse_alternating/construct_then_angle" +"angle_d4/sparse_alternating/prepared_vector" = "angle_d4_sparse_alternating/prepared_vector" +"angle_d4/sparse_antipodal/borrowed_slice" = "angle_d4_sparse_antipodal/borrowed_slice" +"angle_d4/sparse_antipodal/construct_then_angle" = "angle_d4_sparse_antipodal/construct_then_angle" +"angle_d4/sparse_antipodal/prepared_vector" = "angle_d4_sparse_antipodal/prepared_vector" +"angle_d4/sparse_identical/borrowed_slice" = "angle_d4_sparse_identical/borrowed_slice" +"angle_d4/sparse_identical/construct_then_angle" = "angle_d4_sparse_identical/construct_then_angle" +"angle_d4/sparse_identical/prepared_vector" = "angle_d4_sparse_identical/prepared_vector" +"angle_d4/subnormal/borrowed_slice" = "angle_d4_subnormal/borrowed_slice" +"angle_d4/subnormal/construct_then_angle" = "angle_d4_subnormal/construct_then_angle" +"angle_d4/subnormal/prepared_vector" = "angle_d4_subnormal/prepared_vector" +"angle_d4/subnormal_axes/borrowed_slice" = "angle_d4_subnormal_axes/borrowed_slice" +"angle_d4/subnormal_axes/construct_then_angle" = "angle_d4_subnormal_axes/construct_then_angle" +"angle_d4/subnormal_axes/prepared_vector" = "angle_d4_subnormal_axes/prepared_vector" +"angle_d5/dense/borrowed_slice" = "angle_d5_dense/borrowed_slice" +"angle_d5/dense/construct_then_angle" = "angle_d5_dense/construct_then_angle" +"angle_d5/dense/prepared_vector" = "angle_d5_dense/prepared_vector" +"angle_d5/dense_antipodal/borrowed_slice" = "angle_d5_dense_antipodal/borrowed_slice" +"angle_d5/dense_antipodal/construct_then_angle" = "angle_d5_dense_antipodal/construct_then_angle" +"angle_d5/dense_antipodal/prepared_vector" = "angle_d5_dense_antipodal/prepared_vector" +"angle_d5/dense_identical/borrowed_slice" = "angle_d5_dense_identical/borrowed_slice" +"angle_d5/dense_identical/construct_then_angle" = "angle_d5_dense_identical/construct_then_angle" +"angle_d5/dense_identical/prepared_vector" = "angle_d5_dense_identical/prepared_vector" +"angle_d5/dense_varied/borrowed_slice" = "angle_d5_dense_varied/borrowed_slice" +"angle_d5/dense_varied/construct_then_angle" = "angle_d5_dense_varied/construct_then_angle" +"angle_d5/dense_varied/prepared_vector" = "angle_d5_dense_varied/prepared_vector" +"angle_d5/maximum_small_angle/borrowed_slice" = "angle_d5_maximum_small_angle/borrowed_slice" +"angle_d5/maximum_small_angle/construct_then_angle" = "angle_d5_maximum_small_angle/construct_then_angle" +"angle_d5/maximum_small_angle/prepared_vector" = "angle_d5_maximum_small_angle/prepared_vector" +"angle_d5/mixed_scale/borrowed_slice" = "angle_d5_mixed_scale/borrowed_slice" +"angle_d5/mixed_scale/construct_then_angle" = "angle_d5_mixed_scale/construct_then_angle" +"angle_d5/mixed_scale/prepared_vector" = "angle_d5_mixed_scale/prepared_vector" +"angle_d5/near_antipodal/borrowed_slice" = "angle_d5_near_antipodal/borrowed_slice" +"angle_d5/near_antipodal/construct_then_angle" = "angle_d5_near_antipodal/construct_then_angle" +"angle_d5/near_antipodal/prepared_vector" = "angle_d5_near_antipodal/prepared_vector" +"angle_d5/near_parallel/borrowed_slice" = "angle_d5_near_parallel/borrowed_slice" +"angle_d5/near_parallel/construct_then_angle" = "angle_d5_near_parallel/construct_then_angle" +"angle_d5/near_parallel/prepared_vector" = "angle_d5_near_parallel/prepared_vector" +"angle_d5/sparse_adjacent/borrowed_slice" = "angle_d5_sparse_adjacent/borrowed_slice" +"angle_d5/sparse_adjacent/construct_then_angle" = "angle_d5_sparse_adjacent/construct_then_angle" +"angle_d5/sparse_adjacent/prepared_vector" = "angle_d5_sparse_adjacent/prepared_vector" +"angle_d5/sparse_alternating/borrowed_slice" = "angle_d5_sparse_alternating/borrowed_slice" +"angle_d5/sparse_alternating/construct_then_angle" = "angle_d5_sparse_alternating/construct_then_angle" +"angle_d5/sparse_alternating/prepared_vector" = "angle_d5_sparse_alternating/prepared_vector" +"angle_d5/sparse_antipodal/borrowed_slice" = "angle_d5_sparse_antipodal/borrowed_slice" +"angle_d5/sparse_antipodal/construct_then_angle" = "angle_d5_sparse_antipodal/construct_then_angle" +"angle_d5/sparse_antipodal/prepared_vector" = "angle_d5_sparse_antipodal/prepared_vector" +"angle_d5/sparse_identical/borrowed_slice" = "angle_d5_sparse_identical/borrowed_slice" +"angle_d5/sparse_identical/construct_then_angle" = "angle_d5_sparse_identical/construct_then_angle" +"angle_d5/sparse_identical/prepared_vector" = "angle_d5_sparse_identical/prepared_vector" +"angle_d5/subnormal/borrowed_slice" = "angle_d5_subnormal/borrowed_slice" +"angle_d5/subnormal/construct_then_angle" = "angle_d5_subnormal/construct_then_angle" +"angle_d5/subnormal/prepared_vector" = "angle_d5_subnormal/prepared_vector" +"angle_d5/subnormal_axes/borrowed_slice" = "angle_d5_subnormal_axes/borrowed_slice" +"angle_d5/subnormal_axes/construct_then_angle" = "angle_d5_subnormal_axes/construct_then_angle" +"angle_d5/subnormal_axes/prepared_vector" = "angle_d5_subnormal_axes/prepared_vector" +"angle_d6/dense/borrowed_slice" = "angle_d6_dense/borrowed_slice" +"angle_d6/dense/construct_then_angle" = "angle_d6_dense/construct_then_angle" +"angle_d6/dense/prepared_vector" = "angle_d6_dense/prepared_vector" +"angle_d6/dense_antipodal/borrowed_slice" = "angle_d6_dense_antipodal/borrowed_slice" +"angle_d6/dense_antipodal/construct_then_angle" = "angle_d6_dense_antipodal/construct_then_angle" +"angle_d6/dense_antipodal/prepared_vector" = "angle_d6_dense_antipodal/prepared_vector" +"angle_d6/dense_identical/borrowed_slice" = "angle_d6_dense_identical/borrowed_slice" +"angle_d6/dense_identical/construct_then_angle" = "angle_d6_dense_identical/construct_then_angle" +"angle_d6/dense_identical/prepared_vector" = "angle_d6_dense_identical/prepared_vector" +"angle_d6/dense_varied/borrowed_slice" = "angle_d6_dense_varied/borrowed_slice" +"angle_d6/dense_varied/construct_then_angle" = "angle_d6_dense_varied/construct_then_angle" +"angle_d6/dense_varied/prepared_vector" = "angle_d6_dense_varied/prepared_vector" +"angle_d6/maximum_small_angle/borrowed_slice" = "angle_d6_maximum_small_angle/borrowed_slice" +"angle_d6/maximum_small_angle/construct_then_angle" = "angle_d6_maximum_small_angle/construct_then_angle" +"angle_d6/maximum_small_angle/prepared_vector" = "angle_d6_maximum_small_angle/prepared_vector" +"angle_d6/mixed_scale/borrowed_slice" = "angle_d6_mixed_scale/borrowed_slice" +"angle_d6/mixed_scale/construct_then_angle" = "angle_d6_mixed_scale/construct_then_angle" +"angle_d6/mixed_scale/prepared_vector" = "angle_d6_mixed_scale/prepared_vector" +"angle_d6/near_antipodal/borrowed_slice" = "angle_d6_near_antipodal/borrowed_slice" +"angle_d6/near_antipodal/construct_then_angle" = "angle_d6_near_antipodal/construct_then_angle" +"angle_d6/near_antipodal/prepared_vector" = "angle_d6_near_antipodal/prepared_vector" +"angle_d6/near_parallel/borrowed_slice" = "angle_d6_near_parallel/borrowed_slice" +"angle_d6/near_parallel/construct_then_angle" = "angle_d6_near_parallel/construct_then_angle" +"angle_d6/near_parallel/prepared_vector" = "angle_d6_near_parallel/prepared_vector" +"angle_d6/sparse_adjacent/borrowed_slice" = "angle_d6_sparse_adjacent/borrowed_slice" +"angle_d6/sparse_adjacent/construct_then_angle" = "angle_d6_sparse_adjacent/construct_then_angle" +"angle_d6/sparse_adjacent/prepared_vector" = "angle_d6_sparse_adjacent/prepared_vector" +"angle_d6/sparse_alternating/borrowed_slice" = "angle_d6_sparse_alternating/borrowed_slice" +"angle_d6/sparse_alternating/construct_then_angle" = "angle_d6_sparse_alternating/construct_then_angle" +"angle_d6/sparse_alternating/prepared_vector" = "angle_d6_sparse_alternating/prepared_vector" +"angle_d6/sparse_antipodal/borrowed_slice" = "angle_d6_sparse_antipodal/borrowed_slice" +"angle_d6/sparse_antipodal/construct_then_angle" = "angle_d6_sparse_antipodal/construct_then_angle" +"angle_d6/sparse_antipodal/prepared_vector" = "angle_d6_sparse_antipodal/prepared_vector" +"angle_d6/sparse_identical/borrowed_slice" = "angle_d6_sparse_identical/borrowed_slice" +"angle_d6/sparse_identical/construct_then_angle" = "angle_d6_sparse_identical/construct_then_angle" +"angle_d6/sparse_identical/prepared_vector" = "angle_d6_sparse_identical/prepared_vector" +"angle_d6/subnormal/borrowed_slice" = "angle_d6_subnormal/borrowed_slice" +"angle_d6/subnormal/construct_then_angle" = "angle_d6_subnormal/construct_then_angle" +"angle_d6/subnormal/prepared_vector" = "angle_d6_subnormal/prepared_vector" +"angle_d6/subnormal_axes/borrowed_slice" = "angle_d6_subnormal_axes/borrowed_slice" +"angle_d6/subnormal_axes/construct_then_angle" = "angle_d6_subnormal_axes/construct_then_angle" +"angle_d6/subnormal_axes/prepared_vector" = "angle_d6_subnormal_axes/prepared_vector" +"canonical_conversion_below_overflow_d2/rounded_array" = "canonical_conversion_below_overflow_d2/rounded_array" +"canonical_conversion_below_overflow_d2/rounded_result" = "canonical_conversion_below_overflow_d2/rounded_result" +"canonical_conversion_below_overflow_d2/strict_array" = "canonical_conversion_below_overflow_d2/strict_array" +"canonical_conversion_below_overflow_d2/strict_result" = "canonical_conversion_below_overflow_d2/strict_result" +"canonical_conversion_below_overflow_d3/rounded_array" = "canonical_conversion_below_overflow_d3/rounded_array" +"canonical_conversion_below_overflow_d3/rounded_result" = "canonical_conversion_below_overflow_d3/rounded_result" +"canonical_conversion_below_overflow_d3/strict_array" = "canonical_conversion_below_overflow_d3/strict_array" +"canonical_conversion_below_overflow_d3/strict_result" = "canonical_conversion_below_overflow_d3/strict_result" +"canonical_conversion_below_overflow_d4/rounded_array" = "canonical_conversion_below_overflow_d4/rounded_array" +"canonical_conversion_below_overflow_d4/rounded_result" = "canonical_conversion_below_overflow_d4/rounded_result" +"canonical_conversion_below_overflow_d4/strict_array" = "canonical_conversion_below_overflow_d4/strict_array" +"canonical_conversion_below_overflow_d4/strict_result" = "canonical_conversion_below_overflow_d4/strict_result" +"canonical_conversion_below_overflow_d5/rounded_array" = "canonical_conversion_below_overflow_d5/rounded_array" +"canonical_conversion_below_overflow_d5/rounded_result" = "canonical_conversion_below_overflow_d5/rounded_result" +"canonical_conversion_below_overflow_d5/strict_array" = "canonical_conversion_below_overflow_d5/strict_array" +"canonical_conversion_below_overflow_d5/strict_result" = "canonical_conversion_below_overflow_d5/strict_result" +"canonical_conversion_dyadic_d2/rounded_array" = "canonical_conversion_dyadic_d2/rounded_array" +"canonical_conversion_dyadic_d2/rounded_result" = "canonical_conversion_dyadic_d2/rounded_result" +"canonical_conversion_dyadic_d2/strict_array" = "canonical_conversion_dyadic_d2/strict_array" +"canonical_conversion_dyadic_d2/strict_result" = "canonical_conversion_dyadic_d2/strict_result" +"canonical_conversion_dyadic_d3/rounded_array" = "canonical_conversion_dyadic_d3/rounded_array" +"canonical_conversion_dyadic_d3/rounded_result" = "canonical_conversion_dyadic_d3/rounded_result" +"canonical_conversion_dyadic_d3/strict_array" = "canonical_conversion_dyadic_d3/strict_array" +"canonical_conversion_dyadic_d3/strict_result" = "canonical_conversion_dyadic_d3/strict_result" +"canonical_conversion_dyadic_d4/rounded_array" = "canonical_conversion_dyadic_d4/rounded_array" +"canonical_conversion_dyadic_d4/rounded_result" = "canonical_conversion_dyadic_d4/rounded_result" +"canonical_conversion_dyadic_d4/strict_array" = "canonical_conversion_dyadic_d4/strict_array" +"canonical_conversion_dyadic_d4/strict_result" = "canonical_conversion_dyadic_d4/strict_result" +"canonical_conversion_dyadic_d5/rounded_array" = "canonical_conversion_dyadic_d5/rounded_array" +"canonical_conversion_dyadic_d5/rounded_result" = "canonical_conversion_dyadic_d5/rounded_result" +"canonical_conversion_dyadic_d5/strict_array" = "canonical_conversion_dyadic_d5/strict_array" +"canonical_conversion_dyadic_d5/strict_result" = "canonical_conversion_dyadic_d5/strict_result" +"canonical_conversion_min_subnormal_d2/rounded_array" = "canonical_conversion_min_subnormal_d2/rounded_array" +"canonical_conversion_min_subnormal_d2/rounded_result" = "canonical_conversion_min_subnormal_d2/rounded_result" +"canonical_conversion_min_subnormal_d2/strict_array" = "canonical_conversion_min_subnormal_d2/strict_array" +"canonical_conversion_min_subnormal_d2/strict_result" = "canonical_conversion_min_subnormal_d2/strict_result" +"canonical_conversion_min_subnormal_d3/rounded_array" = "canonical_conversion_min_subnormal_d3/rounded_array" +"canonical_conversion_min_subnormal_d3/rounded_result" = "canonical_conversion_min_subnormal_d3/rounded_result" +"canonical_conversion_min_subnormal_d3/strict_array" = "canonical_conversion_min_subnormal_d3/strict_array" +"canonical_conversion_min_subnormal_d3/strict_result" = "canonical_conversion_min_subnormal_d3/strict_result" +"canonical_conversion_min_subnormal_d4/rounded_array" = "canonical_conversion_min_subnormal_d4/rounded_array" +"canonical_conversion_min_subnormal_d4/rounded_result" = "canonical_conversion_min_subnormal_d4/rounded_result" +"canonical_conversion_min_subnormal_d4/strict_array" = "canonical_conversion_min_subnormal_d4/strict_array" +"canonical_conversion_min_subnormal_d4/strict_result" = "canonical_conversion_min_subnormal_d4/strict_result" +"canonical_conversion_min_subnormal_d5/rounded_array" = "canonical_conversion_min_subnormal_d5/rounded_array" +"canonical_conversion_min_subnormal_d5/rounded_result" = "canonical_conversion_min_subnormal_d5/rounded_result" +"canonical_conversion_min_subnormal_d5/strict_array" = "canonical_conversion_min_subnormal_d5/strict_array" +"canonical_conversion_min_subnormal_d5/strict_result" = "canonical_conversion_min_subnormal_d5/strict_result" +"canonical_conversion_negative_underflow_d2/rounded_array" = "canonical_conversion_negative_underflow_d2/rounded_array" +"canonical_conversion_negative_underflow_d2/rounded_result" = "canonical_conversion_negative_underflow_d2/rounded_result" +"canonical_conversion_negative_underflow_d2/strict_array" = "canonical_conversion_negative_underflow_d2/strict_array" +"canonical_conversion_negative_underflow_d2/strict_result" = "canonical_conversion_negative_underflow_d2/strict_result" +"canonical_conversion_negative_underflow_d3/rounded_array" = "canonical_conversion_negative_underflow_d3/rounded_array" +"canonical_conversion_negative_underflow_d3/rounded_result" = "canonical_conversion_negative_underflow_d3/rounded_result" +"canonical_conversion_negative_underflow_d3/strict_array" = "canonical_conversion_negative_underflow_d3/strict_array" +"canonical_conversion_negative_underflow_d3/strict_result" = "canonical_conversion_negative_underflow_d3/strict_result" +"canonical_conversion_negative_underflow_d4/rounded_array" = "canonical_conversion_negative_underflow_d4/rounded_array" +"canonical_conversion_negative_underflow_d4/rounded_result" = "canonical_conversion_negative_underflow_d4/rounded_result" +"canonical_conversion_negative_underflow_d4/strict_array" = "canonical_conversion_negative_underflow_d4/strict_array" +"canonical_conversion_negative_underflow_d4/strict_result" = "canonical_conversion_negative_underflow_d4/strict_result" +"canonical_conversion_negative_underflow_d5/rounded_array" = "canonical_conversion_negative_underflow_d5/rounded_array" +"canonical_conversion_negative_underflow_d5/rounded_result" = "canonical_conversion_negative_underflow_d5/rounded_result" +"canonical_conversion_negative_underflow_d5/strict_array" = "canonical_conversion_negative_underflow_d5/strict_array" +"canonical_conversion_negative_underflow_d5/strict_result" = "canonical_conversion_negative_underflow_d5/strict_result" +"canonical_conversion_non_dyadic_d2/rounded_array" = "canonical_conversion_non_dyadic_d2/rounded_array" +"canonical_conversion_non_dyadic_d2/rounded_result" = "canonical_conversion_non_dyadic_d2/rounded_result" +"canonical_conversion_non_dyadic_d2/strict_array" = "canonical_conversion_non_dyadic_d2/strict_array" +"canonical_conversion_non_dyadic_d2/strict_result" = "canonical_conversion_non_dyadic_d2/strict_result" +"canonical_conversion_non_dyadic_d3/rounded_array" = "canonical_conversion_non_dyadic_d3/rounded_array" +"canonical_conversion_non_dyadic_d3/rounded_result" = "canonical_conversion_non_dyadic_d3/rounded_result" +"canonical_conversion_non_dyadic_d3/strict_array" = "canonical_conversion_non_dyadic_d3/strict_array" +"canonical_conversion_non_dyadic_d3/strict_result" = "canonical_conversion_non_dyadic_d3/strict_result" +"canonical_conversion_non_dyadic_d4/rounded_array" = "canonical_conversion_non_dyadic_d4/rounded_array" +"canonical_conversion_non_dyadic_d4/rounded_result" = "canonical_conversion_non_dyadic_d4/rounded_result" +"canonical_conversion_non_dyadic_d4/strict_array" = "canonical_conversion_non_dyadic_d4/strict_array" +"canonical_conversion_non_dyadic_d4/strict_result" = "canonical_conversion_non_dyadic_d4/strict_result" +"canonical_conversion_non_dyadic_d5/rounded_array" = "canonical_conversion_non_dyadic_d5/rounded_array" +"canonical_conversion_non_dyadic_d5/rounded_result" = "canonical_conversion_non_dyadic_d5/rounded_result" +"canonical_conversion_non_dyadic_d5/strict_array" = "canonical_conversion_non_dyadic_d5/strict_array" +"canonical_conversion_non_dyadic_d5/strict_result" = "canonical_conversion_non_dyadic_d5/strict_result" +"canonical_conversion_overflow_midpoint_d2/rounded_array" = "canonical_conversion_overflow_midpoint_d2/rounded_array" +"canonical_conversion_overflow_midpoint_d2/rounded_result" = "canonical_conversion_overflow_midpoint_d2/rounded_result" +"canonical_conversion_overflow_midpoint_d2/strict_array" = "canonical_conversion_overflow_midpoint_d2/strict_array" +"canonical_conversion_overflow_midpoint_d2/strict_result" = "canonical_conversion_overflow_midpoint_d2/strict_result" +"canonical_conversion_overflow_midpoint_d3/rounded_array" = "canonical_conversion_overflow_midpoint_d3/rounded_array" +"canonical_conversion_overflow_midpoint_d3/rounded_result" = "canonical_conversion_overflow_midpoint_d3/rounded_result" +"canonical_conversion_overflow_midpoint_d3/strict_array" = "canonical_conversion_overflow_midpoint_d3/strict_array" +"canonical_conversion_overflow_midpoint_d3/strict_result" = "canonical_conversion_overflow_midpoint_d3/strict_result" +"canonical_conversion_overflow_midpoint_d4/rounded_array" = "canonical_conversion_overflow_midpoint_d4/rounded_array" +"canonical_conversion_overflow_midpoint_d4/rounded_result" = "canonical_conversion_overflow_midpoint_d4/rounded_result" +"canonical_conversion_overflow_midpoint_d4/strict_array" = "canonical_conversion_overflow_midpoint_d4/strict_array" +"canonical_conversion_overflow_midpoint_d4/strict_result" = "canonical_conversion_overflow_midpoint_d4/strict_result" +"canonical_conversion_overflow_midpoint_d5/rounded_array" = "canonical_conversion_overflow_midpoint_d5/rounded_array" +"canonical_conversion_overflow_midpoint_d5/rounded_result" = "canonical_conversion_overflow_midpoint_d5/rounded_result" +"canonical_conversion_overflow_midpoint_d5/strict_array" = "canonical_conversion_overflow_midpoint_d5/strict_array" +"canonical_conversion_overflow_midpoint_d5/strict_result" = "canonical_conversion_overflow_midpoint_d5/strict_result" +"canonical_conversion_wide1024_d2/rounded_array" = "canonical_conversion_wide1024_d2/rounded_array" +"canonical_conversion_wide1024_d2/rounded_result" = "canonical_conversion_wide1024_d2/rounded_result" +"canonical_conversion_wide1024_d2/strict_array" = "canonical_conversion_wide1024_d2/strict_array" +"canonical_conversion_wide1024_d2/strict_result" = "canonical_conversion_wide1024_d2/strict_result" +"canonical_conversion_wide1024_d3/rounded_array" = "canonical_conversion_wide1024_d3/rounded_array" +"canonical_conversion_wide1024_d3/rounded_result" = "canonical_conversion_wide1024_d3/rounded_result" +"canonical_conversion_wide1024_d3/strict_array" = "canonical_conversion_wide1024_d3/strict_array" +"canonical_conversion_wide1024_d3/strict_result" = "canonical_conversion_wide1024_d3/strict_result" +"canonical_conversion_wide1024_d4/rounded_array" = "canonical_conversion_wide1024_d4/rounded_array" +"canonical_conversion_wide1024_d4/rounded_result" = "canonical_conversion_wide1024_d4/rounded_result" +"canonical_conversion_wide1024_d4/strict_array" = "canonical_conversion_wide1024_d4/strict_array" +"canonical_conversion_wide1024_d4/strict_result" = "canonical_conversion_wide1024_d4/strict_result" +"canonical_conversion_wide1024_d5/rounded_array" = "canonical_conversion_wide1024_d5/rounded_array" +"canonical_conversion_wide1024_d5/rounded_result" = "canonical_conversion_wide1024_d5/rounded_result" +"canonical_conversion_wide1024_d5/strict_array" = "canonical_conversion_wide1024_d5/strict_array" +"canonical_conversion_wide1024_d5/strict_result" = "canonical_conversion_wide1024_d5/strict_result" +"canonical_conversion_wide256_d2/rounded_array" = "canonical_conversion_wide256_d2/rounded_array" +"canonical_conversion_wide256_d2/rounded_result" = "canonical_conversion_wide256_d2/rounded_result" +"canonical_conversion_wide256_d2/strict_array" = "canonical_conversion_wide256_d2/strict_array" +"canonical_conversion_wide256_d2/strict_result" = "canonical_conversion_wide256_d2/strict_result" +"canonical_conversion_wide256_d3/rounded_array" = "canonical_conversion_wide256_d3/rounded_array" +"canonical_conversion_wide256_d3/rounded_result" = "canonical_conversion_wide256_d3/rounded_result" +"canonical_conversion_wide256_d3/strict_array" = "canonical_conversion_wide256_d3/strict_array" +"canonical_conversion_wide256_d3/strict_result" = "canonical_conversion_wide256_d3/strict_result" +"canonical_conversion_wide256_d4/rounded_array" = "canonical_conversion_wide256_d4/rounded_array" +"canonical_conversion_wide256_d4/rounded_result" = "canonical_conversion_wide256_d4/rounded_result" +"canonical_conversion_wide256_d4/strict_array" = "canonical_conversion_wide256_d4/strict_array" +"canonical_conversion_wide256_d4/strict_result" = "canonical_conversion_wide256_d4/strict_result" +"canonical_conversion_wide256_d5/rounded_array" = "canonical_conversion_wide256_d5/rounded_array" +"canonical_conversion_wide256_d5/rounded_result" = "canonical_conversion_wide256_d5/rounded_result" +"canonical_conversion_wide256_d5/strict_array" = "canonical_conversion_wide256_d5/strict_array" +"canonical_conversion_wide256_d5/strict_result" = "canonical_conversion_wide256_d5/strict_result" "d16/la_stack_det" = "d16/la_stack_det" "d16/la_stack_det_from_ldlt" = "d16/la_stack_det_from_ldlt" "d16/la_stack_det_from_lu" = "d16/la_stack_det_from_lu" @@ -450,33 +1571,14 @@ unit = "ns" "d16/la_stack_ldlt_solve" = "d16/la_stack_ldlt_solve" "d16/la_stack_lu" = "d16/la_stack_lu" "d16/la_stack_lu_solve" = "d16/la_stack_lu_solve" +"d16/la_stack_norm2" = "d16/la_stack_norm2" +"d16/la_stack_norm2_scenario_descending" = "d16/la_stack_norm2_scenario_descending" +"d16/la_stack_norm2_scenario_repeated_scale" = "d16/la_stack_norm2_scenario_repeated_scale" +"d16/la_stack_norm2_scenario_sparse" = "d16/la_stack_norm2_scenario_sparse" +"d16/la_stack_norm2_scenario_wide_dynamic_range" = "d16/la_stack_norm2_scenario_wide_dynamic_range" "d16/la_stack_norm2_sq" = "d16/la_stack_norm2_sq" "d16/la_stack_solve_from_ldlt" = "d16/la_stack_solve_from_ldlt" "d16/la_stack_solve_from_lu" = "d16/la_stack_solve_from_lu" -"d16/nalgebra_cholesky" = "d16/nalgebra_cholesky" -"d16/nalgebra_cholesky_solve" = "d16/nalgebra_cholesky_solve" -"d16/nalgebra_det_from_cholesky" = "d16/nalgebra_det_from_cholesky" -"d16/nalgebra_det_from_lu" = "d16/nalgebra_det_from_lu" -"d16/nalgebra_det_via_lu" = "d16/nalgebra_det_via_lu" -"d16/nalgebra_dot" = "d16/nalgebra_dot" -"d16/nalgebra_inf_norm" = "d16/nalgebra_inf_norm" -"d16/nalgebra_lu" = "d16/nalgebra_lu" -"d16/nalgebra_lu_solve" = "d16/nalgebra_lu_solve" -"d16/nalgebra_norm_squared" = "d16/nalgebra_norm_squared" -"d16/nalgebra_solve_from_cholesky" = "d16/nalgebra_solve_from_cholesky" -"d16/nalgebra_solve_from_lu" = "d16/nalgebra_solve_from_lu" -"d2/faer_det_from_ldlt" = "d2/faer_det_from_ldlt" -"d2/faer_det_from_lu" = "d2/faer_det_from_lu" -"d2/faer_det_via_lu" = "d2/faer_det_via_lu" -"d2/faer_dot_native" = "d2/faer_dot_native" -"d2/faer_inf_norm" = "d2/faer_inf_norm" -"d2/faer_ldlt" = "d2/faer_ldlt" -"d2/faer_ldlt_solve" = "d2/faer_ldlt_solve" -"d2/faer_lu" = "d2/faer_lu" -"d2/faer_lu_solve" = "d2/faer_lu_solve" -"d2/faer_norm2_sq" = "d2/faer_norm2_sq" -"d2/faer_solve_from_ldlt" = "d2/faer_solve_from_ldlt" -"d2/faer_solve_from_lu" = "d2/faer_solve_from_lu" "d2/la_stack_det" = "d2/la_stack_det" "d2/la_stack_det_from_ldlt" = "d2/la_stack_det_from_ldlt" "d2/la_stack_det_from_lu" = "d2/la_stack_det_from_lu" @@ -487,33 +1589,14 @@ unit = "ns" "d2/la_stack_ldlt_solve" = "d2/la_stack_ldlt_solve" "d2/la_stack_lu" = "d2/la_stack_lu" "d2/la_stack_lu_solve" = "d2/la_stack_lu_solve" +"d2/la_stack_norm2" = "d2/la_stack_norm2" +"d2/la_stack_norm2_scenario_descending" = "d2/la_stack_norm2_scenario_descending" +"d2/la_stack_norm2_scenario_repeated_scale" = "d2/la_stack_norm2_scenario_repeated_scale" +"d2/la_stack_norm2_scenario_sparse" = "d2/la_stack_norm2_scenario_sparse" +"d2/la_stack_norm2_scenario_wide_dynamic_range" = "d2/la_stack_norm2_scenario_wide_dynamic_range" "d2/la_stack_norm2_sq" = "d2/la_stack_norm2_sq" "d2/la_stack_solve_from_ldlt" = "d2/la_stack_solve_from_ldlt" "d2/la_stack_solve_from_lu" = "d2/la_stack_solve_from_lu" -"d2/nalgebra_cholesky" = "d2/nalgebra_cholesky" -"d2/nalgebra_cholesky_solve" = "d2/nalgebra_cholesky_solve" -"d2/nalgebra_det_from_cholesky" = "d2/nalgebra_det_from_cholesky" -"d2/nalgebra_det_from_lu" = "d2/nalgebra_det_from_lu" -"d2/nalgebra_det_via_lu" = "d2/nalgebra_det_via_lu" -"d2/nalgebra_dot" = "d2/nalgebra_dot" -"d2/nalgebra_inf_norm" = "d2/nalgebra_inf_norm" -"d2/nalgebra_lu" = "d2/nalgebra_lu" -"d2/nalgebra_lu_solve" = "d2/nalgebra_lu_solve" -"d2/nalgebra_norm_squared" = "d2/nalgebra_norm_squared" -"d2/nalgebra_solve_from_cholesky" = "d2/nalgebra_solve_from_cholesky" -"d2/nalgebra_solve_from_lu" = "d2/nalgebra_solve_from_lu" -"d3/faer_det_from_ldlt" = "d3/faer_det_from_ldlt" -"d3/faer_det_from_lu" = "d3/faer_det_from_lu" -"d3/faer_det_via_lu" = "d3/faer_det_via_lu" -"d3/faer_dot_native" = "d3/faer_dot_native" -"d3/faer_inf_norm" = "d3/faer_inf_norm" -"d3/faer_ldlt" = "d3/faer_ldlt" -"d3/faer_ldlt_solve" = "d3/faer_ldlt_solve" -"d3/faer_lu" = "d3/faer_lu" -"d3/faer_lu_solve" = "d3/faer_lu_solve" -"d3/faer_norm2_sq" = "d3/faer_norm2_sq" -"d3/faer_solve_from_ldlt" = "d3/faer_solve_from_ldlt" -"d3/faer_solve_from_lu" = "d3/faer_solve_from_lu" "d3/la_stack_det" = "d3/la_stack_det" "d3/la_stack_det_from_ldlt" = "d3/la_stack_det_from_ldlt" "d3/la_stack_det_from_lu" = "d3/la_stack_det_from_lu" @@ -524,33 +1607,14 @@ unit = "ns" "d3/la_stack_ldlt_solve" = "d3/la_stack_ldlt_solve" "d3/la_stack_lu" = "d3/la_stack_lu" "d3/la_stack_lu_solve" = "d3/la_stack_lu_solve" +"d3/la_stack_norm2" = "d3/la_stack_norm2" +"d3/la_stack_norm2_scenario_descending" = "d3/la_stack_norm2_scenario_descending" +"d3/la_stack_norm2_scenario_repeated_scale" = "d3/la_stack_norm2_scenario_repeated_scale" +"d3/la_stack_norm2_scenario_sparse" = "d3/la_stack_norm2_scenario_sparse" +"d3/la_stack_norm2_scenario_wide_dynamic_range" = "d3/la_stack_norm2_scenario_wide_dynamic_range" "d3/la_stack_norm2_sq" = "d3/la_stack_norm2_sq" "d3/la_stack_solve_from_ldlt" = "d3/la_stack_solve_from_ldlt" "d3/la_stack_solve_from_lu" = "d3/la_stack_solve_from_lu" -"d3/nalgebra_cholesky" = "d3/nalgebra_cholesky" -"d3/nalgebra_cholesky_solve" = "d3/nalgebra_cholesky_solve" -"d3/nalgebra_det_from_cholesky" = "d3/nalgebra_det_from_cholesky" -"d3/nalgebra_det_from_lu" = "d3/nalgebra_det_from_lu" -"d3/nalgebra_det_via_lu" = "d3/nalgebra_det_via_lu" -"d3/nalgebra_dot" = "d3/nalgebra_dot" -"d3/nalgebra_inf_norm" = "d3/nalgebra_inf_norm" -"d3/nalgebra_lu" = "d3/nalgebra_lu" -"d3/nalgebra_lu_solve" = "d3/nalgebra_lu_solve" -"d3/nalgebra_norm_squared" = "d3/nalgebra_norm_squared" -"d3/nalgebra_solve_from_cholesky" = "d3/nalgebra_solve_from_cholesky" -"d3/nalgebra_solve_from_lu" = "d3/nalgebra_solve_from_lu" -"d32/faer_det_from_ldlt" = "d32/faer_det_from_ldlt" -"d32/faer_det_from_lu" = "d32/faer_det_from_lu" -"d32/faer_det_via_lu" = "d32/faer_det_via_lu" -"d32/faer_dot_native" = "d32/faer_dot_native" -"d32/faer_inf_norm" = "d32/faer_inf_norm" -"d32/faer_ldlt" = "d32/faer_ldlt" -"d32/faer_ldlt_solve" = "d32/faer_ldlt_solve" -"d32/faer_lu" = "d32/faer_lu" -"d32/faer_lu_solve" = "d32/faer_lu_solve" -"d32/faer_norm2_sq" = "d32/faer_norm2_sq" -"d32/faer_solve_from_ldlt" = "d32/faer_solve_from_ldlt" -"d32/faer_solve_from_lu" = "d32/faer_solve_from_lu" "d32/la_stack_det" = "d32/la_stack_det" "d32/la_stack_det_from_ldlt" = "d32/la_stack_det_from_ldlt" "d32/la_stack_det_from_lu" = "d32/la_stack_det_from_lu" @@ -561,33 +1625,14 @@ unit = "ns" "d32/la_stack_ldlt_solve" = "d32/la_stack_ldlt_solve" "d32/la_stack_lu" = "d32/la_stack_lu" "d32/la_stack_lu_solve" = "d32/la_stack_lu_solve" +"d32/la_stack_norm2" = "d32/la_stack_norm2" +"d32/la_stack_norm2_scenario_descending" = "d32/la_stack_norm2_scenario_descending" +"d32/la_stack_norm2_scenario_repeated_scale" = "d32/la_stack_norm2_scenario_repeated_scale" +"d32/la_stack_norm2_scenario_sparse" = "d32/la_stack_norm2_scenario_sparse" +"d32/la_stack_norm2_scenario_wide_dynamic_range" = "d32/la_stack_norm2_scenario_wide_dynamic_range" "d32/la_stack_norm2_sq" = "d32/la_stack_norm2_sq" "d32/la_stack_solve_from_ldlt" = "d32/la_stack_solve_from_ldlt" "d32/la_stack_solve_from_lu" = "d32/la_stack_solve_from_lu" -"d32/nalgebra_cholesky" = "d32/nalgebra_cholesky" -"d32/nalgebra_cholesky_solve" = "d32/nalgebra_cholesky_solve" -"d32/nalgebra_det_from_cholesky" = "d32/nalgebra_det_from_cholesky" -"d32/nalgebra_det_from_lu" = "d32/nalgebra_det_from_lu" -"d32/nalgebra_det_via_lu" = "d32/nalgebra_det_via_lu" -"d32/nalgebra_dot" = "d32/nalgebra_dot" -"d32/nalgebra_inf_norm" = "d32/nalgebra_inf_norm" -"d32/nalgebra_lu" = "d32/nalgebra_lu" -"d32/nalgebra_lu_solve" = "d32/nalgebra_lu_solve" -"d32/nalgebra_norm_squared" = "d32/nalgebra_norm_squared" -"d32/nalgebra_solve_from_cholesky" = "d32/nalgebra_solve_from_cholesky" -"d32/nalgebra_solve_from_lu" = "d32/nalgebra_solve_from_lu" -"d4/faer_det_from_ldlt" = "d4/faer_det_from_ldlt" -"d4/faer_det_from_lu" = "d4/faer_det_from_lu" -"d4/faer_det_via_lu" = "d4/faer_det_via_lu" -"d4/faer_dot_native" = "d4/faer_dot_native" -"d4/faer_inf_norm" = "d4/faer_inf_norm" -"d4/faer_ldlt" = "d4/faer_ldlt" -"d4/faer_ldlt_solve" = "d4/faer_ldlt_solve" -"d4/faer_lu" = "d4/faer_lu" -"d4/faer_lu_solve" = "d4/faer_lu_solve" -"d4/faer_norm2_sq" = "d4/faer_norm2_sq" -"d4/faer_solve_from_ldlt" = "d4/faer_solve_from_ldlt" -"d4/faer_solve_from_lu" = "d4/faer_solve_from_lu" "d4/la_stack_det" = "d4/la_stack_det" "d4/la_stack_det_from_ldlt" = "d4/la_stack_det_from_ldlt" "d4/la_stack_det_from_lu" = "d4/la_stack_det_from_lu" @@ -598,33 +1643,14 @@ unit = "ns" "d4/la_stack_ldlt_solve" = "d4/la_stack_ldlt_solve" "d4/la_stack_lu" = "d4/la_stack_lu" "d4/la_stack_lu_solve" = "d4/la_stack_lu_solve" +"d4/la_stack_norm2" = "d4/la_stack_norm2" +"d4/la_stack_norm2_scenario_descending" = "d4/la_stack_norm2_scenario_descending" +"d4/la_stack_norm2_scenario_repeated_scale" = "d4/la_stack_norm2_scenario_repeated_scale" +"d4/la_stack_norm2_scenario_sparse" = "d4/la_stack_norm2_scenario_sparse" +"d4/la_stack_norm2_scenario_wide_dynamic_range" = "d4/la_stack_norm2_scenario_wide_dynamic_range" "d4/la_stack_norm2_sq" = "d4/la_stack_norm2_sq" "d4/la_stack_solve_from_ldlt" = "d4/la_stack_solve_from_ldlt" "d4/la_stack_solve_from_lu" = "d4/la_stack_solve_from_lu" -"d4/nalgebra_cholesky" = "d4/nalgebra_cholesky" -"d4/nalgebra_cholesky_solve" = "d4/nalgebra_cholesky_solve" -"d4/nalgebra_det_from_cholesky" = "d4/nalgebra_det_from_cholesky" -"d4/nalgebra_det_from_lu" = "d4/nalgebra_det_from_lu" -"d4/nalgebra_det_via_lu" = "d4/nalgebra_det_via_lu" -"d4/nalgebra_dot" = "d4/nalgebra_dot" -"d4/nalgebra_inf_norm" = "d4/nalgebra_inf_norm" -"d4/nalgebra_lu" = "d4/nalgebra_lu" -"d4/nalgebra_lu_solve" = "d4/nalgebra_lu_solve" -"d4/nalgebra_norm_squared" = "d4/nalgebra_norm_squared" -"d4/nalgebra_solve_from_cholesky" = "d4/nalgebra_solve_from_cholesky" -"d4/nalgebra_solve_from_lu" = "d4/nalgebra_solve_from_lu" -"d5/faer_det_from_ldlt" = "d5/faer_det_from_ldlt" -"d5/faer_det_from_lu" = "d5/faer_det_from_lu" -"d5/faer_det_via_lu" = "d5/faer_det_via_lu" -"d5/faer_dot_native" = "d5/faer_dot_native" -"d5/faer_inf_norm" = "d5/faer_inf_norm" -"d5/faer_ldlt" = "d5/faer_ldlt" -"d5/faer_ldlt_solve" = "d5/faer_ldlt_solve" -"d5/faer_lu" = "d5/faer_lu" -"d5/faer_lu_solve" = "d5/faer_lu_solve" -"d5/faer_norm2_sq" = "d5/faer_norm2_sq" -"d5/faer_solve_from_ldlt" = "d5/faer_solve_from_ldlt" -"d5/faer_solve_from_lu" = "d5/faer_solve_from_lu" "d5/la_stack_det" = "d5/la_stack_det" "d5/la_stack_det_from_ldlt" = "d5/la_stack_det_from_ldlt" "d5/la_stack_det_from_lu" = "d5/la_stack_det_from_lu" @@ -635,33 +1661,14 @@ unit = "ns" "d5/la_stack_ldlt_solve" = "d5/la_stack_ldlt_solve" "d5/la_stack_lu" = "d5/la_stack_lu" "d5/la_stack_lu_solve" = "d5/la_stack_lu_solve" +"d5/la_stack_norm2" = "d5/la_stack_norm2" +"d5/la_stack_norm2_scenario_descending" = "d5/la_stack_norm2_scenario_descending" +"d5/la_stack_norm2_scenario_repeated_scale" = "d5/la_stack_norm2_scenario_repeated_scale" +"d5/la_stack_norm2_scenario_sparse" = "d5/la_stack_norm2_scenario_sparse" +"d5/la_stack_norm2_scenario_wide_dynamic_range" = "d5/la_stack_norm2_scenario_wide_dynamic_range" "d5/la_stack_norm2_sq" = "d5/la_stack_norm2_sq" "d5/la_stack_solve_from_ldlt" = "d5/la_stack_solve_from_ldlt" "d5/la_stack_solve_from_lu" = "d5/la_stack_solve_from_lu" -"d5/nalgebra_cholesky" = "d5/nalgebra_cholesky" -"d5/nalgebra_cholesky_solve" = "d5/nalgebra_cholesky_solve" -"d5/nalgebra_det_from_cholesky" = "d5/nalgebra_det_from_cholesky" -"d5/nalgebra_det_from_lu" = "d5/nalgebra_det_from_lu" -"d5/nalgebra_det_via_lu" = "d5/nalgebra_det_via_lu" -"d5/nalgebra_dot" = "d5/nalgebra_dot" -"d5/nalgebra_inf_norm" = "d5/nalgebra_inf_norm" -"d5/nalgebra_lu" = "d5/nalgebra_lu" -"d5/nalgebra_lu_solve" = "d5/nalgebra_lu_solve" -"d5/nalgebra_norm_squared" = "d5/nalgebra_norm_squared" -"d5/nalgebra_solve_from_cholesky" = "d5/nalgebra_solve_from_cholesky" -"d5/nalgebra_solve_from_lu" = "d5/nalgebra_solve_from_lu" -"d64/faer_det_from_ldlt" = "d64/faer_det_from_ldlt" -"d64/faer_det_from_lu" = "d64/faer_det_from_lu" -"d64/faer_det_via_lu" = "d64/faer_det_via_lu" -"d64/faer_dot_native" = "d64/faer_dot_native" -"d64/faer_inf_norm" = "d64/faer_inf_norm" -"d64/faer_ldlt" = "d64/faer_ldlt" -"d64/faer_ldlt_solve" = "d64/faer_ldlt_solve" -"d64/faer_lu" = "d64/faer_lu" -"d64/faer_lu_solve" = "d64/faer_lu_solve" -"d64/faer_norm2_sq" = "d64/faer_norm2_sq" -"d64/faer_solve_from_ldlt" = "d64/faer_solve_from_ldlt" -"d64/faer_solve_from_lu" = "d64/faer_solve_from_lu" "d64/la_stack_det" = "d64/la_stack_det" "d64/la_stack_det_from_ldlt" = "d64/la_stack_det_from_ldlt" "d64/la_stack_det_from_lu" = "d64/la_stack_det_from_lu" @@ -672,33 +1679,14 @@ unit = "ns" "d64/la_stack_ldlt_solve" = "d64/la_stack_ldlt_solve" "d64/la_stack_lu" = "d64/la_stack_lu" "d64/la_stack_lu_solve" = "d64/la_stack_lu_solve" +"d64/la_stack_norm2" = "d64/la_stack_norm2" +"d64/la_stack_norm2_scenario_descending" = "d64/la_stack_norm2_scenario_descending" +"d64/la_stack_norm2_scenario_repeated_scale" = "d64/la_stack_norm2_scenario_repeated_scale" +"d64/la_stack_norm2_scenario_sparse" = "d64/la_stack_norm2_scenario_sparse" +"d64/la_stack_norm2_scenario_wide_dynamic_range" = "d64/la_stack_norm2_scenario_wide_dynamic_range" "d64/la_stack_norm2_sq" = "d64/la_stack_norm2_sq" "d64/la_stack_solve_from_ldlt" = "d64/la_stack_solve_from_ldlt" "d64/la_stack_solve_from_lu" = "d64/la_stack_solve_from_lu" -"d64/nalgebra_cholesky" = "d64/nalgebra_cholesky" -"d64/nalgebra_cholesky_solve" = "d64/nalgebra_cholesky_solve" -"d64/nalgebra_det_from_cholesky" = "d64/nalgebra_det_from_cholesky" -"d64/nalgebra_det_from_lu" = "d64/nalgebra_det_from_lu" -"d64/nalgebra_det_via_lu" = "d64/nalgebra_det_via_lu" -"d64/nalgebra_dot" = "d64/nalgebra_dot" -"d64/nalgebra_inf_norm" = "d64/nalgebra_inf_norm" -"d64/nalgebra_lu" = "d64/nalgebra_lu" -"d64/nalgebra_lu_solve" = "d64/nalgebra_lu_solve" -"d64/nalgebra_norm_squared" = "d64/nalgebra_norm_squared" -"d64/nalgebra_solve_from_cholesky" = "d64/nalgebra_solve_from_cholesky" -"d64/nalgebra_solve_from_lu" = "d64/nalgebra_solve_from_lu" -"d8/faer_det_from_ldlt" = "d8/faer_det_from_ldlt" -"d8/faer_det_from_lu" = "d8/faer_det_from_lu" -"d8/faer_det_via_lu" = "d8/faer_det_via_lu" -"d8/faer_dot_native" = "d8/faer_dot_native" -"d8/faer_inf_norm" = "d8/faer_inf_norm" -"d8/faer_ldlt" = "d8/faer_ldlt" -"d8/faer_ldlt_solve" = "d8/faer_ldlt_solve" -"d8/faer_lu" = "d8/faer_lu" -"d8/faer_lu_solve" = "d8/faer_lu_solve" -"d8/faer_norm2_sq" = "d8/faer_norm2_sq" -"d8/faer_solve_from_ldlt" = "d8/faer_solve_from_ldlt" -"d8/faer_solve_from_lu" = "d8/faer_solve_from_lu" "d8/la_stack_det" = "d8/la_stack_det" "d8/la_stack_det_from_ldlt" = "d8/la_stack_det_from_ldlt" "d8/la_stack_det_from_ldlt_balanced_range" = "d8/la_stack_det_from_ldlt_balanced_range" @@ -714,21 +1702,14 @@ unit = "ns" "d8/la_stack_lu_ill_conditioned" = "d8/la_stack_lu_ill_conditioned" "d8/la_stack_lu_pivoting" = "d8/la_stack_lu_pivoting" "d8/la_stack_lu_solve" = "d8/la_stack_lu_solve" +"d8/la_stack_norm2" = "d8/la_stack_norm2" +"d8/la_stack_norm2_scenario_descending" = "d8/la_stack_norm2_scenario_descending" +"d8/la_stack_norm2_scenario_repeated_scale" = "d8/la_stack_norm2_scenario_repeated_scale" +"d8/la_stack_norm2_scenario_sparse" = "d8/la_stack_norm2_scenario_sparse" +"d8/la_stack_norm2_scenario_wide_dynamic_range" = "d8/la_stack_norm2_scenario_wide_dynamic_range" "d8/la_stack_norm2_sq" = "d8/la_stack_norm2_sq" "d8/la_stack_solve_from_ldlt" = "d8/la_stack_solve_from_ldlt" "d8/la_stack_solve_from_lu" = "d8/la_stack_solve_from_lu" -"d8/nalgebra_cholesky" = "d8/nalgebra_cholesky" -"d8/nalgebra_cholesky_solve" = "d8/nalgebra_cholesky_solve" -"d8/nalgebra_det_from_cholesky" = "d8/nalgebra_det_from_cholesky" -"d8/nalgebra_det_from_lu" = "d8/nalgebra_det_from_lu" -"d8/nalgebra_det_via_lu" = "d8/nalgebra_det_via_lu" -"d8/nalgebra_dot" = "d8/nalgebra_dot" -"d8/nalgebra_inf_norm" = "d8/nalgebra_inf_norm" -"d8/nalgebra_lu" = "d8/nalgebra_lu" -"d8/nalgebra_lu_solve" = "d8/nalgebra_lu_solve" -"d8/nalgebra_norm_squared" = "d8/nalgebra_norm_squared" -"d8/nalgebra_solve_from_cholesky" = "d8/nalgebra_solve_from_cholesky" -"d8/nalgebra_solve_from_lu" = "d8/nalgebra_solve_from_lu" "exact_d2/det" = "exact_d2/det" "exact_d2/det_direct" = "exact_d2/det_direct" "exact_d2/det_direct_with_errbound" = "exact_d2/det_direct_with_errbound" @@ -810,38 +1791,731 @@ unit = "ns" "exact_random_corpus_d5/solve_exact" = "exact_random_corpus_d5/solve_exact" "exact_random_corpus_d5/solve_exact_f64_result" = "exact_random_corpus_d5/solve_exact_f64_result" "exact_random_corpus_d5/solve_exact_rounded_f64" = "exact_random_corpus_d5/solve_exact_rounded_f64" -"rational_input_d2/det_big_rational_gaussian" = "rational_input_d2/det_big_rational_gaussian" +"gram/1x2/dependent/la_stack" = "gram_1x2_dependent/la_stack" +"gram/1x2/mixed_scale/la_stack" = "gram_1x2_mixed_scale/la_stack" +"gram/1x2/near_dependent/la_stack" = "gram_1x2_near_dependent/la_stack" +"gram/1x2/orthogonal/la_stack" = "gram_1x2_orthogonal/la_stack" +"gram/2x2/dependent/la_stack" = "gram_2x2_dependent/la_stack" +"gram/2x2/mixed_scale/la_stack" = "gram_2x2_mixed_scale/la_stack" +"gram/2x2/near_dependent/la_stack" = "gram_2x2_near_dependent/la_stack" +"gram/2x2/orthogonal/la_stack" = "gram_2x2_orthogonal/la_stack" +"gram/2x3/dependent/la_stack" = "gram_2x3_dependent/la_stack" +"gram/2x3/mixed_scale/la_stack" = "gram_2x3_mixed_scale/la_stack" +"gram/2x3/near_dependent/la_stack" = "gram_2x3_near_dependent/la_stack" +"gram/2x3/orthogonal/la_stack" = "gram_2x3_orthogonal/la_stack" +"gram/3x3/dependent/la_stack" = "gram_3x3_dependent/la_stack" +"gram/3x3/mixed_scale/la_stack" = "gram_3x3_mixed_scale/la_stack" +"gram/3x3/near_dependent/la_stack" = "gram_3x3_near_dependent/la_stack" +"gram/3x3/orthogonal/la_stack" = "gram_3x3_orthogonal/la_stack" +"gram/3x4/dependent/la_stack" = "gram_3x4_dependent/la_stack" +"gram/3x4/mixed_scale/la_stack" = "gram_3x4_mixed_scale/la_stack" +"gram/3x4/near_dependent/la_stack" = "gram_3x4_near_dependent/la_stack" +"gram/3x4/orthogonal/la_stack" = "gram_3x4_orthogonal/la_stack" +"gram/4x4/dependent/la_stack" = "gram_4x4_dependent/la_stack" +"gram/4x4/mixed_scale/la_stack" = "gram_4x4_mixed_scale/la_stack" +"gram/4x4/near_dependent/la_stack" = "gram_4x4_near_dependent/la_stack" +"gram/4x4/orthogonal/la_stack" = "gram_4x4_orthogonal/la_stack" +"gram/4x5/dependent/la_stack" = "gram_4x5_dependent/la_stack" +"gram/4x5/mixed_scale/la_stack" = "gram_4x5_mixed_scale/la_stack" +"gram/4x5/near_dependent/la_stack" = "gram_4x5_near_dependent/la_stack" +"gram/4x5/orthogonal/la_stack" = "gram_4x5_orthogonal/la_stack" +"gram/5x5/dependent/la_stack" = "gram_5x5_dependent/la_stack" +"gram/5x5/mixed_scale/la_stack" = "gram_5x5_mixed_scale/la_stack" +"gram/5x5/near_dependent/la_stack" = "gram_5x5_near_dependent/la_stack" +"gram/5x5/orthogonal/la_stack" = "gram_5x5_orthogonal/la_stack" +"gram/5x6/dependent/la_stack" = "gram_5x6_dependent/la_stack" +"gram/5x6/mixed_scale/la_stack" = "gram_5x6_mixed_scale/la_stack" +"gram/5x6/near_dependent/la_stack" = "gram_5x6_near_dependent/la_stack" +"gram/5x6/orthogonal/la_stack" = "gram_5x6_orthogonal/la_stack" +"gram/6x6/dependent/la_stack" = "gram_6x6_dependent/la_stack" +"gram/6x6/mixed_scale/la_stack" = "gram_6x6_mixed_scale/la_stack" +"gram/6x6/near_dependent/la_stack" = "gram_6x6_near_dependent/la_stack" +"gram/6x6/orthogonal/la_stack" = "gram_6x6_orthogonal/la_stack" +"gram/6x7/dependent/la_stack" = "gram_6x7_dependent/la_stack" +"gram/6x7/mixed_scale/la_stack" = "gram_6x7_mixed_scale/la_stack" +"gram/6x7/near_dependent/la_stack" = "gram_6x7_near_dependent/la_stack" +"gram/6x7/orthogonal/la_stack" = "gram_6x7_orthogonal/la_stack" +"gram/7x7/dependent/la_stack" = "gram_7x7_dependent/la_stack" +"gram/7x7/mixed_scale/la_stack" = "gram_7x7_mixed_scale/la_stack" +"gram/7x7/near_dependent/la_stack" = "gram_7x7_near_dependent/la_stack" +"gram/7x7/orthogonal/la_stack" = "gram_7x7_orthogonal/la_stack" +"gram/7x8/dependent/la_stack" = "gram_7x8_dependent/la_stack" +"gram/7x8/mixed_scale/la_stack" = "gram_7x8_mixed_scale/la_stack" +"gram/7x8/near_dependent/la_stack" = "gram_7x8_near_dependent/la_stack" +"gram/7x8/orthogonal/la_stack" = "gram_7x8_orthogonal/la_stack" +"gram/8x8/dependent/la_stack" = "gram_8x8_dependent/la_stack" +"gram/8x8/mixed_scale/la_stack" = "gram_8x8_mixed_scale/la_stack" +"gram/8x8/near_dependent/la_stack" = "gram_8x8_near_dependent/la_stack" +"gram/8x8/orthogonal/la_stack" = "gram_8x8_orthogonal/la_stack" +"interval_d3/dense_inconclusive" = "interval_d3/dense_inconclusive" +"interval_d3/dense_sign" = "interval_d3/dense_sign" +"interval_d3/lifted_assembly" = "interval_d3/lifted_assembly" +"interval_d3/lifted_assembly_and_sign" = "interval_d3/lifted_assembly_and_sign" +"interval_d3/sparse_sign" = "interval_d3/sparse_sign" +"interval_d4/dense_inconclusive" = "interval_d4/dense_inconclusive" +"interval_d4/dense_sign" = "interval_d4/dense_sign" +"interval_d4/lifted_assembly" = "interval_d4/lifted_assembly" +"interval_d4/lifted_assembly_and_sign" = "interval_d4/lifted_assembly_and_sign" +"interval_d4/sparse_sign" = "interval_d4/sparse_sign" +"interval_d5/dense_inconclusive" = "interval_d5/dense_inconclusive" +"interval_d5/dense_sign" = "interval_d5/dense_sign" +"interval_d5/lifted_assembly" = "interval_d5/lifted_assembly" +"interval_d5/lifted_assembly_and_sign" = "interval_d5/lifted_assembly_and_sign" +"interval_d5/sparse_sign" = "interval_d5/sparse_sign" +"interval_d6/dense_inconclusive" = "interval_d6/dense_inconclusive" +"interval_d6/dense_sign" = "interval_d6/dense_sign" +"interval_d6/lifted_assembly" = "interval_d6/lifted_assembly" +"interval_d6/lifted_assembly_and_sign" = "interval_d6/lifted_assembly_and_sign" +"interval_d6/sparse_sign" = "interval_d6/sparse_sign" +"interval_d7/dense_inconclusive" = "interval_d7/dense_inconclusive" +"interval_d7/dense_sign" = "interval_d7/dense_sign" +"interval_d7/lifted_assembly" = "interval_d7/lifted_assembly" +"interval_d7/lifted_assembly_and_sign" = "interval_d7/lifted_assembly_and_sign" +"interval_d7/sparse_sign" = "interval_d7/sparse_sign" +"interval_det_sign/d4_conclusive_lifted" = "interval_det_sign/d4_conclusive_lifted" +"interval_det_sign/d4_inconclusive_lifted" = "interval_det_sign/d4_inconclusive_lifted" +"interval_det_sign/d7_conclusive_lifted" = "interval_det_sign/d7_conclusive_lifted" +"interval_scalar/cancellation/add" = "interval_scalar/cancellation_add" +"interval_scalar/cancellation/multiply" = "interval_scalar/cancellation_multiply" +"interval_scalar/cancellation/square" = "interval_scalar/cancellation_square" +"interval_scalar/exact/add" = "interval_scalar/exact_add" +"interval_scalar/exact/multiply" = "interval_scalar/exact_multiply" +"interval_scalar/exact/square" = "interval_scalar/exact_square" +"interval_scalar/point/add" = "interval_scalar/point_add" +"interval_scalar/point/multiply" = "interval_scalar/point_multiply" +"interval_scalar/point/square" = "interval_scalar/point_square" +"interval_scalar/subnormal/add" = "interval_scalar/subnormal_add" +"interval_scalar/subnormal/multiply" = "interval_scalar/subnormal_multiply" +"interval_scalar/subnormal/square" = "interval_scalar/subnormal_square" +"interval_scalar/zero/add" = "interval_scalar/zero_add" +"interval_scalar/zero/multiply" = "interval_scalar/zero_multiply" +"interval_scalar/zero/square" = "interval_scalar/zero_square" +"linear_form_d2_batch/origin/construction" = "linear_form_d2_batch/origin_construction" +"linear_form_d2_batch/origin/prepared" = "linear_form_d2_batch/origin_prepared" +"linear_form_d2_batch/origin/with_construction" = "linear_form_d2_batch/origin_with_construction" +"linear_form_d2_batch/translated/construction" = "linear_form_d2_batch/translated_construction" +"linear_form_d2_batch/translated/prepared" = "linear_form_d2_batch/translated_prepared" +"linear_form_d2_batch/translated/with_construction" = "linear_form_d2_batch/translated_with_construction" +"linear_form_d2_prepared/cancellation/difference" = "linear_form_d2_prepared/cancellation_difference" +"linear_form_d2_prepared/cancellation/difference_endpoints" = "linear_form_d2_prepared/cancellation_difference_endpoints" +"linear_form_d2_prepared/cancellation/dot" = "linear_form_d2_prepared/cancellation_dot" +"linear_form_d2_prepared/cancellation/dot_endpoints" = "linear_form_d2_prepared/cancellation_dot_endpoints" +"linear_form_d2_prepared/dense/difference" = "linear_form_d2_prepared/dense_difference" +"linear_form_d2_prepared/dense/difference_endpoints" = "linear_form_d2_prepared/dense_difference_endpoints" +"linear_form_d2_prepared/dense/dot" = "linear_form_d2_prepared/dense_dot" +"linear_form_d2_prepared/dense/dot_endpoints" = "linear_form_d2_prepared/dense_dot_endpoints" +"linear_form_d2_prepared/dense_inexact/difference" = "linear_form_d2_prepared/dense_inexact_difference" +"linear_form_d2_prepared/dense_inexact/difference_endpoints" = "linear_form_d2_prepared/dense_inexact_difference_endpoints" +"linear_form_d2_prepared/dense_inexact/dot" = "linear_form_d2_prepared/dense_inexact_dot" +"linear_form_d2_prepared/dense_inexact/dot_endpoints" = "linear_form_d2_prepared/dense_inexact_dot_endpoints" +"linear_form_d2_prepared/overflow/dot" = "linear_form_d2_prepared/overflow_dot" +"linear_form_d2_prepared/sparse/difference" = "linear_form_d2_prepared/sparse_difference" +"linear_form_d2_prepared/sparse/difference_endpoints" = "linear_form_d2_prepared/sparse_difference_endpoints" +"linear_form_d2_prepared/sparse/dot" = "linear_form_d2_prepared/sparse_dot" +"linear_form_d2_prepared/sparse/dot_endpoints" = "linear_form_d2_prepared/sparse_dot_endpoints" +"linear_form_d2_prepared/underflow/difference" = "linear_form_d2_prepared/underflow_difference" +"linear_form_d2_prepared/underflow/difference_endpoints" = "linear_form_d2_prepared/underflow_difference_endpoints" +"linear_form_d2_prepared/underflow/dot" = "linear_form_d2_prepared/underflow_dot" +"linear_form_d2_prepared/underflow/dot_endpoints" = "linear_form_d2_prepared/underflow_dot_endpoints" +"linear_form_d3_batch/origin/construction" = "linear_form_d3_batch/origin_construction" +"linear_form_d3_batch/origin/prepared" = "linear_form_d3_batch/origin_prepared" +"linear_form_d3_batch/origin/with_construction" = "linear_form_d3_batch/origin_with_construction" +"linear_form_d3_batch/translated/construction" = "linear_form_d3_batch/translated_construction" +"linear_form_d3_batch/translated/prepared" = "linear_form_d3_batch/translated_prepared" +"linear_form_d3_batch/translated/with_construction" = "linear_form_d3_batch/translated_with_construction" +"linear_form_d3_prepared/cancellation/difference" = "linear_form_d3_prepared/cancellation_difference" +"linear_form_d3_prepared/cancellation/difference_endpoints" = "linear_form_d3_prepared/cancellation_difference_endpoints" +"linear_form_d3_prepared/cancellation/dot" = "linear_form_d3_prepared/cancellation_dot" +"linear_form_d3_prepared/cancellation/dot_endpoints" = "linear_form_d3_prepared/cancellation_dot_endpoints" +"linear_form_d3_prepared/dense/difference" = "linear_form_d3_prepared/dense_difference" +"linear_form_d3_prepared/dense/difference_endpoints" = "linear_form_d3_prepared/dense_difference_endpoints" +"linear_form_d3_prepared/dense/dot" = "linear_form_d3_prepared/dense_dot" +"linear_form_d3_prepared/dense/dot_endpoints" = "linear_form_d3_prepared/dense_dot_endpoints" +"linear_form_d3_prepared/dense_inexact/difference" = "linear_form_d3_prepared/dense_inexact_difference" +"linear_form_d3_prepared/dense_inexact/difference_endpoints" = "linear_form_d3_prepared/dense_inexact_difference_endpoints" +"linear_form_d3_prepared/dense_inexact/dot" = "linear_form_d3_prepared/dense_inexact_dot" +"linear_form_d3_prepared/dense_inexact/dot_endpoints" = "linear_form_d3_prepared/dense_inexact_dot_endpoints" +"linear_form_d3_prepared/overflow/dot" = "linear_form_d3_prepared/overflow_dot" +"linear_form_d3_prepared/sparse/difference" = "linear_form_d3_prepared/sparse_difference" +"linear_form_d3_prepared/sparse/difference_endpoints" = "linear_form_d3_prepared/sparse_difference_endpoints" +"linear_form_d3_prepared/sparse/dot" = "linear_form_d3_prepared/sparse_dot" +"linear_form_d3_prepared/sparse/dot_endpoints" = "linear_form_d3_prepared/sparse_dot_endpoints" +"linear_form_d3_prepared/underflow/difference" = "linear_form_d3_prepared/underflow_difference" +"linear_form_d3_prepared/underflow/difference_endpoints" = "linear_form_d3_prepared/underflow_difference_endpoints" +"linear_form_d3_prepared/underflow/dot" = "linear_form_d3_prepared/underflow_dot" +"linear_form_d3_prepared/underflow/dot_endpoints" = "linear_form_d3_prepared/underflow_dot_endpoints" +"linear_form_d4/dot_bounded_inconclusive" = "linear_form_d4/dot_bounded_inconclusive" +"linear_form_d4/dot_bounded_well_separated" = "linear_form_d4/dot_bounded_well_separated" +"linear_form_d4/dot_difference_bounded_inconclusive" = "linear_form_d4/dot_difference_bounded_inconclusive" +"linear_form_d4/dot_difference_bounded_well_separated" = "linear_form_d4/dot_difference_bounded_well_separated" +"linear_form_d4/dot_plain_well_separated" = "linear_form_d4/dot_plain_well_separated" +"linear_form_d4_batch/origin/construction" = "linear_form_d4_batch/origin_construction" +"linear_form_d4_batch/origin/prepared" = "linear_form_d4_batch/origin_prepared" +"linear_form_d4_batch/origin/with_construction" = "linear_form_d4_batch/origin_with_construction" +"linear_form_d4_batch/translated/construction" = "linear_form_d4_batch/translated_construction" +"linear_form_d4_batch/translated/prepared" = "linear_form_d4_batch/translated_prepared" +"linear_form_d4_batch/translated/with_construction" = "linear_form_d4_batch/translated_with_construction" +"linear_form_d4_prepared/cancellation/difference" = "linear_form_d4_prepared/cancellation_difference" +"linear_form_d4_prepared/cancellation/difference_endpoints" = "linear_form_d4_prepared/cancellation_difference_endpoints" +"linear_form_d4_prepared/cancellation/dot" = "linear_form_d4_prepared/cancellation_dot" +"linear_form_d4_prepared/cancellation/dot_endpoints" = "linear_form_d4_prepared/cancellation_dot_endpoints" +"linear_form_d4_prepared/dense/difference" = "linear_form_d4_prepared/dense_difference" +"linear_form_d4_prepared/dense/difference_endpoints" = "linear_form_d4_prepared/dense_difference_endpoints" +"linear_form_d4_prepared/dense/dot" = "linear_form_d4_prepared/dense_dot" +"linear_form_d4_prepared/dense/dot_endpoints" = "linear_form_d4_prepared/dense_dot_endpoints" +"linear_form_d4_prepared/dense_inexact/difference" = "linear_form_d4_prepared/dense_inexact_difference" +"linear_form_d4_prepared/dense_inexact/difference_endpoints" = "linear_form_d4_prepared/dense_inexact_difference_endpoints" +"linear_form_d4_prepared/dense_inexact/dot" = "linear_form_d4_prepared/dense_inexact_dot" +"linear_form_d4_prepared/dense_inexact/dot_endpoints" = "linear_form_d4_prepared/dense_inexact_dot_endpoints" +"linear_form_d4_prepared/overflow/dot" = "linear_form_d4_prepared/overflow_dot" +"linear_form_d4_prepared/sparse/difference" = "linear_form_d4_prepared/sparse_difference" +"linear_form_d4_prepared/sparse/difference_endpoints" = "linear_form_d4_prepared/sparse_difference_endpoints" +"linear_form_d4_prepared/sparse/dot" = "linear_form_d4_prepared/sparse_dot" +"linear_form_d4_prepared/sparse/dot_endpoints" = "linear_form_d4_prepared/sparse_dot_endpoints" +"linear_form_d4_prepared/underflow/difference" = "linear_form_d4_prepared/underflow_difference" +"linear_form_d4_prepared/underflow/difference_endpoints" = "linear_form_d4_prepared/underflow_difference_endpoints" +"linear_form_d4_prepared/underflow/dot" = "linear_form_d4_prepared/underflow_dot" +"linear_form_d4_prepared/underflow/dot_endpoints" = "linear_form_d4_prepared/underflow_dot_endpoints" +"linear_form_d5_batch/origin/construction" = "linear_form_d5_batch/origin_construction" +"linear_form_d5_batch/origin/prepared" = "linear_form_d5_batch/origin_prepared" +"linear_form_d5_batch/origin/with_construction" = "linear_form_d5_batch/origin_with_construction" +"linear_form_d5_batch/translated/construction" = "linear_form_d5_batch/translated_construction" +"linear_form_d5_batch/translated/prepared" = "linear_form_d5_batch/translated_prepared" +"linear_form_d5_batch/translated/with_construction" = "linear_form_d5_batch/translated_with_construction" +"linear_form_d5_prepared/cancellation/difference" = "linear_form_d5_prepared/cancellation_difference" +"linear_form_d5_prepared/cancellation/difference_endpoints" = "linear_form_d5_prepared/cancellation_difference_endpoints" +"linear_form_d5_prepared/cancellation/dot" = "linear_form_d5_prepared/cancellation_dot" +"linear_form_d5_prepared/cancellation/dot_endpoints" = "linear_form_d5_prepared/cancellation_dot_endpoints" +"linear_form_d5_prepared/dense/difference" = "linear_form_d5_prepared/dense_difference" +"linear_form_d5_prepared/dense/difference_endpoints" = "linear_form_d5_prepared/dense_difference_endpoints" +"linear_form_d5_prepared/dense/dot" = "linear_form_d5_prepared/dense_dot" +"linear_form_d5_prepared/dense/dot_endpoints" = "linear_form_d5_prepared/dense_dot_endpoints" +"linear_form_d5_prepared/dense_inexact/difference" = "linear_form_d5_prepared/dense_inexact_difference" +"linear_form_d5_prepared/dense_inexact/difference_endpoints" = "linear_form_d5_prepared/dense_inexact_difference_endpoints" +"linear_form_d5_prepared/dense_inexact/dot" = "linear_form_d5_prepared/dense_inexact_dot" +"linear_form_d5_prepared/dense_inexact/dot_endpoints" = "linear_form_d5_prepared/dense_inexact_dot_endpoints" +"linear_form_d5_prepared/overflow/dot" = "linear_form_d5_prepared/overflow_dot" +"linear_form_d5_prepared/sparse/difference" = "linear_form_d5_prepared/sparse_difference" +"linear_form_d5_prepared/sparse/difference_endpoints" = "linear_form_d5_prepared/sparse_difference_endpoints" +"linear_form_d5_prepared/sparse/dot" = "linear_form_d5_prepared/sparse_dot" +"linear_form_d5_prepared/sparse/dot_endpoints" = "linear_form_d5_prepared/sparse_dot_endpoints" +"linear_form_d5_prepared/underflow/difference" = "linear_form_d5_prepared/underflow_difference" +"linear_form_d5_prepared/underflow/difference_endpoints" = "linear_form_d5_prepared/underflow_difference_endpoints" +"linear_form_d5_prepared/underflow/dot" = "linear_form_d5_prepared/underflow_dot" +"linear_form_d5_prepared/underflow/dot_endpoints" = "linear_form_d5_prepared/underflow_dot_endpoints" +"linear_form_d6_batch/origin/construction" = "linear_form_d6_batch/origin_construction" +"linear_form_d6_batch/origin/prepared" = "linear_form_d6_batch/origin_prepared" +"linear_form_d6_batch/origin/with_construction" = "linear_form_d6_batch/origin_with_construction" +"linear_form_d6_batch/translated/construction" = "linear_form_d6_batch/translated_construction" +"linear_form_d6_batch/translated/prepared" = "linear_form_d6_batch/translated_prepared" +"linear_form_d6_batch/translated/with_construction" = "linear_form_d6_batch/translated_with_construction" +"linear_form_d6_prepared/cancellation/difference" = "linear_form_d6_prepared/cancellation_difference" +"linear_form_d6_prepared/cancellation/difference_endpoints" = "linear_form_d6_prepared/cancellation_difference_endpoints" +"linear_form_d6_prepared/cancellation/dot" = "linear_form_d6_prepared/cancellation_dot" +"linear_form_d6_prepared/cancellation/dot_endpoints" = "linear_form_d6_prepared/cancellation_dot_endpoints" +"linear_form_d6_prepared/dense/difference" = "linear_form_d6_prepared/dense_difference" +"linear_form_d6_prepared/dense/difference_endpoints" = "linear_form_d6_prepared/dense_difference_endpoints" +"linear_form_d6_prepared/dense/dot" = "linear_form_d6_prepared/dense_dot" +"linear_form_d6_prepared/dense/dot_endpoints" = "linear_form_d6_prepared/dense_dot_endpoints" +"linear_form_d6_prepared/dense_inexact/difference" = "linear_form_d6_prepared/dense_inexact_difference" +"linear_form_d6_prepared/dense_inexact/difference_endpoints" = "linear_form_d6_prepared/dense_inexact_difference_endpoints" +"linear_form_d6_prepared/dense_inexact/dot" = "linear_form_d6_prepared/dense_inexact_dot" +"linear_form_d6_prepared/dense_inexact/dot_endpoints" = "linear_form_d6_prepared/dense_inexact_dot_endpoints" +"linear_form_d6_prepared/overflow/dot" = "linear_form_d6_prepared/overflow_dot" +"linear_form_d6_prepared/sparse/difference" = "linear_form_d6_prepared/sparse_difference" +"linear_form_d6_prepared/sparse/difference_endpoints" = "linear_form_d6_prepared/sparse_difference_endpoints" +"linear_form_d6_prepared/sparse/dot" = "linear_form_d6_prepared/sparse_dot" +"linear_form_d6_prepared/sparse/dot_endpoints" = "linear_form_d6_prepared/sparse_dot_endpoints" +"linear_form_d6_prepared/underflow/difference" = "linear_form_d6_prepared/underflow_difference" +"linear_form_d6_prepared/underflow/difference_endpoints" = "linear_form_d6_prepared/underflow_difference_endpoints" +"linear_form_d6_prepared/underflow/dot" = "linear_form_d6_prepared/underflow_dot" +"linear_form_d6_prepared/underflow/dot_endpoints" = "linear_form_d6_prepared/underflow_dot_endpoints" +"public_d2/det_bound" = "public_d2/det_bound" +"public_d2/det_direct" = "public_d2/det_direct" +"public_d2/det_with_bound" = "public_d2/det_with_bound" +"public_d2/first_asymmetry" = "public_d2/first_asymmetry" +"public_d2/interval_det" = "public_d2/interval_det" +"public_d2/interval_matrix_access" = "public_d2/interval_matrix_access" +"public_d2/interval_matrix_from_matrix" = "public_d2/interval_matrix_from_matrix" +"public_d2/interval_matrix_from_points" = "public_d2/interval_matrix_from_points" +"public_d2/interval_matrix_from_rows" = "public_d2/interval_matrix_from_rows" +"public_d2/interval_matrix_identity" = "public_d2/interval_matrix_identity" +"public_d2/interval_matrix_set" = "public_d2/interval_matrix_set" +"public_d2/interval_matrix_zero" = "public_d2/interval_matrix_zero" +"public_d2/is_symmetric" = "public_d2/is_symmetric" +"public_d2/matrix_access" = "public_d2/matrix_access" +"public_d2/matrix_from_rows" = "public_d2/matrix_from_rows" +"public_d2/matrix_identity" = "public_d2/matrix_identity" +"public_d2/matrix_set" = "public_d2/matrix_set" +"public_d2/matrix_zero" = "public_d2/matrix_zero" +"public_d2/vector_access" = "public_d2/vector_access" +"public_d2/vector_new" = "public_d2/vector_new" +"public_d2/vector_zero" = "public_d2/vector_zero" +"public_d3/det_bound" = "public_d3/det_bound" +"public_d3/det_direct" = "public_d3/det_direct" +"public_d3/det_with_bound" = "public_d3/det_with_bound" +"public_d3/first_asymmetry" = "public_d3/first_asymmetry" +"public_d3/interval_det" = "public_d3/interval_det" +"public_d3/interval_matrix_access" = "public_d3/interval_matrix_access" +"public_d3/interval_matrix_from_matrix" = "public_d3/interval_matrix_from_matrix" +"public_d3/interval_matrix_from_points" = "public_d3/interval_matrix_from_points" +"public_d3/interval_matrix_from_rows" = "public_d3/interval_matrix_from_rows" +"public_d3/interval_matrix_identity" = "public_d3/interval_matrix_identity" +"public_d3/interval_matrix_set" = "public_d3/interval_matrix_set" +"public_d3/interval_matrix_zero" = "public_d3/interval_matrix_zero" +"public_d3/is_symmetric" = "public_d3/is_symmetric" +"public_d3/matrix_access" = "public_d3/matrix_access" +"public_d3/matrix_from_rows" = "public_d3/matrix_from_rows" +"public_d3/matrix_identity" = "public_d3/matrix_identity" +"public_d3/matrix_set" = "public_d3/matrix_set" +"public_d3/matrix_zero" = "public_d3/matrix_zero" +"public_d3/vector_access" = "public_d3/vector_access" +"public_d3/vector_new" = "public_d3/vector_new" +"public_d3/vector_zero" = "public_d3/vector_zero" +"public_d4/det_bound" = "public_d4/det_bound" +"public_d4/det_direct" = "public_d4/det_direct" +"public_d4/det_with_bound" = "public_d4/det_with_bound" +"public_d4/first_asymmetry" = "public_d4/first_asymmetry" +"public_d4/interval_det" = "public_d4/interval_det" +"public_d4/interval_matrix_access" = "public_d4/interval_matrix_access" +"public_d4/interval_matrix_from_matrix" = "public_d4/interval_matrix_from_matrix" +"public_d4/interval_matrix_from_points" = "public_d4/interval_matrix_from_points" +"public_d4/interval_matrix_from_rows" = "public_d4/interval_matrix_from_rows" +"public_d4/interval_matrix_identity" = "public_d4/interval_matrix_identity" +"public_d4/interval_matrix_set" = "public_d4/interval_matrix_set" +"public_d4/interval_matrix_zero" = "public_d4/interval_matrix_zero" +"public_d4/is_symmetric" = "public_d4/is_symmetric" +"public_d4/matrix_access" = "public_d4/matrix_access" +"public_d4/matrix_from_rows" = "public_d4/matrix_from_rows" +"public_d4/matrix_identity" = "public_d4/matrix_identity" +"public_d4/matrix_set" = "public_d4/matrix_set" +"public_d4/matrix_zero" = "public_d4/matrix_zero" +"public_d4/vector_access" = "public_d4/vector_access" +"public_d4/vector_new" = "public_d4/vector_new" +"public_d4/vector_zero" = "public_d4/vector_zero" +"public_d5/det_bound" = "public_d5/det_bound" +"public_d5/det_direct" = "public_d5/det_direct" +"public_d5/det_with_bound" = "public_d5/det_with_bound" +"public_d5/first_asymmetry" = "public_d5/first_asymmetry" +"public_d5/interval_det" = "public_d5/interval_det" +"public_d5/interval_matrix_access" = "public_d5/interval_matrix_access" +"public_d5/interval_matrix_from_matrix" = "public_d5/interval_matrix_from_matrix" +"public_d5/interval_matrix_from_points" = "public_d5/interval_matrix_from_points" +"public_d5/interval_matrix_from_rows" = "public_d5/interval_matrix_from_rows" +"public_d5/interval_matrix_identity" = "public_d5/interval_matrix_identity" +"public_d5/interval_matrix_set" = "public_d5/interval_matrix_set" +"public_d5/interval_matrix_zero" = "public_d5/interval_matrix_zero" +"public_d5/is_symmetric" = "public_d5/is_symmetric" +"public_d5/matrix_access" = "public_d5/matrix_access" +"public_d5/matrix_from_rows" = "public_d5/matrix_from_rows" +"public_d5/matrix_identity" = "public_d5/matrix_identity" +"public_d5/matrix_set" = "public_d5/matrix_set" +"public_d5/matrix_zero" = "public_d5/matrix_zero" +"public_d5/vector_access" = "public_d5/vector_access" +"public_d5/vector_new" = "public_d5/vector_new" +"public_d5/vector_zero" = "public_d5/vector_zero" +"public_exact_d2/matrix_access" = "public_exact_d2/matrix_access" +"public_exact_d2/matrix_from_fn" = "public_exact_d2/matrix_from_fn" +"public_exact_d2/matrix_from_rows" = "public_exact_d2/matrix_from_rows" +"public_exact_d2/matrix_into_rows" = "public_exact_d2/matrix_into_rows" +"public_exact_d2/matrix_zero" = "public_exact_d2/matrix_zero" +"public_exact_d2/vector_access" = "public_exact_d2/vector_access" +"public_exact_d2/vector_from_fn" = "public_exact_d2/vector_from_fn" +"public_exact_d2/vector_into_array" = "public_exact_d2/vector_into_array" +"public_exact_d2/vector_new" = "public_exact_d2/vector_new" +"public_exact_d2/vector_zero" = "public_exact_d2/vector_zero" +"public_exact_d3/matrix_access" = "public_exact_d3/matrix_access" +"public_exact_d3/matrix_from_fn" = "public_exact_d3/matrix_from_fn" +"public_exact_d3/matrix_from_rows" = "public_exact_d3/matrix_from_rows" +"public_exact_d3/matrix_into_rows" = "public_exact_d3/matrix_into_rows" +"public_exact_d3/matrix_zero" = "public_exact_d3/matrix_zero" +"public_exact_d3/vector_access" = "public_exact_d3/vector_access" +"public_exact_d3/vector_from_fn" = "public_exact_d3/vector_from_fn" +"public_exact_d3/vector_into_array" = "public_exact_d3/vector_into_array" +"public_exact_d3/vector_new" = "public_exact_d3/vector_new" +"public_exact_d3/vector_zero" = "public_exact_d3/vector_zero" +"public_exact_d4/matrix_access" = "public_exact_d4/matrix_access" +"public_exact_d4/matrix_from_fn" = "public_exact_d4/matrix_from_fn" +"public_exact_d4/matrix_from_rows" = "public_exact_d4/matrix_from_rows" +"public_exact_d4/matrix_into_rows" = "public_exact_d4/matrix_into_rows" +"public_exact_d4/matrix_zero" = "public_exact_d4/matrix_zero" +"public_exact_d4/vector_access" = "public_exact_d4/vector_access" +"public_exact_d4/vector_from_fn" = "public_exact_d4/vector_from_fn" +"public_exact_d4/vector_into_array" = "public_exact_d4/vector_into_array" +"public_exact_d4/vector_new" = "public_exact_d4/vector_new" +"public_exact_d4/vector_zero" = "public_exact_d4/vector_zero" +"public_exact_d5/matrix_access" = "public_exact_d5/matrix_access" +"public_exact_d5/matrix_from_fn" = "public_exact_d5/matrix_from_fn" +"public_exact_d5/matrix_from_rows" = "public_exact_d5/matrix_from_rows" +"public_exact_d5/matrix_into_rows" = "public_exact_d5/matrix_into_rows" +"public_exact_d5/matrix_zero" = "public_exact_d5/matrix_zero" +"public_exact_d5/vector_access" = "public_exact_d5/vector_access" +"public_exact_d5/vector_from_fn" = "public_exact_d5/vector_from_fn" +"public_exact_d5/vector_into_array" = "public_exact_d5/vector_into_array" +"public_exact_d5/vector_new" = "public_exact_d5/vector_new" +"public_exact_d5/vector_zero" = "public_exact_d5/vector_zero" +"public_exact_scalar/rounded" = "public_exact_scalar/rounded" +"public_exact_scalar/strict" = "public_exact_scalar/strict" "rational_input_d2/det_row_cleared_bareiss" = "rational_input_d2/det_row_cleared_bareiss" "rational_input_d2/det_sign_row_cleared_bareiss" = "rational_input_d2/det_sign_row_cleared_bareiss" -"rational_input_d2/solve_big_rational_gaussian" = "rational_input_d2/solve_big_rational_gaussian" "rational_input_d2/solve_row_cleared_bareiss" = "rational_input_d2/solve_row_cleared_bareiss" -"rational_input_d3/det_big_rational_gaussian" = "rational_input_d3/det_big_rational_gaussian" "rational_input_d3/det_row_cleared_bareiss" = "rational_input_d3/det_row_cleared_bareiss" "rational_input_d3/det_sign_row_cleared_bareiss" = "rational_input_d3/det_sign_row_cleared_bareiss" -"rational_input_d3/solve_big_rational_gaussian" = "rational_input_d3/solve_big_rational_gaussian" "rational_input_d3/solve_row_cleared_bareiss" = "rational_input_d3/solve_row_cleared_bareiss" -"rational_input_d4/det_big_rational_gaussian" = "rational_input_d4/det_big_rational_gaussian" "rational_input_d4/det_row_cleared_bareiss" = "rational_input_d4/det_row_cleared_bareiss" "rational_input_d4/det_sign_row_cleared_bareiss" = "rational_input_d4/det_sign_row_cleared_bareiss" -"rational_input_d4/solve_big_rational_gaussian" = "rational_input_d4/solve_big_rational_gaussian" "rational_input_d4/solve_row_cleared_bareiss" = "rational_input_d4/solve_row_cleared_bareiss" -"rational_input_d5/det_big_rational_gaussian" = "rational_input_d5/det_big_rational_gaussian" "rational_input_d5/det_row_cleared_bareiss" = "rational_input_d5/det_row_cleared_bareiss" "rational_input_d5/det_sign_row_cleared_bareiss" = "rational_input_d5/det_sign_row_cleared_bareiss" -"rational_input_d5/solve_big_rational_gaussian" = "rational_input_d5/solve_big_rational_gaussian" "rational_input_d5/solve_row_cleared_bareiss" = "rational_input_d5/solve_row_cleared_bareiss" -"rational_input_d6/det_big_rational_gaussian" = "rational_input_d6/det_big_rational_gaussian" "rational_input_d6/det_row_cleared_bareiss" = "rational_input_d6/det_row_cleared_bareiss" "rational_input_d6/det_sign_row_cleared_bareiss" = "rational_input_d6/det_sign_row_cleared_bareiss" -"rational_input_d6/solve_big_rational_gaussian" = "rational_input_d6/solve_big_rational_gaussian" "rational_input_d6/solve_row_cleared_bareiss" = "rational_input_d6/solve_row_cleared_bareiss" -"rational_input_d7/det_big_rational_gaussian" = "rational_input_d7/det_big_rational_gaussian" "rational_input_d7/det_row_cleared_bareiss" = "rational_input_d7/det_row_cleared_bareiss" "rational_input_d7/det_sign_row_cleared_bareiss" = "rational_input_d7/det_sign_row_cleared_bareiss" -"rational_input_d7/solve_big_rational_gaussian" = "rational_input_d7/solve_big_rational_gaussian" "rational_input_d7/solve_row_cleared_bareiss" = "rational_input_d7/solve_row_cleared_bareiss" -"rational_input_d8/det_big_rational_gaussian" = "rational_input_d8/det_big_rational_gaussian" "rational_input_d8/det_row_cleared_bareiss" = "rational_input_d8/det_row_cleared_bareiss" "rational_input_d8/det_sign_row_cleared_bareiss" = "rational_input_d8/det_sign_row_cleared_bareiss" -"rational_input_d8/solve_big_rational_gaussian" = "rational_input_d8/solve_big_rational_gaussian" "rational_input_d8/solve_row_cleared_bareiss" = "rational_input_d8/solve_row_cleared_bareiss" +"rational_input_wide1024_d2/det_row_cleared_bareiss" = "rational_input_wide1024_d2/det_row_cleared_bareiss" +"rational_input_wide1024_d2/det_sign_row_cleared_bareiss" = "rational_input_wide1024_d2/det_sign_row_cleared_bareiss" +"rational_input_wide1024_d2/solve_row_cleared_bareiss" = "rational_input_wide1024_d2/solve_row_cleared_bareiss" +"rational_input_wide1024_d3/det_row_cleared_bareiss" = "rational_input_wide1024_d3/det_row_cleared_bareiss" +"rational_input_wide1024_d3/det_sign_row_cleared_bareiss" = "rational_input_wide1024_d3/det_sign_row_cleared_bareiss" +"rational_input_wide1024_d3/solve_row_cleared_bareiss" = "rational_input_wide1024_d3/solve_row_cleared_bareiss" +"rational_input_wide1024_d4/det_row_cleared_bareiss" = "rational_input_wide1024_d4/det_row_cleared_bareiss" +"rational_input_wide1024_d4/det_sign_row_cleared_bareiss" = "rational_input_wide1024_d4/det_sign_row_cleared_bareiss" +"rational_input_wide1024_d4/solve_row_cleared_bareiss" = "rational_input_wide1024_d4/solve_row_cleared_bareiss" +"rational_input_wide1024_d5/det_row_cleared_bareiss" = "rational_input_wide1024_d5/det_row_cleared_bareiss" +"rational_input_wide1024_d5/det_sign_row_cleared_bareiss" = "rational_input_wide1024_d5/det_sign_row_cleared_bareiss" +"rational_input_wide1024_d5/solve_row_cleared_bareiss" = "rational_input_wide1024_d5/solve_row_cleared_bareiss" +"rational_input_wide1024_d6/det_row_cleared_bareiss" = "rational_input_wide1024_d6/det_row_cleared_bareiss" +"rational_input_wide1024_d6/det_sign_row_cleared_bareiss" = "rational_input_wide1024_d6/det_sign_row_cleared_bareiss" +"rational_input_wide1024_d6/solve_row_cleared_bareiss" = "rational_input_wide1024_d6/solve_row_cleared_bareiss" +"rational_input_wide1024_d7/det_row_cleared_bareiss" = "rational_input_wide1024_d7/det_row_cleared_bareiss" +"rational_input_wide1024_d7/det_sign_row_cleared_bareiss" = "rational_input_wide1024_d7/det_sign_row_cleared_bareiss" +"rational_input_wide1024_d7/solve_row_cleared_bareiss" = "rational_input_wide1024_d7/solve_row_cleared_bareiss" +"rational_input_wide1024_d8/det_row_cleared_bareiss" = "rational_input_wide1024_d8/det_row_cleared_bareiss" +"rational_input_wide1024_d8/det_sign_row_cleared_bareiss" = "rational_input_wide1024_d8/det_sign_row_cleared_bareiss" +"rational_input_wide1024_d8/solve_row_cleared_bareiss" = "rational_input_wide1024_d8/solve_row_cleared_bareiss" +"rational_input_wide256_d2/det_row_cleared_bareiss" = "rational_input_wide256_d2/det_row_cleared_bareiss" +"rational_input_wide256_d2/det_sign_row_cleared_bareiss" = "rational_input_wide256_d2/det_sign_row_cleared_bareiss" +"rational_input_wide256_d2/solve_row_cleared_bareiss" = "rational_input_wide256_d2/solve_row_cleared_bareiss" +"rational_input_wide256_d3/det_row_cleared_bareiss" = "rational_input_wide256_d3/det_row_cleared_bareiss" +"rational_input_wide256_d3/det_sign_row_cleared_bareiss" = "rational_input_wide256_d3/det_sign_row_cleared_bareiss" +"rational_input_wide256_d3/solve_row_cleared_bareiss" = "rational_input_wide256_d3/solve_row_cleared_bareiss" +"rational_input_wide256_d4/det_row_cleared_bareiss" = "rational_input_wide256_d4/det_row_cleared_bareiss" +"rational_input_wide256_d4/det_sign_row_cleared_bareiss" = "rational_input_wide256_d4/det_sign_row_cleared_bareiss" +"rational_input_wide256_d4/solve_row_cleared_bareiss" = "rational_input_wide256_d4/solve_row_cleared_bareiss" +"rational_input_wide256_d5/det_row_cleared_bareiss" = "rational_input_wide256_d5/det_row_cleared_bareiss" +"rational_input_wide256_d5/det_sign_row_cleared_bareiss" = "rational_input_wide256_d5/det_sign_row_cleared_bareiss" +"rational_input_wide256_d5/solve_row_cleared_bareiss" = "rational_input_wide256_d5/solve_row_cleared_bareiss" +"rational_input_wide256_d6/det_row_cleared_bareiss" = "rational_input_wide256_d6/det_row_cleared_bareiss" +"rational_input_wide256_d6/det_sign_row_cleared_bareiss" = "rational_input_wide256_d6/det_sign_row_cleared_bareiss" +"rational_input_wide256_d6/solve_row_cleared_bareiss" = "rational_input_wide256_d6/solve_row_cleared_bareiss" +"rational_input_wide256_d7/det_row_cleared_bareiss" = "rational_input_wide256_d7/det_row_cleared_bareiss" +"rational_input_wide256_d7/det_sign_row_cleared_bareiss" = "rational_input_wide256_d7/det_sign_row_cleared_bareiss" +"rational_input_wide256_d7/solve_row_cleared_bareiss" = "rational_input_wide256_d7/solve_row_cleared_bareiss" +"rational_input_wide256_d8/det_row_cleared_bareiss" = "rational_input_wide256_d8/det_row_cleared_bareiss" +"rational_input_wide256_d8/det_sign_row_cleared_bareiss" = "rational_input_wide256_d8/det_sign_row_cleared_bareiss" +"rational_input_wide256_d8/solve_row_cleared_bareiss" = "rational_input_wide256_d8/solve_row_cleared_bareiss" +"rational_solve/dense/dyadic_d2/adapter" = "rational_solve_dense_dyadic_d2/adapter" +"rational_solve/dense/dyadic_d2/construct" = "rational_solve_dense_dyadic_d2/construct" +"rational_solve/dense/dyadic_d2/prepared" = "rational_solve_dense_dyadic_d2/prepared" +"rational_solve/dense/dyadic_d3/adapter" = "rational_solve_dense_dyadic_d3/adapter" +"rational_solve/dense/dyadic_d3/construct" = "rational_solve_dense_dyadic_d3/construct" +"rational_solve/dense/dyadic_d3/prepared" = "rational_solve_dense_dyadic_d3/prepared" +"rational_solve/dense/dyadic_d4/adapter" = "rational_solve_dense_dyadic_d4/adapter" +"rational_solve/dense/dyadic_d4/construct" = "rational_solve_dense_dyadic_d4/construct" +"rational_solve/dense/dyadic_d4/prepared" = "rational_solve_dense_dyadic_d4/prepared" +"rational_solve/dense/dyadic_d5/adapter" = "rational_solve_dense_dyadic_d5/adapter" +"rational_solve/dense/dyadic_d5/construct" = "rational_solve_dense_dyadic_d5/construct" +"rational_solve/dense/dyadic_d5/prepared" = "rational_solve_dense_dyadic_d5/prepared" +"rational_solve/dense/dyadic_d6/adapter" = "rational_solve_dense_dyadic_d6/adapter" +"rational_solve/dense/dyadic_d6/construct" = "rational_solve_dense_dyadic_d6/construct" +"rational_solve/dense/dyadic_d6/prepared" = "rational_solve_dense_dyadic_d6/prepared" +"rational_solve/dense/dyadic_d7/adapter" = "rational_solve_dense_dyadic_d7/adapter" +"rational_solve/dense/dyadic_d7/construct" = "rational_solve_dense_dyadic_d7/construct" +"rational_solve/dense/dyadic_d7/prepared" = "rational_solve_dense_dyadic_d7/prepared" +"rational_solve/dense/dyadic_d8/adapter" = "rational_solve_dense_dyadic_d8/adapter" +"rational_solve/dense/dyadic_d8/construct" = "rational_solve_dense_dyadic_d8/construct" +"rational_solve/dense/dyadic_d8/prepared" = "rational_solve_dense_dyadic_d8/prepared" +"rational_solve/dense/rational_d2/adapter" = "rational_solve_dense_rational_d2/adapter" +"rational_solve/dense/rational_d2/construct" = "rational_solve_dense_rational_d2/construct" +"rational_solve/dense/rational_d2/prepared" = "rational_solve_dense_rational_d2/prepared" +"rational_solve/dense/rational_d3/adapter" = "rational_solve_dense_rational_d3/adapter" +"rational_solve/dense/rational_d3/construct" = "rational_solve_dense_rational_d3/construct" +"rational_solve/dense/rational_d3/prepared" = "rational_solve_dense_rational_d3/prepared" +"rational_solve/dense/rational_d4/adapter" = "rational_solve_dense_rational_d4/adapter" +"rational_solve/dense/rational_d4/construct" = "rational_solve_dense_rational_d4/construct" +"rational_solve/dense/rational_d4/prepared" = "rational_solve_dense_rational_d4/prepared" +"rational_solve/dense/rational_d5/adapter" = "rational_solve_dense_rational_d5/adapter" +"rational_solve/dense/rational_d5/construct" = "rational_solve_dense_rational_d5/construct" +"rational_solve/dense/rational_d5/prepared" = "rational_solve_dense_rational_d5/prepared" +"rational_solve/dense/rational_d6/adapter" = "rational_solve_dense_rational_d6/adapter" +"rational_solve/dense/rational_d6/construct" = "rational_solve_dense_rational_d6/construct" +"rational_solve/dense/rational_d6/prepared" = "rational_solve_dense_rational_d6/prepared" +"rational_solve/dense/rational_d7/adapter" = "rational_solve_dense_rational_d7/adapter" +"rational_solve/dense/rational_d7/construct" = "rational_solve_dense_rational_d7/construct" +"rational_solve/dense/rational_d7/prepared" = "rational_solve_dense_rational_d7/prepared" +"rational_solve/dense/rational_d8/adapter" = "rational_solve_dense_rational_d8/adapter" +"rational_solve/dense/rational_d8/construct" = "rational_solve_dense_rational_d8/construct" +"rational_solve/dense/rational_d8/prepared" = "rational_solve_dense_rational_d8/prepared" +"rational_solve/diagonal/dyadic_d2/adapter" = "rational_solve_diagonal_dyadic_d2/adapter" +"rational_solve/diagonal/dyadic_d2/construct" = "rational_solve_diagonal_dyadic_d2/construct" +"rational_solve/diagonal/dyadic_d2/prepared" = "rational_solve_diagonal_dyadic_d2/prepared" +"rational_solve/diagonal/dyadic_d3/adapter" = "rational_solve_diagonal_dyadic_d3/adapter" +"rational_solve/diagonal/dyadic_d3/construct" = "rational_solve_diagonal_dyadic_d3/construct" +"rational_solve/diagonal/dyadic_d3/prepared" = "rational_solve_diagonal_dyadic_d3/prepared" +"rational_solve/diagonal/dyadic_d4/adapter" = "rational_solve_diagonal_dyadic_d4/adapter" +"rational_solve/diagonal/dyadic_d4/construct" = "rational_solve_diagonal_dyadic_d4/construct" +"rational_solve/diagonal/dyadic_d4/prepared" = "rational_solve_diagonal_dyadic_d4/prepared" +"rational_solve/diagonal/dyadic_d5/adapter" = "rational_solve_diagonal_dyadic_d5/adapter" +"rational_solve/diagonal/dyadic_d5/construct" = "rational_solve_diagonal_dyadic_d5/construct" +"rational_solve/diagonal/dyadic_d5/prepared" = "rational_solve_diagonal_dyadic_d5/prepared" +"rational_solve/diagonal/dyadic_d6/adapter" = "rational_solve_diagonal_dyadic_d6/adapter" +"rational_solve/diagonal/dyadic_d6/construct" = "rational_solve_diagonal_dyadic_d6/construct" +"rational_solve/diagonal/dyadic_d6/prepared" = "rational_solve_diagonal_dyadic_d6/prepared" +"rational_solve/diagonal/dyadic_d7/adapter" = "rational_solve_diagonal_dyadic_d7/adapter" +"rational_solve/diagonal/dyadic_d7/construct" = "rational_solve_diagonal_dyadic_d7/construct" +"rational_solve/diagonal/dyadic_d7/prepared" = "rational_solve_diagonal_dyadic_d7/prepared" +"rational_solve/diagonal/dyadic_d8/adapter" = "rational_solve_diagonal_dyadic_d8/adapter" +"rational_solve/diagonal/dyadic_d8/construct" = "rational_solve_diagonal_dyadic_d8/construct" +"rational_solve/diagonal/dyadic_d8/prepared" = "rational_solve_diagonal_dyadic_d8/prepared" +"rational_solve/diagonal/rational_d2/adapter" = "rational_solve_diagonal_rational_d2/adapter" +"rational_solve/diagonal/rational_d2/construct" = "rational_solve_diagonal_rational_d2/construct" +"rational_solve/diagonal/rational_d2/prepared" = "rational_solve_diagonal_rational_d2/prepared" +"rational_solve/diagonal/rational_d3/adapter" = "rational_solve_diagonal_rational_d3/adapter" +"rational_solve/diagonal/rational_d3/construct" = "rational_solve_diagonal_rational_d3/construct" +"rational_solve/diagonal/rational_d3/prepared" = "rational_solve_diagonal_rational_d3/prepared" +"rational_solve/diagonal/rational_d4/adapter" = "rational_solve_diagonal_rational_d4/adapter" +"rational_solve/diagonal/rational_d4/construct" = "rational_solve_diagonal_rational_d4/construct" +"rational_solve/diagonal/rational_d4/prepared" = "rational_solve_diagonal_rational_d4/prepared" +"rational_solve/diagonal/rational_d5/adapter" = "rational_solve_diagonal_rational_d5/adapter" +"rational_solve/diagonal/rational_d5/construct" = "rational_solve_diagonal_rational_d5/construct" +"rational_solve/diagonal/rational_d5/prepared" = "rational_solve_diagonal_rational_d5/prepared" +"rational_solve/diagonal/rational_d6/adapter" = "rational_solve_diagonal_rational_d6/adapter" +"rational_solve/diagonal/rational_d6/construct" = "rational_solve_diagonal_rational_d6/construct" +"rational_solve/diagonal/rational_d6/prepared" = "rational_solve_diagonal_rational_d6/prepared" +"rational_solve/diagonal/rational_d7/adapter" = "rational_solve_diagonal_rational_d7/adapter" +"rational_solve/diagonal/rational_d7/construct" = "rational_solve_diagonal_rational_d7/construct" +"rational_solve/diagonal/rational_d7/prepared" = "rational_solve_diagonal_rational_d7/prepared" +"rational_solve/diagonal/rational_d8/adapter" = "rational_solve_diagonal_rational_d8/adapter" +"rational_solve/diagonal/rational_d8/construct" = "rational_solve_diagonal_rational_d8/construct" +"rational_solve/diagonal/rational_d8/prepared" = "rational_solve_diagonal_rational_d8/prepared" +"rational_solve/lower/dyadic_d2/adapter" = "rational_solve_lower_dyadic_d2/adapter" +"rational_solve/lower/dyadic_d2/construct" = "rational_solve_lower_dyadic_d2/construct" +"rational_solve/lower/dyadic_d2/prepared" = "rational_solve_lower_dyadic_d2/prepared" +"rational_solve/lower/dyadic_d3/adapter" = "rational_solve_lower_dyadic_d3/adapter" +"rational_solve/lower/dyadic_d3/construct" = "rational_solve_lower_dyadic_d3/construct" +"rational_solve/lower/dyadic_d3/prepared" = "rational_solve_lower_dyadic_d3/prepared" +"rational_solve/lower/dyadic_d4/adapter" = "rational_solve_lower_dyadic_d4/adapter" +"rational_solve/lower/dyadic_d4/construct" = "rational_solve_lower_dyadic_d4/construct" +"rational_solve/lower/dyadic_d4/prepared" = "rational_solve_lower_dyadic_d4/prepared" +"rational_solve/lower/dyadic_d5/adapter" = "rational_solve_lower_dyadic_d5/adapter" +"rational_solve/lower/dyadic_d5/construct" = "rational_solve_lower_dyadic_d5/construct" +"rational_solve/lower/dyadic_d5/prepared" = "rational_solve_lower_dyadic_d5/prepared" +"rational_solve/lower/dyadic_d6/adapter" = "rational_solve_lower_dyadic_d6/adapter" +"rational_solve/lower/dyadic_d6/construct" = "rational_solve_lower_dyadic_d6/construct" +"rational_solve/lower/dyadic_d6/prepared" = "rational_solve_lower_dyadic_d6/prepared" +"rational_solve/lower/dyadic_d7/adapter" = "rational_solve_lower_dyadic_d7/adapter" +"rational_solve/lower/dyadic_d7/construct" = "rational_solve_lower_dyadic_d7/construct" +"rational_solve/lower/dyadic_d7/prepared" = "rational_solve_lower_dyadic_d7/prepared" +"rational_solve/lower/dyadic_d8/adapter" = "rational_solve_lower_dyadic_d8/adapter" +"rational_solve/lower/dyadic_d8/construct" = "rational_solve_lower_dyadic_d8/construct" +"rational_solve/lower/dyadic_d8/prepared" = "rational_solve_lower_dyadic_d8/prepared" +"rational_solve/lower/rational_d2/adapter" = "rational_solve_lower_rational_d2/adapter" +"rational_solve/lower/rational_d2/construct" = "rational_solve_lower_rational_d2/construct" +"rational_solve/lower/rational_d2/prepared" = "rational_solve_lower_rational_d2/prepared" +"rational_solve/lower/rational_d3/adapter" = "rational_solve_lower_rational_d3/adapter" +"rational_solve/lower/rational_d3/construct" = "rational_solve_lower_rational_d3/construct" +"rational_solve/lower/rational_d3/prepared" = "rational_solve_lower_rational_d3/prepared" +"rational_solve/lower/rational_d4/adapter" = "rational_solve_lower_rational_d4/adapter" +"rational_solve/lower/rational_d4/construct" = "rational_solve_lower_rational_d4/construct" +"rational_solve/lower/rational_d4/prepared" = "rational_solve_lower_rational_d4/prepared" +"rational_solve/lower/rational_d5/adapter" = "rational_solve_lower_rational_d5/adapter" +"rational_solve/lower/rational_d5/construct" = "rational_solve_lower_rational_d5/construct" +"rational_solve/lower/rational_d5/prepared" = "rational_solve_lower_rational_d5/prepared" +"rational_solve/lower/rational_d6/adapter" = "rational_solve_lower_rational_d6/adapter" +"rational_solve/lower/rational_d6/construct" = "rational_solve_lower_rational_d6/construct" +"rational_solve/lower/rational_d6/prepared" = "rational_solve_lower_rational_d6/prepared" +"rational_solve/lower/rational_d7/adapter" = "rational_solve_lower_rational_d7/adapter" +"rational_solve/lower/rational_d7/construct" = "rational_solve_lower_rational_d7/construct" +"rational_solve/lower/rational_d7/prepared" = "rational_solve_lower_rational_d7/prepared" +"rational_solve/lower/rational_d8/adapter" = "rational_solve_lower_rational_d8/adapter" +"rational_solve/lower/rational_d8/construct" = "rational_solve_lower_rational_d8/construct" +"rational_solve/lower/rational_d8/prepared" = "rational_solve_lower_rational_d8/prepared" +"rational_solve/permuted_lower/dyadic_d2/adapter" = "rational_solve_permuted_lower_dyadic_d2/adapter" +"rational_solve/permuted_lower/dyadic_d2/construct" = "rational_solve_permuted_lower_dyadic_d2/construct" +"rational_solve/permuted_lower/dyadic_d2/prepared" = "rational_solve_permuted_lower_dyadic_d2/prepared" +"rational_solve/permuted_lower/dyadic_d3/adapter" = "rational_solve_permuted_lower_dyadic_d3/adapter" +"rational_solve/permuted_lower/dyadic_d3/construct" = "rational_solve_permuted_lower_dyadic_d3/construct" +"rational_solve/permuted_lower/dyadic_d3/prepared" = "rational_solve_permuted_lower_dyadic_d3/prepared" +"rational_solve/permuted_lower/dyadic_d4/adapter" = "rational_solve_permuted_lower_dyadic_d4/adapter" +"rational_solve/permuted_lower/dyadic_d4/construct" = "rational_solve_permuted_lower_dyadic_d4/construct" +"rational_solve/permuted_lower/dyadic_d4/prepared" = "rational_solve_permuted_lower_dyadic_d4/prepared" +"rational_solve/permuted_lower/dyadic_d5/adapter" = "rational_solve_permuted_lower_dyadic_d5/adapter" +"rational_solve/permuted_lower/dyadic_d5/construct" = "rational_solve_permuted_lower_dyadic_d5/construct" +"rational_solve/permuted_lower/dyadic_d5/prepared" = "rational_solve_permuted_lower_dyadic_d5/prepared" +"rational_solve/permuted_lower/dyadic_d6/adapter" = "rational_solve_permuted_lower_dyadic_d6/adapter" +"rational_solve/permuted_lower/dyadic_d6/construct" = "rational_solve_permuted_lower_dyadic_d6/construct" +"rational_solve/permuted_lower/dyadic_d6/prepared" = "rational_solve_permuted_lower_dyadic_d6/prepared" +"rational_solve/permuted_lower/dyadic_d7/adapter" = "rational_solve_permuted_lower_dyadic_d7/adapter" +"rational_solve/permuted_lower/dyadic_d7/construct" = "rational_solve_permuted_lower_dyadic_d7/construct" +"rational_solve/permuted_lower/dyadic_d7/prepared" = "rational_solve_permuted_lower_dyadic_d7/prepared" +"rational_solve/permuted_lower/dyadic_d8/adapter" = "rational_solve_permuted_lower_dyadic_d8/adapter" +"rational_solve/permuted_lower/dyadic_d8/construct" = "rational_solve_permuted_lower_dyadic_d8/construct" +"rational_solve/permuted_lower/dyadic_d8/prepared" = "rational_solve_permuted_lower_dyadic_d8/prepared" +"rational_solve/permuted_lower/rational_d2/adapter" = "rational_solve_permuted_lower_rational_d2/adapter" +"rational_solve/permuted_lower/rational_d2/construct" = "rational_solve_permuted_lower_rational_d2/construct" +"rational_solve/permuted_lower/rational_d2/prepared" = "rational_solve_permuted_lower_rational_d2/prepared" +"rational_solve/permuted_lower/rational_d3/adapter" = "rational_solve_permuted_lower_rational_d3/adapter" +"rational_solve/permuted_lower/rational_d3/construct" = "rational_solve_permuted_lower_rational_d3/construct" +"rational_solve/permuted_lower/rational_d3/prepared" = "rational_solve_permuted_lower_rational_d3/prepared" +"rational_solve/permuted_lower/rational_d4/adapter" = "rational_solve_permuted_lower_rational_d4/adapter" +"rational_solve/permuted_lower/rational_d4/construct" = "rational_solve_permuted_lower_rational_d4/construct" +"rational_solve/permuted_lower/rational_d4/prepared" = "rational_solve_permuted_lower_rational_d4/prepared" +"rational_solve/permuted_lower/rational_d5/adapter" = "rational_solve_permuted_lower_rational_d5/adapter" +"rational_solve/permuted_lower/rational_d5/construct" = "rational_solve_permuted_lower_rational_d5/construct" +"rational_solve/permuted_lower/rational_d5/prepared" = "rational_solve_permuted_lower_rational_d5/prepared" +"rational_solve/permuted_lower/rational_d6/adapter" = "rational_solve_permuted_lower_rational_d6/adapter" +"rational_solve/permuted_lower/rational_d6/construct" = "rational_solve_permuted_lower_rational_d6/construct" +"rational_solve/permuted_lower/rational_d6/prepared" = "rational_solve_permuted_lower_rational_d6/prepared" +"rational_solve/permuted_lower/rational_d7/adapter" = "rational_solve_permuted_lower_rational_d7/adapter" +"rational_solve/permuted_lower/rational_d7/construct" = "rational_solve_permuted_lower_rational_d7/construct" +"rational_solve/permuted_lower/rational_d7/prepared" = "rational_solve_permuted_lower_rational_d7/prepared" +"rational_solve/permuted_lower/rational_d8/adapter" = "rational_solve_permuted_lower_rational_d8/adapter" +"rational_solve/permuted_lower/rational_d8/construct" = "rational_solve_permuted_lower_rational_d8/construct" +"rational_solve/permuted_lower/rational_d8/prepared" = "rational_solve_permuted_lower_rational_d8/prepared" +"rational_solve/permuted_upper/dyadic_d2/adapter" = "rational_solve_permuted_upper_dyadic_d2/adapter" +"rational_solve/permuted_upper/dyadic_d2/construct" = "rational_solve_permuted_upper_dyadic_d2/construct" +"rational_solve/permuted_upper/dyadic_d2/prepared" = "rational_solve_permuted_upper_dyadic_d2/prepared" +"rational_solve/permuted_upper/dyadic_d3/adapter" = "rational_solve_permuted_upper_dyadic_d3/adapter" +"rational_solve/permuted_upper/dyadic_d3/construct" = "rational_solve_permuted_upper_dyadic_d3/construct" +"rational_solve/permuted_upper/dyadic_d3/prepared" = "rational_solve_permuted_upper_dyadic_d3/prepared" +"rational_solve/permuted_upper/dyadic_d4/adapter" = "rational_solve_permuted_upper_dyadic_d4/adapter" +"rational_solve/permuted_upper/dyadic_d4/construct" = "rational_solve_permuted_upper_dyadic_d4/construct" +"rational_solve/permuted_upper/dyadic_d4/prepared" = "rational_solve_permuted_upper_dyadic_d4/prepared" +"rational_solve/permuted_upper/dyadic_d5/adapter" = "rational_solve_permuted_upper_dyadic_d5/adapter" +"rational_solve/permuted_upper/dyadic_d5/construct" = "rational_solve_permuted_upper_dyadic_d5/construct" +"rational_solve/permuted_upper/dyadic_d5/prepared" = "rational_solve_permuted_upper_dyadic_d5/prepared" +"rational_solve/permuted_upper/dyadic_d6/adapter" = "rational_solve_permuted_upper_dyadic_d6/adapter" +"rational_solve/permuted_upper/dyadic_d6/construct" = "rational_solve_permuted_upper_dyadic_d6/construct" +"rational_solve/permuted_upper/dyadic_d6/prepared" = "rational_solve_permuted_upper_dyadic_d6/prepared" +"rational_solve/permuted_upper/dyadic_d7/adapter" = "rational_solve_permuted_upper_dyadic_d7/adapter" +"rational_solve/permuted_upper/dyadic_d7/construct" = "rational_solve_permuted_upper_dyadic_d7/construct" +"rational_solve/permuted_upper/dyadic_d7/prepared" = "rational_solve_permuted_upper_dyadic_d7/prepared" +"rational_solve/permuted_upper/dyadic_d8/adapter" = "rational_solve_permuted_upper_dyadic_d8/adapter" +"rational_solve/permuted_upper/dyadic_d8/construct" = "rational_solve_permuted_upper_dyadic_d8/construct" +"rational_solve/permuted_upper/dyadic_d8/prepared" = "rational_solve_permuted_upper_dyadic_d8/prepared" +"rational_solve/permuted_upper/rational_d2/adapter" = "rational_solve_permuted_upper_rational_d2/adapter" +"rational_solve/permuted_upper/rational_d2/construct" = "rational_solve_permuted_upper_rational_d2/construct" +"rational_solve/permuted_upper/rational_d2/prepared" = "rational_solve_permuted_upper_rational_d2/prepared" +"rational_solve/permuted_upper/rational_d3/adapter" = "rational_solve_permuted_upper_rational_d3/adapter" +"rational_solve/permuted_upper/rational_d3/construct" = "rational_solve_permuted_upper_rational_d3/construct" +"rational_solve/permuted_upper/rational_d3/prepared" = "rational_solve_permuted_upper_rational_d3/prepared" +"rational_solve/permuted_upper/rational_d4/adapter" = "rational_solve_permuted_upper_rational_d4/adapter" +"rational_solve/permuted_upper/rational_d4/construct" = "rational_solve_permuted_upper_rational_d4/construct" +"rational_solve/permuted_upper/rational_d4/prepared" = "rational_solve_permuted_upper_rational_d4/prepared" +"rational_solve/permuted_upper/rational_d5/adapter" = "rational_solve_permuted_upper_rational_d5/adapter" +"rational_solve/permuted_upper/rational_d5/construct" = "rational_solve_permuted_upper_rational_d5/construct" +"rational_solve/permuted_upper/rational_d5/prepared" = "rational_solve_permuted_upper_rational_d5/prepared" +"rational_solve/permuted_upper/rational_d6/adapter" = "rational_solve_permuted_upper_rational_d6/adapter" +"rational_solve/permuted_upper/rational_d6/construct" = "rational_solve_permuted_upper_rational_d6/construct" +"rational_solve/permuted_upper/rational_d6/prepared" = "rational_solve_permuted_upper_rational_d6/prepared" +"rational_solve/permuted_upper/rational_d7/adapter" = "rational_solve_permuted_upper_rational_d7/adapter" +"rational_solve/permuted_upper/rational_d7/construct" = "rational_solve_permuted_upper_rational_d7/construct" +"rational_solve/permuted_upper/rational_d7/prepared" = "rational_solve_permuted_upper_rational_d7/prepared" +"rational_solve/permuted_upper/rational_d8/adapter" = "rational_solve_permuted_upper_rational_d8/adapter" +"rational_solve/permuted_upper/rational_d8/construct" = "rational_solve_permuted_upper_rational_d8/construct" +"rational_solve/permuted_upper/rational_d8/prepared" = "rational_solve_permuted_upper_rational_d8/prepared" +"rational_solve/sparse/dyadic_d2/adapter" = "rational_solve_sparse_dyadic_d2/adapter" +"rational_solve/sparse/dyadic_d2/construct" = "rational_solve_sparse_dyadic_d2/construct" +"rational_solve/sparse/dyadic_d2/prepared" = "rational_solve_sparse_dyadic_d2/prepared" +"rational_solve/sparse/dyadic_d3/adapter" = "rational_solve_sparse_dyadic_d3/adapter" +"rational_solve/sparse/dyadic_d3/construct" = "rational_solve_sparse_dyadic_d3/construct" +"rational_solve/sparse/dyadic_d3/prepared" = "rational_solve_sparse_dyadic_d3/prepared" +"rational_solve/sparse/dyadic_d4/adapter" = "rational_solve_sparse_dyadic_d4/adapter" +"rational_solve/sparse/dyadic_d4/construct" = "rational_solve_sparse_dyadic_d4/construct" +"rational_solve/sparse/dyadic_d4/prepared" = "rational_solve_sparse_dyadic_d4/prepared" +"rational_solve/sparse/dyadic_d5/adapter" = "rational_solve_sparse_dyadic_d5/adapter" +"rational_solve/sparse/dyadic_d5/construct" = "rational_solve_sparse_dyadic_d5/construct" +"rational_solve/sparse/dyadic_d5/prepared" = "rational_solve_sparse_dyadic_d5/prepared" +"rational_solve/sparse/dyadic_d6/adapter" = "rational_solve_sparse_dyadic_d6/adapter" +"rational_solve/sparse/dyadic_d6/construct" = "rational_solve_sparse_dyadic_d6/construct" +"rational_solve/sparse/dyadic_d6/prepared" = "rational_solve_sparse_dyadic_d6/prepared" +"rational_solve/sparse/dyadic_d7/adapter" = "rational_solve_sparse_dyadic_d7/adapter" +"rational_solve/sparse/dyadic_d7/construct" = "rational_solve_sparse_dyadic_d7/construct" +"rational_solve/sparse/dyadic_d7/prepared" = "rational_solve_sparse_dyadic_d7/prepared" +"rational_solve/sparse/dyadic_d8/adapter" = "rational_solve_sparse_dyadic_d8/adapter" +"rational_solve/sparse/dyadic_d8/construct" = "rational_solve_sparse_dyadic_d8/construct" +"rational_solve/sparse/dyadic_d8/prepared" = "rational_solve_sparse_dyadic_d8/prepared" +"rational_solve/sparse/rational_d2/adapter" = "rational_solve_sparse_rational_d2/adapter" +"rational_solve/sparse/rational_d2/construct" = "rational_solve_sparse_rational_d2/construct" +"rational_solve/sparse/rational_d2/prepared" = "rational_solve_sparse_rational_d2/prepared" +"rational_solve/sparse/rational_d3/adapter" = "rational_solve_sparse_rational_d3/adapter" +"rational_solve/sparse/rational_d3/construct" = "rational_solve_sparse_rational_d3/construct" +"rational_solve/sparse/rational_d3/prepared" = "rational_solve_sparse_rational_d3/prepared" +"rational_solve/sparse/rational_d4/adapter" = "rational_solve_sparse_rational_d4/adapter" +"rational_solve/sparse/rational_d4/construct" = "rational_solve_sparse_rational_d4/construct" +"rational_solve/sparse/rational_d4/prepared" = "rational_solve_sparse_rational_d4/prepared" +"rational_solve/sparse/rational_d5/adapter" = "rational_solve_sparse_rational_d5/adapter" +"rational_solve/sparse/rational_d5/construct" = "rational_solve_sparse_rational_d5/construct" +"rational_solve/sparse/rational_d5/prepared" = "rational_solve_sparse_rational_d5/prepared" +"rational_solve/sparse/rational_d6/adapter" = "rational_solve_sparse_rational_d6/adapter" +"rational_solve/sparse/rational_d6/construct" = "rational_solve_sparse_rational_d6/construct" +"rational_solve/sparse/rational_d6/prepared" = "rational_solve_sparse_rational_d6/prepared" +"rational_solve/sparse/rational_d7/adapter" = "rational_solve_sparse_rational_d7/adapter" +"rational_solve/sparse/rational_d7/construct" = "rational_solve_sparse_rational_d7/construct" +"rational_solve/sparse/rational_d7/prepared" = "rational_solve_sparse_rational_d7/prepared" +"rational_solve/sparse/rational_d8/adapter" = "rational_solve_sparse_rational_d8/adapter" +"rational_solve/sparse/rational_d8/construct" = "rational_solve_sparse_rational_d8/construct" +"rational_solve/sparse/rational_d8/prepared" = "rational_solve_sparse_rational_d8/prepared" +"rational_solve/upper/dyadic_d2/adapter" = "rational_solve_upper_dyadic_d2/adapter" +"rational_solve/upper/dyadic_d2/construct" = "rational_solve_upper_dyadic_d2/construct" +"rational_solve/upper/dyadic_d2/prepared" = "rational_solve_upper_dyadic_d2/prepared" +"rational_solve/upper/dyadic_d3/adapter" = "rational_solve_upper_dyadic_d3/adapter" +"rational_solve/upper/dyadic_d3/construct" = "rational_solve_upper_dyadic_d3/construct" +"rational_solve/upper/dyadic_d3/prepared" = "rational_solve_upper_dyadic_d3/prepared" +"rational_solve/upper/dyadic_d4/adapter" = "rational_solve_upper_dyadic_d4/adapter" +"rational_solve/upper/dyadic_d4/construct" = "rational_solve_upper_dyadic_d4/construct" +"rational_solve/upper/dyadic_d4/prepared" = "rational_solve_upper_dyadic_d4/prepared" +"rational_solve/upper/dyadic_d5/adapter" = "rational_solve_upper_dyadic_d5/adapter" +"rational_solve/upper/dyadic_d5/construct" = "rational_solve_upper_dyadic_d5/construct" +"rational_solve/upper/dyadic_d5/prepared" = "rational_solve_upper_dyadic_d5/prepared" +"rational_solve/upper/dyadic_d6/adapter" = "rational_solve_upper_dyadic_d6/adapter" +"rational_solve/upper/dyadic_d6/construct" = "rational_solve_upper_dyadic_d6/construct" +"rational_solve/upper/dyadic_d6/prepared" = "rational_solve_upper_dyadic_d6/prepared" +"rational_solve/upper/dyadic_d7/adapter" = "rational_solve_upper_dyadic_d7/adapter" +"rational_solve/upper/dyadic_d7/construct" = "rational_solve_upper_dyadic_d7/construct" +"rational_solve/upper/dyadic_d7/prepared" = "rational_solve_upper_dyadic_d7/prepared" +"rational_solve/upper/dyadic_d8/adapter" = "rational_solve_upper_dyadic_d8/adapter" +"rational_solve/upper/dyadic_d8/construct" = "rational_solve_upper_dyadic_d8/construct" +"rational_solve/upper/dyadic_d8/prepared" = "rational_solve_upper_dyadic_d8/prepared" +"rational_solve/upper/rational_d2/adapter" = "rational_solve_upper_rational_d2/adapter" +"rational_solve/upper/rational_d2/construct" = "rational_solve_upper_rational_d2/construct" +"rational_solve/upper/rational_d2/prepared" = "rational_solve_upper_rational_d2/prepared" +"rational_solve/upper/rational_d3/adapter" = "rational_solve_upper_rational_d3/adapter" +"rational_solve/upper/rational_d3/construct" = "rational_solve_upper_rational_d3/construct" +"rational_solve/upper/rational_d3/prepared" = "rational_solve_upper_rational_d3/prepared" +"rational_solve/upper/rational_d4/adapter" = "rational_solve_upper_rational_d4/adapter" +"rational_solve/upper/rational_d4/construct" = "rational_solve_upper_rational_d4/construct" +"rational_solve/upper/rational_d4/prepared" = "rational_solve_upper_rational_d4/prepared" +"rational_solve/upper/rational_d5/adapter" = "rational_solve_upper_rational_d5/adapter" +"rational_solve/upper/rational_d5/construct" = "rational_solve_upper_rational_d5/construct" +"rational_solve/upper/rational_d5/prepared" = "rational_solve_upper_rational_d5/prepared" +"rational_solve/upper/rational_d6/adapter" = "rational_solve_upper_rational_d6/adapter" +"rational_solve/upper/rational_d6/construct" = "rational_solve_upper_rational_d6/construct" +"rational_solve/upper/rational_d6/prepared" = "rational_solve_upper_rational_d6/prepared" +"rational_solve/upper/rational_d7/adapter" = "rational_solve_upper_rational_d7/adapter" +"rational_solve/upper/rational_d7/construct" = "rational_solve_upper_rational_d7/construct" +"rational_solve/upper/rational_d7/prepared" = "rational_solve_upper_rational_d7/prepared" +"rational_solve/upper/rational_d8/adapter" = "rational_solve_upper_rational_d8/adapter" +"rational_solve/upper/rational_d8/construct" = "rational_solve_upper_rational_d8/construct" +"rational_solve/upper/rational_d8/prepared" = "rational_solve_upper_rational_d8/prepared" +"public_scalar/tolerance" = "public_scalar/tolerance" +"public_scalar/interval_new" = "public_scalar/interval_new" +"public_scalar/interval_point" = "public_scalar/interval_point" +"public_scalar/interval_subtraction" = "public_scalar/interval_subtraction" +"public_scalar/interval_access" = "public_scalar/interval_access" +"public_scalar/interval_negate" = "public_scalar/interval_negate" diff --git a/tooling/measurements/full.toml b/tooling/measurements/full.toml index 47f94f8..36fc3df 100644 --- a/tooling/measurements/full.toml +++ b/tooling/measurements/full.toml @@ -12,13 +12,14 @@ harness = [ "tests/exact_bench_config.rs", "tooling/performance.just", "tooling/criterion-inventory.toml", + "tooling/performance-policy.toml", "tooling/measurements/*.toml", ] sample-count = 100 statistics = [ "mean", "median" ] confidence-level = 0.95 unit = "ns" -timeout = 14400 +timeout = 21600 compatible = [ "harness_sha256", "context.os", @@ -35,7 +36,7 @@ compatible = [ [context] phase-driver = "just-v1" suite = "all" -scope = "release-signal" +scope = "public-release-and-lu-peers-v1" baseline-api-compatibility = "none" [probes] @@ -51,23 +52,307 @@ faer = "Cargo.lock" [phases.baseline] command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-all" ] gate = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "gate" ] -# Fixed code-generation settings are recorded for both phases. environment = { CARGO_TARGET_DIR = "target", CRITERION_HOME = "target/criterion", RUSTUP_TOOLCHAIN = "1.99.1", RUSTFLAGS = "--cap-lints=warn", CARGO_ENCODED_RUSTFLAGS = "--cap-lints=warn", RUSTC = "rustc", RUSTC_WRAPPER = "", RUSTC_WORKSPACE_WRAPPER = "" } [phases.baseline.discovery] required = [ - "d16/faer_det_from_ldlt", - "d16/faer_det_from_lu", - "d16/faer_det_via_lu", - "d16/faer_dot_native", - "d16/faer_inf_norm", - "d16/faer_ldlt", - "d16/faer_ldlt_solve", - "d16/faer_lu", + "angle_d3/dense/borrowed_slice", + "angle_d3/dense/construct_then_angle", + "angle_d3/dense/prepared_vector", + "angle_d3/dense_antipodal/borrowed_slice", + "angle_d3/dense_antipodal/construct_then_angle", + "angle_d3/dense_antipodal/prepared_vector", + "angle_d3/dense_identical/borrowed_slice", + "angle_d3/dense_identical/construct_then_angle", + "angle_d3/dense_identical/prepared_vector", + "angle_d3/dense_varied/borrowed_slice", + "angle_d3/dense_varied/construct_then_angle", + "angle_d3/dense_varied/prepared_vector", + "angle_d3/maximum_small_angle/borrowed_slice", + "angle_d3/maximum_small_angle/construct_then_angle", + "angle_d3/maximum_small_angle/prepared_vector", + "angle_d3/mixed_scale/borrowed_slice", + "angle_d3/mixed_scale/construct_then_angle", + "angle_d3/mixed_scale/prepared_vector", + "angle_d3/near_antipodal/borrowed_slice", + "angle_d3/near_antipodal/construct_then_angle", + "angle_d3/near_antipodal/prepared_vector", + "angle_d3/near_parallel/borrowed_slice", + "angle_d3/near_parallel/construct_then_angle", + "angle_d3/near_parallel/prepared_vector", + "angle_d3/sparse_adjacent/borrowed_slice", + "angle_d3/sparse_adjacent/construct_then_angle", + "angle_d3/sparse_adjacent/prepared_vector", + "angle_d3/sparse_alternating/borrowed_slice", + "angle_d3/sparse_alternating/construct_then_angle", + "angle_d3/sparse_alternating/prepared_vector", + "angle_d3/sparse_antipodal/borrowed_slice", + "angle_d3/sparse_antipodal/construct_then_angle", + "angle_d3/sparse_antipodal/prepared_vector", + "angle_d3/sparse_identical/borrowed_slice", + "angle_d3/sparse_identical/construct_then_angle", + "angle_d3/sparse_identical/prepared_vector", + "angle_d3/subnormal/borrowed_slice", + "angle_d3/subnormal/construct_then_angle", + "angle_d3/subnormal/prepared_vector", + "angle_d3/subnormal_axes/borrowed_slice", + "angle_d3/subnormal_axes/construct_then_angle", + "angle_d3/subnormal_axes/prepared_vector", + "angle_d4/dense/borrowed_slice", + "angle_d4/dense/construct_then_angle", + "angle_d4/dense/prepared_vector", + "angle_d4/dense_antipodal/borrowed_slice", + "angle_d4/dense_antipodal/construct_then_angle", + "angle_d4/dense_antipodal/prepared_vector", + "angle_d4/dense_identical/borrowed_slice", + "angle_d4/dense_identical/construct_then_angle", + "angle_d4/dense_identical/prepared_vector", + "angle_d4/dense_varied/borrowed_slice", + "angle_d4/dense_varied/construct_then_angle", + "angle_d4/dense_varied/prepared_vector", + "angle_d4/maximum_small_angle/borrowed_slice", + "angle_d4/maximum_small_angle/construct_then_angle", + "angle_d4/maximum_small_angle/prepared_vector", + "angle_d4/mixed_scale/borrowed_slice", + "angle_d4/mixed_scale/construct_then_angle", + "angle_d4/mixed_scale/prepared_vector", + "angle_d4/near_antipodal/borrowed_slice", + "angle_d4/near_antipodal/construct_then_angle", + "angle_d4/near_antipodal/prepared_vector", + "angle_d4/near_parallel/borrowed_slice", + "angle_d4/near_parallel/construct_then_angle", + "angle_d4/near_parallel/prepared_vector", + "angle_d4/sparse_adjacent/borrowed_slice", + "angle_d4/sparse_adjacent/construct_then_angle", + "angle_d4/sparse_adjacent/prepared_vector", + "angle_d4/sparse_alternating/borrowed_slice", + "angle_d4/sparse_alternating/construct_then_angle", + "angle_d4/sparse_alternating/prepared_vector", + "angle_d4/sparse_antipodal/borrowed_slice", + "angle_d4/sparse_antipodal/construct_then_angle", + "angle_d4/sparse_antipodal/prepared_vector", + "angle_d4/sparse_identical/borrowed_slice", + "angle_d4/sparse_identical/construct_then_angle", + "angle_d4/sparse_identical/prepared_vector", + "angle_d4/subnormal/borrowed_slice", + "angle_d4/subnormal/construct_then_angle", + "angle_d4/subnormal/prepared_vector", + "angle_d4/subnormal_axes/borrowed_slice", + "angle_d4/subnormal_axes/construct_then_angle", + "angle_d4/subnormal_axes/prepared_vector", + "angle_d5/dense/borrowed_slice", + "angle_d5/dense/construct_then_angle", + "angle_d5/dense/prepared_vector", + "angle_d5/dense_antipodal/borrowed_slice", + "angle_d5/dense_antipodal/construct_then_angle", + "angle_d5/dense_antipodal/prepared_vector", + "angle_d5/dense_identical/borrowed_slice", + "angle_d5/dense_identical/construct_then_angle", + "angle_d5/dense_identical/prepared_vector", + "angle_d5/dense_varied/borrowed_slice", + "angle_d5/dense_varied/construct_then_angle", + "angle_d5/dense_varied/prepared_vector", + "angle_d5/maximum_small_angle/borrowed_slice", + "angle_d5/maximum_small_angle/construct_then_angle", + "angle_d5/maximum_small_angle/prepared_vector", + "angle_d5/mixed_scale/borrowed_slice", + "angle_d5/mixed_scale/construct_then_angle", + "angle_d5/mixed_scale/prepared_vector", + "angle_d5/near_antipodal/borrowed_slice", + "angle_d5/near_antipodal/construct_then_angle", + "angle_d5/near_antipodal/prepared_vector", + "angle_d5/near_parallel/borrowed_slice", + "angle_d5/near_parallel/construct_then_angle", + "angle_d5/near_parallel/prepared_vector", + "angle_d5/sparse_adjacent/borrowed_slice", + "angle_d5/sparse_adjacent/construct_then_angle", + "angle_d5/sparse_adjacent/prepared_vector", + "angle_d5/sparse_alternating/borrowed_slice", + "angle_d5/sparse_alternating/construct_then_angle", + "angle_d5/sparse_alternating/prepared_vector", + "angle_d5/sparse_antipodal/borrowed_slice", + "angle_d5/sparse_antipodal/construct_then_angle", + "angle_d5/sparse_antipodal/prepared_vector", + "angle_d5/sparse_identical/borrowed_slice", + "angle_d5/sparse_identical/construct_then_angle", + "angle_d5/sparse_identical/prepared_vector", + "angle_d5/subnormal/borrowed_slice", + "angle_d5/subnormal/construct_then_angle", + "angle_d5/subnormal/prepared_vector", + "angle_d5/subnormal_axes/borrowed_slice", + "angle_d5/subnormal_axes/construct_then_angle", + "angle_d5/subnormal_axes/prepared_vector", + "angle_d6/dense/borrowed_slice", + "angle_d6/dense/construct_then_angle", + "angle_d6/dense/prepared_vector", + "angle_d6/dense_antipodal/borrowed_slice", + "angle_d6/dense_antipodal/construct_then_angle", + "angle_d6/dense_antipodal/prepared_vector", + "angle_d6/dense_identical/borrowed_slice", + "angle_d6/dense_identical/construct_then_angle", + "angle_d6/dense_identical/prepared_vector", + "angle_d6/dense_varied/borrowed_slice", + "angle_d6/dense_varied/construct_then_angle", + "angle_d6/dense_varied/prepared_vector", + "angle_d6/maximum_small_angle/borrowed_slice", + "angle_d6/maximum_small_angle/construct_then_angle", + "angle_d6/maximum_small_angle/prepared_vector", + "angle_d6/mixed_scale/borrowed_slice", + "angle_d6/mixed_scale/construct_then_angle", + "angle_d6/mixed_scale/prepared_vector", + "angle_d6/near_antipodal/borrowed_slice", + "angle_d6/near_antipodal/construct_then_angle", + "angle_d6/near_antipodal/prepared_vector", + "angle_d6/near_parallel/borrowed_slice", + "angle_d6/near_parallel/construct_then_angle", + "angle_d6/near_parallel/prepared_vector", + "angle_d6/sparse_adjacent/borrowed_slice", + "angle_d6/sparse_adjacent/construct_then_angle", + "angle_d6/sparse_adjacent/prepared_vector", + "angle_d6/sparse_alternating/borrowed_slice", + "angle_d6/sparse_alternating/construct_then_angle", + "angle_d6/sparse_alternating/prepared_vector", + "angle_d6/sparse_antipodal/borrowed_slice", + "angle_d6/sparse_antipodal/construct_then_angle", + "angle_d6/sparse_antipodal/prepared_vector", + "angle_d6/sparse_identical/borrowed_slice", + "angle_d6/sparse_identical/construct_then_angle", + "angle_d6/sparse_identical/prepared_vector", + "angle_d6/subnormal/borrowed_slice", + "angle_d6/subnormal/construct_then_angle", + "angle_d6/subnormal/prepared_vector", + "angle_d6/subnormal_axes/borrowed_slice", + "angle_d6/subnormal_axes/construct_then_angle", + "angle_d6/subnormal_axes/prepared_vector", + "canonical_conversion_below_overflow_d2/rounded_array", + "canonical_conversion_below_overflow_d2/rounded_result", + "canonical_conversion_below_overflow_d2/strict_array", + "canonical_conversion_below_overflow_d2/strict_result", + "canonical_conversion_below_overflow_d3/rounded_array", + "canonical_conversion_below_overflow_d3/rounded_result", + "canonical_conversion_below_overflow_d3/strict_array", + "canonical_conversion_below_overflow_d3/strict_result", + "canonical_conversion_below_overflow_d4/rounded_array", + "canonical_conversion_below_overflow_d4/rounded_result", + "canonical_conversion_below_overflow_d4/strict_array", + "canonical_conversion_below_overflow_d4/strict_result", + "canonical_conversion_below_overflow_d5/rounded_array", + "canonical_conversion_below_overflow_d5/rounded_result", + "canonical_conversion_below_overflow_d5/strict_array", + "canonical_conversion_below_overflow_d5/strict_result", + "canonical_conversion_dyadic_d2/rounded_array", + "canonical_conversion_dyadic_d2/rounded_result", + "canonical_conversion_dyadic_d2/strict_array", + "canonical_conversion_dyadic_d2/strict_result", + "canonical_conversion_dyadic_d3/rounded_array", + "canonical_conversion_dyadic_d3/rounded_result", + "canonical_conversion_dyadic_d3/strict_array", + "canonical_conversion_dyadic_d3/strict_result", + "canonical_conversion_dyadic_d4/rounded_array", + "canonical_conversion_dyadic_d4/rounded_result", + "canonical_conversion_dyadic_d4/strict_array", + "canonical_conversion_dyadic_d4/strict_result", + "canonical_conversion_dyadic_d5/rounded_array", + "canonical_conversion_dyadic_d5/rounded_result", + "canonical_conversion_dyadic_d5/strict_array", + "canonical_conversion_dyadic_d5/strict_result", + "canonical_conversion_min_subnormal_d2/rounded_array", + "canonical_conversion_min_subnormal_d2/rounded_result", + "canonical_conversion_min_subnormal_d2/strict_array", + "canonical_conversion_min_subnormal_d2/strict_result", + "canonical_conversion_min_subnormal_d3/rounded_array", + "canonical_conversion_min_subnormal_d3/rounded_result", + "canonical_conversion_min_subnormal_d3/strict_array", + "canonical_conversion_min_subnormal_d3/strict_result", + "canonical_conversion_min_subnormal_d4/rounded_array", + "canonical_conversion_min_subnormal_d4/rounded_result", + "canonical_conversion_min_subnormal_d4/strict_array", + "canonical_conversion_min_subnormal_d4/strict_result", + "canonical_conversion_min_subnormal_d5/rounded_array", + "canonical_conversion_min_subnormal_d5/rounded_result", + "canonical_conversion_min_subnormal_d5/strict_array", + "canonical_conversion_min_subnormal_d5/strict_result", + "canonical_conversion_negative_underflow_d2/rounded_array", + "canonical_conversion_negative_underflow_d2/rounded_result", + "canonical_conversion_negative_underflow_d2/strict_array", + "canonical_conversion_negative_underflow_d2/strict_result", + "canonical_conversion_negative_underflow_d3/rounded_array", + "canonical_conversion_negative_underflow_d3/rounded_result", + "canonical_conversion_negative_underflow_d3/strict_array", + "canonical_conversion_negative_underflow_d3/strict_result", + "canonical_conversion_negative_underflow_d4/rounded_array", + "canonical_conversion_negative_underflow_d4/rounded_result", + "canonical_conversion_negative_underflow_d4/strict_array", + "canonical_conversion_negative_underflow_d4/strict_result", + "canonical_conversion_negative_underflow_d5/rounded_array", + "canonical_conversion_negative_underflow_d5/rounded_result", + "canonical_conversion_negative_underflow_d5/strict_array", + "canonical_conversion_negative_underflow_d5/strict_result", + "canonical_conversion_non_dyadic_d2/rounded_array", + "canonical_conversion_non_dyadic_d2/rounded_result", + "canonical_conversion_non_dyadic_d2/strict_array", + "canonical_conversion_non_dyadic_d2/strict_result", + "canonical_conversion_non_dyadic_d3/rounded_array", + "canonical_conversion_non_dyadic_d3/rounded_result", + "canonical_conversion_non_dyadic_d3/strict_array", + "canonical_conversion_non_dyadic_d3/strict_result", + "canonical_conversion_non_dyadic_d4/rounded_array", + "canonical_conversion_non_dyadic_d4/rounded_result", + "canonical_conversion_non_dyadic_d4/strict_array", + "canonical_conversion_non_dyadic_d4/strict_result", + "canonical_conversion_non_dyadic_d5/rounded_array", + "canonical_conversion_non_dyadic_d5/rounded_result", + "canonical_conversion_non_dyadic_d5/strict_array", + "canonical_conversion_non_dyadic_d5/strict_result", + "canonical_conversion_overflow_midpoint_d2/rounded_array", + "canonical_conversion_overflow_midpoint_d2/rounded_result", + "canonical_conversion_overflow_midpoint_d2/strict_array", + "canonical_conversion_overflow_midpoint_d2/strict_result", + "canonical_conversion_overflow_midpoint_d3/rounded_array", + "canonical_conversion_overflow_midpoint_d3/rounded_result", + "canonical_conversion_overflow_midpoint_d3/strict_array", + "canonical_conversion_overflow_midpoint_d3/strict_result", + "canonical_conversion_overflow_midpoint_d4/rounded_array", + "canonical_conversion_overflow_midpoint_d4/rounded_result", + "canonical_conversion_overflow_midpoint_d4/strict_array", + "canonical_conversion_overflow_midpoint_d4/strict_result", + "canonical_conversion_overflow_midpoint_d5/rounded_array", + "canonical_conversion_overflow_midpoint_d5/rounded_result", + "canonical_conversion_overflow_midpoint_d5/strict_array", + "canonical_conversion_overflow_midpoint_d5/strict_result", + "canonical_conversion_wide1024_d2/rounded_array", + "canonical_conversion_wide1024_d2/rounded_result", + "canonical_conversion_wide1024_d2/strict_array", + "canonical_conversion_wide1024_d2/strict_result", + "canonical_conversion_wide1024_d3/rounded_array", + "canonical_conversion_wide1024_d3/rounded_result", + "canonical_conversion_wide1024_d3/strict_array", + "canonical_conversion_wide1024_d3/strict_result", + "canonical_conversion_wide1024_d4/rounded_array", + "canonical_conversion_wide1024_d4/rounded_result", + "canonical_conversion_wide1024_d4/strict_array", + "canonical_conversion_wide1024_d4/strict_result", + "canonical_conversion_wide1024_d5/rounded_array", + "canonical_conversion_wide1024_d5/rounded_result", + "canonical_conversion_wide1024_d5/strict_array", + "canonical_conversion_wide1024_d5/strict_result", + "canonical_conversion_wide256_d2/rounded_array", + "canonical_conversion_wide256_d2/rounded_result", + "canonical_conversion_wide256_d2/strict_array", + "canonical_conversion_wide256_d2/strict_result", + "canonical_conversion_wide256_d3/rounded_array", + "canonical_conversion_wide256_d3/rounded_result", + "canonical_conversion_wide256_d3/strict_array", + "canonical_conversion_wide256_d3/strict_result", + "canonical_conversion_wide256_d4/rounded_array", + "canonical_conversion_wide256_d4/rounded_result", + "canonical_conversion_wide256_d4/strict_array", + "canonical_conversion_wide256_d4/strict_result", + "canonical_conversion_wide256_d5/rounded_array", + "canonical_conversion_wide256_d5/rounded_result", + "canonical_conversion_wide256_d5/strict_array", + "canonical_conversion_wide256_d5/strict_result", "d16/faer_lu_solve", - "d16/faer_norm2_sq", - "d16/faer_solve_from_ldlt", - "d16/faer_solve_from_lu", "d16/la_stack_det", "d16/la_stack_det_from_ldlt", "d16/la_stack_det_from_lu", @@ -78,33 +363,16 @@ required = [ "d16/la_stack_ldlt_solve", "d16/la_stack_lu", "d16/la_stack_lu_solve", + "d16/la_stack_norm2", + "d16/la_stack_norm2_scenario_descending", + "d16/la_stack_norm2_scenario_repeated_scale", + "d16/la_stack_norm2_scenario_sparse", + "d16/la_stack_norm2_scenario_wide_dynamic_range", "d16/la_stack_norm2_sq", "d16/la_stack_solve_from_ldlt", "d16/la_stack_solve_from_lu", - "d16/nalgebra_cholesky", - "d16/nalgebra_cholesky_solve", - "d16/nalgebra_det_from_cholesky", - "d16/nalgebra_det_from_lu", - "d16/nalgebra_det_via_lu", - "d16/nalgebra_dot", - "d16/nalgebra_inf_norm", - "d16/nalgebra_lu", "d16/nalgebra_lu_solve", - "d16/nalgebra_norm_squared", - "d16/nalgebra_solve_from_cholesky", - "d16/nalgebra_solve_from_lu", - "d2/faer_det_from_ldlt", - "d2/faer_det_from_lu", - "d2/faer_det_via_lu", - "d2/faer_dot_native", - "d2/faer_inf_norm", - "d2/faer_ldlt", - "d2/faer_ldlt_solve", - "d2/faer_lu", "d2/faer_lu_solve", - "d2/faer_norm2_sq", - "d2/faer_solve_from_ldlt", - "d2/faer_solve_from_lu", "d2/la_stack_det", "d2/la_stack_det_from_ldlt", "d2/la_stack_det_from_lu", @@ -115,33 +383,16 @@ required = [ "d2/la_stack_ldlt_solve", "d2/la_stack_lu", "d2/la_stack_lu_solve", + "d2/la_stack_norm2", + "d2/la_stack_norm2_scenario_descending", + "d2/la_stack_norm2_scenario_repeated_scale", + "d2/la_stack_norm2_scenario_sparse", + "d2/la_stack_norm2_scenario_wide_dynamic_range", "d2/la_stack_norm2_sq", "d2/la_stack_solve_from_ldlt", "d2/la_stack_solve_from_lu", - "d2/nalgebra_cholesky", - "d2/nalgebra_cholesky_solve", - "d2/nalgebra_det_from_cholesky", - "d2/nalgebra_det_from_lu", - "d2/nalgebra_det_via_lu", - "d2/nalgebra_dot", - "d2/nalgebra_inf_norm", - "d2/nalgebra_lu", "d2/nalgebra_lu_solve", - "d2/nalgebra_norm_squared", - "d2/nalgebra_solve_from_cholesky", - "d2/nalgebra_solve_from_lu", - "d3/faer_det_from_ldlt", - "d3/faer_det_from_lu", - "d3/faer_det_via_lu", - "d3/faer_dot_native", - "d3/faer_inf_norm", - "d3/faer_ldlt", - "d3/faer_ldlt_solve", - "d3/faer_lu", "d3/faer_lu_solve", - "d3/faer_norm2_sq", - "d3/faer_solve_from_ldlt", - "d3/faer_solve_from_lu", "d3/la_stack_det", "d3/la_stack_det_from_ldlt", "d3/la_stack_det_from_lu", @@ -152,33 +403,16 @@ required = [ "d3/la_stack_ldlt_solve", "d3/la_stack_lu", "d3/la_stack_lu_solve", + "d3/la_stack_norm2", + "d3/la_stack_norm2_scenario_descending", + "d3/la_stack_norm2_scenario_repeated_scale", + "d3/la_stack_norm2_scenario_sparse", + "d3/la_stack_norm2_scenario_wide_dynamic_range", "d3/la_stack_norm2_sq", "d3/la_stack_solve_from_ldlt", "d3/la_stack_solve_from_lu", - "d3/nalgebra_cholesky", - "d3/nalgebra_cholesky_solve", - "d3/nalgebra_det_from_cholesky", - "d3/nalgebra_det_from_lu", - "d3/nalgebra_det_via_lu", - "d3/nalgebra_dot", - "d3/nalgebra_inf_norm", - "d3/nalgebra_lu", "d3/nalgebra_lu_solve", - "d3/nalgebra_norm_squared", - "d3/nalgebra_solve_from_cholesky", - "d3/nalgebra_solve_from_lu", - "d32/faer_det_from_ldlt", - "d32/faer_det_from_lu", - "d32/faer_det_via_lu", - "d32/faer_dot_native", - "d32/faer_inf_norm", - "d32/faer_ldlt", - "d32/faer_ldlt_solve", - "d32/faer_lu", "d32/faer_lu_solve", - "d32/faer_norm2_sq", - "d32/faer_solve_from_ldlt", - "d32/faer_solve_from_lu", "d32/la_stack_det", "d32/la_stack_det_from_ldlt", "d32/la_stack_det_from_lu", @@ -189,33 +423,16 @@ required = [ "d32/la_stack_ldlt_solve", "d32/la_stack_lu", "d32/la_stack_lu_solve", + "d32/la_stack_norm2", + "d32/la_stack_norm2_scenario_descending", + "d32/la_stack_norm2_scenario_repeated_scale", + "d32/la_stack_norm2_scenario_sparse", + "d32/la_stack_norm2_scenario_wide_dynamic_range", "d32/la_stack_norm2_sq", "d32/la_stack_solve_from_ldlt", "d32/la_stack_solve_from_lu", - "d32/nalgebra_cholesky", - "d32/nalgebra_cholesky_solve", - "d32/nalgebra_det_from_cholesky", - "d32/nalgebra_det_from_lu", - "d32/nalgebra_det_via_lu", - "d32/nalgebra_dot", - "d32/nalgebra_inf_norm", - "d32/nalgebra_lu", "d32/nalgebra_lu_solve", - "d32/nalgebra_norm_squared", - "d32/nalgebra_solve_from_cholesky", - "d32/nalgebra_solve_from_lu", - "d4/faer_det_from_ldlt", - "d4/faer_det_from_lu", - "d4/faer_det_via_lu", - "d4/faer_dot_native", - "d4/faer_inf_norm", - "d4/faer_ldlt", - "d4/faer_ldlt_solve", - "d4/faer_lu", "d4/faer_lu_solve", - "d4/faer_norm2_sq", - "d4/faer_solve_from_ldlt", - "d4/faer_solve_from_lu", "d4/la_stack_det", "d4/la_stack_det_from_ldlt", "d4/la_stack_det_from_lu", @@ -226,33 +443,16 @@ required = [ "d4/la_stack_ldlt_solve", "d4/la_stack_lu", "d4/la_stack_lu_solve", + "d4/la_stack_norm2", + "d4/la_stack_norm2_scenario_descending", + "d4/la_stack_norm2_scenario_repeated_scale", + "d4/la_stack_norm2_scenario_sparse", + "d4/la_stack_norm2_scenario_wide_dynamic_range", "d4/la_stack_norm2_sq", "d4/la_stack_solve_from_ldlt", "d4/la_stack_solve_from_lu", - "d4/nalgebra_cholesky", - "d4/nalgebra_cholesky_solve", - "d4/nalgebra_det_from_cholesky", - "d4/nalgebra_det_from_lu", - "d4/nalgebra_det_via_lu", - "d4/nalgebra_dot", - "d4/nalgebra_inf_norm", - "d4/nalgebra_lu", "d4/nalgebra_lu_solve", - "d4/nalgebra_norm_squared", - "d4/nalgebra_solve_from_cholesky", - "d4/nalgebra_solve_from_lu", - "d5/faer_det_from_ldlt", - "d5/faer_det_from_lu", - "d5/faer_det_via_lu", - "d5/faer_dot_native", - "d5/faer_inf_norm", - "d5/faer_ldlt", - "d5/faer_ldlt_solve", - "d5/faer_lu", "d5/faer_lu_solve", - "d5/faer_norm2_sq", - "d5/faer_solve_from_ldlt", - "d5/faer_solve_from_lu", "d5/la_stack_det", "d5/la_stack_det_from_ldlt", "d5/la_stack_det_from_lu", @@ -263,33 +463,16 @@ required = [ "d5/la_stack_ldlt_solve", "d5/la_stack_lu", "d5/la_stack_lu_solve", + "d5/la_stack_norm2", + "d5/la_stack_norm2_scenario_descending", + "d5/la_stack_norm2_scenario_repeated_scale", + "d5/la_stack_norm2_scenario_sparse", + "d5/la_stack_norm2_scenario_wide_dynamic_range", "d5/la_stack_norm2_sq", "d5/la_stack_solve_from_ldlt", "d5/la_stack_solve_from_lu", - "d5/nalgebra_cholesky", - "d5/nalgebra_cholesky_solve", - "d5/nalgebra_det_from_cholesky", - "d5/nalgebra_det_from_lu", - "d5/nalgebra_det_via_lu", - "d5/nalgebra_dot", - "d5/nalgebra_inf_norm", - "d5/nalgebra_lu", "d5/nalgebra_lu_solve", - "d5/nalgebra_norm_squared", - "d5/nalgebra_solve_from_cholesky", - "d5/nalgebra_solve_from_lu", - "d64/faer_det_from_ldlt", - "d64/faer_det_from_lu", - "d64/faer_det_via_lu", - "d64/faer_dot_native", - "d64/faer_inf_norm", - "d64/faer_ldlt", - "d64/faer_ldlt_solve", - "d64/faer_lu", "d64/faer_lu_solve", - "d64/faer_norm2_sq", - "d64/faer_solve_from_ldlt", - "d64/faer_solve_from_lu", "d64/la_stack_det", "d64/la_stack_det_from_ldlt", "d64/la_stack_det_from_lu", @@ -300,33 +483,16 @@ required = [ "d64/la_stack_ldlt_solve", "d64/la_stack_lu", "d64/la_stack_lu_solve", + "d64/la_stack_norm2", + "d64/la_stack_norm2_scenario_descending", + "d64/la_stack_norm2_scenario_repeated_scale", + "d64/la_stack_norm2_scenario_sparse", + "d64/la_stack_norm2_scenario_wide_dynamic_range", "d64/la_stack_norm2_sq", "d64/la_stack_solve_from_ldlt", "d64/la_stack_solve_from_lu", - "d64/nalgebra_cholesky", - "d64/nalgebra_cholesky_solve", - "d64/nalgebra_det_from_cholesky", - "d64/nalgebra_det_from_lu", - "d64/nalgebra_det_via_lu", - "d64/nalgebra_dot", - "d64/nalgebra_inf_norm", - "d64/nalgebra_lu", "d64/nalgebra_lu_solve", - "d64/nalgebra_norm_squared", - "d64/nalgebra_solve_from_cholesky", - "d64/nalgebra_solve_from_lu", - "d8/faer_det_from_ldlt", - "d8/faer_det_from_lu", - "d8/faer_det_via_lu", - "d8/faer_dot_native", - "d8/faer_inf_norm", - "d8/faer_ldlt", - "d8/faer_ldlt_solve", - "d8/faer_lu", "d8/faer_lu_solve", - "d8/faer_norm2_sq", - "d8/faer_solve_from_ldlt", - "d8/faer_solve_from_lu", "d8/la_stack_det", "d8/la_stack_det_from_ldlt", "d8/la_stack_det_from_ldlt_balanced_range", @@ -342,21 +508,15 @@ required = [ "d8/la_stack_lu_ill_conditioned", "d8/la_stack_lu_pivoting", "d8/la_stack_lu_solve", + "d8/la_stack_norm2", + "d8/la_stack_norm2_scenario_descending", + "d8/la_stack_norm2_scenario_repeated_scale", + "d8/la_stack_norm2_scenario_sparse", + "d8/la_stack_norm2_scenario_wide_dynamic_range", "d8/la_stack_norm2_sq", "d8/la_stack_solve_from_ldlt", "d8/la_stack_solve_from_lu", - "d8/nalgebra_cholesky", - "d8/nalgebra_cholesky_solve", - "d8/nalgebra_det_from_cholesky", - "d8/nalgebra_det_from_lu", - "d8/nalgebra_det_via_lu", - "d8/nalgebra_dot", - "d8/nalgebra_inf_norm", - "d8/nalgebra_lu", "d8/nalgebra_lu_solve", - "d8/nalgebra_norm_squared", - "d8/nalgebra_solve_from_cholesky", - "d8/nalgebra_solve_from_lu", "exact_d2/det", "exact_d2/det_direct", "exact_d2/det_direct_with_errbound", @@ -438,61 +598,1054 @@ required = [ "exact_random_corpus_d5/solve_exact", "exact_random_corpus_d5/solve_exact_f64_result", "exact_random_corpus_d5/solve_exact_rounded_f64", - "rational_input_d2/det_big_rational_gaussian", + "gram/1x2/dependent/la_stack", + "gram/1x2/mixed_scale/la_stack", + "gram/1x2/near_dependent/la_stack", + "gram/1x2/orthogonal/la_stack", + "gram/2x2/dependent/la_stack", + "gram/2x2/mixed_scale/la_stack", + "gram/2x2/near_dependent/la_stack", + "gram/2x2/orthogonal/la_stack", + "gram/2x3/dependent/la_stack", + "gram/2x3/mixed_scale/la_stack", + "gram/2x3/near_dependent/la_stack", + "gram/2x3/orthogonal/la_stack", + "gram/3x3/dependent/la_stack", + "gram/3x3/mixed_scale/la_stack", + "gram/3x3/near_dependent/la_stack", + "gram/3x3/orthogonal/la_stack", + "gram/3x4/dependent/la_stack", + "gram/3x4/mixed_scale/la_stack", + "gram/3x4/near_dependent/la_stack", + "gram/3x4/orthogonal/la_stack", + "gram/4x4/dependent/la_stack", + "gram/4x4/mixed_scale/la_stack", + "gram/4x4/near_dependent/la_stack", + "gram/4x4/orthogonal/la_stack", + "gram/4x5/dependent/la_stack", + "gram/4x5/mixed_scale/la_stack", + "gram/4x5/near_dependent/la_stack", + "gram/4x5/orthogonal/la_stack", + "gram/5x5/dependent/la_stack", + "gram/5x5/mixed_scale/la_stack", + "gram/5x5/near_dependent/la_stack", + "gram/5x5/orthogonal/la_stack", + "gram/5x6/dependent/la_stack", + "gram/5x6/mixed_scale/la_stack", + "gram/5x6/near_dependent/la_stack", + "gram/5x6/orthogonal/la_stack", + "gram/6x6/dependent/la_stack", + "gram/6x6/mixed_scale/la_stack", + "gram/6x6/near_dependent/la_stack", + "gram/6x6/orthogonal/la_stack", + "gram/6x7/dependent/la_stack", + "gram/6x7/mixed_scale/la_stack", + "gram/6x7/near_dependent/la_stack", + "gram/6x7/orthogonal/la_stack", + "gram/7x7/dependent/la_stack", + "gram/7x7/mixed_scale/la_stack", + "gram/7x7/near_dependent/la_stack", + "gram/7x7/orthogonal/la_stack", + "gram/7x8/dependent/la_stack", + "gram/7x8/mixed_scale/la_stack", + "gram/7x8/near_dependent/la_stack", + "gram/7x8/orthogonal/la_stack", + "gram/8x8/dependent/la_stack", + "gram/8x8/mixed_scale/la_stack", + "gram/8x8/near_dependent/la_stack", + "gram/8x8/orthogonal/la_stack", + "interval_d3/dense_inconclusive", + "interval_d3/dense_sign", + "interval_d3/lifted_assembly", + "interval_d3/lifted_assembly_and_sign", + "interval_d3/sparse_sign", + "interval_d4/dense_inconclusive", + "interval_d4/dense_sign", + "interval_d4/lifted_assembly", + "interval_d4/lifted_assembly_and_sign", + "interval_d4/sparse_sign", + "interval_d5/dense_inconclusive", + "interval_d5/dense_sign", + "interval_d5/lifted_assembly", + "interval_d5/lifted_assembly_and_sign", + "interval_d5/sparse_sign", + "interval_d6/dense_inconclusive", + "interval_d6/dense_sign", + "interval_d6/lifted_assembly", + "interval_d6/lifted_assembly_and_sign", + "interval_d6/sparse_sign", + "interval_d7/dense_inconclusive", + "interval_d7/dense_sign", + "interval_d7/lifted_assembly", + "interval_d7/lifted_assembly_and_sign", + "interval_d7/sparse_sign", + "interval_det_sign/d4_conclusive_lifted", + "interval_det_sign/d4_inconclusive_lifted", + "interval_det_sign/d7_conclusive_lifted", + "interval_scalar/cancellation/add", + "interval_scalar/cancellation/multiply", + "interval_scalar/cancellation/square", + "interval_scalar/exact/add", + "interval_scalar/exact/multiply", + "interval_scalar/exact/square", + "interval_scalar/point/add", + "interval_scalar/point/multiply", + "interval_scalar/point/square", + "interval_scalar/subnormal/add", + "interval_scalar/subnormal/multiply", + "interval_scalar/subnormal/square", + "interval_scalar/zero/add", + "interval_scalar/zero/multiply", + "interval_scalar/zero/square", + "linear_form_d2_batch/origin/construction", + "linear_form_d2_batch/origin/prepared", + "linear_form_d2_batch/origin/with_construction", + "linear_form_d2_batch/translated/construction", + "linear_form_d2_batch/translated/prepared", + "linear_form_d2_batch/translated/with_construction", + "linear_form_d2_prepared/cancellation/difference", + "linear_form_d2_prepared/cancellation/difference_endpoints", + "linear_form_d2_prepared/cancellation/dot", + "linear_form_d2_prepared/cancellation/dot_endpoints", + "linear_form_d2_prepared/dense/difference", + "linear_form_d2_prepared/dense/difference_endpoints", + "linear_form_d2_prepared/dense/dot", + "linear_form_d2_prepared/dense/dot_endpoints", + "linear_form_d2_prepared/dense_inexact/difference", + "linear_form_d2_prepared/dense_inexact/difference_endpoints", + "linear_form_d2_prepared/dense_inexact/dot", + "linear_form_d2_prepared/dense_inexact/dot_endpoints", + "linear_form_d2_prepared/overflow/dot", + "linear_form_d2_prepared/sparse/difference", + "linear_form_d2_prepared/sparse/difference_endpoints", + "linear_form_d2_prepared/sparse/dot", + "linear_form_d2_prepared/sparse/dot_endpoints", + "linear_form_d2_prepared/underflow/difference", + "linear_form_d2_prepared/underflow/difference_endpoints", + "linear_form_d2_prepared/underflow/dot", + "linear_form_d2_prepared/underflow/dot_endpoints", + "linear_form_d3_batch/origin/construction", + "linear_form_d3_batch/origin/prepared", + "linear_form_d3_batch/origin/with_construction", + "linear_form_d3_batch/translated/construction", + "linear_form_d3_batch/translated/prepared", + "linear_form_d3_batch/translated/with_construction", + "linear_form_d3_prepared/cancellation/difference", + "linear_form_d3_prepared/cancellation/difference_endpoints", + "linear_form_d3_prepared/cancellation/dot", + "linear_form_d3_prepared/cancellation/dot_endpoints", + "linear_form_d3_prepared/dense/difference", + "linear_form_d3_prepared/dense/difference_endpoints", + "linear_form_d3_prepared/dense/dot", + "linear_form_d3_prepared/dense/dot_endpoints", + "linear_form_d3_prepared/dense_inexact/difference", + "linear_form_d3_prepared/dense_inexact/difference_endpoints", + "linear_form_d3_prepared/dense_inexact/dot", + "linear_form_d3_prepared/dense_inexact/dot_endpoints", + "linear_form_d3_prepared/overflow/dot", + "linear_form_d3_prepared/sparse/difference", + "linear_form_d3_prepared/sparse/difference_endpoints", + "linear_form_d3_prepared/sparse/dot", + "linear_form_d3_prepared/sparse/dot_endpoints", + "linear_form_d3_prepared/underflow/difference", + "linear_form_d3_prepared/underflow/difference_endpoints", + "linear_form_d3_prepared/underflow/dot", + "linear_form_d3_prepared/underflow/dot_endpoints", + "linear_form_d4/dot_bounded_inconclusive", + "linear_form_d4/dot_bounded_well_separated", + "linear_form_d4/dot_difference_bounded_inconclusive", + "linear_form_d4/dot_difference_bounded_well_separated", + "linear_form_d4/dot_plain_well_separated", + "linear_form_d4_batch/origin/construction", + "linear_form_d4_batch/origin/prepared", + "linear_form_d4_batch/origin/with_construction", + "linear_form_d4_batch/translated/construction", + "linear_form_d4_batch/translated/prepared", + "linear_form_d4_batch/translated/with_construction", + "linear_form_d4_prepared/cancellation/difference", + "linear_form_d4_prepared/cancellation/difference_endpoints", + "linear_form_d4_prepared/cancellation/dot", + "linear_form_d4_prepared/cancellation/dot_endpoints", + "linear_form_d4_prepared/dense/difference", + "linear_form_d4_prepared/dense/difference_endpoints", + "linear_form_d4_prepared/dense/dot", + "linear_form_d4_prepared/dense/dot_endpoints", + "linear_form_d4_prepared/dense_inexact/difference", + "linear_form_d4_prepared/dense_inexact/difference_endpoints", + "linear_form_d4_prepared/dense_inexact/dot", + "linear_form_d4_prepared/dense_inexact/dot_endpoints", + "linear_form_d4_prepared/overflow/dot", + "linear_form_d4_prepared/sparse/difference", + "linear_form_d4_prepared/sparse/difference_endpoints", + "linear_form_d4_prepared/sparse/dot", + "linear_form_d4_prepared/sparse/dot_endpoints", + "linear_form_d4_prepared/underflow/difference", + "linear_form_d4_prepared/underflow/difference_endpoints", + "linear_form_d4_prepared/underflow/dot", + "linear_form_d4_prepared/underflow/dot_endpoints", + "linear_form_d5_batch/origin/construction", + "linear_form_d5_batch/origin/prepared", + "linear_form_d5_batch/origin/with_construction", + "linear_form_d5_batch/translated/construction", + "linear_form_d5_batch/translated/prepared", + "linear_form_d5_batch/translated/with_construction", + "linear_form_d5_prepared/cancellation/difference", + "linear_form_d5_prepared/cancellation/difference_endpoints", + "linear_form_d5_prepared/cancellation/dot", + "linear_form_d5_prepared/cancellation/dot_endpoints", + "linear_form_d5_prepared/dense/difference", + "linear_form_d5_prepared/dense/difference_endpoints", + "linear_form_d5_prepared/dense/dot", + "linear_form_d5_prepared/dense/dot_endpoints", + "linear_form_d5_prepared/dense_inexact/difference", + "linear_form_d5_prepared/dense_inexact/difference_endpoints", + "linear_form_d5_prepared/dense_inexact/dot", + "linear_form_d5_prepared/dense_inexact/dot_endpoints", + "linear_form_d5_prepared/overflow/dot", + "linear_form_d5_prepared/sparse/difference", + "linear_form_d5_prepared/sparse/difference_endpoints", + "linear_form_d5_prepared/sparse/dot", + "linear_form_d5_prepared/sparse/dot_endpoints", + "linear_form_d5_prepared/underflow/difference", + "linear_form_d5_prepared/underflow/difference_endpoints", + "linear_form_d5_prepared/underflow/dot", + "linear_form_d5_prepared/underflow/dot_endpoints", + "linear_form_d6_batch/origin/construction", + "linear_form_d6_batch/origin/prepared", + "linear_form_d6_batch/origin/with_construction", + "linear_form_d6_batch/translated/construction", + "linear_form_d6_batch/translated/prepared", + "linear_form_d6_batch/translated/with_construction", + "linear_form_d6_prepared/cancellation/difference", + "linear_form_d6_prepared/cancellation/difference_endpoints", + "linear_form_d6_prepared/cancellation/dot", + "linear_form_d6_prepared/cancellation/dot_endpoints", + "linear_form_d6_prepared/dense/difference", + "linear_form_d6_prepared/dense/difference_endpoints", + "linear_form_d6_prepared/dense/dot", + "linear_form_d6_prepared/dense/dot_endpoints", + "linear_form_d6_prepared/dense_inexact/difference", + "linear_form_d6_prepared/dense_inexact/difference_endpoints", + "linear_form_d6_prepared/dense_inexact/dot", + "linear_form_d6_prepared/dense_inexact/dot_endpoints", + "linear_form_d6_prepared/overflow/dot", + "linear_form_d6_prepared/sparse/difference", + "linear_form_d6_prepared/sparse/difference_endpoints", + "linear_form_d6_prepared/sparse/dot", + "linear_form_d6_prepared/sparse/dot_endpoints", + "linear_form_d6_prepared/underflow/difference", + "linear_form_d6_prepared/underflow/difference_endpoints", + "linear_form_d6_prepared/underflow/dot", + "linear_form_d6_prepared/underflow/dot_endpoints", + "public_d2/det_bound", + "public_d2/det_direct", + "public_d2/det_with_bound", + "public_d2/first_asymmetry", + "public_d2/interval_det", + "public_d2/interval_matrix_access", + "public_d2/interval_matrix_from_matrix", + "public_d2/interval_matrix_from_points", + "public_d2/interval_matrix_from_rows", + "public_d2/interval_matrix_identity", + "public_d2/interval_matrix_set", + "public_d2/interval_matrix_zero", + "public_d2/is_symmetric", + "public_d2/matrix_access", + "public_d2/matrix_from_rows", + "public_d2/matrix_identity", + "public_d2/matrix_set", + "public_d2/matrix_zero", + "public_d2/vector_access", + "public_d2/vector_new", + "public_d2/vector_zero", + "public_d3/det_bound", + "public_d3/det_direct", + "public_d3/det_with_bound", + "public_d3/first_asymmetry", + "public_d3/interval_det", + "public_d3/interval_matrix_access", + "public_d3/interval_matrix_from_matrix", + "public_d3/interval_matrix_from_points", + "public_d3/interval_matrix_from_rows", + "public_d3/interval_matrix_identity", + "public_d3/interval_matrix_set", + "public_d3/interval_matrix_zero", + "public_d3/is_symmetric", + "public_d3/matrix_access", + "public_d3/matrix_from_rows", + "public_d3/matrix_identity", + "public_d3/matrix_set", + "public_d3/matrix_zero", + "public_d3/vector_access", + "public_d3/vector_new", + "public_d3/vector_zero", + "public_d4/det_bound", + "public_d4/det_direct", + "public_d4/det_with_bound", + "public_d4/first_asymmetry", + "public_d4/interval_det", + "public_d4/interval_matrix_access", + "public_d4/interval_matrix_from_matrix", + "public_d4/interval_matrix_from_points", + "public_d4/interval_matrix_from_rows", + "public_d4/interval_matrix_identity", + "public_d4/interval_matrix_set", + "public_d4/interval_matrix_zero", + "public_d4/is_symmetric", + "public_d4/matrix_access", + "public_d4/matrix_from_rows", + "public_d4/matrix_identity", + "public_d4/matrix_set", + "public_d4/matrix_zero", + "public_d4/vector_access", + "public_d4/vector_new", + "public_d4/vector_zero", + "public_d5/det_bound", + "public_d5/det_direct", + "public_d5/det_with_bound", + "public_d5/first_asymmetry", + "public_d5/interval_det", + "public_d5/interval_matrix_access", + "public_d5/interval_matrix_from_matrix", + "public_d5/interval_matrix_from_points", + "public_d5/interval_matrix_from_rows", + "public_d5/interval_matrix_identity", + "public_d5/interval_matrix_set", + "public_d5/interval_matrix_zero", + "public_d5/is_symmetric", + "public_d5/matrix_access", + "public_d5/matrix_from_rows", + "public_d5/matrix_identity", + "public_d5/matrix_set", + "public_d5/matrix_zero", + "public_d5/vector_access", + "public_d5/vector_new", + "public_d5/vector_zero", + "public_scalar/tolerance", + "public_scalar/interval_new", + "public_scalar/interval_point", + "public_scalar/interval_subtraction", + "public_scalar/interval_access", + "public_scalar/interval_negate", + "public_exact_d2/matrix_access", + "public_exact_d2/matrix_from_fn", + "public_exact_d2/matrix_from_rows", + "public_exact_d2/matrix_into_rows", + "public_exact_d2/matrix_zero", + "public_exact_d2/vector_access", + "public_exact_d2/vector_from_fn", + "public_exact_d2/vector_into_array", + "public_exact_d2/vector_new", + "public_exact_d2/vector_zero", + "public_exact_d3/matrix_access", + "public_exact_d3/matrix_from_fn", + "public_exact_d3/matrix_from_rows", + "public_exact_d3/matrix_into_rows", + "public_exact_d3/matrix_zero", + "public_exact_d3/vector_access", + "public_exact_d3/vector_from_fn", + "public_exact_d3/vector_into_array", + "public_exact_d3/vector_new", + "public_exact_d3/vector_zero", + "public_exact_d4/matrix_access", + "public_exact_d4/matrix_from_fn", + "public_exact_d4/matrix_from_rows", + "public_exact_d4/matrix_into_rows", + "public_exact_d4/matrix_zero", + "public_exact_d4/vector_access", + "public_exact_d4/vector_from_fn", + "public_exact_d4/vector_into_array", + "public_exact_d4/vector_new", + "public_exact_d4/vector_zero", + "public_exact_d5/matrix_access", + "public_exact_d5/matrix_from_fn", + "public_exact_d5/matrix_from_rows", + "public_exact_d5/matrix_into_rows", + "public_exact_d5/matrix_zero", + "public_exact_d5/vector_access", + "public_exact_d5/vector_from_fn", + "public_exact_d5/vector_into_array", + "public_exact_d5/vector_new", + "public_exact_d5/vector_zero", + "public_exact_scalar/rounded", + "public_exact_scalar/strict", "rational_input_d2/det_row_cleared_bareiss", "rational_input_d2/det_sign_row_cleared_bareiss", - "rational_input_d2/solve_big_rational_gaussian", "rational_input_d2/solve_row_cleared_bareiss", - "rational_input_d3/det_big_rational_gaussian", "rational_input_d3/det_row_cleared_bareiss", "rational_input_d3/det_sign_row_cleared_bareiss", - "rational_input_d3/solve_big_rational_gaussian", "rational_input_d3/solve_row_cleared_bareiss", - "rational_input_d4/det_big_rational_gaussian", "rational_input_d4/det_row_cleared_bareiss", "rational_input_d4/det_sign_row_cleared_bareiss", - "rational_input_d4/solve_big_rational_gaussian", "rational_input_d4/solve_row_cleared_bareiss", - "rational_input_d5/det_big_rational_gaussian", "rational_input_d5/det_row_cleared_bareiss", "rational_input_d5/det_sign_row_cleared_bareiss", - "rational_input_d5/solve_big_rational_gaussian", "rational_input_d5/solve_row_cleared_bareiss", - "rational_input_d6/det_big_rational_gaussian", "rational_input_d6/det_row_cleared_bareiss", "rational_input_d6/det_sign_row_cleared_bareiss", - "rational_input_d6/solve_big_rational_gaussian", "rational_input_d6/solve_row_cleared_bareiss", - "rational_input_d7/det_big_rational_gaussian", "rational_input_d7/det_row_cleared_bareiss", "rational_input_d7/det_sign_row_cleared_bareiss", - "rational_input_d7/solve_big_rational_gaussian", "rational_input_d7/solve_row_cleared_bareiss", - "rational_input_d8/det_big_rational_gaussian", "rational_input_d8/det_row_cleared_bareiss", "rational_input_d8/det_sign_row_cleared_bareiss", - "rational_input_d8/solve_big_rational_gaussian", "rational_input_d8/solve_row_cleared_bareiss", + "rational_input_wide1024_d2/det_row_cleared_bareiss", + "rational_input_wide1024_d2/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d2/solve_row_cleared_bareiss", + "rational_input_wide1024_d3/det_row_cleared_bareiss", + "rational_input_wide1024_d3/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d3/solve_row_cleared_bareiss", + "rational_input_wide1024_d4/det_row_cleared_bareiss", + "rational_input_wide1024_d4/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d4/solve_row_cleared_bareiss", + "rational_input_wide1024_d5/det_row_cleared_bareiss", + "rational_input_wide1024_d5/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d5/solve_row_cleared_bareiss", + "rational_input_wide1024_d6/det_row_cleared_bareiss", + "rational_input_wide1024_d6/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d6/solve_row_cleared_bareiss", + "rational_input_wide1024_d7/det_row_cleared_bareiss", + "rational_input_wide1024_d7/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d7/solve_row_cleared_bareiss", + "rational_input_wide1024_d8/det_row_cleared_bareiss", + "rational_input_wide1024_d8/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d8/solve_row_cleared_bareiss", + "rational_input_wide256_d2/det_row_cleared_bareiss", + "rational_input_wide256_d2/det_sign_row_cleared_bareiss", + "rational_input_wide256_d2/solve_row_cleared_bareiss", + "rational_input_wide256_d3/det_row_cleared_bareiss", + "rational_input_wide256_d3/det_sign_row_cleared_bareiss", + "rational_input_wide256_d3/solve_row_cleared_bareiss", + "rational_input_wide256_d4/det_row_cleared_bareiss", + "rational_input_wide256_d4/det_sign_row_cleared_bareiss", + "rational_input_wide256_d4/solve_row_cleared_bareiss", + "rational_input_wide256_d5/det_row_cleared_bareiss", + "rational_input_wide256_d5/det_sign_row_cleared_bareiss", + "rational_input_wide256_d5/solve_row_cleared_bareiss", + "rational_input_wide256_d6/det_row_cleared_bareiss", + "rational_input_wide256_d6/det_sign_row_cleared_bareiss", + "rational_input_wide256_d6/solve_row_cleared_bareiss", + "rational_input_wide256_d7/det_row_cleared_bareiss", + "rational_input_wide256_d7/det_sign_row_cleared_bareiss", + "rational_input_wide256_d7/solve_row_cleared_bareiss", + "rational_input_wide256_d8/det_row_cleared_bareiss", + "rational_input_wide256_d8/det_sign_row_cleared_bareiss", + "rational_input_wide256_d8/solve_row_cleared_bareiss", + "rational_solve/dense/dyadic_d2/adapter", + "rational_solve/dense/dyadic_d2/construct", + "rational_solve/dense/dyadic_d2/prepared", + "rational_solve/dense/dyadic_d3/adapter", + "rational_solve/dense/dyadic_d3/construct", + "rational_solve/dense/dyadic_d3/prepared", + "rational_solve/dense/dyadic_d4/adapter", + "rational_solve/dense/dyadic_d4/construct", + "rational_solve/dense/dyadic_d4/prepared", + "rational_solve/dense/dyadic_d5/adapter", + "rational_solve/dense/dyadic_d5/construct", + "rational_solve/dense/dyadic_d5/prepared", + "rational_solve/dense/dyadic_d6/adapter", + "rational_solve/dense/dyadic_d6/construct", + "rational_solve/dense/dyadic_d6/prepared", + "rational_solve/dense/dyadic_d7/adapter", + "rational_solve/dense/dyadic_d7/construct", + "rational_solve/dense/dyadic_d7/prepared", + "rational_solve/dense/dyadic_d8/adapter", + "rational_solve/dense/dyadic_d8/construct", + "rational_solve/dense/dyadic_d8/prepared", + "rational_solve/dense/rational_d2/adapter", + "rational_solve/dense/rational_d2/construct", + "rational_solve/dense/rational_d2/prepared", + "rational_solve/dense/rational_d3/adapter", + "rational_solve/dense/rational_d3/construct", + "rational_solve/dense/rational_d3/prepared", + "rational_solve/dense/rational_d4/adapter", + "rational_solve/dense/rational_d4/construct", + "rational_solve/dense/rational_d4/prepared", + "rational_solve/dense/rational_d5/adapter", + "rational_solve/dense/rational_d5/construct", + "rational_solve/dense/rational_d5/prepared", + "rational_solve/dense/rational_d6/adapter", + "rational_solve/dense/rational_d6/construct", + "rational_solve/dense/rational_d6/prepared", + "rational_solve/dense/rational_d7/adapter", + "rational_solve/dense/rational_d7/construct", + "rational_solve/dense/rational_d7/prepared", + "rational_solve/dense/rational_d8/adapter", + "rational_solve/dense/rational_d8/construct", + "rational_solve/dense/rational_d8/prepared", + "rational_solve/diagonal/dyadic_d2/adapter", + "rational_solve/diagonal/dyadic_d2/construct", + "rational_solve/diagonal/dyadic_d2/prepared", + "rational_solve/diagonal/dyadic_d3/adapter", + "rational_solve/diagonal/dyadic_d3/construct", + "rational_solve/diagonal/dyadic_d3/prepared", + "rational_solve/diagonal/dyadic_d4/adapter", + "rational_solve/diagonal/dyadic_d4/construct", + "rational_solve/diagonal/dyadic_d4/prepared", + "rational_solve/diagonal/dyadic_d5/adapter", + "rational_solve/diagonal/dyadic_d5/construct", + "rational_solve/diagonal/dyadic_d5/prepared", + "rational_solve/diagonal/dyadic_d6/adapter", + "rational_solve/diagonal/dyadic_d6/construct", + "rational_solve/diagonal/dyadic_d6/prepared", + "rational_solve/diagonal/dyadic_d7/adapter", + "rational_solve/diagonal/dyadic_d7/construct", + "rational_solve/diagonal/dyadic_d7/prepared", + "rational_solve/diagonal/dyadic_d8/adapter", + "rational_solve/diagonal/dyadic_d8/construct", + "rational_solve/diagonal/dyadic_d8/prepared", + "rational_solve/diagonal/rational_d2/adapter", + "rational_solve/diagonal/rational_d2/construct", + "rational_solve/diagonal/rational_d2/prepared", + "rational_solve/diagonal/rational_d3/adapter", + "rational_solve/diagonal/rational_d3/construct", + "rational_solve/diagonal/rational_d3/prepared", + "rational_solve/diagonal/rational_d4/adapter", + "rational_solve/diagonal/rational_d4/construct", + "rational_solve/diagonal/rational_d4/prepared", + "rational_solve/diagonal/rational_d5/adapter", + "rational_solve/diagonal/rational_d5/construct", + "rational_solve/diagonal/rational_d5/prepared", + "rational_solve/diagonal/rational_d6/adapter", + "rational_solve/diagonal/rational_d6/construct", + "rational_solve/diagonal/rational_d6/prepared", + "rational_solve/diagonal/rational_d7/adapter", + "rational_solve/diagonal/rational_d7/construct", + "rational_solve/diagonal/rational_d7/prepared", + "rational_solve/diagonal/rational_d8/adapter", + "rational_solve/diagonal/rational_d8/construct", + "rational_solve/diagonal/rational_d8/prepared", + "rational_solve/lower/dyadic_d2/adapter", + "rational_solve/lower/dyadic_d2/construct", + "rational_solve/lower/dyadic_d2/prepared", + "rational_solve/lower/dyadic_d3/adapter", + "rational_solve/lower/dyadic_d3/construct", + "rational_solve/lower/dyadic_d3/prepared", + "rational_solve/lower/dyadic_d4/adapter", + "rational_solve/lower/dyadic_d4/construct", + "rational_solve/lower/dyadic_d4/prepared", + "rational_solve/lower/dyadic_d5/adapter", + "rational_solve/lower/dyadic_d5/construct", + "rational_solve/lower/dyadic_d5/prepared", + "rational_solve/lower/dyadic_d6/adapter", + "rational_solve/lower/dyadic_d6/construct", + "rational_solve/lower/dyadic_d6/prepared", + "rational_solve/lower/dyadic_d7/adapter", + "rational_solve/lower/dyadic_d7/construct", + "rational_solve/lower/dyadic_d7/prepared", + "rational_solve/lower/dyadic_d8/adapter", + "rational_solve/lower/dyadic_d8/construct", + "rational_solve/lower/dyadic_d8/prepared", + "rational_solve/lower/rational_d2/adapter", + "rational_solve/lower/rational_d2/construct", + "rational_solve/lower/rational_d2/prepared", + "rational_solve/lower/rational_d3/adapter", + "rational_solve/lower/rational_d3/construct", + "rational_solve/lower/rational_d3/prepared", + "rational_solve/lower/rational_d4/adapter", + "rational_solve/lower/rational_d4/construct", + "rational_solve/lower/rational_d4/prepared", + "rational_solve/lower/rational_d5/adapter", + "rational_solve/lower/rational_d5/construct", + "rational_solve/lower/rational_d5/prepared", + "rational_solve/lower/rational_d6/adapter", + "rational_solve/lower/rational_d6/construct", + "rational_solve/lower/rational_d6/prepared", + "rational_solve/lower/rational_d7/adapter", + "rational_solve/lower/rational_d7/construct", + "rational_solve/lower/rational_d7/prepared", + "rational_solve/lower/rational_d8/adapter", + "rational_solve/lower/rational_d8/construct", + "rational_solve/lower/rational_d8/prepared", + "rational_solve/permuted_lower/dyadic_d2/adapter", + "rational_solve/permuted_lower/dyadic_d2/construct", + "rational_solve/permuted_lower/dyadic_d2/prepared", + "rational_solve/permuted_lower/dyadic_d3/adapter", + "rational_solve/permuted_lower/dyadic_d3/construct", + "rational_solve/permuted_lower/dyadic_d3/prepared", + "rational_solve/permuted_lower/dyadic_d4/adapter", + "rational_solve/permuted_lower/dyadic_d4/construct", + "rational_solve/permuted_lower/dyadic_d4/prepared", + "rational_solve/permuted_lower/dyadic_d5/adapter", + "rational_solve/permuted_lower/dyadic_d5/construct", + "rational_solve/permuted_lower/dyadic_d5/prepared", + "rational_solve/permuted_lower/dyadic_d6/adapter", + "rational_solve/permuted_lower/dyadic_d6/construct", + "rational_solve/permuted_lower/dyadic_d6/prepared", + "rational_solve/permuted_lower/dyadic_d7/adapter", + "rational_solve/permuted_lower/dyadic_d7/construct", + "rational_solve/permuted_lower/dyadic_d7/prepared", + "rational_solve/permuted_lower/dyadic_d8/adapter", + "rational_solve/permuted_lower/dyadic_d8/construct", + "rational_solve/permuted_lower/dyadic_d8/prepared", + "rational_solve/permuted_lower/rational_d2/adapter", + "rational_solve/permuted_lower/rational_d2/construct", + "rational_solve/permuted_lower/rational_d2/prepared", + "rational_solve/permuted_lower/rational_d3/adapter", + "rational_solve/permuted_lower/rational_d3/construct", + "rational_solve/permuted_lower/rational_d3/prepared", + "rational_solve/permuted_lower/rational_d4/adapter", + "rational_solve/permuted_lower/rational_d4/construct", + "rational_solve/permuted_lower/rational_d4/prepared", + "rational_solve/permuted_lower/rational_d5/adapter", + "rational_solve/permuted_lower/rational_d5/construct", + "rational_solve/permuted_lower/rational_d5/prepared", + "rational_solve/permuted_lower/rational_d6/adapter", + "rational_solve/permuted_lower/rational_d6/construct", + "rational_solve/permuted_lower/rational_d6/prepared", + "rational_solve/permuted_lower/rational_d7/adapter", + "rational_solve/permuted_lower/rational_d7/construct", + "rational_solve/permuted_lower/rational_d7/prepared", + "rational_solve/permuted_lower/rational_d8/adapter", + "rational_solve/permuted_lower/rational_d8/construct", + "rational_solve/permuted_lower/rational_d8/prepared", + "rational_solve/permuted_upper/dyadic_d2/adapter", + "rational_solve/permuted_upper/dyadic_d2/construct", + "rational_solve/permuted_upper/dyadic_d2/prepared", + "rational_solve/permuted_upper/dyadic_d3/adapter", + "rational_solve/permuted_upper/dyadic_d3/construct", + "rational_solve/permuted_upper/dyadic_d3/prepared", + "rational_solve/permuted_upper/dyadic_d4/adapter", + "rational_solve/permuted_upper/dyadic_d4/construct", + "rational_solve/permuted_upper/dyadic_d4/prepared", + "rational_solve/permuted_upper/dyadic_d5/adapter", + "rational_solve/permuted_upper/dyadic_d5/construct", + "rational_solve/permuted_upper/dyadic_d5/prepared", + "rational_solve/permuted_upper/dyadic_d6/adapter", + "rational_solve/permuted_upper/dyadic_d6/construct", + "rational_solve/permuted_upper/dyadic_d6/prepared", + "rational_solve/permuted_upper/dyadic_d7/adapter", + "rational_solve/permuted_upper/dyadic_d7/construct", + "rational_solve/permuted_upper/dyadic_d7/prepared", + "rational_solve/permuted_upper/dyadic_d8/adapter", + "rational_solve/permuted_upper/dyadic_d8/construct", + "rational_solve/permuted_upper/dyadic_d8/prepared", + "rational_solve/permuted_upper/rational_d2/adapter", + "rational_solve/permuted_upper/rational_d2/construct", + "rational_solve/permuted_upper/rational_d2/prepared", + "rational_solve/permuted_upper/rational_d3/adapter", + "rational_solve/permuted_upper/rational_d3/construct", + "rational_solve/permuted_upper/rational_d3/prepared", + "rational_solve/permuted_upper/rational_d4/adapter", + "rational_solve/permuted_upper/rational_d4/construct", + "rational_solve/permuted_upper/rational_d4/prepared", + "rational_solve/permuted_upper/rational_d5/adapter", + "rational_solve/permuted_upper/rational_d5/construct", + "rational_solve/permuted_upper/rational_d5/prepared", + "rational_solve/permuted_upper/rational_d6/adapter", + "rational_solve/permuted_upper/rational_d6/construct", + "rational_solve/permuted_upper/rational_d6/prepared", + "rational_solve/permuted_upper/rational_d7/adapter", + "rational_solve/permuted_upper/rational_d7/construct", + "rational_solve/permuted_upper/rational_d7/prepared", + "rational_solve/permuted_upper/rational_d8/adapter", + "rational_solve/permuted_upper/rational_d8/construct", + "rational_solve/permuted_upper/rational_d8/prepared", + "rational_solve/sparse/dyadic_d2/adapter", + "rational_solve/sparse/dyadic_d2/construct", + "rational_solve/sparse/dyadic_d2/prepared", + "rational_solve/sparse/dyadic_d3/adapter", + "rational_solve/sparse/dyadic_d3/construct", + "rational_solve/sparse/dyadic_d3/prepared", + "rational_solve/sparse/dyadic_d4/adapter", + "rational_solve/sparse/dyadic_d4/construct", + "rational_solve/sparse/dyadic_d4/prepared", + "rational_solve/sparse/dyadic_d5/adapter", + "rational_solve/sparse/dyadic_d5/construct", + "rational_solve/sparse/dyadic_d5/prepared", + "rational_solve/sparse/dyadic_d6/adapter", + "rational_solve/sparse/dyadic_d6/construct", + "rational_solve/sparse/dyadic_d6/prepared", + "rational_solve/sparse/dyadic_d7/adapter", + "rational_solve/sparse/dyadic_d7/construct", + "rational_solve/sparse/dyadic_d7/prepared", + "rational_solve/sparse/dyadic_d8/adapter", + "rational_solve/sparse/dyadic_d8/construct", + "rational_solve/sparse/dyadic_d8/prepared", + "rational_solve/sparse/rational_d2/adapter", + "rational_solve/sparse/rational_d2/construct", + "rational_solve/sparse/rational_d2/prepared", + "rational_solve/sparse/rational_d3/adapter", + "rational_solve/sparse/rational_d3/construct", + "rational_solve/sparse/rational_d3/prepared", + "rational_solve/sparse/rational_d4/adapter", + "rational_solve/sparse/rational_d4/construct", + "rational_solve/sparse/rational_d4/prepared", + "rational_solve/sparse/rational_d5/adapter", + "rational_solve/sparse/rational_d5/construct", + "rational_solve/sparse/rational_d5/prepared", + "rational_solve/sparse/rational_d6/adapter", + "rational_solve/sparse/rational_d6/construct", + "rational_solve/sparse/rational_d6/prepared", + "rational_solve/sparse/rational_d7/adapter", + "rational_solve/sparse/rational_d7/construct", + "rational_solve/sparse/rational_d7/prepared", + "rational_solve/sparse/rational_d8/adapter", + "rational_solve/sparse/rational_d8/construct", + "rational_solve/sparse/rational_d8/prepared", + "rational_solve/upper/dyadic_d2/adapter", + "rational_solve/upper/dyadic_d2/construct", + "rational_solve/upper/dyadic_d2/prepared", + "rational_solve/upper/dyadic_d3/adapter", + "rational_solve/upper/dyadic_d3/construct", + "rational_solve/upper/dyadic_d3/prepared", + "rational_solve/upper/dyadic_d4/adapter", + "rational_solve/upper/dyadic_d4/construct", + "rational_solve/upper/dyadic_d4/prepared", + "rational_solve/upper/dyadic_d5/adapter", + "rational_solve/upper/dyadic_d5/construct", + "rational_solve/upper/dyadic_d5/prepared", + "rational_solve/upper/dyadic_d6/adapter", + "rational_solve/upper/dyadic_d6/construct", + "rational_solve/upper/dyadic_d6/prepared", + "rational_solve/upper/dyadic_d7/adapter", + "rational_solve/upper/dyadic_d7/construct", + "rational_solve/upper/dyadic_d7/prepared", + "rational_solve/upper/dyadic_d8/adapter", + "rational_solve/upper/dyadic_d8/construct", + "rational_solve/upper/dyadic_d8/prepared", + "rational_solve/upper/rational_d2/adapter", + "rational_solve/upper/rational_d2/construct", + "rational_solve/upper/rational_d2/prepared", + "rational_solve/upper/rational_d3/adapter", + "rational_solve/upper/rational_d3/construct", + "rational_solve/upper/rational_d3/prepared", + "rational_solve/upper/rational_d4/adapter", + "rational_solve/upper/rational_d4/construct", + "rational_solve/upper/rational_d4/prepared", + "rational_solve/upper/rational_d5/adapter", + "rational_solve/upper/rational_d5/construct", + "rational_solve/upper/rational_d5/prepared", + "rational_solve/upper/rational_d6/adapter", + "rational_solve/upper/rational_d6/construct", + "rational_solve/upper/rational_d6/prepared", + "rational_solve/upper/rational_d7/adapter", + "rational_solve/upper/rational_d7/construct", + "rational_solve/upper/rational_d7/prepared", + "rational_solve/upper/rational_d8/adapter", + "rational_solve/upper/rational_d8/construct", + "rational_solve/upper/rational_d8/prepared", ] [[phases.baseline.discovery.suites]] -name = "vs_linalg" -command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-vs_linalg", "list" ] +name = "public-default" +command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-public-default", "list" ] timeout = 14400 [[phases.baseline.discovery.suites]] -name = "exact" -command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-exact", "list" ] +name = "public-exact" +command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-public-exact", "list" ] +timeout = 14400 + +[[phases.baseline.discovery.suites]] +name = "peers" +command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "baseline-peers", "list" ] timeout = 14400 [phases.current] command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "current-all" ] gate = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "gate" ] -# Fixed code-generation settings are recorded for both phases. environment = { CARGO_TARGET_DIR = "target", CRITERION_HOME = "target/criterion", RUSTUP_TOOLCHAIN = "1.99.1", RUSTFLAGS = "--cap-lints=warn", CARGO_ENCODED_RUSTFLAGS = "--cap-lints=warn", RUSTC = "rustc", RUSTC_WRAPPER = "", RUSTC_WORKSPACE_WRAPPER = "" } [phases.current.discovery] required = [ + "angle_d3/dense/borrowed_slice", + "angle_d3/dense/construct_then_angle", + "angle_d3/dense/prepared_vector", + "angle_d3/dense_antipodal/borrowed_slice", + "angle_d3/dense_antipodal/construct_then_angle", + "angle_d3/dense_antipodal/prepared_vector", + "angle_d3/dense_identical/borrowed_slice", + "angle_d3/dense_identical/construct_then_angle", + "angle_d3/dense_identical/prepared_vector", + "angle_d3/dense_varied/borrowed_slice", + "angle_d3/dense_varied/construct_then_angle", + "angle_d3/dense_varied/prepared_vector", + "angle_d3/maximum_small_angle/borrowed_slice", + "angle_d3/maximum_small_angle/construct_then_angle", + "angle_d3/maximum_small_angle/prepared_vector", + "angle_d3/mixed_scale/borrowed_slice", + "angle_d3/mixed_scale/construct_then_angle", + "angle_d3/mixed_scale/prepared_vector", + "angle_d3/near_antipodal/borrowed_slice", + "angle_d3/near_antipodal/construct_then_angle", + "angle_d3/near_antipodal/prepared_vector", + "angle_d3/near_parallel/borrowed_slice", + "angle_d3/near_parallel/construct_then_angle", + "angle_d3/near_parallel/prepared_vector", + "angle_d3/sparse_adjacent/borrowed_slice", + "angle_d3/sparse_adjacent/construct_then_angle", + "angle_d3/sparse_adjacent/prepared_vector", + "angle_d3/sparse_alternating/borrowed_slice", + "angle_d3/sparse_alternating/construct_then_angle", + "angle_d3/sparse_alternating/prepared_vector", + "angle_d3/sparse_antipodal/borrowed_slice", + "angle_d3/sparse_antipodal/construct_then_angle", + "angle_d3/sparse_antipodal/prepared_vector", + "angle_d3/sparse_identical/borrowed_slice", + "angle_d3/sparse_identical/construct_then_angle", + "angle_d3/sparse_identical/prepared_vector", + "angle_d3/subnormal/borrowed_slice", + "angle_d3/subnormal/construct_then_angle", + "angle_d3/subnormal/prepared_vector", + "angle_d3/subnormal_axes/borrowed_slice", + "angle_d3/subnormal_axes/construct_then_angle", + "angle_d3/subnormal_axes/prepared_vector", + "angle_d4/dense/borrowed_slice", + "angle_d4/dense/construct_then_angle", + "angle_d4/dense/prepared_vector", + "angle_d4/dense_antipodal/borrowed_slice", + "angle_d4/dense_antipodal/construct_then_angle", + "angle_d4/dense_antipodal/prepared_vector", + "angle_d4/dense_identical/borrowed_slice", + "angle_d4/dense_identical/construct_then_angle", + "angle_d4/dense_identical/prepared_vector", + "angle_d4/dense_varied/borrowed_slice", + "angle_d4/dense_varied/construct_then_angle", + "angle_d4/dense_varied/prepared_vector", + "angle_d4/maximum_small_angle/borrowed_slice", + "angle_d4/maximum_small_angle/construct_then_angle", + "angle_d4/maximum_small_angle/prepared_vector", + "angle_d4/mixed_scale/borrowed_slice", + "angle_d4/mixed_scale/construct_then_angle", + "angle_d4/mixed_scale/prepared_vector", + "angle_d4/near_antipodal/borrowed_slice", + "angle_d4/near_antipodal/construct_then_angle", + "angle_d4/near_antipodal/prepared_vector", + "angle_d4/near_parallel/borrowed_slice", + "angle_d4/near_parallel/construct_then_angle", + "angle_d4/near_parallel/prepared_vector", + "angle_d4/sparse_adjacent/borrowed_slice", + "angle_d4/sparse_adjacent/construct_then_angle", + "angle_d4/sparse_adjacent/prepared_vector", + "angle_d4/sparse_alternating/borrowed_slice", + "angle_d4/sparse_alternating/construct_then_angle", + "angle_d4/sparse_alternating/prepared_vector", + "angle_d4/sparse_antipodal/borrowed_slice", + "angle_d4/sparse_antipodal/construct_then_angle", + "angle_d4/sparse_antipodal/prepared_vector", + "angle_d4/sparse_identical/borrowed_slice", + "angle_d4/sparse_identical/construct_then_angle", + "angle_d4/sparse_identical/prepared_vector", + "angle_d4/subnormal/borrowed_slice", + "angle_d4/subnormal/construct_then_angle", + "angle_d4/subnormal/prepared_vector", + "angle_d4/subnormal_axes/borrowed_slice", + "angle_d4/subnormal_axes/construct_then_angle", + "angle_d4/subnormal_axes/prepared_vector", + "angle_d5/dense/borrowed_slice", + "angle_d5/dense/construct_then_angle", + "angle_d5/dense/prepared_vector", + "angle_d5/dense_antipodal/borrowed_slice", + "angle_d5/dense_antipodal/construct_then_angle", + "angle_d5/dense_antipodal/prepared_vector", + "angle_d5/dense_identical/borrowed_slice", + "angle_d5/dense_identical/construct_then_angle", + "angle_d5/dense_identical/prepared_vector", + "angle_d5/dense_varied/borrowed_slice", + "angle_d5/dense_varied/construct_then_angle", + "angle_d5/dense_varied/prepared_vector", + "angle_d5/maximum_small_angle/borrowed_slice", + "angle_d5/maximum_small_angle/construct_then_angle", + "angle_d5/maximum_small_angle/prepared_vector", + "angle_d5/mixed_scale/borrowed_slice", + "angle_d5/mixed_scale/construct_then_angle", + "angle_d5/mixed_scale/prepared_vector", + "angle_d5/near_antipodal/borrowed_slice", + "angle_d5/near_antipodal/construct_then_angle", + "angle_d5/near_antipodal/prepared_vector", + "angle_d5/near_parallel/borrowed_slice", + "angle_d5/near_parallel/construct_then_angle", + "angle_d5/near_parallel/prepared_vector", + "angle_d5/sparse_adjacent/borrowed_slice", + "angle_d5/sparse_adjacent/construct_then_angle", + "angle_d5/sparse_adjacent/prepared_vector", + "angle_d5/sparse_alternating/borrowed_slice", + "angle_d5/sparse_alternating/construct_then_angle", + "angle_d5/sparse_alternating/prepared_vector", + "angle_d5/sparse_antipodal/borrowed_slice", + "angle_d5/sparse_antipodal/construct_then_angle", + "angle_d5/sparse_antipodal/prepared_vector", + "angle_d5/sparse_identical/borrowed_slice", + "angle_d5/sparse_identical/construct_then_angle", + "angle_d5/sparse_identical/prepared_vector", + "angle_d5/subnormal/borrowed_slice", + "angle_d5/subnormal/construct_then_angle", + "angle_d5/subnormal/prepared_vector", + "angle_d5/subnormal_axes/borrowed_slice", + "angle_d5/subnormal_axes/construct_then_angle", + "angle_d5/subnormal_axes/prepared_vector", + "angle_d6/dense/borrowed_slice", + "angle_d6/dense/construct_then_angle", + "angle_d6/dense/prepared_vector", + "angle_d6/dense_antipodal/borrowed_slice", + "angle_d6/dense_antipodal/construct_then_angle", + "angle_d6/dense_antipodal/prepared_vector", + "angle_d6/dense_identical/borrowed_slice", + "angle_d6/dense_identical/construct_then_angle", + "angle_d6/dense_identical/prepared_vector", + "angle_d6/dense_varied/borrowed_slice", + "angle_d6/dense_varied/construct_then_angle", + "angle_d6/dense_varied/prepared_vector", + "angle_d6/maximum_small_angle/borrowed_slice", + "angle_d6/maximum_small_angle/construct_then_angle", + "angle_d6/maximum_small_angle/prepared_vector", + "angle_d6/mixed_scale/borrowed_slice", + "angle_d6/mixed_scale/construct_then_angle", + "angle_d6/mixed_scale/prepared_vector", + "angle_d6/near_antipodal/borrowed_slice", + "angle_d6/near_antipodal/construct_then_angle", + "angle_d6/near_antipodal/prepared_vector", + "angle_d6/near_parallel/borrowed_slice", + "angle_d6/near_parallel/construct_then_angle", + "angle_d6/near_parallel/prepared_vector", + "angle_d6/sparse_adjacent/borrowed_slice", + "angle_d6/sparse_adjacent/construct_then_angle", + "angle_d6/sparse_adjacent/prepared_vector", + "angle_d6/sparse_alternating/borrowed_slice", + "angle_d6/sparse_alternating/construct_then_angle", + "angle_d6/sparse_alternating/prepared_vector", + "angle_d6/sparse_antipodal/borrowed_slice", + "angle_d6/sparse_antipodal/construct_then_angle", + "angle_d6/sparse_antipodal/prepared_vector", + "angle_d6/sparse_identical/borrowed_slice", + "angle_d6/sparse_identical/construct_then_angle", + "angle_d6/sparse_identical/prepared_vector", + "angle_d6/subnormal/borrowed_slice", + "angle_d6/subnormal/construct_then_angle", + "angle_d6/subnormal/prepared_vector", + "angle_d6/subnormal_axes/borrowed_slice", + "angle_d6/subnormal_axes/construct_then_angle", + "angle_d6/subnormal_axes/prepared_vector", + "canonical_conversion_below_overflow_d2/rounded_array", + "canonical_conversion_below_overflow_d2/rounded_result", + "canonical_conversion_below_overflow_d2/strict_array", + "canonical_conversion_below_overflow_d2/strict_result", + "canonical_conversion_below_overflow_d3/rounded_array", + "canonical_conversion_below_overflow_d3/rounded_result", + "canonical_conversion_below_overflow_d3/strict_array", + "canonical_conversion_below_overflow_d3/strict_result", + "canonical_conversion_below_overflow_d4/rounded_array", + "canonical_conversion_below_overflow_d4/rounded_result", + "canonical_conversion_below_overflow_d4/strict_array", + "canonical_conversion_below_overflow_d4/strict_result", + "canonical_conversion_below_overflow_d5/rounded_array", + "canonical_conversion_below_overflow_d5/rounded_result", + "canonical_conversion_below_overflow_d5/strict_array", + "canonical_conversion_below_overflow_d5/strict_result", + "canonical_conversion_dyadic_d2/rounded_array", + "canonical_conversion_dyadic_d2/rounded_result", + "canonical_conversion_dyadic_d2/strict_array", + "canonical_conversion_dyadic_d2/strict_result", + "canonical_conversion_dyadic_d3/rounded_array", + "canonical_conversion_dyadic_d3/rounded_result", + "canonical_conversion_dyadic_d3/strict_array", + "canonical_conversion_dyadic_d3/strict_result", + "canonical_conversion_dyadic_d4/rounded_array", + "canonical_conversion_dyadic_d4/rounded_result", + "canonical_conversion_dyadic_d4/strict_array", + "canonical_conversion_dyadic_d4/strict_result", + "canonical_conversion_dyadic_d5/rounded_array", + "canonical_conversion_dyadic_d5/rounded_result", + "canonical_conversion_dyadic_d5/strict_array", + "canonical_conversion_dyadic_d5/strict_result", + "canonical_conversion_min_subnormal_d2/rounded_array", + "canonical_conversion_min_subnormal_d2/rounded_result", + "canonical_conversion_min_subnormal_d2/strict_array", + "canonical_conversion_min_subnormal_d2/strict_result", + "canonical_conversion_min_subnormal_d3/rounded_array", + "canonical_conversion_min_subnormal_d3/rounded_result", + "canonical_conversion_min_subnormal_d3/strict_array", + "canonical_conversion_min_subnormal_d3/strict_result", + "canonical_conversion_min_subnormal_d4/rounded_array", + "canonical_conversion_min_subnormal_d4/rounded_result", + "canonical_conversion_min_subnormal_d4/strict_array", + "canonical_conversion_min_subnormal_d4/strict_result", + "canonical_conversion_min_subnormal_d5/rounded_array", + "canonical_conversion_min_subnormal_d5/rounded_result", + "canonical_conversion_min_subnormal_d5/strict_array", + "canonical_conversion_min_subnormal_d5/strict_result", + "canonical_conversion_negative_underflow_d2/rounded_array", + "canonical_conversion_negative_underflow_d2/rounded_result", + "canonical_conversion_negative_underflow_d2/strict_array", + "canonical_conversion_negative_underflow_d2/strict_result", + "canonical_conversion_negative_underflow_d3/rounded_array", + "canonical_conversion_negative_underflow_d3/rounded_result", + "canonical_conversion_negative_underflow_d3/strict_array", + "canonical_conversion_negative_underflow_d3/strict_result", + "canonical_conversion_negative_underflow_d4/rounded_array", + "canonical_conversion_negative_underflow_d4/rounded_result", + "canonical_conversion_negative_underflow_d4/strict_array", + "canonical_conversion_negative_underflow_d4/strict_result", + "canonical_conversion_negative_underflow_d5/rounded_array", + "canonical_conversion_negative_underflow_d5/rounded_result", + "canonical_conversion_negative_underflow_d5/strict_array", + "canonical_conversion_negative_underflow_d5/strict_result", + "canonical_conversion_non_dyadic_d2/rounded_array", + "canonical_conversion_non_dyadic_d2/rounded_result", + "canonical_conversion_non_dyadic_d2/strict_array", + "canonical_conversion_non_dyadic_d2/strict_result", + "canonical_conversion_non_dyadic_d3/rounded_array", + "canonical_conversion_non_dyadic_d3/rounded_result", + "canonical_conversion_non_dyadic_d3/strict_array", + "canonical_conversion_non_dyadic_d3/strict_result", + "canonical_conversion_non_dyadic_d4/rounded_array", + "canonical_conversion_non_dyadic_d4/rounded_result", + "canonical_conversion_non_dyadic_d4/strict_array", + "canonical_conversion_non_dyadic_d4/strict_result", + "canonical_conversion_non_dyadic_d5/rounded_array", + "canonical_conversion_non_dyadic_d5/rounded_result", + "canonical_conversion_non_dyadic_d5/strict_array", + "canonical_conversion_non_dyadic_d5/strict_result", + "canonical_conversion_overflow_midpoint_d2/rounded_array", + "canonical_conversion_overflow_midpoint_d2/rounded_result", + "canonical_conversion_overflow_midpoint_d2/strict_array", + "canonical_conversion_overflow_midpoint_d2/strict_result", + "canonical_conversion_overflow_midpoint_d3/rounded_array", + "canonical_conversion_overflow_midpoint_d3/rounded_result", + "canonical_conversion_overflow_midpoint_d3/strict_array", + "canonical_conversion_overflow_midpoint_d3/strict_result", + "canonical_conversion_overflow_midpoint_d4/rounded_array", + "canonical_conversion_overflow_midpoint_d4/rounded_result", + "canonical_conversion_overflow_midpoint_d4/strict_array", + "canonical_conversion_overflow_midpoint_d4/strict_result", + "canonical_conversion_overflow_midpoint_d5/rounded_array", + "canonical_conversion_overflow_midpoint_d5/rounded_result", + "canonical_conversion_overflow_midpoint_d5/strict_array", + "canonical_conversion_overflow_midpoint_d5/strict_result", + "canonical_conversion_wide1024_d2/rounded_array", + "canonical_conversion_wide1024_d2/rounded_result", + "canonical_conversion_wide1024_d2/strict_array", + "canonical_conversion_wide1024_d2/strict_result", + "canonical_conversion_wide1024_d3/rounded_array", + "canonical_conversion_wide1024_d3/rounded_result", + "canonical_conversion_wide1024_d3/strict_array", + "canonical_conversion_wide1024_d3/strict_result", + "canonical_conversion_wide1024_d4/rounded_array", + "canonical_conversion_wide1024_d4/rounded_result", + "canonical_conversion_wide1024_d4/strict_array", + "canonical_conversion_wide1024_d4/strict_result", + "canonical_conversion_wide1024_d5/rounded_array", + "canonical_conversion_wide1024_d5/rounded_result", + "canonical_conversion_wide1024_d5/strict_array", + "canonical_conversion_wide1024_d5/strict_result", + "canonical_conversion_wide256_d2/rounded_array", + "canonical_conversion_wide256_d2/rounded_result", + "canonical_conversion_wide256_d2/strict_array", + "canonical_conversion_wide256_d2/strict_result", + "canonical_conversion_wide256_d3/rounded_array", + "canonical_conversion_wide256_d3/rounded_result", + "canonical_conversion_wide256_d3/strict_array", + "canonical_conversion_wide256_d3/strict_result", + "canonical_conversion_wide256_d4/rounded_array", + "canonical_conversion_wide256_d4/rounded_result", + "canonical_conversion_wide256_d4/strict_array", + "canonical_conversion_wide256_d4/strict_result", + "canonical_conversion_wide256_d5/rounded_array", + "canonical_conversion_wide256_d5/rounded_result", + "canonical_conversion_wide256_d5/strict_array", + "canonical_conversion_wide256_d5/strict_result", "d16/la_stack_det", "d16/la_stack_det_from_ldlt", "d16/la_stack_det_from_lu", @@ -503,6 +1656,11 @@ required = [ "d16/la_stack_ldlt_solve", "d16/la_stack_lu", "d16/la_stack_lu_solve", + "d16/la_stack_norm2", + "d16/la_stack_norm2_scenario_descending", + "d16/la_stack_norm2_scenario_repeated_scale", + "d16/la_stack_norm2_scenario_sparse", + "d16/la_stack_norm2_scenario_wide_dynamic_range", "d16/la_stack_norm2_sq", "d16/la_stack_solve_from_ldlt", "d16/la_stack_solve_from_lu", @@ -516,6 +1674,11 @@ required = [ "d2/la_stack_ldlt_solve", "d2/la_stack_lu", "d2/la_stack_lu_solve", + "d2/la_stack_norm2", + "d2/la_stack_norm2_scenario_descending", + "d2/la_stack_norm2_scenario_repeated_scale", + "d2/la_stack_norm2_scenario_sparse", + "d2/la_stack_norm2_scenario_wide_dynamic_range", "d2/la_stack_norm2_sq", "d2/la_stack_solve_from_ldlt", "d2/la_stack_solve_from_lu", @@ -529,6 +1692,11 @@ required = [ "d3/la_stack_ldlt_solve", "d3/la_stack_lu", "d3/la_stack_lu_solve", + "d3/la_stack_norm2", + "d3/la_stack_norm2_scenario_descending", + "d3/la_stack_norm2_scenario_repeated_scale", + "d3/la_stack_norm2_scenario_sparse", + "d3/la_stack_norm2_scenario_wide_dynamic_range", "d3/la_stack_norm2_sq", "d3/la_stack_solve_from_ldlt", "d3/la_stack_solve_from_lu", @@ -542,6 +1710,11 @@ required = [ "d32/la_stack_ldlt_solve", "d32/la_stack_lu", "d32/la_stack_lu_solve", + "d32/la_stack_norm2", + "d32/la_stack_norm2_scenario_descending", + "d32/la_stack_norm2_scenario_repeated_scale", + "d32/la_stack_norm2_scenario_sparse", + "d32/la_stack_norm2_scenario_wide_dynamic_range", "d32/la_stack_norm2_sq", "d32/la_stack_solve_from_ldlt", "d32/la_stack_solve_from_lu", @@ -555,6 +1728,11 @@ required = [ "d4/la_stack_ldlt_solve", "d4/la_stack_lu", "d4/la_stack_lu_solve", + "d4/la_stack_norm2", + "d4/la_stack_norm2_scenario_descending", + "d4/la_stack_norm2_scenario_repeated_scale", + "d4/la_stack_norm2_scenario_sparse", + "d4/la_stack_norm2_scenario_wide_dynamic_range", "d4/la_stack_norm2_sq", "d4/la_stack_solve_from_ldlt", "d4/la_stack_solve_from_lu", @@ -568,6 +1746,11 @@ required = [ "d5/la_stack_ldlt_solve", "d5/la_stack_lu", "d5/la_stack_lu_solve", + "d5/la_stack_norm2", + "d5/la_stack_norm2_scenario_descending", + "d5/la_stack_norm2_scenario_repeated_scale", + "d5/la_stack_norm2_scenario_sparse", + "d5/la_stack_norm2_scenario_wide_dynamic_range", "d5/la_stack_norm2_sq", "d5/la_stack_solve_from_ldlt", "d5/la_stack_solve_from_lu", @@ -581,6 +1764,11 @@ required = [ "d64/la_stack_ldlt_solve", "d64/la_stack_lu", "d64/la_stack_lu_solve", + "d64/la_stack_norm2", + "d64/la_stack_norm2_scenario_descending", + "d64/la_stack_norm2_scenario_repeated_scale", + "d64/la_stack_norm2_scenario_sparse", + "d64/la_stack_norm2_scenario_wide_dynamic_range", "d64/la_stack_norm2_sq", "d64/la_stack_solve_from_ldlt", "d64/la_stack_solve_from_lu", @@ -599,6 +1787,11 @@ required = [ "d8/la_stack_lu_ill_conditioned", "d8/la_stack_lu_pivoting", "d8/la_stack_lu_solve", + "d8/la_stack_norm2", + "d8/la_stack_norm2_scenario_descending", + "d8/la_stack_norm2_scenario_repeated_scale", + "d8/la_stack_norm2_scenario_sparse", + "d8/la_stack_norm2_scenario_wide_dynamic_range", "d8/la_stack_norm2_sq", "d8/la_stack_solve_from_ldlt", "d8/la_stack_solve_from_lu", @@ -683,711 +1876,778 @@ required = [ "exact_random_corpus_d5/solve_exact", "exact_random_corpus_d5/solve_exact_f64_result", "exact_random_corpus_d5/solve_exact_rounded_f64", - "rational_input_d2/det_big_rational_gaussian", + "gram/1x2/dependent/la_stack", + "gram/1x2/mixed_scale/la_stack", + "gram/1x2/near_dependent/la_stack", + "gram/1x2/orthogonal/la_stack", + "gram/2x2/dependent/la_stack", + "gram/2x2/mixed_scale/la_stack", + "gram/2x2/near_dependent/la_stack", + "gram/2x2/orthogonal/la_stack", + "gram/2x3/dependent/la_stack", + "gram/2x3/mixed_scale/la_stack", + "gram/2x3/near_dependent/la_stack", + "gram/2x3/orthogonal/la_stack", + "gram/3x3/dependent/la_stack", + "gram/3x3/mixed_scale/la_stack", + "gram/3x3/near_dependent/la_stack", + "gram/3x3/orthogonal/la_stack", + "gram/3x4/dependent/la_stack", + "gram/3x4/mixed_scale/la_stack", + "gram/3x4/near_dependent/la_stack", + "gram/3x4/orthogonal/la_stack", + "gram/4x4/dependent/la_stack", + "gram/4x4/mixed_scale/la_stack", + "gram/4x4/near_dependent/la_stack", + "gram/4x4/orthogonal/la_stack", + "gram/4x5/dependent/la_stack", + "gram/4x5/mixed_scale/la_stack", + "gram/4x5/near_dependent/la_stack", + "gram/4x5/orthogonal/la_stack", + "gram/5x5/dependent/la_stack", + "gram/5x5/mixed_scale/la_stack", + "gram/5x5/near_dependent/la_stack", + "gram/5x5/orthogonal/la_stack", + "gram/5x6/dependent/la_stack", + "gram/5x6/mixed_scale/la_stack", + "gram/5x6/near_dependent/la_stack", + "gram/5x6/orthogonal/la_stack", + "gram/6x6/dependent/la_stack", + "gram/6x6/mixed_scale/la_stack", + "gram/6x6/near_dependent/la_stack", + "gram/6x6/orthogonal/la_stack", + "gram/6x7/dependent/la_stack", + "gram/6x7/mixed_scale/la_stack", + "gram/6x7/near_dependent/la_stack", + "gram/6x7/orthogonal/la_stack", + "gram/7x7/dependent/la_stack", + "gram/7x7/mixed_scale/la_stack", + "gram/7x7/near_dependent/la_stack", + "gram/7x7/orthogonal/la_stack", + "gram/7x8/dependent/la_stack", + "gram/7x8/mixed_scale/la_stack", + "gram/7x8/near_dependent/la_stack", + "gram/7x8/orthogonal/la_stack", + "gram/8x8/dependent/la_stack", + "gram/8x8/mixed_scale/la_stack", + "gram/8x8/near_dependent/la_stack", + "gram/8x8/orthogonal/la_stack", + "interval_d3/dense_inconclusive", + "interval_d3/dense_sign", + "interval_d3/lifted_assembly", + "interval_d3/lifted_assembly_and_sign", + "interval_d3/sparse_sign", + "interval_d4/dense_inconclusive", + "interval_d4/dense_sign", + "interval_d4/lifted_assembly", + "interval_d4/lifted_assembly_and_sign", + "interval_d4/sparse_sign", + "interval_d5/dense_inconclusive", + "interval_d5/dense_sign", + "interval_d5/lifted_assembly", + "interval_d5/lifted_assembly_and_sign", + "interval_d5/sparse_sign", + "interval_d6/dense_inconclusive", + "interval_d6/dense_sign", + "interval_d6/lifted_assembly", + "interval_d6/lifted_assembly_and_sign", + "interval_d6/sparse_sign", + "interval_d7/dense_inconclusive", + "interval_d7/dense_sign", + "interval_d7/lifted_assembly", + "interval_d7/lifted_assembly_and_sign", + "interval_d7/sparse_sign", + "interval_det_sign/d4_conclusive_lifted", + "interval_det_sign/d4_inconclusive_lifted", + "interval_det_sign/d7_conclusive_lifted", + "interval_scalar/cancellation/add", + "interval_scalar/cancellation/multiply", + "interval_scalar/cancellation/square", + "interval_scalar/exact/add", + "interval_scalar/exact/multiply", + "interval_scalar/exact/square", + "interval_scalar/point/add", + "interval_scalar/point/multiply", + "interval_scalar/point/square", + "interval_scalar/subnormal/add", + "interval_scalar/subnormal/multiply", + "interval_scalar/subnormal/square", + "interval_scalar/zero/add", + "interval_scalar/zero/multiply", + "interval_scalar/zero/square", + "linear_form_d2_batch/origin/construction", + "linear_form_d2_batch/origin/prepared", + "linear_form_d2_batch/origin/with_construction", + "linear_form_d2_batch/translated/construction", + "linear_form_d2_batch/translated/prepared", + "linear_form_d2_batch/translated/with_construction", + "linear_form_d2_prepared/cancellation/difference", + "linear_form_d2_prepared/cancellation/difference_endpoints", + "linear_form_d2_prepared/cancellation/dot", + "linear_form_d2_prepared/cancellation/dot_endpoints", + "linear_form_d2_prepared/dense/difference", + "linear_form_d2_prepared/dense/difference_endpoints", + "linear_form_d2_prepared/dense/dot", + "linear_form_d2_prepared/dense/dot_endpoints", + "linear_form_d2_prepared/dense_inexact/difference", + "linear_form_d2_prepared/dense_inexact/difference_endpoints", + "linear_form_d2_prepared/dense_inexact/dot", + "linear_form_d2_prepared/dense_inexact/dot_endpoints", + "linear_form_d2_prepared/overflow/dot", + "linear_form_d2_prepared/sparse/difference", + "linear_form_d2_prepared/sparse/difference_endpoints", + "linear_form_d2_prepared/sparse/dot", + "linear_form_d2_prepared/sparse/dot_endpoints", + "linear_form_d2_prepared/underflow/difference", + "linear_form_d2_prepared/underflow/difference_endpoints", + "linear_form_d2_prepared/underflow/dot", + "linear_form_d2_prepared/underflow/dot_endpoints", + "linear_form_d3_batch/origin/construction", + "linear_form_d3_batch/origin/prepared", + "linear_form_d3_batch/origin/with_construction", + "linear_form_d3_batch/translated/construction", + "linear_form_d3_batch/translated/prepared", + "linear_form_d3_batch/translated/with_construction", + "linear_form_d3_prepared/cancellation/difference", + "linear_form_d3_prepared/cancellation/difference_endpoints", + "linear_form_d3_prepared/cancellation/dot", + "linear_form_d3_prepared/cancellation/dot_endpoints", + "linear_form_d3_prepared/dense/difference", + "linear_form_d3_prepared/dense/difference_endpoints", + "linear_form_d3_prepared/dense/dot", + "linear_form_d3_prepared/dense/dot_endpoints", + "linear_form_d3_prepared/dense_inexact/difference", + "linear_form_d3_prepared/dense_inexact/difference_endpoints", + "linear_form_d3_prepared/dense_inexact/dot", + "linear_form_d3_prepared/dense_inexact/dot_endpoints", + "linear_form_d3_prepared/overflow/dot", + "linear_form_d3_prepared/sparse/difference", + "linear_form_d3_prepared/sparse/difference_endpoints", + "linear_form_d3_prepared/sparse/dot", + "linear_form_d3_prepared/sparse/dot_endpoints", + "linear_form_d3_prepared/underflow/difference", + "linear_form_d3_prepared/underflow/difference_endpoints", + "linear_form_d3_prepared/underflow/dot", + "linear_form_d3_prepared/underflow/dot_endpoints", + "linear_form_d4/dot_bounded_inconclusive", + "linear_form_d4/dot_bounded_well_separated", + "linear_form_d4/dot_difference_bounded_inconclusive", + "linear_form_d4/dot_difference_bounded_well_separated", + "linear_form_d4/dot_plain_well_separated", + "linear_form_d4_batch/origin/construction", + "linear_form_d4_batch/origin/prepared", + "linear_form_d4_batch/origin/with_construction", + "linear_form_d4_batch/translated/construction", + "linear_form_d4_batch/translated/prepared", + "linear_form_d4_batch/translated/with_construction", + "linear_form_d4_prepared/cancellation/difference", + "linear_form_d4_prepared/cancellation/difference_endpoints", + "linear_form_d4_prepared/cancellation/dot", + "linear_form_d4_prepared/cancellation/dot_endpoints", + "linear_form_d4_prepared/dense/difference", + "linear_form_d4_prepared/dense/difference_endpoints", + "linear_form_d4_prepared/dense/dot", + "linear_form_d4_prepared/dense/dot_endpoints", + "linear_form_d4_prepared/dense_inexact/difference", + "linear_form_d4_prepared/dense_inexact/difference_endpoints", + "linear_form_d4_prepared/dense_inexact/dot", + "linear_form_d4_prepared/dense_inexact/dot_endpoints", + "linear_form_d4_prepared/overflow/dot", + "linear_form_d4_prepared/sparse/difference", + "linear_form_d4_prepared/sparse/difference_endpoints", + "linear_form_d4_prepared/sparse/dot", + "linear_form_d4_prepared/sparse/dot_endpoints", + "linear_form_d4_prepared/underflow/difference", + "linear_form_d4_prepared/underflow/difference_endpoints", + "linear_form_d4_prepared/underflow/dot", + "linear_form_d4_prepared/underflow/dot_endpoints", + "linear_form_d5_batch/origin/construction", + "linear_form_d5_batch/origin/prepared", + "linear_form_d5_batch/origin/with_construction", + "linear_form_d5_batch/translated/construction", + "linear_form_d5_batch/translated/prepared", + "linear_form_d5_batch/translated/with_construction", + "linear_form_d5_prepared/cancellation/difference", + "linear_form_d5_prepared/cancellation/difference_endpoints", + "linear_form_d5_prepared/cancellation/dot", + "linear_form_d5_prepared/cancellation/dot_endpoints", + "linear_form_d5_prepared/dense/difference", + "linear_form_d5_prepared/dense/difference_endpoints", + "linear_form_d5_prepared/dense/dot", + "linear_form_d5_prepared/dense/dot_endpoints", + "linear_form_d5_prepared/dense_inexact/difference", + "linear_form_d5_prepared/dense_inexact/difference_endpoints", + "linear_form_d5_prepared/dense_inexact/dot", + "linear_form_d5_prepared/dense_inexact/dot_endpoints", + "linear_form_d5_prepared/overflow/dot", + "linear_form_d5_prepared/sparse/difference", + "linear_form_d5_prepared/sparse/difference_endpoints", + "linear_form_d5_prepared/sparse/dot", + "linear_form_d5_prepared/sparse/dot_endpoints", + "linear_form_d5_prepared/underflow/difference", + "linear_form_d5_prepared/underflow/difference_endpoints", + "linear_form_d5_prepared/underflow/dot", + "linear_form_d5_prepared/underflow/dot_endpoints", + "linear_form_d6_batch/origin/construction", + "linear_form_d6_batch/origin/prepared", + "linear_form_d6_batch/origin/with_construction", + "linear_form_d6_batch/translated/construction", + "linear_form_d6_batch/translated/prepared", + "linear_form_d6_batch/translated/with_construction", + "linear_form_d6_prepared/cancellation/difference", + "linear_form_d6_prepared/cancellation/difference_endpoints", + "linear_form_d6_prepared/cancellation/dot", + "linear_form_d6_prepared/cancellation/dot_endpoints", + "linear_form_d6_prepared/dense/difference", + "linear_form_d6_prepared/dense/difference_endpoints", + "linear_form_d6_prepared/dense/dot", + "linear_form_d6_prepared/dense/dot_endpoints", + "linear_form_d6_prepared/dense_inexact/difference", + "linear_form_d6_prepared/dense_inexact/difference_endpoints", + "linear_form_d6_prepared/dense_inexact/dot", + "linear_form_d6_prepared/dense_inexact/dot_endpoints", + "linear_form_d6_prepared/overflow/dot", + "linear_form_d6_prepared/sparse/difference", + "linear_form_d6_prepared/sparse/difference_endpoints", + "linear_form_d6_prepared/sparse/dot", + "linear_form_d6_prepared/sparse/dot_endpoints", + "linear_form_d6_prepared/underflow/difference", + "linear_form_d6_prepared/underflow/difference_endpoints", + "linear_form_d6_prepared/underflow/dot", + "linear_form_d6_prepared/underflow/dot_endpoints", + "public_d2/det_bound", + "public_d2/det_direct", + "public_d2/det_with_bound", + "public_d2/first_asymmetry", + "public_d2/interval_det", + "public_d2/interval_matrix_access", + "public_d2/interval_matrix_from_matrix", + "public_d2/interval_matrix_from_points", + "public_d2/interval_matrix_from_rows", + "public_d2/interval_matrix_identity", + "public_d2/interval_matrix_set", + "public_d2/interval_matrix_zero", + "public_d2/is_symmetric", + "public_d2/matrix_access", + "public_d2/matrix_from_rows", + "public_d2/matrix_identity", + "public_d2/matrix_set", + "public_d2/matrix_zero", + "public_d2/vector_access", + "public_d2/vector_new", + "public_d2/vector_zero", + "public_d3/det_bound", + "public_d3/det_direct", + "public_d3/det_with_bound", + "public_d3/first_asymmetry", + "public_d3/interval_det", + "public_d3/interval_matrix_access", + "public_d3/interval_matrix_from_matrix", + "public_d3/interval_matrix_from_points", + "public_d3/interval_matrix_from_rows", + "public_d3/interval_matrix_identity", + "public_d3/interval_matrix_set", + "public_d3/interval_matrix_zero", + "public_d3/is_symmetric", + "public_d3/matrix_access", + "public_d3/matrix_from_rows", + "public_d3/matrix_identity", + "public_d3/matrix_set", + "public_d3/matrix_zero", + "public_d3/vector_access", + "public_d3/vector_new", + "public_d3/vector_zero", + "public_d4/det_bound", + "public_d4/det_direct", + "public_d4/det_with_bound", + "public_d4/first_asymmetry", + "public_d4/interval_det", + "public_d4/interval_matrix_access", + "public_d4/interval_matrix_from_matrix", + "public_d4/interval_matrix_from_points", + "public_d4/interval_matrix_from_rows", + "public_d4/interval_matrix_identity", + "public_d4/interval_matrix_set", + "public_d4/interval_matrix_zero", + "public_d4/is_symmetric", + "public_d4/matrix_access", + "public_d4/matrix_from_rows", + "public_d4/matrix_identity", + "public_d4/matrix_set", + "public_d4/matrix_zero", + "public_d4/vector_access", + "public_d4/vector_new", + "public_d4/vector_zero", + "public_d5/det_bound", + "public_d5/det_direct", + "public_d5/det_with_bound", + "public_d5/first_asymmetry", + "public_d5/interval_det", + "public_d5/interval_matrix_access", + "public_d5/interval_matrix_from_matrix", + "public_d5/interval_matrix_from_points", + "public_d5/interval_matrix_from_rows", + "public_d5/interval_matrix_identity", + "public_d5/interval_matrix_set", + "public_d5/interval_matrix_zero", + "public_d5/is_symmetric", + "public_d5/matrix_access", + "public_d5/matrix_from_rows", + "public_d5/matrix_identity", + "public_d5/matrix_set", + "public_d5/matrix_zero", + "public_d5/vector_access", + "public_d5/vector_new", + "public_d5/vector_zero", + "public_scalar/tolerance", + "public_scalar/interval_new", + "public_scalar/interval_point", + "public_scalar/interval_subtraction", + "public_scalar/interval_access", + "public_scalar/interval_negate", + "public_exact_d2/matrix_access", + "public_exact_d2/matrix_from_fn", + "public_exact_d2/matrix_from_rows", + "public_exact_d2/matrix_into_rows", + "public_exact_d2/matrix_zero", + "public_exact_d2/vector_access", + "public_exact_d2/vector_from_fn", + "public_exact_d2/vector_into_array", + "public_exact_d2/vector_new", + "public_exact_d2/vector_zero", + "public_exact_d3/matrix_access", + "public_exact_d3/matrix_from_fn", + "public_exact_d3/matrix_from_rows", + "public_exact_d3/matrix_into_rows", + "public_exact_d3/matrix_zero", + "public_exact_d3/vector_access", + "public_exact_d3/vector_from_fn", + "public_exact_d3/vector_into_array", + "public_exact_d3/vector_new", + "public_exact_d3/vector_zero", + "public_exact_d4/matrix_access", + "public_exact_d4/matrix_from_fn", + "public_exact_d4/matrix_from_rows", + "public_exact_d4/matrix_into_rows", + "public_exact_d4/matrix_zero", + "public_exact_d4/vector_access", + "public_exact_d4/vector_from_fn", + "public_exact_d4/vector_into_array", + "public_exact_d4/vector_new", + "public_exact_d4/vector_zero", + "public_exact_d5/matrix_access", + "public_exact_d5/matrix_from_fn", + "public_exact_d5/matrix_from_rows", + "public_exact_d5/matrix_into_rows", + "public_exact_d5/matrix_zero", + "public_exact_d5/vector_access", + "public_exact_d5/vector_from_fn", + "public_exact_d5/vector_into_array", + "public_exact_d5/vector_new", + "public_exact_d5/vector_zero", + "public_exact_scalar/rounded", + "public_exact_scalar/strict", "rational_input_d2/det_row_cleared_bareiss", "rational_input_d2/det_sign_row_cleared_bareiss", - "rational_input_d2/solve_big_rational_gaussian", "rational_input_d2/solve_row_cleared_bareiss", - "rational_input_d3/det_big_rational_gaussian", "rational_input_d3/det_row_cleared_bareiss", "rational_input_d3/det_sign_row_cleared_bareiss", - "rational_input_d3/solve_big_rational_gaussian", "rational_input_d3/solve_row_cleared_bareiss", - "rational_input_d4/det_big_rational_gaussian", "rational_input_d4/det_row_cleared_bareiss", "rational_input_d4/det_sign_row_cleared_bareiss", - "rational_input_d4/solve_big_rational_gaussian", "rational_input_d4/solve_row_cleared_bareiss", - "rational_input_d5/det_big_rational_gaussian", "rational_input_d5/det_row_cleared_bareiss", "rational_input_d5/det_sign_row_cleared_bareiss", - "rational_input_d5/solve_big_rational_gaussian", "rational_input_d5/solve_row_cleared_bareiss", - "rational_input_d6/det_big_rational_gaussian", "rational_input_d6/det_row_cleared_bareiss", "rational_input_d6/det_sign_row_cleared_bareiss", - "rational_input_d6/solve_big_rational_gaussian", "rational_input_d6/solve_row_cleared_bareiss", - "rational_input_d7/det_big_rational_gaussian", "rational_input_d7/det_row_cleared_bareiss", "rational_input_d7/det_sign_row_cleared_bareiss", - "rational_input_d7/solve_big_rational_gaussian", "rational_input_d7/solve_row_cleared_bareiss", - "rational_input_d8/det_big_rational_gaussian", "rational_input_d8/det_row_cleared_bareiss", "rational_input_d8/det_sign_row_cleared_bareiss", - "rational_input_d8/solve_big_rational_gaussian", "rational_input_d8/solve_row_cleared_bareiss", + "rational_input_wide1024_d2/det_row_cleared_bareiss", + "rational_input_wide1024_d2/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d2/solve_row_cleared_bareiss", + "rational_input_wide1024_d3/det_row_cleared_bareiss", + "rational_input_wide1024_d3/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d3/solve_row_cleared_bareiss", + "rational_input_wide1024_d4/det_row_cleared_bareiss", + "rational_input_wide1024_d4/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d4/solve_row_cleared_bareiss", + "rational_input_wide1024_d5/det_row_cleared_bareiss", + "rational_input_wide1024_d5/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d5/solve_row_cleared_bareiss", + "rational_input_wide1024_d6/det_row_cleared_bareiss", + "rational_input_wide1024_d6/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d6/solve_row_cleared_bareiss", + "rational_input_wide1024_d7/det_row_cleared_bareiss", + "rational_input_wide1024_d7/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d7/solve_row_cleared_bareiss", + "rational_input_wide1024_d8/det_row_cleared_bareiss", + "rational_input_wide1024_d8/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d8/solve_row_cleared_bareiss", + "rational_input_wide256_d2/det_row_cleared_bareiss", + "rational_input_wide256_d2/det_sign_row_cleared_bareiss", + "rational_input_wide256_d2/solve_row_cleared_bareiss", + "rational_input_wide256_d3/det_row_cleared_bareiss", + "rational_input_wide256_d3/det_sign_row_cleared_bareiss", + "rational_input_wide256_d3/solve_row_cleared_bareiss", + "rational_input_wide256_d4/det_row_cleared_bareiss", + "rational_input_wide256_d4/det_sign_row_cleared_bareiss", + "rational_input_wide256_d4/solve_row_cleared_bareiss", + "rational_input_wide256_d5/det_row_cleared_bareiss", + "rational_input_wide256_d5/det_sign_row_cleared_bareiss", + "rational_input_wide256_d5/solve_row_cleared_bareiss", + "rational_input_wide256_d6/det_row_cleared_bareiss", + "rational_input_wide256_d6/det_sign_row_cleared_bareiss", + "rational_input_wide256_d6/solve_row_cleared_bareiss", + "rational_input_wide256_d7/det_row_cleared_bareiss", + "rational_input_wide256_d7/det_sign_row_cleared_bareiss", + "rational_input_wide256_d7/solve_row_cleared_bareiss", + "rational_input_wide256_d8/det_row_cleared_bareiss", + "rational_input_wide256_d8/det_sign_row_cleared_bareiss", + "rational_input_wide256_d8/solve_row_cleared_bareiss", + "rational_solve/dense/dyadic_d2/adapter", + "rational_solve/dense/dyadic_d2/construct", + "rational_solve/dense/dyadic_d2/prepared", + "rational_solve/dense/dyadic_d3/adapter", + "rational_solve/dense/dyadic_d3/construct", + "rational_solve/dense/dyadic_d3/prepared", + "rational_solve/dense/dyadic_d4/adapter", + "rational_solve/dense/dyadic_d4/construct", + "rational_solve/dense/dyadic_d4/prepared", + "rational_solve/dense/dyadic_d5/adapter", + "rational_solve/dense/dyadic_d5/construct", + "rational_solve/dense/dyadic_d5/prepared", + "rational_solve/dense/dyadic_d6/adapter", + "rational_solve/dense/dyadic_d6/construct", + "rational_solve/dense/dyadic_d6/prepared", + "rational_solve/dense/dyadic_d7/adapter", + "rational_solve/dense/dyadic_d7/construct", + "rational_solve/dense/dyadic_d7/prepared", + "rational_solve/dense/dyadic_d8/adapter", + "rational_solve/dense/dyadic_d8/construct", + "rational_solve/dense/dyadic_d8/prepared", + "rational_solve/dense/rational_d2/adapter", + "rational_solve/dense/rational_d2/construct", + "rational_solve/dense/rational_d2/prepared", + "rational_solve/dense/rational_d3/adapter", + "rational_solve/dense/rational_d3/construct", + "rational_solve/dense/rational_d3/prepared", + "rational_solve/dense/rational_d4/adapter", + "rational_solve/dense/rational_d4/construct", + "rational_solve/dense/rational_d4/prepared", + "rational_solve/dense/rational_d5/adapter", + "rational_solve/dense/rational_d5/construct", + "rational_solve/dense/rational_d5/prepared", + "rational_solve/dense/rational_d6/adapter", + "rational_solve/dense/rational_d6/construct", + "rational_solve/dense/rational_d6/prepared", + "rational_solve/dense/rational_d7/adapter", + "rational_solve/dense/rational_d7/construct", + "rational_solve/dense/rational_d7/prepared", + "rational_solve/dense/rational_d8/adapter", + "rational_solve/dense/rational_d8/construct", + "rational_solve/dense/rational_d8/prepared", + "rational_solve/diagonal/dyadic_d2/adapter", + "rational_solve/diagonal/dyadic_d2/construct", + "rational_solve/diagonal/dyadic_d2/prepared", + "rational_solve/diagonal/dyadic_d3/adapter", + "rational_solve/diagonal/dyadic_d3/construct", + "rational_solve/diagonal/dyadic_d3/prepared", + "rational_solve/diagonal/dyadic_d4/adapter", + "rational_solve/diagonal/dyadic_d4/construct", + "rational_solve/diagonal/dyadic_d4/prepared", + "rational_solve/diagonal/dyadic_d5/adapter", + "rational_solve/diagonal/dyadic_d5/construct", + "rational_solve/diagonal/dyadic_d5/prepared", + "rational_solve/diagonal/dyadic_d6/adapter", + "rational_solve/diagonal/dyadic_d6/construct", + "rational_solve/diagonal/dyadic_d6/prepared", + "rational_solve/diagonal/dyadic_d7/adapter", + "rational_solve/diagonal/dyadic_d7/construct", + "rational_solve/diagonal/dyadic_d7/prepared", + "rational_solve/diagonal/dyadic_d8/adapter", + "rational_solve/diagonal/dyadic_d8/construct", + "rational_solve/diagonal/dyadic_d8/prepared", + "rational_solve/diagonal/rational_d2/adapter", + "rational_solve/diagonal/rational_d2/construct", + "rational_solve/diagonal/rational_d2/prepared", + "rational_solve/diagonal/rational_d3/adapter", + "rational_solve/diagonal/rational_d3/construct", + "rational_solve/diagonal/rational_d3/prepared", + "rational_solve/diagonal/rational_d4/adapter", + "rational_solve/diagonal/rational_d4/construct", + "rational_solve/diagonal/rational_d4/prepared", + "rational_solve/diagonal/rational_d5/adapter", + "rational_solve/diagonal/rational_d5/construct", + "rational_solve/diagonal/rational_d5/prepared", + "rational_solve/diagonal/rational_d6/adapter", + "rational_solve/diagonal/rational_d6/construct", + "rational_solve/diagonal/rational_d6/prepared", + "rational_solve/diagonal/rational_d7/adapter", + "rational_solve/diagonal/rational_d7/construct", + "rational_solve/diagonal/rational_d7/prepared", + "rational_solve/diagonal/rational_d8/adapter", + "rational_solve/diagonal/rational_d8/construct", + "rational_solve/diagonal/rational_d8/prepared", + "rational_solve/lower/dyadic_d2/adapter", + "rational_solve/lower/dyadic_d2/construct", + "rational_solve/lower/dyadic_d2/prepared", + "rational_solve/lower/dyadic_d3/adapter", + "rational_solve/lower/dyadic_d3/construct", + "rational_solve/lower/dyadic_d3/prepared", + "rational_solve/lower/dyadic_d4/adapter", + "rational_solve/lower/dyadic_d4/construct", + "rational_solve/lower/dyadic_d4/prepared", + "rational_solve/lower/dyadic_d5/adapter", + "rational_solve/lower/dyadic_d5/construct", + "rational_solve/lower/dyadic_d5/prepared", + "rational_solve/lower/dyadic_d6/adapter", + "rational_solve/lower/dyadic_d6/construct", + "rational_solve/lower/dyadic_d6/prepared", + "rational_solve/lower/dyadic_d7/adapter", + "rational_solve/lower/dyadic_d7/construct", + "rational_solve/lower/dyadic_d7/prepared", + "rational_solve/lower/dyadic_d8/adapter", + "rational_solve/lower/dyadic_d8/construct", + "rational_solve/lower/dyadic_d8/prepared", + "rational_solve/lower/rational_d2/adapter", + "rational_solve/lower/rational_d2/construct", + "rational_solve/lower/rational_d2/prepared", + "rational_solve/lower/rational_d3/adapter", + "rational_solve/lower/rational_d3/construct", + "rational_solve/lower/rational_d3/prepared", + "rational_solve/lower/rational_d4/adapter", + "rational_solve/lower/rational_d4/construct", + "rational_solve/lower/rational_d4/prepared", + "rational_solve/lower/rational_d5/adapter", + "rational_solve/lower/rational_d5/construct", + "rational_solve/lower/rational_d5/prepared", + "rational_solve/lower/rational_d6/adapter", + "rational_solve/lower/rational_d6/construct", + "rational_solve/lower/rational_d6/prepared", + "rational_solve/lower/rational_d7/adapter", + "rational_solve/lower/rational_d7/construct", + "rational_solve/lower/rational_d7/prepared", + "rational_solve/lower/rational_d8/adapter", + "rational_solve/lower/rational_d8/construct", + "rational_solve/lower/rational_d8/prepared", + "rational_solve/permuted_lower/dyadic_d2/adapter", + "rational_solve/permuted_lower/dyadic_d2/construct", + "rational_solve/permuted_lower/dyadic_d2/prepared", + "rational_solve/permuted_lower/dyadic_d3/adapter", + "rational_solve/permuted_lower/dyadic_d3/construct", + "rational_solve/permuted_lower/dyadic_d3/prepared", + "rational_solve/permuted_lower/dyadic_d4/adapter", + "rational_solve/permuted_lower/dyadic_d4/construct", + "rational_solve/permuted_lower/dyadic_d4/prepared", + "rational_solve/permuted_lower/dyadic_d5/adapter", + "rational_solve/permuted_lower/dyadic_d5/construct", + "rational_solve/permuted_lower/dyadic_d5/prepared", + "rational_solve/permuted_lower/dyadic_d6/adapter", + "rational_solve/permuted_lower/dyadic_d6/construct", + "rational_solve/permuted_lower/dyadic_d6/prepared", + "rational_solve/permuted_lower/dyadic_d7/adapter", + "rational_solve/permuted_lower/dyadic_d7/construct", + "rational_solve/permuted_lower/dyadic_d7/prepared", + "rational_solve/permuted_lower/dyadic_d8/adapter", + "rational_solve/permuted_lower/dyadic_d8/construct", + "rational_solve/permuted_lower/dyadic_d8/prepared", + "rational_solve/permuted_lower/rational_d2/adapter", + "rational_solve/permuted_lower/rational_d2/construct", + "rational_solve/permuted_lower/rational_d2/prepared", + "rational_solve/permuted_lower/rational_d3/adapter", + "rational_solve/permuted_lower/rational_d3/construct", + "rational_solve/permuted_lower/rational_d3/prepared", + "rational_solve/permuted_lower/rational_d4/adapter", + "rational_solve/permuted_lower/rational_d4/construct", + "rational_solve/permuted_lower/rational_d4/prepared", + "rational_solve/permuted_lower/rational_d5/adapter", + "rational_solve/permuted_lower/rational_d5/construct", + "rational_solve/permuted_lower/rational_d5/prepared", + "rational_solve/permuted_lower/rational_d6/adapter", + "rational_solve/permuted_lower/rational_d6/construct", + "rational_solve/permuted_lower/rational_d6/prepared", + "rational_solve/permuted_lower/rational_d7/adapter", + "rational_solve/permuted_lower/rational_d7/construct", + "rational_solve/permuted_lower/rational_d7/prepared", + "rational_solve/permuted_lower/rational_d8/adapter", + "rational_solve/permuted_lower/rational_d8/construct", + "rational_solve/permuted_lower/rational_d8/prepared", + "rational_solve/permuted_upper/dyadic_d2/adapter", + "rational_solve/permuted_upper/dyadic_d2/construct", + "rational_solve/permuted_upper/dyadic_d2/prepared", + "rational_solve/permuted_upper/dyadic_d3/adapter", + "rational_solve/permuted_upper/dyadic_d3/construct", + "rational_solve/permuted_upper/dyadic_d3/prepared", + "rational_solve/permuted_upper/dyadic_d4/adapter", + "rational_solve/permuted_upper/dyadic_d4/construct", + "rational_solve/permuted_upper/dyadic_d4/prepared", + "rational_solve/permuted_upper/dyadic_d5/adapter", + "rational_solve/permuted_upper/dyadic_d5/construct", + "rational_solve/permuted_upper/dyadic_d5/prepared", + "rational_solve/permuted_upper/dyadic_d6/adapter", + "rational_solve/permuted_upper/dyadic_d6/construct", + "rational_solve/permuted_upper/dyadic_d6/prepared", + "rational_solve/permuted_upper/dyadic_d7/adapter", + "rational_solve/permuted_upper/dyadic_d7/construct", + "rational_solve/permuted_upper/dyadic_d7/prepared", + "rational_solve/permuted_upper/dyadic_d8/adapter", + "rational_solve/permuted_upper/dyadic_d8/construct", + "rational_solve/permuted_upper/dyadic_d8/prepared", + "rational_solve/permuted_upper/rational_d2/adapter", + "rational_solve/permuted_upper/rational_d2/construct", + "rational_solve/permuted_upper/rational_d2/prepared", + "rational_solve/permuted_upper/rational_d3/adapter", + "rational_solve/permuted_upper/rational_d3/construct", + "rational_solve/permuted_upper/rational_d3/prepared", + "rational_solve/permuted_upper/rational_d4/adapter", + "rational_solve/permuted_upper/rational_d4/construct", + "rational_solve/permuted_upper/rational_d4/prepared", + "rational_solve/permuted_upper/rational_d5/adapter", + "rational_solve/permuted_upper/rational_d5/construct", + "rational_solve/permuted_upper/rational_d5/prepared", + "rational_solve/permuted_upper/rational_d6/adapter", + "rational_solve/permuted_upper/rational_d6/construct", + "rational_solve/permuted_upper/rational_d6/prepared", + "rational_solve/permuted_upper/rational_d7/adapter", + "rational_solve/permuted_upper/rational_d7/construct", + "rational_solve/permuted_upper/rational_d7/prepared", + "rational_solve/permuted_upper/rational_d8/adapter", + "rational_solve/permuted_upper/rational_d8/construct", + "rational_solve/permuted_upper/rational_d8/prepared", + "rational_solve/sparse/dyadic_d2/adapter", + "rational_solve/sparse/dyadic_d2/construct", + "rational_solve/sparse/dyadic_d2/prepared", + "rational_solve/sparse/dyadic_d3/adapter", + "rational_solve/sparse/dyadic_d3/construct", + "rational_solve/sparse/dyadic_d3/prepared", + "rational_solve/sparse/dyadic_d4/adapter", + "rational_solve/sparse/dyadic_d4/construct", + "rational_solve/sparse/dyadic_d4/prepared", + "rational_solve/sparse/dyadic_d5/adapter", + "rational_solve/sparse/dyadic_d5/construct", + "rational_solve/sparse/dyadic_d5/prepared", + "rational_solve/sparse/dyadic_d6/adapter", + "rational_solve/sparse/dyadic_d6/construct", + "rational_solve/sparse/dyadic_d6/prepared", + "rational_solve/sparse/dyadic_d7/adapter", + "rational_solve/sparse/dyadic_d7/construct", + "rational_solve/sparse/dyadic_d7/prepared", + "rational_solve/sparse/dyadic_d8/adapter", + "rational_solve/sparse/dyadic_d8/construct", + "rational_solve/sparse/dyadic_d8/prepared", + "rational_solve/sparse/rational_d2/adapter", + "rational_solve/sparse/rational_d2/construct", + "rational_solve/sparse/rational_d2/prepared", + "rational_solve/sparse/rational_d3/adapter", + "rational_solve/sparse/rational_d3/construct", + "rational_solve/sparse/rational_d3/prepared", + "rational_solve/sparse/rational_d4/adapter", + "rational_solve/sparse/rational_d4/construct", + "rational_solve/sparse/rational_d4/prepared", + "rational_solve/sparse/rational_d5/adapter", + "rational_solve/sparse/rational_d5/construct", + "rational_solve/sparse/rational_d5/prepared", + "rational_solve/sparse/rational_d6/adapter", + "rational_solve/sparse/rational_d6/construct", + "rational_solve/sparse/rational_d6/prepared", + "rational_solve/sparse/rational_d7/adapter", + "rational_solve/sparse/rational_d7/construct", + "rational_solve/sparse/rational_d7/prepared", + "rational_solve/sparse/rational_d8/adapter", + "rational_solve/sparse/rational_d8/construct", + "rational_solve/sparse/rational_d8/prepared", + "rational_solve/upper/dyadic_d2/adapter", + "rational_solve/upper/dyadic_d2/construct", + "rational_solve/upper/dyadic_d2/prepared", + "rational_solve/upper/dyadic_d3/adapter", + "rational_solve/upper/dyadic_d3/construct", + "rational_solve/upper/dyadic_d3/prepared", + "rational_solve/upper/dyadic_d4/adapter", + "rational_solve/upper/dyadic_d4/construct", + "rational_solve/upper/dyadic_d4/prepared", + "rational_solve/upper/dyadic_d5/adapter", + "rational_solve/upper/dyadic_d5/construct", + "rational_solve/upper/dyadic_d5/prepared", + "rational_solve/upper/dyadic_d6/adapter", + "rational_solve/upper/dyadic_d6/construct", + "rational_solve/upper/dyadic_d6/prepared", + "rational_solve/upper/dyadic_d7/adapter", + "rational_solve/upper/dyadic_d7/construct", + "rational_solve/upper/dyadic_d7/prepared", + "rational_solve/upper/dyadic_d8/adapter", + "rational_solve/upper/dyadic_d8/construct", + "rational_solve/upper/dyadic_d8/prepared", + "rational_solve/upper/rational_d2/adapter", + "rational_solve/upper/rational_d2/construct", + "rational_solve/upper/rational_d2/prepared", + "rational_solve/upper/rational_d3/adapter", + "rational_solve/upper/rational_d3/construct", + "rational_solve/upper/rational_d3/prepared", + "rational_solve/upper/rational_d4/adapter", + "rational_solve/upper/rational_d4/construct", + "rational_solve/upper/rational_d4/prepared", + "rational_solve/upper/rational_d5/adapter", + "rational_solve/upper/rational_d5/construct", + "rational_solve/upper/rational_d5/prepared", + "rational_solve/upper/rational_d6/adapter", + "rational_solve/upper/rational_d6/construct", + "rational_solve/upper/rational_d6/prepared", + "rational_solve/upper/rational_d7/adapter", + "rational_solve/upper/rational_d7/construct", + "rational_solve/upper/rational_d7/prepared", + "rational_solve/upper/rational_d8/adapter", + "rational_solve/upper/rational_d8/construct", + "rational_solve/upper/rational_d8/prepared", ] [[phases.current.discovery.suites]] -name = "vs_linalg" -command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "current-vs_linalg", "list" ] +name = "public-default" +command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "current-public-default", "list" ] timeout = 14400 [[phases.current.discovery.suites]] -name = "exact" -command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "current-exact", "list" ] +name = "public-exact" +command = [ "just", "--justfile", "tooling/performance.just", "--working-directory", ".", "current-public-exact", "list" ] timeout = 14400 [[series]] name = "la-stack baseline" phase = "baseline" -[series.rows] -"d16/la_stack_det" = "d16/la_stack_det" -"d16/la_stack_det_from_ldlt" = "d16/la_stack_det_from_ldlt" -"d16/la_stack_det_from_lu" = "d16/la_stack_det_from_lu" -"d16/la_stack_det_via_lu" = "d16/la_stack_det_via_lu" -"d16/la_stack_dot" = "d16/la_stack_dot" -"d16/la_stack_inf_norm" = "d16/la_stack_inf_norm" -"d16/la_stack_ldlt" = "d16/la_stack_ldlt" -"d16/la_stack_ldlt_solve" = "d16/la_stack_ldlt_solve" -"d16/la_stack_lu" = "d16/la_stack_lu" -"d16/la_stack_lu_solve" = "d16/la_stack_lu_solve" -"d16/la_stack_norm2_sq" = "d16/la_stack_norm2_sq" -"d16/la_stack_solve_from_ldlt" = "d16/la_stack_solve_from_ldlt" -"d16/la_stack_solve_from_lu" = "d16/la_stack_solve_from_lu" -"d2/la_stack_det" = "d2/la_stack_det" -"d2/la_stack_det_from_ldlt" = "d2/la_stack_det_from_ldlt" -"d2/la_stack_det_from_lu" = "d2/la_stack_det_from_lu" -"d2/la_stack_det_via_lu" = "d2/la_stack_det_via_lu" -"d2/la_stack_dot" = "d2/la_stack_dot" -"d2/la_stack_inf_norm" = "d2/la_stack_inf_norm" -"d2/la_stack_ldlt" = "d2/la_stack_ldlt" -"d2/la_stack_ldlt_solve" = "d2/la_stack_ldlt_solve" -"d2/la_stack_lu" = "d2/la_stack_lu" -"d2/la_stack_lu_solve" = "d2/la_stack_lu_solve" -"d2/la_stack_norm2_sq" = "d2/la_stack_norm2_sq" -"d2/la_stack_solve_from_ldlt" = "d2/la_stack_solve_from_ldlt" -"d2/la_stack_solve_from_lu" = "d2/la_stack_solve_from_lu" -"d3/la_stack_det" = "d3/la_stack_det" -"d3/la_stack_det_from_ldlt" = "d3/la_stack_det_from_ldlt" -"d3/la_stack_det_from_lu" = "d3/la_stack_det_from_lu" -"d3/la_stack_det_via_lu" = "d3/la_stack_det_via_lu" -"d3/la_stack_dot" = "d3/la_stack_dot" -"d3/la_stack_inf_norm" = "d3/la_stack_inf_norm" -"d3/la_stack_ldlt" = "d3/la_stack_ldlt" -"d3/la_stack_ldlt_solve" = "d3/la_stack_ldlt_solve" -"d3/la_stack_lu" = "d3/la_stack_lu" -"d3/la_stack_lu_solve" = "d3/la_stack_lu_solve" -"d3/la_stack_norm2_sq" = "d3/la_stack_norm2_sq" -"d3/la_stack_solve_from_ldlt" = "d3/la_stack_solve_from_ldlt" -"d3/la_stack_solve_from_lu" = "d3/la_stack_solve_from_lu" -"d32/la_stack_det" = "d32/la_stack_det" -"d32/la_stack_det_from_ldlt" = "d32/la_stack_det_from_ldlt" -"d32/la_stack_det_from_lu" = "d32/la_stack_det_from_lu" -"d32/la_stack_det_via_lu" = "d32/la_stack_det_via_lu" -"d32/la_stack_dot" = "d32/la_stack_dot" -"d32/la_stack_inf_norm" = "d32/la_stack_inf_norm" -"d32/la_stack_ldlt" = "d32/la_stack_ldlt" -"d32/la_stack_ldlt_solve" = "d32/la_stack_ldlt_solve" -"d32/la_stack_lu" = "d32/la_stack_lu" -"d32/la_stack_lu_solve" = "d32/la_stack_lu_solve" -"d32/la_stack_norm2_sq" = "d32/la_stack_norm2_sq" -"d32/la_stack_solve_from_ldlt" = "d32/la_stack_solve_from_ldlt" -"d32/la_stack_solve_from_lu" = "d32/la_stack_solve_from_lu" -"d4/la_stack_det" = "d4/la_stack_det" -"d4/la_stack_det_from_ldlt" = "d4/la_stack_det_from_ldlt" -"d4/la_stack_det_from_lu" = "d4/la_stack_det_from_lu" -"d4/la_stack_det_via_lu" = "d4/la_stack_det_via_lu" -"d4/la_stack_dot" = "d4/la_stack_dot" -"d4/la_stack_inf_norm" = "d4/la_stack_inf_norm" -"d4/la_stack_ldlt" = "d4/la_stack_ldlt" -"d4/la_stack_ldlt_solve" = "d4/la_stack_ldlt_solve" -"d4/la_stack_lu" = "d4/la_stack_lu" -"d4/la_stack_lu_solve" = "d4/la_stack_lu_solve" -"d4/la_stack_norm2_sq" = "d4/la_stack_norm2_sq" -"d4/la_stack_solve_from_ldlt" = "d4/la_stack_solve_from_ldlt" -"d4/la_stack_solve_from_lu" = "d4/la_stack_solve_from_lu" -"d5/la_stack_det" = "d5/la_stack_det" -"d5/la_stack_det_from_ldlt" = "d5/la_stack_det_from_ldlt" -"d5/la_stack_det_from_lu" = "d5/la_stack_det_from_lu" -"d5/la_stack_det_via_lu" = "d5/la_stack_det_via_lu" -"d5/la_stack_dot" = "d5/la_stack_dot" -"d5/la_stack_inf_norm" = "d5/la_stack_inf_norm" -"d5/la_stack_ldlt" = "d5/la_stack_ldlt" -"d5/la_stack_ldlt_solve" = "d5/la_stack_ldlt_solve" -"d5/la_stack_lu" = "d5/la_stack_lu" -"d5/la_stack_lu_solve" = "d5/la_stack_lu_solve" -"d5/la_stack_norm2_sq" = "d5/la_stack_norm2_sq" -"d5/la_stack_solve_from_ldlt" = "d5/la_stack_solve_from_ldlt" -"d5/la_stack_solve_from_lu" = "d5/la_stack_solve_from_lu" -"d64/la_stack_det" = "d64/la_stack_det" -"d64/la_stack_det_from_ldlt" = "d64/la_stack_det_from_ldlt" -"d64/la_stack_det_from_lu" = "d64/la_stack_det_from_lu" -"d64/la_stack_det_via_lu" = "d64/la_stack_det_via_lu" -"d64/la_stack_dot" = "d64/la_stack_dot" -"d64/la_stack_inf_norm" = "d64/la_stack_inf_norm" -"d64/la_stack_ldlt" = "d64/la_stack_ldlt" -"d64/la_stack_ldlt_solve" = "d64/la_stack_ldlt_solve" -"d64/la_stack_lu" = "d64/la_stack_lu" -"d64/la_stack_lu_solve" = "d64/la_stack_lu_solve" -"d64/la_stack_norm2_sq" = "d64/la_stack_norm2_sq" -"d64/la_stack_solve_from_ldlt" = "d64/la_stack_solve_from_ldlt" -"d64/la_stack_solve_from_lu" = "d64/la_stack_solve_from_lu" -"d8/la_stack_det" = "d8/la_stack_det" -"d8/la_stack_det_from_ldlt" = "d8/la_stack_det_from_ldlt" -"d8/la_stack_det_from_ldlt_balanced_range" = "d8/la_stack_det_from_ldlt_balanced_range" -"d8/la_stack_det_from_lu" = "d8/la_stack_det_from_lu" -"d8/la_stack_det_from_lu_balanced_range" = "d8/la_stack_det_from_lu_balanced_range" -"d8/la_stack_det_via_lu" = "d8/la_stack_det_via_lu" -"d8/la_stack_dot" = "d8/la_stack_dot" -"d8/la_stack_inf_norm" = "d8/la_stack_inf_norm" -"d8/la_stack_ldlt" = "d8/la_stack_ldlt" -"d8/la_stack_ldlt_ill_conditioned" = "d8/la_stack_ldlt_ill_conditioned" -"d8/la_stack_ldlt_solve" = "d8/la_stack_ldlt_solve" -"d8/la_stack_lu" = "d8/la_stack_lu" -"d8/la_stack_lu_ill_conditioned" = "d8/la_stack_lu_ill_conditioned" -"d8/la_stack_lu_pivoting" = "d8/la_stack_lu_pivoting" -"d8/la_stack_lu_solve" = "d8/la_stack_lu_solve" -"d8/la_stack_norm2_sq" = "d8/la_stack_norm2_sq" -"d8/la_stack_solve_from_ldlt" = "d8/la_stack_solve_from_ldlt" -"d8/la_stack_solve_from_lu" = "d8/la_stack_solve_from_lu" -"exact_d2/det" = "exact_d2/det" -"exact_d2/det_direct" = "exact_d2/det_direct" -"exact_d2/det_direct_with_errbound" = "exact_d2/det_direct_with_errbound" -"exact_d2/det_errbound" = "exact_d2/det_errbound" -"exact_d2/det_exact" = "exact_d2/det_exact" -"exact_d2/det_exact_f64_result" = "exact_d2/det_exact_f64_result" -"exact_d2/det_exact_rounded_f64" = "exact_d2/det_exact_rounded_f64" -"exact_d2/det_sign_exact" = "exact_d2/det_sign_exact" -"exact_d2/solve_exact" = "exact_d2/solve_exact" -"exact_d2/solve_exact_f64_result" = "exact_d2/solve_exact_f64_result" -"exact_d2/solve_exact_rounded_f64" = "exact_d2/solve_exact_rounded_f64" -"exact_d3/det" = "exact_d3/det" -"exact_d3/det_direct" = "exact_d3/det_direct" -"exact_d3/det_direct_with_errbound" = "exact_d3/det_direct_with_errbound" -"exact_d3/det_errbound" = "exact_d3/det_errbound" -"exact_d3/det_exact" = "exact_d3/det_exact" -"exact_d3/det_exact_f64_result" = "exact_d3/det_exact_f64_result" -"exact_d3/det_exact_rounded_f64" = "exact_d3/det_exact_rounded_f64" -"exact_d3/det_sign_exact" = "exact_d3/det_sign_exact" -"exact_d3/solve_exact" = "exact_d3/solve_exact" -"exact_d3/solve_exact_f64_result" = "exact_d3/solve_exact_f64_result" -"exact_d3/solve_exact_rounded_f64" = "exact_d3/solve_exact_rounded_f64" -"exact_d4/det" = "exact_d4/det" -"exact_d4/det_direct" = "exact_d4/det_direct" -"exact_d4/det_direct_with_errbound" = "exact_d4/det_direct_with_errbound" -"exact_d4/det_errbound" = "exact_d4/det_errbound" -"exact_d4/det_exact" = "exact_d4/det_exact" -"exact_d4/det_exact_f64_result" = "exact_d4/det_exact_f64_result" -"exact_d4/det_exact_rounded_f64" = "exact_d4/det_exact_rounded_f64" -"exact_d4/det_sign_exact" = "exact_d4/det_sign_exact" -"exact_d4/solve_exact" = "exact_d4/solve_exact" -"exact_d4/solve_exact_f64_result" = "exact_d4/solve_exact_f64_result" -"exact_d4/solve_exact_rounded_f64" = "exact_d4/solve_exact_rounded_f64" -"exact_d5/det" = "exact_d5/det" -"exact_d5/det_exact" = "exact_d5/det_exact" -"exact_d5/det_exact_f64_result" = "exact_d5/det_exact_f64_result" -"exact_d5/det_exact_rounded_f64" = "exact_d5/det_exact_rounded_f64" -"exact_d5/det_sign_exact" = "exact_d5/det_sign_exact" -"exact_d5/solve_exact" = "exact_d5/solve_exact" -"exact_d5/solve_exact_f64_result" = "exact_d5/solve_exact_f64_result" -"exact_d5/solve_exact_rounded_f64" = "exact_d5/solve_exact_rounded_f64" -"exact_hilbert_4x4/det_exact" = "exact_hilbert_4x4/det_exact" -"exact_hilbert_4x4/det_sign_exact" = "exact_hilbert_4x4/det_sign_exact" -"exact_hilbert_4x4/solve_exact" = "exact_hilbert_4x4/solve_exact" -"exact_hilbert_4x4/solve_exact_f64_result" = "exact_hilbert_4x4/solve_exact_f64_result" -"exact_hilbert_4x4/solve_exact_rounded_f64" = "exact_hilbert_4x4/solve_exact_rounded_f64" -"exact_hilbert_5x5/det_exact" = "exact_hilbert_5x5/det_exact" -"exact_hilbert_5x5/det_sign_exact" = "exact_hilbert_5x5/det_sign_exact" -"exact_hilbert_5x5/solve_exact" = "exact_hilbert_5x5/solve_exact" -"exact_hilbert_5x5/solve_exact_f64_result" = "exact_hilbert_5x5/solve_exact_f64_result" -"exact_hilbert_5x5/solve_exact_rounded_f64" = "exact_hilbert_5x5/solve_exact_rounded_f64" -"exact_large_entries_3x3/det_exact" = "exact_large_entries_3x3/det_exact" -"exact_large_entries_3x3/det_sign_exact" = "exact_large_entries_3x3/det_sign_exact" -"exact_large_entries_3x3/solve_exact" = "exact_large_entries_3x3/solve_exact" -"exact_large_entries_3x3/solve_exact_f64_result" = "exact_large_entries_3x3/solve_exact_f64_result" -"exact_large_entries_3x3/solve_exact_rounded_f64" = "exact_large_entries_3x3/solve_exact_rounded_f64" -"exact_near_singular_3x3/det_exact" = "exact_near_singular_3x3/det_exact" -"exact_near_singular_3x3/det_sign_exact" = "exact_near_singular_3x3/det_sign_exact" -"exact_near_singular_3x3/solve_exact" = "exact_near_singular_3x3/solve_exact" -"exact_near_singular_3x3/solve_exact_f64_result" = "exact_near_singular_3x3/solve_exact_f64_result" -"exact_near_singular_3x3/solve_exact_rounded_f64" = "exact_near_singular_3x3/solve_exact_rounded_f64" -"exact_random_corpus_d2/det_exact" = "exact_random_corpus_d2/det_exact" -"exact_random_corpus_d2/det_sign_exact" = "exact_random_corpus_d2/det_sign_exact" -"exact_random_corpus_d2/solve_exact" = "exact_random_corpus_d2/solve_exact" -"exact_random_corpus_d2/solve_exact_f64_result" = "exact_random_corpus_d2/solve_exact_f64_result" -"exact_random_corpus_d2/solve_exact_rounded_f64" = "exact_random_corpus_d2/solve_exact_rounded_f64" -"exact_random_corpus_d3/det_exact" = "exact_random_corpus_d3/det_exact" -"exact_random_corpus_d3/det_sign_exact" = "exact_random_corpus_d3/det_sign_exact" -"exact_random_corpus_d3/solve_exact" = "exact_random_corpus_d3/solve_exact" -"exact_random_corpus_d3/solve_exact_f64_result" = "exact_random_corpus_d3/solve_exact_f64_result" -"exact_random_corpus_d3/solve_exact_rounded_f64" = "exact_random_corpus_d3/solve_exact_rounded_f64" -"exact_random_corpus_d4/det_exact" = "exact_random_corpus_d4/det_exact" -"exact_random_corpus_d4/det_sign_exact" = "exact_random_corpus_d4/det_sign_exact" -"exact_random_corpus_d4/solve_exact" = "exact_random_corpus_d4/solve_exact" -"exact_random_corpus_d4/solve_exact_f64_result" = "exact_random_corpus_d4/solve_exact_f64_result" -"exact_random_corpus_d4/solve_exact_rounded_f64" = "exact_random_corpus_d4/solve_exact_rounded_f64" -"exact_random_corpus_d5/det_exact" = "exact_random_corpus_d5/det_exact" -"exact_random_corpus_d5/det_sign_exact" = "exact_random_corpus_d5/det_sign_exact" -"exact_random_corpus_d5/solve_exact" = "exact_random_corpus_d5/solve_exact" -"exact_random_corpus_d5/solve_exact_f64_result" = "exact_random_corpus_d5/solve_exact_f64_result" -"exact_random_corpus_d5/solve_exact_rounded_f64" = "exact_random_corpus_d5/solve_exact_rounded_f64" -"rational_input_d2/det_big_rational_gaussian" = "rational_input_d2/det_big_rational_gaussian" -"rational_input_d2/det_row_cleared_bareiss" = "rational_input_d2/det_row_cleared_bareiss" -"rational_input_d2/det_sign_row_cleared_bareiss" = "rational_input_d2/det_sign_row_cleared_bareiss" -"rational_input_d2/solve_big_rational_gaussian" = "rational_input_d2/solve_big_rational_gaussian" -"rational_input_d2/solve_row_cleared_bareiss" = "rational_input_d2/solve_row_cleared_bareiss" -"rational_input_d3/det_big_rational_gaussian" = "rational_input_d3/det_big_rational_gaussian" -"rational_input_d3/det_row_cleared_bareiss" = "rational_input_d3/det_row_cleared_bareiss" -"rational_input_d3/det_sign_row_cleared_bareiss" = "rational_input_d3/det_sign_row_cleared_bareiss" -"rational_input_d3/solve_big_rational_gaussian" = "rational_input_d3/solve_big_rational_gaussian" -"rational_input_d3/solve_row_cleared_bareiss" = "rational_input_d3/solve_row_cleared_bareiss" -"rational_input_d4/det_big_rational_gaussian" = "rational_input_d4/det_big_rational_gaussian" -"rational_input_d4/det_row_cleared_bareiss" = "rational_input_d4/det_row_cleared_bareiss" -"rational_input_d4/det_sign_row_cleared_bareiss" = "rational_input_d4/det_sign_row_cleared_bareiss" -"rational_input_d4/solve_big_rational_gaussian" = "rational_input_d4/solve_big_rational_gaussian" -"rational_input_d4/solve_row_cleared_bareiss" = "rational_input_d4/solve_row_cleared_bareiss" -"rational_input_d5/det_big_rational_gaussian" = "rational_input_d5/det_big_rational_gaussian" -"rational_input_d5/det_row_cleared_bareiss" = "rational_input_d5/det_row_cleared_bareiss" -"rational_input_d5/det_sign_row_cleared_bareiss" = "rational_input_d5/det_sign_row_cleared_bareiss" -"rational_input_d5/solve_big_rational_gaussian" = "rational_input_d5/solve_big_rational_gaussian" -"rational_input_d5/solve_row_cleared_bareiss" = "rational_input_d5/solve_row_cleared_bareiss" -"rational_input_d6/det_big_rational_gaussian" = "rational_input_d6/det_big_rational_gaussian" -"rational_input_d6/det_row_cleared_bareiss" = "rational_input_d6/det_row_cleared_bareiss" -"rational_input_d6/det_sign_row_cleared_bareiss" = "rational_input_d6/det_sign_row_cleared_bareiss" -"rational_input_d6/solve_big_rational_gaussian" = "rational_input_d6/solve_big_rational_gaussian" -"rational_input_d6/solve_row_cleared_bareiss" = "rational_input_d6/solve_row_cleared_bareiss" -"rational_input_d7/det_big_rational_gaussian" = "rational_input_d7/det_big_rational_gaussian" -"rational_input_d7/det_row_cleared_bareiss" = "rational_input_d7/det_row_cleared_bareiss" -"rational_input_d7/det_sign_row_cleared_bareiss" = "rational_input_d7/det_sign_row_cleared_bareiss" -"rational_input_d7/solve_big_rational_gaussian" = "rational_input_d7/solve_big_rational_gaussian" -"rational_input_d7/solve_row_cleared_bareiss" = "rational_input_d7/solve_row_cleared_bareiss" -"rational_input_d8/det_big_rational_gaussian" = "rational_input_d8/det_big_rational_gaussian" -"rational_input_d8/det_row_cleared_bareiss" = "rational_input_d8/det_row_cleared_bareiss" -"rational_input_d8/det_sign_row_cleared_bareiss" = "rational_input_d8/det_sign_row_cleared_bareiss" -"rational_input_d8/solve_big_rational_gaussian" = "rational_input_d8/solve_big_rational_gaussian" -"rational_input_d8/solve_row_cleared_bareiss" = "rational_input_d8/solve_row_cleared_bareiss" +select = { include = [ "*" ], exclude = [ "d*/nalgebra_*", "d*/faer_*" ] } [[series]] name = "la-stack current" phase = "current" -[series.rows] -"d16/la_stack_det" = "d16/la_stack_det" -"d16/la_stack_det_from_ldlt" = "d16/la_stack_det_from_ldlt" -"d16/la_stack_det_from_lu" = "d16/la_stack_det_from_lu" -"d16/la_stack_det_via_lu" = "d16/la_stack_det_via_lu" -"d16/la_stack_dot" = "d16/la_stack_dot" -"d16/la_stack_inf_norm" = "d16/la_stack_inf_norm" -"d16/la_stack_ldlt" = "d16/la_stack_ldlt" -"d16/la_stack_ldlt_solve" = "d16/la_stack_ldlt_solve" -"d16/la_stack_lu" = "d16/la_stack_lu" -"d16/la_stack_lu_solve" = "d16/la_stack_lu_solve" -"d16/la_stack_norm2_sq" = "d16/la_stack_norm2_sq" -"d16/la_stack_solve_from_ldlt" = "d16/la_stack_solve_from_ldlt" -"d16/la_stack_solve_from_lu" = "d16/la_stack_solve_from_lu" -"d2/la_stack_det" = "d2/la_stack_det" -"d2/la_stack_det_from_ldlt" = "d2/la_stack_det_from_ldlt" -"d2/la_stack_det_from_lu" = "d2/la_stack_det_from_lu" -"d2/la_stack_det_via_lu" = "d2/la_stack_det_via_lu" -"d2/la_stack_dot" = "d2/la_stack_dot" -"d2/la_stack_inf_norm" = "d2/la_stack_inf_norm" -"d2/la_stack_ldlt" = "d2/la_stack_ldlt" -"d2/la_stack_ldlt_solve" = "d2/la_stack_ldlt_solve" -"d2/la_stack_lu" = "d2/la_stack_lu" -"d2/la_stack_lu_solve" = "d2/la_stack_lu_solve" -"d2/la_stack_norm2_sq" = "d2/la_stack_norm2_sq" -"d2/la_stack_solve_from_ldlt" = "d2/la_stack_solve_from_ldlt" -"d2/la_stack_solve_from_lu" = "d2/la_stack_solve_from_lu" -"d3/la_stack_det" = "d3/la_stack_det" -"d3/la_stack_det_from_ldlt" = "d3/la_stack_det_from_ldlt" -"d3/la_stack_det_from_lu" = "d3/la_stack_det_from_lu" -"d3/la_stack_det_via_lu" = "d3/la_stack_det_via_lu" -"d3/la_stack_dot" = "d3/la_stack_dot" -"d3/la_stack_inf_norm" = "d3/la_stack_inf_norm" -"d3/la_stack_ldlt" = "d3/la_stack_ldlt" -"d3/la_stack_ldlt_solve" = "d3/la_stack_ldlt_solve" -"d3/la_stack_lu" = "d3/la_stack_lu" -"d3/la_stack_lu_solve" = "d3/la_stack_lu_solve" -"d3/la_stack_norm2_sq" = "d3/la_stack_norm2_sq" -"d3/la_stack_solve_from_ldlt" = "d3/la_stack_solve_from_ldlt" -"d3/la_stack_solve_from_lu" = "d3/la_stack_solve_from_lu" -"d32/la_stack_det" = "d32/la_stack_det" -"d32/la_stack_det_from_ldlt" = "d32/la_stack_det_from_ldlt" -"d32/la_stack_det_from_lu" = "d32/la_stack_det_from_lu" -"d32/la_stack_det_via_lu" = "d32/la_stack_det_via_lu" -"d32/la_stack_dot" = "d32/la_stack_dot" -"d32/la_stack_inf_norm" = "d32/la_stack_inf_norm" -"d32/la_stack_ldlt" = "d32/la_stack_ldlt" -"d32/la_stack_ldlt_solve" = "d32/la_stack_ldlt_solve" -"d32/la_stack_lu" = "d32/la_stack_lu" -"d32/la_stack_lu_solve" = "d32/la_stack_lu_solve" -"d32/la_stack_norm2_sq" = "d32/la_stack_norm2_sq" -"d32/la_stack_solve_from_ldlt" = "d32/la_stack_solve_from_ldlt" -"d32/la_stack_solve_from_lu" = "d32/la_stack_solve_from_lu" -"d4/la_stack_det" = "d4/la_stack_det" -"d4/la_stack_det_from_ldlt" = "d4/la_stack_det_from_ldlt" -"d4/la_stack_det_from_lu" = "d4/la_stack_det_from_lu" -"d4/la_stack_det_via_lu" = "d4/la_stack_det_via_lu" -"d4/la_stack_dot" = "d4/la_stack_dot" -"d4/la_stack_inf_norm" = "d4/la_stack_inf_norm" -"d4/la_stack_ldlt" = "d4/la_stack_ldlt" -"d4/la_stack_ldlt_solve" = "d4/la_stack_ldlt_solve" -"d4/la_stack_lu" = "d4/la_stack_lu" -"d4/la_stack_lu_solve" = "d4/la_stack_lu_solve" -"d4/la_stack_norm2_sq" = "d4/la_stack_norm2_sq" -"d4/la_stack_solve_from_ldlt" = "d4/la_stack_solve_from_ldlt" -"d4/la_stack_solve_from_lu" = "d4/la_stack_solve_from_lu" -"d5/la_stack_det" = "d5/la_stack_det" -"d5/la_stack_det_from_ldlt" = "d5/la_stack_det_from_ldlt" -"d5/la_stack_det_from_lu" = "d5/la_stack_det_from_lu" -"d5/la_stack_det_via_lu" = "d5/la_stack_det_via_lu" -"d5/la_stack_dot" = "d5/la_stack_dot" -"d5/la_stack_inf_norm" = "d5/la_stack_inf_norm" -"d5/la_stack_ldlt" = "d5/la_stack_ldlt" -"d5/la_stack_ldlt_solve" = "d5/la_stack_ldlt_solve" -"d5/la_stack_lu" = "d5/la_stack_lu" -"d5/la_stack_lu_solve" = "d5/la_stack_lu_solve" -"d5/la_stack_norm2_sq" = "d5/la_stack_norm2_sq" -"d5/la_stack_solve_from_ldlt" = "d5/la_stack_solve_from_ldlt" -"d5/la_stack_solve_from_lu" = "d5/la_stack_solve_from_lu" -"d64/la_stack_det" = "d64/la_stack_det" -"d64/la_stack_det_from_ldlt" = "d64/la_stack_det_from_ldlt" -"d64/la_stack_det_from_lu" = "d64/la_stack_det_from_lu" -"d64/la_stack_det_via_lu" = "d64/la_stack_det_via_lu" -"d64/la_stack_dot" = "d64/la_stack_dot" -"d64/la_stack_inf_norm" = "d64/la_stack_inf_norm" -"d64/la_stack_ldlt" = "d64/la_stack_ldlt" -"d64/la_stack_ldlt_solve" = "d64/la_stack_ldlt_solve" -"d64/la_stack_lu" = "d64/la_stack_lu" -"d64/la_stack_lu_solve" = "d64/la_stack_lu_solve" -"d64/la_stack_norm2_sq" = "d64/la_stack_norm2_sq" -"d64/la_stack_solve_from_ldlt" = "d64/la_stack_solve_from_ldlt" -"d64/la_stack_solve_from_lu" = "d64/la_stack_solve_from_lu" -"d8/la_stack_det" = "d8/la_stack_det" -"d8/la_stack_det_from_ldlt" = "d8/la_stack_det_from_ldlt" -"d8/la_stack_det_from_ldlt_balanced_range" = "d8/la_stack_det_from_ldlt_balanced_range" -"d8/la_stack_det_from_lu" = "d8/la_stack_det_from_lu" -"d8/la_stack_det_from_lu_balanced_range" = "d8/la_stack_det_from_lu_balanced_range" -"d8/la_stack_det_via_lu" = "d8/la_stack_det_via_lu" -"d8/la_stack_dot" = "d8/la_stack_dot" -"d8/la_stack_inf_norm" = "d8/la_stack_inf_norm" -"d8/la_stack_ldlt" = "d8/la_stack_ldlt" -"d8/la_stack_ldlt_ill_conditioned" = "d8/la_stack_ldlt_ill_conditioned" -"d8/la_stack_ldlt_solve" = "d8/la_stack_ldlt_solve" -"d8/la_stack_lu" = "d8/la_stack_lu" -"d8/la_stack_lu_ill_conditioned" = "d8/la_stack_lu_ill_conditioned" -"d8/la_stack_lu_pivoting" = "d8/la_stack_lu_pivoting" -"d8/la_stack_lu_solve" = "d8/la_stack_lu_solve" -"d8/la_stack_norm2_sq" = "d8/la_stack_norm2_sq" -"d8/la_stack_solve_from_ldlt" = "d8/la_stack_solve_from_ldlt" -"d8/la_stack_solve_from_lu" = "d8/la_stack_solve_from_lu" -"exact_d2/det" = "exact_d2/det" -"exact_d2/det_direct" = "exact_d2/det_direct" -"exact_d2/det_direct_with_errbound" = "exact_d2/det_direct_with_errbound" -"exact_d2/det_errbound" = "exact_d2/det_errbound" -"exact_d2/det_exact" = "exact_d2/det_exact" -"exact_d2/det_exact_f64_result" = "exact_d2/det_exact_f64_result" -"exact_d2/det_exact_rounded_f64" = "exact_d2/det_exact_rounded_f64" -"exact_d2/det_sign_exact" = "exact_d2/det_sign_exact" -"exact_d2/solve_exact" = "exact_d2/solve_exact" -"exact_d2/solve_exact_f64_result" = "exact_d2/solve_exact_f64_result" -"exact_d2/solve_exact_rounded_f64" = "exact_d2/solve_exact_rounded_f64" -"exact_d3/det" = "exact_d3/det" -"exact_d3/det_direct" = "exact_d3/det_direct" -"exact_d3/det_direct_with_errbound" = "exact_d3/det_direct_with_errbound" -"exact_d3/det_errbound" = "exact_d3/det_errbound" -"exact_d3/det_exact" = "exact_d3/det_exact" -"exact_d3/det_exact_f64_result" = "exact_d3/det_exact_f64_result" -"exact_d3/det_exact_rounded_f64" = "exact_d3/det_exact_rounded_f64" -"exact_d3/det_sign_exact" = "exact_d3/det_sign_exact" -"exact_d3/solve_exact" = "exact_d3/solve_exact" -"exact_d3/solve_exact_f64_result" = "exact_d3/solve_exact_f64_result" -"exact_d3/solve_exact_rounded_f64" = "exact_d3/solve_exact_rounded_f64" -"exact_d4/det" = "exact_d4/det" -"exact_d4/det_direct" = "exact_d4/det_direct" -"exact_d4/det_direct_with_errbound" = "exact_d4/det_direct_with_errbound" -"exact_d4/det_errbound" = "exact_d4/det_errbound" -"exact_d4/det_exact" = "exact_d4/det_exact" -"exact_d4/det_exact_f64_result" = "exact_d4/det_exact_f64_result" -"exact_d4/det_exact_rounded_f64" = "exact_d4/det_exact_rounded_f64" -"exact_d4/det_sign_exact" = "exact_d4/det_sign_exact" -"exact_d4/solve_exact" = "exact_d4/solve_exact" -"exact_d4/solve_exact_f64_result" = "exact_d4/solve_exact_f64_result" -"exact_d4/solve_exact_rounded_f64" = "exact_d4/solve_exact_rounded_f64" -"exact_d5/det" = "exact_d5/det" -"exact_d5/det_exact" = "exact_d5/det_exact" -"exact_d5/det_exact_f64_result" = "exact_d5/det_exact_f64_result" -"exact_d5/det_exact_rounded_f64" = "exact_d5/det_exact_rounded_f64" -"exact_d5/det_sign_exact" = "exact_d5/det_sign_exact" -"exact_d5/solve_exact" = "exact_d5/solve_exact" -"exact_d5/solve_exact_f64_result" = "exact_d5/solve_exact_f64_result" -"exact_d5/solve_exact_rounded_f64" = "exact_d5/solve_exact_rounded_f64" -"exact_hilbert_4x4/det_exact" = "exact_hilbert_4x4/det_exact" -"exact_hilbert_4x4/det_sign_exact" = "exact_hilbert_4x4/det_sign_exact" -"exact_hilbert_4x4/solve_exact" = "exact_hilbert_4x4/solve_exact" -"exact_hilbert_4x4/solve_exact_f64_result" = "exact_hilbert_4x4/solve_exact_f64_result" -"exact_hilbert_4x4/solve_exact_rounded_f64" = "exact_hilbert_4x4/solve_exact_rounded_f64" -"exact_hilbert_5x5/det_exact" = "exact_hilbert_5x5/det_exact" -"exact_hilbert_5x5/det_sign_exact" = "exact_hilbert_5x5/det_sign_exact" -"exact_hilbert_5x5/solve_exact" = "exact_hilbert_5x5/solve_exact" -"exact_hilbert_5x5/solve_exact_f64_result" = "exact_hilbert_5x5/solve_exact_f64_result" -"exact_hilbert_5x5/solve_exact_rounded_f64" = "exact_hilbert_5x5/solve_exact_rounded_f64" -"exact_large_entries_3x3/det_exact" = "exact_large_entries_3x3/det_exact" -"exact_large_entries_3x3/det_sign_exact" = "exact_large_entries_3x3/det_sign_exact" -"exact_large_entries_3x3/solve_exact" = "exact_large_entries_3x3/solve_exact" -"exact_large_entries_3x3/solve_exact_f64_result" = "exact_large_entries_3x3/solve_exact_f64_result" -"exact_large_entries_3x3/solve_exact_rounded_f64" = "exact_large_entries_3x3/solve_exact_rounded_f64" -"exact_near_singular_3x3/det_exact" = "exact_near_singular_3x3/det_exact" -"exact_near_singular_3x3/det_sign_exact" = "exact_near_singular_3x3/det_sign_exact" -"exact_near_singular_3x3/solve_exact" = "exact_near_singular_3x3/solve_exact" -"exact_near_singular_3x3/solve_exact_f64_result" = "exact_near_singular_3x3/solve_exact_f64_result" -"exact_near_singular_3x3/solve_exact_rounded_f64" = "exact_near_singular_3x3/solve_exact_rounded_f64" -"exact_random_corpus_d2/det_exact" = "exact_random_corpus_d2/det_exact" -"exact_random_corpus_d2/det_sign_exact" = "exact_random_corpus_d2/det_sign_exact" -"exact_random_corpus_d2/solve_exact" = "exact_random_corpus_d2/solve_exact" -"exact_random_corpus_d2/solve_exact_f64_result" = "exact_random_corpus_d2/solve_exact_f64_result" -"exact_random_corpus_d2/solve_exact_rounded_f64" = "exact_random_corpus_d2/solve_exact_rounded_f64" -"exact_random_corpus_d3/det_exact" = "exact_random_corpus_d3/det_exact" -"exact_random_corpus_d3/det_sign_exact" = "exact_random_corpus_d3/det_sign_exact" -"exact_random_corpus_d3/solve_exact" = "exact_random_corpus_d3/solve_exact" -"exact_random_corpus_d3/solve_exact_f64_result" = "exact_random_corpus_d3/solve_exact_f64_result" -"exact_random_corpus_d3/solve_exact_rounded_f64" = "exact_random_corpus_d3/solve_exact_rounded_f64" -"exact_random_corpus_d4/det_exact" = "exact_random_corpus_d4/det_exact" -"exact_random_corpus_d4/det_sign_exact" = "exact_random_corpus_d4/det_sign_exact" -"exact_random_corpus_d4/solve_exact" = "exact_random_corpus_d4/solve_exact" -"exact_random_corpus_d4/solve_exact_f64_result" = "exact_random_corpus_d4/solve_exact_f64_result" -"exact_random_corpus_d4/solve_exact_rounded_f64" = "exact_random_corpus_d4/solve_exact_rounded_f64" -"exact_random_corpus_d5/det_exact" = "exact_random_corpus_d5/det_exact" -"exact_random_corpus_d5/det_sign_exact" = "exact_random_corpus_d5/det_sign_exact" -"exact_random_corpus_d5/solve_exact" = "exact_random_corpus_d5/solve_exact" -"exact_random_corpus_d5/solve_exact_f64_result" = "exact_random_corpus_d5/solve_exact_f64_result" -"exact_random_corpus_d5/solve_exact_rounded_f64" = "exact_random_corpus_d5/solve_exact_rounded_f64" -"rational_input_d2/det_big_rational_gaussian" = "rational_input_d2/det_big_rational_gaussian" -"rational_input_d2/det_row_cleared_bareiss" = "rational_input_d2/det_row_cleared_bareiss" -"rational_input_d2/det_sign_row_cleared_bareiss" = "rational_input_d2/det_sign_row_cleared_bareiss" -"rational_input_d2/solve_big_rational_gaussian" = "rational_input_d2/solve_big_rational_gaussian" -"rational_input_d2/solve_row_cleared_bareiss" = "rational_input_d2/solve_row_cleared_bareiss" -"rational_input_d3/det_big_rational_gaussian" = "rational_input_d3/det_big_rational_gaussian" -"rational_input_d3/det_row_cleared_bareiss" = "rational_input_d3/det_row_cleared_bareiss" -"rational_input_d3/det_sign_row_cleared_bareiss" = "rational_input_d3/det_sign_row_cleared_bareiss" -"rational_input_d3/solve_big_rational_gaussian" = "rational_input_d3/solve_big_rational_gaussian" -"rational_input_d3/solve_row_cleared_bareiss" = "rational_input_d3/solve_row_cleared_bareiss" -"rational_input_d4/det_big_rational_gaussian" = "rational_input_d4/det_big_rational_gaussian" -"rational_input_d4/det_row_cleared_bareiss" = "rational_input_d4/det_row_cleared_bareiss" -"rational_input_d4/det_sign_row_cleared_bareiss" = "rational_input_d4/det_sign_row_cleared_bareiss" -"rational_input_d4/solve_big_rational_gaussian" = "rational_input_d4/solve_big_rational_gaussian" -"rational_input_d4/solve_row_cleared_bareiss" = "rational_input_d4/solve_row_cleared_bareiss" -"rational_input_d5/det_big_rational_gaussian" = "rational_input_d5/det_big_rational_gaussian" -"rational_input_d5/det_row_cleared_bareiss" = "rational_input_d5/det_row_cleared_bareiss" -"rational_input_d5/det_sign_row_cleared_bareiss" = "rational_input_d5/det_sign_row_cleared_bareiss" -"rational_input_d5/solve_big_rational_gaussian" = "rational_input_d5/solve_big_rational_gaussian" -"rational_input_d5/solve_row_cleared_bareiss" = "rational_input_d5/solve_row_cleared_bareiss" -"rational_input_d6/det_big_rational_gaussian" = "rational_input_d6/det_big_rational_gaussian" -"rational_input_d6/det_row_cleared_bareiss" = "rational_input_d6/det_row_cleared_bareiss" -"rational_input_d6/det_sign_row_cleared_bareiss" = "rational_input_d6/det_sign_row_cleared_bareiss" -"rational_input_d6/solve_big_rational_gaussian" = "rational_input_d6/solve_big_rational_gaussian" -"rational_input_d6/solve_row_cleared_bareiss" = "rational_input_d6/solve_row_cleared_bareiss" -"rational_input_d7/det_big_rational_gaussian" = "rational_input_d7/det_big_rational_gaussian" -"rational_input_d7/det_row_cleared_bareiss" = "rational_input_d7/det_row_cleared_bareiss" -"rational_input_d7/det_sign_row_cleared_bareiss" = "rational_input_d7/det_sign_row_cleared_bareiss" -"rational_input_d7/solve_big_rational_gaussian" = "rational_input_d7/solve_big_rational_gaussian" -"rational_input_d7/solve_row_cleared_bareiss" = "rational_input_d7/solve_row_cleared_bareiss" -"rational_input_d8/det_big_rational_gaussian" = "rational_input_d8/det_big_rational_gaussian" -"rational_input_d8/det_row_cleared_bareiss" = "rational_input_d8/det_row_cleared_bareiss" -"rational_input_d8/det_sign_row_cleared_bareiss" = "rational_input_d8/det_sign_row_cleared_bareiss" -"rational_input_d8/solve_big_rational_gaussian" = "rational_input_d8/solve_big_rational_gaussian" -"rational_input_d8/solve_row_cleared_bareiss" = "rational_input_d8/solve_row_cleared_bareiss" +select = { include = [ "*" ], exclude = [ "d*/nalgebra_*", "d*/faer_*" ] } [[series]] name = "nalgebra" phase = "baseline" [series.rows] -"d16/la_stack_det_from_ldlt" = "d16/nalgebra_det_from_cholesky" -"d16/la_stack_det_from_lu" = "d16/nalgebra_det_from_lu" -"d16/la_stack_det_via_lu" = "d16/nalgebra_det_via_lu" -"d16/la_stack_dot" = "d16/nalgebra_dot" -"d16/la_stack_inf_norm" = "d16/nalgebra_inf_norm" -"d16/la_stack_ldlt" = "d16/nalgebra_cholesky" -"d16/la_stack_ldlt_solve" = "d16/nalgebra_cholesky_solve" -"d16/la_stack_lu" = "d16/nalgebra_lu" -"d16/la_stack_lu_solve" = "d16/nalgebra_lu_solve" -"d16/la_stack_norm2_sq" = "d16/nalgebra_norm_squared" -"d16/la_stack_solve_from_ldlt" = "d16/nalgebra_solve_from_cholesky" -"d16/la_stack_solve_from_lu" = "d16/nalgebra_solve_from_lu" -"d2/la_stack_det_from_ldlt" = "d2/nalgebra_det_from_cholesky" -"d2/la_stack_det_from_lu" = "d2/nalgebra_det_from_lu" -"d2/la_stack_det_via_lu" = "d2/nalgebra_det_via_lu" -"d2/la_stack_dot" = "d2/nalgebra_dot" -"d2/la_stack_inf_norm" = "d2/nalgebra_inf_norm" -"d2/la_stack_ldlt" = "d2/nalgebra_cholesky" -"d2/la_stack_ldlt_solve" = "d2/nalgebra_cholesky_solve" -"d2/la_stack_lu" = "d2/nalgebra_lu" "d2/la_stack_lu_solve" = "d2/nalgebra_lu_solve" -"d2/la_stack_norm2_sq" = "d2/nalgebra_norm_squared" -"d2/la_stack_solve_from_ldlt" = "d2/nalgebra_solve_from_cholesky" -"d2/la_stack_solve_from_lu" = "d2/nalgebra_solve_from_lu" -"d3/la_stack_det_from_ldlt" = "d3/nalgebra_det_from_cholesky" -"d3/la_stack_det_from_lu" = "d3/nalgebra_det_from_lu" -"d3/la_stack_det_via_lu" = "d3/nalgebra_det_via_lu" -"d3/la_stack_dot" = "d3/nalgebra_dot" -"d3/la_stack_inf_norm" = "d3/nalgebra_inf_norm" -"d3/la_stack_ldlt" = "d3/nalgebra_cholesky" -"d3/la_stack_ldlt_solve" = "d3/nalgebra_cholesky_solve" -"d3/la_stack_lu" = "d3/nalgebra_lu" "d3/la_stack_lu_solve" = "d3/nalgebra_lu_solve" -"d3/la_stack_norm2_sq" = "d3/nalgebra_norm_squared" -"d3/la_stack_solve_from_ldlt" = "d3/nalgebra_solve_from_cholesky" -"d3/la_stack_solve_from_lu" = "d3/nalgebra_solve_from_lu" -"d32/la_stack_det_from_ldlt" = "d32/nalgebra_det_from_cholesky" -"d32/la_stack_det_from_lu" = "d32/nalgebra_det_from_lu" -"d32/la_stack_det_via_lu" = "d32/nalgebra_det_via_lu" -"d32/la_stack_dot" = "d32/nalgebra_dot" -"d32/la_stack_inf_norm" = "d32/nalgebra_inf_norm" -"d32/la_stack_ldlt" = "d32/nalgebra_cholesky" -"d32/la_stack_ldlt_solve" = "d32/nalgebra_cholesky_solve" -"d32/la_stack_lu" = "d32/nalgebra_lu" -"d32/la_stack_lu_solve" = "d32/nalgebra_lu_solve" -"d32/la_stack_norm2_sq" = "d32/nalgebra_norm_squared" -"d32/la_stack_solve_from_ldlt" = "d32/nalgebra_solve_from_cholesky" -"d32/la_stack_solve_from_lu" = "d32/nalgebra_solve_from_lu" -"d4/la_stack_det_from_ldlt" = "d4/nalgebra_det_from_cholesky" -"d4/la_stack_det_from_lu" = "d4/nalgebra_det_from_lu" -"d4/la_stack_det_via_lu" = "d4/nalgebra_det_via_lu" -"d4/la_stack_dot" = "d4/nalgebra_dot" -"d4/la_stack_inf_norm" = "d4/nalgebra_inf_norm" -"d4/la_stack_ldlt" = "d4/nalgebra_cholesky" -"d4/la_stack_ldlt_solve" = "d4/nalgebra_cholesky_solve" -"d4/la_stack_lu" = "d4/nalgebra_lu" "d4/la_stack_lu_solve" = "d4/nalgebra_lu_solve" -"d4/la_stack_norm2_sq" = "d4/nalgebra_norm_squared" -"d4/la_stack_solve_from_ldlt" = "d4/nalgebra_solve_from_cholesky" -"d4/la_stack_solve_from_lu" = "d4/nalgebra_solve_from_lu" -"d5/la_stack_det_from_ldlt" = "d5/nalgebra_det_from_cholesky" -"d5/la_stack_det_from_lu" = "d5/nalgebra_det_from_lu" -"d5/la_stack_det_via_lu" = "d5/nalgebra_det_via_lu" -"d5/la_stack_dot" = "d5/nalgebra_dot" -"d5/la_stack_inf_norm" = "d5/nalgebra_inf_norm" -"d5/la_stack_ldlt" = "d5/nalgebra_cholesky" -"d5/la_stack_ldlt_solve" = "d5/nalgebra_cholesky_solve" -"d5/la_stack_lu" = "d5/nalgebra_lu" "d5/la_stack_lu_solve" = "d5/nalgebra_lu_solve" -"d5/la_stack_norm2_sq" = "d5/nalgebra_norm_squared" -"d5/la_stack_solve_from_ldlt" = "d5/nalgebra_solve_from_cholesky" -"d5/la_stack_solve_from_lu" = "d5/nalgebra_solve_from_lu" -"d64/la_stack_det_from_ldlt" = "d64/nalgebra_det_from_cholesky" -"d64/la_stack_det_from_lu" = "d64/nalgebra_det_from_lu" -"d64/la_stack_det_via_lu" = "d64/nalgebra_det_via_lu" -"d64/la_stack_dot" = "d64/nalgebra_dot" -"d64/la_stack_inf_norm" = "d64/nalgebra_inf_norm" -"d64/la_stack_ldlt" = "d64/nalgebra_cholesky" -"d64/la_stack_ldlt_solve" = "d64/nalgebra_cholesky_solve" -"d64/la_stack_lu" = "d64/nalgebra_lu" -"d64/la_stack_lu_solve" = "d64/nalgebra_lu_solve" -"d64/la_stack_norm2_sq" = "d64/nalgebra_norm_squared" -"d64/la_stack_solve_from_ldlt" = "d64/nalgebra_solve_from_cholesky" -"d64/la_stack_solve_from_lu" = "d64/nalgebra_solve_from_lu" -"d8/la_stack_det_from_ldlt" = "d8/nalgebra_det_from_cholesky" -"d8/la_stack_det_from_lu" = "d8/nalgebra_det_from_lu" -"d8/la_stack_det_via_lu" = "d8/nalgebra_det_via_lu" -"d8/la_stack_dot" = "d8/nalgebra_dot" -"d8/la_stack_inf_norm" = "d8/nalgebra_inf_norm" -"d8/la_stack_ldlt" = "d8/nalgebra_cholesky" -"d8/la_stack_ldlt_solve" = "d8/nalgebra_cholesky_solve" -"d8/la_stack_lu" = "d8/nalgebra_lu" "d8/la_stack_lu_solve" = "d8/nalgebra_lu_solve" -"d8/la_stack_norm2_sq" = "d8/nalgebra_norm_squared" -"d8/la_stack_solve_from_ldlt" = "d8/nalgebra_solve_from_cholesky" -"d8/la_stack_solve_from_lu" = "d8/nalgebra_solve_from_lu" +"d16/la_stack_lu_solve" = "d16/nalgebra_lu_solve" +"d32/la_stack_lu_solve" = "d32/nalgebra_lu_solve" +"d64/la_stack_lu_solve" = "d64/nalgebra_lu_solve" [[series]] name = "faer" phase = "baseline" [series.rows] -"d16/la_stack_det_from_ldlt" = "d16/faer_det_from_ldlt" -"d16/la_stack_det_from_lu" = "d16/faer_det_from_lu" -"d16/la_stack_det_via_lu" = "d16/faer_det_via_lu" -"d16/la_stack_dot" = "d16/faer_dot_native" -"d16/la_stack_inf_norm" = "d16/faer_inf_norm" -"d16/la_stack_ldlt" = "d16/faer_ldlt" -"d16/la_stack_ldlt_solve" = "d16/faer_ldlt_solve" -"d16/la_stack_lu" = "d16/faer_lu" -"d16/la_stack_lu_solve" = "d16/faer_lu_solve" -"d16/la_stack_norm2_sq" = "d16/faer_norm2_sq" -"d16/la_stack_solve_from_ldlt" = "d16/faer_solve_from_ldlt" -"d16/la_stack_solve_from_lu" = "d16/faer_solve_from_lu" -"d2/la_stack_det_from_ldlt" = "d2/faer_det_from_ldlt" -"d2/la_stack_det_from_lu" = "d2/faer_det_from_lu" -"d2/la_stack_det_via_lu" = "d2/faer_det_via_lu" -"d2/la_stack_dot" = "d2/faer_dot_native" -"d2/la_stack_inf_norm" = "d2/faer_inf_norm" -"d2/la_stack_ldlt" = "d2/faer_ldlt" -"d2/la_stack_ldlt_solve" = "d2/faer_ldlt_solve" -"d2/la_stack_lu" = "d2/faer_lu" "d2/la_stack_lu_solve" = "d2/faer_lu_solve" -"d2/la_stack_norm2_sq" = "d2/faer_norm2_sq" -"d2/la_stack_solve_from_ldlt" = "d2/faer_solve_from_ldlt" -"d2/la_stack_solve_from_lu" = "d2/faer_solve_from_lu" -"d3/la_stack_det_from_ldlt" = "d3/faer_det_from_ldlt" -"d3/la_stack_det_from_lu" = "d3/faer_det_from_lu" -"d3/la_stack_det_via_lu" = "d3/faer_det_via_lu" -"d3/la_stack_dot" = "d3/faer_dot_native" -"d3/la_stack_inf_norm" = "d3/faer_inf_norm" -"d3/la_stack_ldlt" = "d3/faer_ldlt" -"d3/la_stack_ldlt_solve" = "d3/faer_ldlt_solve" -"d3/la_stack_lu" = "d3/faer_lu" "d3/la_stack_lu_solve" = "d3/faer_lu_solve" -"d3/la_stack_norm2_sq" = "d3/faer_norm2_sq" -"d3/la_stack_solve_from_ldlt" = "d3/faer_solve_from_ldlt" -"d3/la_stack_solve_from_lu" = "d3/faer_solve_from_lu" -"d32/la_stack_det_from_ldlt" = "d32/faer_det_from_ldlt" -"d32/la_stack_det_from_lu" = "d32/faer_det_from_lu" -"d32/la_stack_det_via_lu" = "d32/faer_det_via_lu" -"d32/la_stack_dot" = "d32/faer_dot_native" -"d32/la_stack_inf_norm" = "d32/faer_inf_norm" -"d32/la_stack_ldlt" = "d32/faer_ldlt" -"d32/la_stack_ldlt_solve" = "d32/faer_ldlt_solve" -"d32/la_stack_lu" = "d32/faer_lu" -"d32/la_stack_lu_solve" = "d32/faer_lu_solve" -"d32/la_stack_norm2_sq" = "d32/faer_norm2_sq" -"d32/la_stack_solve_from_ldlt" = "d32/faer_solve_from_ldlt" -"d32/la_stack_solve_from_lu" = "d32/faer_solve_from_lu" -"d4/la_stack_det_from_ldlt" = "d4/faer_det_from_ldlt" -"d4/la_stack_det_from_lu" = "d4/faer_det_from_lu" -"d4/la_stack_det_via_lu" = "d4/faer_det_via_lu" -"d4/la_stack_dot" = "d4/faer_dot_native" -"d4/la_stack_inf_norm" = "d4/faer_inf_norm" -"d4/la_stack_ldlt" = "d4/faer_ldlt" -"d4/la_stack_ldlt_solve" = "d4/faer_ldlt_solve" -"d4/la_stack_lu" = "d4/faer_lu" "d4/la_stack_lu_solve" = "d4/faer_lu_solve" -"d4/la_stack_norm2_sq" = "d4/faer_norm2_sq" -"d4/la_stack_solve_from_ldlt" = "d4/faer_solve_from_ldlt" -"d4/la_stack_solve_from_lu" = "d4/faer_solve_from_lu" -"d5/la_stack_det_from_ldlt" = "d5/faer_det_from_ldlt" -"d5/la_stack_det_from_lu" = "d5/faer_det_from_lu" -"d5/la_stack_det_via_lu" = "d5/faer_det_via_lu" -"d5/la_stack_dot" = "d5/faer_dot_native" -"d5/la_stack_inf_norm" = "d5/faer_inf_norm" -"d5/la_stack_ldlt" = "d5/faer_ldlt" -"d5/la_stack_ldlt_solve" = "d5/faer_ldlt_solve" -"d5/la_stack_lu" = "d5/faer_lu" "d5/la_stack_lu_solve" = "d5/faer_lu_solve" -"d5/la_stack_norm2_sq" = "d5/faer_norm2_sq" -"d5/la_stack_solve_from_ldlt" = "d5/faer_solve_from_ldlt" -"d5/la_stack_solve_from_lu" = "d5/faer_solve_from_lu" -"d64/la_stack_det_from_ldlt" = "d64/faer_det_from_ldlt" -"d64/la_stack_det_from_lu" = "d64/faer_det_from_lu" -"d64/la_stack_det_via_lu" = "d64/faer_det_via_lu" -"d64/la_stack_dot" = "d64/faer_dot_native" -"d64/la_stack_inf_norm" = "d64/faer_inf_norm" -"d64/la_stack_ldlt" = "d64/faer_ldlt" -"d64/la_stack_ldlt_solve" = "d64/faer_ldlt_solve" -"d64/la_stack_lu" = "d64/faer_lu" -"d64/la_stack_lu_solve" = "d64/faer_lu_solve" -"d64/la_stack_norm2_sq" = "d64/faer_norm2_sq" -"d64/la_stack_solve_from_ldlt" = "d64/faer_solve_from_ldlt" -"d64/la_stack_solve_from_lu" = "d64/faer_solve_from_lu" -"d8/la_stack_det_from_ldlt" = "d8/faer_det_from_ldlt" -"d8/la_stack_det_from_lu" = "d8/faer_det_from_lu" -"d8/la_stack_det_via_lu" = "d8/faer_det_via_lu" -"d8/la_stack_dot" = "d8/faer_dot_native" -"d8/la_stack_inf_norm" = "d8/faer_inf_norm" -"d8/la_stack_ldlt" = "d8/faer_ldlt" -"d8/la_stack_ldlt_solve" = "d8/faer_ldlt_solve" -"d8/la_stack_lu" = "d8/faer_lu" "d8/la_stack_lu_solve" = "d8/faer_lu_solve" -"d8/la_stack_norm2_sq" = "d8/faer_norm2_sq" -"d8/la_stack_solve_from_ldlt" = "d8/faer_solve_from_ldlt" -"d8/la_stack_solve_from_lu" = "d8/faer_solve_from_lu" +"d16/la_stack_lu_solve" = "d16/faer_lu_solve" +"d32/la_stack_lu_solve" = "d32/faer_lu_solve" +"d64/la_stack_lu_solve" = "d64/faer_lu_solve" diff --git a/tooling/performance-policy.toml b/tooling/performance-policy.toml index bd34dd0..52fc879 100644 --- a/tooling/performance-policy.toml +++ b/tooling/performance-policy.toml @@ -73,3 +73,1264 @@ benchmarks = [ "la_stack_norm2_sq", "nalgebra_norm_squared", "faer_norm2_sq" ] [metrics.inf_norm] title = "Matrix infinity norm (max abs row sum)" benchmarks = [ "la_stack_inf_norm", "nalgebra_inf_norm", "faer_inf_norm" ] + +# Independent release case catalog. Native discovery must agree with these IDs. +[release] +default = [ + "angle_d3/dense/borrowed_slice", + "angle_d3/dense/construct_then_angle", + "angle_d3/dense/prepared_vector", + "angle_d3/dense_antipodal/borrowed_slice", + "angle_d3/dense_antipodal/construct_then_angle", + "angle_d3/dense_antipodal/prepared_vector", + "angle_d3/dense_identical/borrowed_slice", + "angle_d3/dense_identical/construct_then_angle", + "angle_d3/dense_identical/prepared_vector", + "angle_d3/dense_varied/borrowed_slice", + "angle_d3/dense_varied/construct_then_angle", + "angle_d3/dense_varied/prepared_vector", + "angle_d3/maximum_small_angle/borrowed_slice", + "angle_d3/maximum_small_angle/construct_then_angle", + "angle_d3/maximum_small_angle/prepared_vector", + "angle_d3/mixed_scale/borrowed_slice", + "angle_d3/mixed_scale/construct_then_angle", + "angle_d3/mixed_scale/prepared_vector", + "angle_d3/near_antipodal/borrowed_slice", + "angle_d3/near_antipodal/construct_then_angle", + "angle_d3/near_antipodal/prepared_vector", + "angle_d3/near_parallel/borrowed_slice", + "angle_d3/near_parallel/construct_then_angle", + "angle_d3/near_parallel/prepared_vector", + "angle_d3/sparse_adjacent/borrowed_slice", + "angle_d3/sparse_adjacent/construct_then_angle", + "angle_d3/sparse_adjacent/prepared_vector", + "angle_d3/sparse_alternating/borrowed_slice", + "angle_d3/sparse_alternating/construct_then_angle", + "angle_d3/sparse_alternating/prepared_vector", + "angle_d3/sparse_antipodal/borrowed_slice", + "angle_d3/sparse_antipodal/construct_then_angle", + "angle_d3/sparse_antipodal/prepared_vector", + "angle_d3/sparse_identical/borrowed_slice", + "angle_d3/sparse_identical/construct_then_angle", + "angle_d3/sparse_identical/prepared_vector", + "angle_d3/subnormal/borrowed_slice", + "angle_d3/subnormal/construct_then_angle", + "angle_d3/subnormal/prepared_vector", + "angle_d3/subnormal_axes/borrowed_slice", + "angle_d3/subnormal_axes/construct_then_angle", + "angle_d3/subnormal_axes/prepared_vector", + "angle_d4/dense/borrowed_slice", + "angle_d4/dense/construct_then_angle", + "angle_d4/dense/prepared_vector", + "angle_d4/dense_antipodal/borrowed_slice", + "angle_d4/dense_antipodal/construct_then_angle", + "angle_d4/dense_antipodal/prepared_vector", + "angle_d4/dense_identical/borrowed_slice", + "angle_d4/dense_identical/construct_then_angle", + "angle_d4/dense_identical/prepared_vector", + "angle_d4/dense_varied/borrowed_slice", + "angle_d4/dense_varied/construct_then_angle", + "angle_d4/dense_varied/prepared_vector", + "angle_d4/maximum_small_angle/borrowed_slice", + "angle_d4/maximum_small_angle/construct_then_angle", + "angle_d4/maximum_small_angle/prepared_vector", + "angle_d4/mixed_scale/borrowed_slice", + "angle_d4/mixed_scale/construct_then_angle", + "angle_d4/mixed_scale/prepared_vector", + "angle_d4/near_antipodal/borrowed_slice", + "angle_d4/near_antipodal/construct_then_angle", + "angle_d4/near_antipodal/prepared_vector", + "angle_d4/near_parallel/borrowed_slice", + "angle_d4/near_parallel/construct_then_angle", + "angle_d4/near_parallel/prepared_vector", + "angle_d4/sparse_adjacent/borrowed_slice", + "angle_d4/sparse_adjacent/construct_then_angle", + "angle_d4/sparse_adjacent/prepared_vector", + "angle_d4/sparse_alternating/borrowed_slice", + "angle_d4/sparse_alternating/construct_then_angle", + "angle_d4/sparse_alternating/prepared_vector", + "angle_d4/sparse_antipodal/borrowed_slice", + "angle_d4/sparse_antipodal/construct_then_angle", + "angle_d4/sparse_antipodal/prepared_vector", + "angle_d4/sparse_identical/borrowed_slice", + "angle_d4/sparse_identical/construct_then_angle", + "angle_d4/sparse_identical/prepared_vector", + "angle_d4/subnormal/borrowed_slice", + "angle_d4/subnormal/construct_then_angle", + "angle_d4/subnormal/prepared_vector", + "angle_d4/subnormal_axes/borrowed_slice", + "angle_d4/subnormal_axes/construct_then_angle", + "angle_d4/subnormal_axes/prepared_vector", + "angle_d5/dense/borrowed_slice", + "angle_d5/dense/construct_then_angle", + "angle_d5/dense/prepared_vector", + "angle_d5/dense_antipodal/borrowed_slice", + "angle_d5/dense_antipodal/construct_then_angle", + "angle_d5/dense_antipodal/prepared_vector", + "angle_d5/dense_identical/borrowed_slice", + "angle_d5/dense_identical/construct_then_angle", + "angle_d5/dense_identical/prepared_vector", + "angle_d5/dense_varied/borrowed_slice", + "angle_d5/dense_varied/construct_then_angle", + "angle_d5/dense_varied/prepared_vector", + "angle_d5/maximum_small_angle/borrowed_slice", + "angle_d5/maximum_small_angle/construct_then_angle", + "angle_d5/maximum_small_angle/prepared_vector", + "angle_d5/mixed_scale/borrowed_slice", + "angle_d5/mixed_scale/construct_then_angle", + "angle_d5/mixed_scale/prepared_vector", + "angle_d5/near_antipodal/borrowed_slice", + "angle_d5/near_antipodal/construct_then_angle", + "angle_d5/near_antipodal/prepared_vector", + "angle_d5/near_parallel/borrowed_slice", + "angle_d5/near_parallel/construct_then_angle", + "angle_d5/near_parallel/prepared_vector", + "angle_d5/sparse_adjacent/borrowed_slice", + "angle_d5/sparse_adjacent/construct_then_angle", + "angle_d5/sparse_adjacent/prepared_vector", + "angle_d5/sparse_alternating/borrowed_slice", + "angle_d5/sparse_alternating/construct_then_angle", + "angle_d5/sparse_alternating/prepared_vector", + "angle_d5/sparse_antipodal/borrowed_slice", + "angle_d5/sparse_antipodal/construct_then_angle", + "angle_d5/sparse_antipodal/prepared_vector", + "angle_d5/sparse_identical/borrowed_slice", + "angle_d5/sparse_identical/construct_then_angle", + "angle_d5/sparse_identical/prepared_vector", + "angle_d5/subnormal/borrowed_slice", + "angle_d5/subnormal/construct_then_angle", + "angle_d5/subnormal/prepared_vector", + "angle_d5/subnormal_axes/borrowed_slice", + "angle_d5/subnormal_axes/construct_then_angle", + "angle_d5/subnormal_axes/prepared_vector", + "angle_d6/dense/borrowed_slice", + "angle_d6/dense/construct_then_angle", + "angle_d6/dense/prepared_vector", + "angle_d6/dense_antipodal/borrowed_slice", + "angle_d6/dense_antipodal/construct_then_angle", + "angle_d6/dense_antipodal/prepared_vector", + "angle_d6/dense_identical/borrowed_slice", + "angle_d6/dense_identical/construct_then_angle", + "angle_d6/dense_identical/prepared_vector", + "angle_d6/dense_varied/borrowed_slice", + "angle_d6/dense_varied/construct_then_angle", + "angle_d6/dense_varied/prepared_vector", + "angle_d6/maximum_small_angle/borrowed_slice", + "angle_d6/maximum_small_angle/construct_then_angle", + "angle_d6/maximum_small_angle/prepared_vector", + "angle_d6/mixed_scale/borrowed_slice", + "angle_d6/mixed_scale/construct_then_angle", + "angle_d6/mixed_scale/prepared_vector", + "angle_d6/near_antipodal/borrowed_slice", + "angle_d6/near_antipodal/construct_then_angle", + "angle_d6/near_antipodal/prepared_vector", + "angle_d6/near_parallel/borrowed_slice", + "angle_d6/near_parallel/construct_then_angle", + "angle_d6/near_parallel/prepared_vector", + "angle_d6/sparse_adjacent/borrowed_slice", + "angle_d6/sparse_adjacent/construct_then_angle", + "angle_d6/sparse_adjacent/prepared_vector", + "angle_d6/sparse_alternating/borrowed_slice", + "angle_d6/sparse_alternating/construct_then_angle", + "angle_d6/sparse_alternating/prepared_vector", + "angle_d6/sparse_antipodal/borrowed_slice", + "angle_d6/sparse_antipodal/construct_then_angle", + "angle_d6/sparse_antipodal/prepared_vector", + "angle_d6/sparse_identical/borrowed_slice", + "angle_d6/sparse_identical/construct_then_angle", + "angle_d6/sparse_identical/prepared_vector", + "angle_d6/subnormal/borrowed_slice", + "angle_d6/subnormal/construct_then_angle", + "angle_d6/subnormal/prepared_vector", + "angle_d6/subnormal_axes/borrowed_slice", + "angle_d6/subnormal_axes/construct_then_angle", + "angle_d6/subnormal_axes/prepared_vector", + "d16/la_stack_det", + "d16/la_stack_det_from_ldlt", + "d16/la_stack_det_from_lu", + "d16/la_stack_det_via_lu", + "d16/la_stack_dot", + "d16/la_stack_inf_norm", + "d16/la_stack_ldlt", + "d16/la_stack_ldlt_solve", + "d16/la_stack_lu", + "d16/la_stack_lu_solve", + "d16/la_stack_norm2", + "d16/la_stack_norm2_scenario_descending", + "d16/la_stack_norm2_scenario_repeated_scale", + "d16/la_stack_norm2_scenario_sparse", + "d16/la_stack_norm2_scenario_wide_dynamic_range", + "d16/la_stack_norm2_sq", + "d16/la_stack_solve_from_ldlt", + "d16/la_stack_solve_from_lu", + "d2/la_stack_det", + "d2/la_stack_det_from_ldlt", + "d2/la_stack_det_from_lu", + "d2/la_stack_det_via_lu", + "d2/la_stack_dot", + "d2/la_stack_inf_norm", + "d2/la_stack_ldlt", + "d2/la_stack_ldlt_solve", + "d2/la_stack_lu", + "d2/la_stack_lu_solve", + "d2/la_stack_norm2", + "d2/la_stack_norm2_scenario_descending", + "d2/la_stack_norm2_scenario_repeated_scale", + "d2/la_stack_norm2_scenario_sparse", + "d2/la_stack_norm2_scenario_wide_dynamic_range", + "d2/la_stack_norm2_sq", + "d2/la_stack_solve_from_ldlt", + "d2/la_stack_solve_from_lu", + "d3/la_stack_det", + "d3/la_stack_det_from_ldlt", + "d3/la_stack_det_from_lu", + "d3/la_stack_det_via_lu", + "d3/la_stack_dot", + "d3/la_stack_inf_norm", + "d3/la_stack_ldlt", + "d3/la_stack_ldlt_solve", + "d3/la_stack_lu", + "d3/la_stack_lu_solve", + "d3/la_stack_norm2", + "d3/la_stack_norm2_scenario_descending", + "d3/la_stack_norm2_scenario_repeated_scale", + "d3/la_stack_norm2_scenario_sparse", + "d3/la_stack_norm2_scenario_wide_dynamic_range", + "d3/la_stack_norm2_sq", + "d3/la_stack_solve_from_ldlt", + "d3/la_stack_solve_from_lu", + "d32/la_stack_det", + "d32/la_stack_det_from_ldlt", + "d32/la_stack_det_from_lu", + "d32/la_stack_det_via_lu", + "d32/la_stack_dot", + "d32/la_stack_inf_norm", + "d32/la_stack_ldlt", + "d32/la_stack_ldlt_solve", + "d32/la_stack_lu", + "d32/la_stack_lu_solve", + "d32/la_stack_norm2", + "d32/la_stack_norm2_scenario_descending", + "d32/la_stack_norm2_scenario_repeated_scale", + "d32/la_stack_norm2_scenario_sparse", + "d32/la_stack_norm2_scenario_wide_dynamic_range", + "d32/la_stack_norm2_sq", + "d32/la_stack_solve_from_ldlt", + "d32/la_stack_solve_from_lu", + "d4/la_stack_det", + "d4/la_stack_det_from_ldlt", + "d4/la_stack_det_from_lu", + "d4/la_stack_det_via_lu", + "d4/la_stack_dot", + "d4/la_stack_inf_norm", + "d4/la_stack_ldlt", + "d4/la_stack_ldlt_solve", + "d4/la_stack_lu", + "d4/la_stack_lu_solve", + "d4/la_stack_norm2", + "d4/la_stack_norm2_scenario_descending", + "d4/la_stack_norm2_scenario_repeated_scale", + "d4/la_stack_norm2_scenario_sparse", + "d4/la_stack_norm2_scenario_wide_dynamic_range", + "d4/la_stack_norm2_sq", + "d4/la_stack_solve_from_ldlt", + "d4/la_stack_solve_from_lu", + "d5/la_stack_det", + "d5/la_stack_det_from_ldlt", + "d5/la_stack_det_from_lu", + "d5/la_stack_det_via_lu", + "d5/la_stack_dot", + "d5/la_stack_inf_norm", + "d5/la_stack_ldlt", + "d5/la_stack_ldlt_solve", + "d5/la_stack_lu", + "d5/la_stack_lu_solve", + "d5/la_stack_norm2", + "d5/la_stack_norm2_scenario_descending", + "d5/la_stack_norm2_scenario_repeated_scale", + "d5/la_stack_norm2_scenario_sparse", + "d5/la_stack_norm2_scenario_wide_dynamic_range", + "d5/la_stack_norm2_sq", + "d5/la_stack_solve_from_ldlt", + "d5/la_stack_solve_from_lu", + "d64/la_stack_det", + "d64/la_stack_det_from_ldlt", + "d64/la_stack_det_from_lu", + "d64/la_stack_det_via_lu", + "d64/la_stack_dot", + "d64/la_stack_inf_norm", + "d64/la_stack_ldlt", + "d64/la_stack_ldlt_solve", + "d64/la_stack_lu", + "d64/la_stack_lu_solve", + "d64/la_stack_norm2", + "d64/la_stack_norm2_scenario_descending", + "d64/la_stack_norm2_scenario_repeated_scale", + "d64/la_stack_norm2_scenario_sparse", + "d64/la_stack_norm2_scenario_wide_dynamic_range", + "d64/la_stack_norm2_sq", + "d64/la_stack_solve_from_ldlt", + "d64/la_stack_solve_from_lu", + "d8/la_stack_det", + "d8/la_stack_det_from_ldlt", + "d8/la_stack_det_from_ldlt_balanced_range", + "d8/la_stack_det_from_lu", + "d8/la_stack_det_from_lu_balanced_range", + "d8/la_stack_det_via_lu", + "d8/la_stack_dot", + "d8/la_stack_inf_norm", + "d8/la_stack_ldlt", + "d8/la_stack_ldlt_ill_conditioned", + "d8/la_stack_ldlt_solve", + "d8/la_stack_lu", + "d8/la_stack_lu_ill_conditioned", + "d8/la_stack_lu_pivoting", + "d8/la_stack_lu_solve", + "d8/la_stack_norm2", + "d8/la_stack_norm2_scenario_descending", + "d8/la_stack_norm2_scenario_repeated_scale", + "d8/la_stack_norm2_scenario_sparse", + "d8/la_stack_norm2_scenario_wide_dynamic_range", + "d8/la_stack_norm2_sq", + "d8/la_stack_solve_from_ldlt", + "d8/la_stack_solve_from_lu", + "gram/1x2/dependent/la_stack", + "gram/1x2/mixed_scale/la_stack", + "gram/1x2/near_dependent/la_stack", + "gram/1x2/orthogonal/la_stack", + "gram/2x2/dependent/la_stack", + "gram/2x2/mixed_scale/la_stack", + "gram/2x2/near_dependent/la_stack", + "gram/2x2/orthogonal/la_stack", + "gram/2x3/dependent/la_stack", + "gram/2x3/mixed_scale/la_stack", + "gram/2x3/near_dependent/la_stack", + "gram/2x3/orthogonal/la_stack", + "gram/3x3/dependent/la_stack", + "gram/3x3/mixed_scale/la_stack", + "gram/3x3/near_dependent/la_stack", + "gram/3x3/orthogonal/la_stack", + "gram/3x4/dependent/la_stack", + "gram/3x4/mixed_scale/la_stack", + "gram/3x4/near_dependent/la_stack", + "gram/3x4/orthogonal/la_stack", + "gram/4x4/dependent/la_stack", + "gram/4x4/mixed_scale/la_stack", + "gram/4x4/near_dependent/la_stack", + "gram/4x4/orthogonal/la_stack", + "gram/4x5/dependent/la_stack", + "gram/4x5/mixed_scale/la_stack", + "gram/4x5/near_dependent/la_stack", + "gram/4x5/orthogonal/la_stack", + "gram/5x5/dependent/la_stack", + "gram/5x5/mixed_scale/la_stack", + "gram/5x5/near_dependent/la_stack", + "gram/5x5/orthogonal/la_stack", + "gram/5x6/dependent/la_stack", + "gram/5x6/mixed_scale/la_stack", + "gram/5x6/near_dependent/la_stack", + "gram/5x6/orthogonal/la_stack", + "gram/6x6/dependent/la_stack", + "gram/6x6/mixed_scale/la_stack", + "gram/6x6/near_dependent/la_stack", + "gram/6x6/orthogonal/la_stack", + "gram/6x7/dependent/la_stack", + "gram/6x7/mixed_scale/la_stack", + "gram/6x7/near_dependent/la_stack", + "gram/6x7/orthogonal/la_stack", + "gram/7x7/dependent/la_stack", + "gram/7x7/mixed_scale/la_stack", + "gram/7x7/near_dependent/la_stack", + "gram/7x7/orthogonal/la_stack", + "gram/7x8/dependent/la_stack", + "gram/7x8/mixed_scale/la_stack", + "gram/7x8/near_dependent/la_stack", + "gram/7x8/orthogonal/la_stack", + "gram/8x8/dependent/la_stack", + "gram/8x8/mixed_scale/la_stack", + "gram/8x8/near_dependent/la_stack", + "gram/8x8/orthogonal/la_stack", + "interval_d3/dense_inconclusive", + "interval_d3/dense_sign", + "interval_d3/lifted_assembly", + "interval_d3/lifted_assembly_and_sign", + "interval_d3/sparse_sign", + "interval_d4/dense_inconclusive", + "interval_d4/dense_sign", + "interval_d4/lifted_assembly", + "interval_d4/lifted_assembly_and_sign", + "interval_d4/sparse_sign", + "interval_d5/dense_inconclusive", + "interval_d5/dense_sign", + "interval_d5/lifted_assembly", + "interval_d5/lifted_assembly_and_sign", + "interval_d5/sparse_sign", + "interval_d6/dense_inconclusive", + "interval_d6/dense_sign", + "interval_d6/lifted_assembly", + "interval_d6/lifted_assembly_and_sign", + "interval_d6/sparse_sign", + "interval_d7/dense_inconclusive", + "interval_d7/dense_sign", + "interval_d7/lifted_assembly", + "interval_d7/lifted_assembly_and_sign", + "interval_d7/sparse_sign", + "interval_det_sign/d4_conclusive_lifted", + "interval_det_sign/d4_inconclusive_lifted", + "interval_det_sign/d7_conclusive_lifted", + "interval_scalar/cancellation/add", + "interval_scalar/cancellation/multiply", + "interval_scalar/cancellation/square", + "interval_scalar/exact/add", + "interval_scalar/exact/multiply", + "interval_scalar/exact/square", + "interval_scalar/point/add", + "interval_scalar/point/multiply", + "interval_scalar/point/square", + "interval_scalar/subnormal/add", + "interval_scalar/subnormal/multiply", + "interval_scalar/subnormal/square", + "interval_scalar/zero/add", + "interval_scalar/zero/multiply", + "interval_scalar/zero/square", + "linear_form_d2_batch/origin/construction", + "linear_form_d2_batch/origin/prepared", + "linear_form_d2_batch/origin/with_construction", + "linear_form_d2_batch/translated/construction", + "linear_form_d2_batch/translated/prepared", + "linear_form_d2_batch/translated/with_construction", + "linear_form_d2_prepared/cancellation/difference", + "linear_form_d2_prepared/cancellation/difference_endpoints", + "linear_form_d2_prepared/cancellation/dot", + "linear_form_d2_prepared/cancellation/dot_endpoints", + "linear_form_d2_prepared/dense/difference", + "linear_form_d2_prepared/dense/difference_endpoints", + "linear_form_d2_prepared/dense/dot", + "linear_form_d2_prepared/dense/dot_endpoints", + "linear_form_d2_prepared/dense_inexact/difference", + "linear_form_d2_prepared/dense_inexact/difference_endpoints", + "linear_form_d2_prepared/dense_inexact/dot", + "linear_form_d2_prepared/dense_inexact/dot_endpoints", + "linear_form_d2_prepared/overflow/dot", + "linear_form_d2_prepared/sparse/difference", + "linear_form_d2_prepared/sparse/difference_endpoints", + "linear_form_d2_prepared/sparse/dot", + "linear_form_d2_prepared/sparse/dot_endpoints", + "linear_form_d2_prepared/underflow/difference", + "linear_form_d2_prepared/underflow/difference_endpoints", + "linear_form_d2_prepared/underflow/dot", + "linear_form_d2_prepared/underflow/dot_endpoints", + "linear_form_d3_batch/origin/construction", + "linear_form_d3_batch/origin/prepared", + "linear_form_d3_batch/origin/with_construction", + "linear_form_d3_batch/translated/construction", + "linear_form_d3_batch/translated/prepared", + "linear_form_d3_batch/translated/with_construction", + "linear_form_d3_prepared/cancellation/difference", + "linear_form_d3_prepared/cancellation/difference_endpoints", + "linear_form_d3_prepared/cancellation/dot", + "linear_form_d3_prepared/cancellation/dot_endpoints", + "linear_form_d3_prepared/dense/difference", + "linear_form_d3_prepared/dense/difference_endpoints", + "linear_form_d3_prepared/dense/dot", + "linear_form_d3_prepared/dense/dot_endpoints", + "linear_form_d3_prepared/dense_inexact/difference", + "linear_form_d3_prepared/dense_inexact/difference_endpoints", + "linear_form_d3_prepared/dense_inexact/dot", + "linear_form_d3_prepared/dense_inexact/dot_endpoints", + "linear_form_d3_prepared/overflow/dot", + "linear_form_d3_prepared/sparse/difference", + "linear_form_d3_prepared/sparse/difference_endpoints", + "linear_form_d3_prepared/sparse/dot", + "linear_form_d3_prepared/sparse/dot_endpoints", + "linear_form_d3_prepared/underflow/difference", + "linear_form_d3_prepared/underflow/difference_endpoints", + "linear_form_d3_prepared/underflow/dot", + "linear_form_d3_prepared/underflow/dot_endpoints", + "linear_form_d4/dot_bounded_inconclusive", + "linear_form_d4/dot_bounded_well_separated", + "linear_form_d4/dot_difference_bounded_inconclusive", + "linear_form_d4/dot_difference_bounded_well_separated", + "linear_form_d4/dot_plain_well_separated", + "linear_form_d4_batch/origin/construction", + "linear_form_d4_batch/origin/prepared", + "linear_form_d4_batch/origin/with_construction", + "linear_form_d4_batch/translated/construction", + "linear_form_d4_batch/translated/prepared", + "linear_form_d4_batch/translated/with_construction", + "linear_form_d4_prepared/cancellation/difference", + "linear_form_d4_prepared/cancellation/difference_endpoints", + "linear_form_d4_prepared/cancellation/dot", + "linear_form_d4_prepared/cancellation/dot_endpoints", + "linear_form_d4_prepared/dense/difference", + "linear_form_d4_prepared/dense/difference_endpoints", + "linear_form_d4_prepared/dense/dot", + "linear_form_d4_prepared/dense/dot_endpoints", + "linear_form_d4_prepared/dense_inexact/difference", + "linear_form_d4_prepared/dense_inexact/difference_endpoints", + "linear_form_d4_prepared/dense_inexact/dot", + "linear_form_d4_prepared/dense_inexact/dot_endpoints", + "linear_form_d4_prepared/overflow/dot", + "linear_form_d4_prepared/sparse/difference", + "linear_form_d4_prepared/sparse/difference_endpoints", + "linear_form_d4_prepared/sparse/dot", + "linear_form_d4_prepared/sparse/dot_endpoints", + "linear_form_d4_prepared/underflow/difference", + "linear_form_d4_prepared/underflow/difference_endpoints", + "linear_form_d4_prepared/underflow/dot", + "linear_form_d4_prepared/underflow/dot_endpoints", + "linear_form_d5_batch/origin/construction", + "linear_form_d5_batch/origin/prepared", + "linear_form_d5_batch/origin/with_construction", + "linear_form_d5_batch/translated/construction", + "linear_form_d5_batch/translated/prepared", + "linear_form_d5_batch/translated/with_construction", + "linear_form_d5_prepared/cancellation/difference", + "linear_form_d5_prepared/cancellation/difference_endpoints", + "linear_form_d5_prepared/cancellation/dot", + "linear_form_d5_prepared/cancellation/dot_endpoints", + "linear_form_d5_prepared/dense/difference", + "linear_form_d5_prepared/dense/difference_endpoints", + "linear_form_d5_prepared/dense/dot", + "linear_form_d5_prepared/dense/dot_endpoints", + "linear_form_d5_prepared/dense_inexact/difference", + "linear_form_d5_prepared/dense_inexact/difference_endpoints", + "linear_form_d5_prepared/dense_inexact/dot", + "linear_form_d5_prepared/dense_inexact/dot_endpoints", + "linear_form_d5_prepared/overflow/dot", + "linear_form_d5_prepared/sparse/difference", + "linear_form_d5_prepared/sparse/difference_endpoints", + "linear_form_d5_prepared/sparse/dot", + "linear_form_d5_prepared/sparse/dot_endpoints", + "linear_form_d5_prepared/underflow/difference", + "linear_form_d5_prepared/underflow/difference_endpoints", + "linear_form_d5_prepared/underflow/dot", + "linear_form_d5_prepared/underflow/dot_endpoints", + "linear_form_d6_batch/origin/construction", + "linear_form_d6_batch/origin/prepared", + "linear_form_d6_batch/origin/with_construction", + "linear_form_d6_batch/translated/construction", + "linear_form_d6_batch/translated/prepared", + "linear_form_d6_batch/translated/with_construction", + "linear_form_d6_prepared/cancellation/difference", + "linear_form_d6_prepared/cancellation/difference_endpoints", + "linear_form_d6_prepared/cancellation/dot", + "linear_form_d6_prepared/cancellation/dot_endpoints", + "linear_form_d6_prepared/dense/difference", + "linear_form_d6_prepared/dense/difference_endpoints", + "linear_form_d6_prepared/dense/dot", + "linear_form_d6_prepared/dense/dot_endpoints", + "linear_form_d6_prepared/dense_inexact/difference", + "linear_form_d6_prepared/dense_inexact/difference_endpoints", + "linear_form_d6_prepared/dense_inexact/dot", + "linear_form_d6_prepared/dense_inexact/dot_endpoints", + "linear_form_d6_prepared/overflow/dot", + "linear_form_d6_prepared/sparse/difference", + "linear_form_d6_prepared/sparse/difference_endpoints", + "linear_form_d6_prepared/sparse/dot", + "linear_form_d6_prepared/sparse/dot_endpoints", + "linear_form_d6_prepared/underflow/difference", + "linear_form_d6_prepared/underflow/difference_endpoints", + "linear_form_d6_prepared/underflow/dot", + "linear_form_d6_prepared/underflow/dot_endpoints", + "public_d2/det_bound", + "public_d2/det_direct", + "public_d2/det_with_bound", + "public_d2/first_asymmetry", + "public_d2/interval_det", + "public_d2/interval_matrix_access", + "public_d2/interval_matrix_from_matrix", + "public_d2/interval_matrix_from_points", + "public_d2/interval_matrix_from_rows", + "public_d2/interval_matrix_identity", + "public_d2/interval_matrix_set", + "public_d2/interval_matrix_zero", + "public_d2/is_symmetric", + "public_d2/matrix_access", + "public_d2/matrix_from_rows", + "public_d2/matrix_identity", + "public_d2/matrix_set", + "public_d2/matrix_zero", + "public_d2/vector_access", + "public_d2/vector_new", + "public_d2/vector_zero", + "public_d3/det_bound", + "public_d3/det_direct", + "public_d3/det_with_bound", + "public_d3/first_asymmetry", + "public_d3/interval_det", + "public_d3/interval_matrix_access", + "public_d3/interval_matrix_from_matrix", + "public_d3/interval_matrix_from_points", + "public_d3/interval_matrix_from_rows", + "public_d3/interval_matrix_identity", + "public_d3/interval_matrix_set", + "public_d3/interval_matrix_zero", + "public_d3/is_symmetric", + "public_d3/matrix_access", + "public_d3/matrix_from_rows", + "public_d3/matrix_identity", + "public_d3/matrix_set", + "public_d3/matrix_zero", + "public_d3/vector_access", + "public_d3/vector_new", + "public_d3/vector_zero", + "public_d4/det_bound", + "public_d4/det_direct", + "public_d4/det_with_bound", + "public_d4/first_asymmetry", + "public_d4/interval_det", + "public_d4/interval_matrix_access", + "public_d4/interval_matrix_from_matrix", + "public_d4/interval_matrix_from_points", + "public_d4/interval_matrix_from_rows", + "public_d4/interval_matrix_identity", + "public_d4/interval_matrix_set", + "public_d4/interval_matrix_zero", + "public_d4/is_symmetric", + "public_d4/matrix_access", + "public_d4/matrix_from_rows", + "public_d4/matrix_identity", + "public_d4/matrix_set", + "public_d4/matrix_zero", + "public_d4/vector_access", + "public_d4/vector_new", + "public_d4/vector_zero", + "public_d5/det_bound", + "public_d5/det_direct", + "public_d5/det_with_bound", + "public_d5/first_asymmetry", + "public_d5/interval_det", + "public_d5/interval_matrix_access", + "public_d5/interval_matrix_from_matrix", + "public_d5/interval_matrix_from_points", + "public_d5/interval_matrix_from_rows", + "public_d5/interval_matrix_identity", + "public_d5/interval_matrix_set", + "public_d5/interval_matrix_zero", + "public_d5/is_symmetric", + "public_d5/matrix_access", + "public_d5/matrix_from_rows", + "public_d5/matrix_identity", + "public_d5/matrix_set", + "public_d5/matrix_zero", + "public_d5/vector_access", + "public_d5/vector_new", + "public_d5/vector_zero", + "public_scalar/tolerance", + "public_scalar/interval_new", + "public_scalar/interval_point", + "public_scalar/interval_subtraction", + "public_scalar/interval_access", + "public_scalar/interval_negate", +] +exact = [ + "canonical_conversion_below_overflow_d2/rounded_array", + "canonical_conversion_below_overflow_d2/rounded_result", + "canonical_conversion_below_overflow_d2/strict_array", + "canonical_conversion_below_overflow_d2/strict_result", + "canonical_conversion_below_overflow_d3/rounded_array", + "canonical_conversion_below_overflow_d3/rounded_result", + "canonical_conversion_below_overflow_d3/strict_array", + "canonical_conversion_below_overflow_d3/strict_result", + "canonical_conversion_below_overflow_d4/rounded_array", + "canonical_conversion_below_overflow_d4/rounded_result", + "canonical_conversion_below_overflow_d4/strict_array", + "canonical_conversion_below_overflow_d4/strict_result", + "canonical_conversion_below_overflow_d5/rounded_array", + "canonical_conversion_below_overflow_d5/rounded_result", + "canonical_conversion_below_overflow_d5/strict_array", + "canonical_conversion_below_overflow_d5/strict_result", + "canonical_conversion_dyadic_d2/rounded_array", + "canonical_conversion_dyadic_d2/rounded_result", + "canonical_conversion_dyadic_d2/strict_array", + "canonical_conversion_dyadic_d2/strict_result", + "canonical_conversion_dyadic_d3/rounded_array", + "canonical_conversion_dyadic_d3/rounded_result", + "canonical_conversion_dyadic_d3/strict_array", + "canonical_conversion_dyadic_d3/strict_result", + "canonical_conversion_dyadic_d4/rounded_array", + "canonical_conversion_dyadic_d4/rounded_result", + "canonical_conversion_dyadic_d4/strict_array", + "canonical_conversion_dyadic_d4/strict_result", + "canonical_conversion_dyadic_d5/rounded_array", + "canonical_conversion_dyadic_d5/rounded_result", + "canonical_conversion_dyadic_d5/strict_array", + "canonical_conversion_dyadic_d5/strict_result", + "canonical_conversion_min_subnormal_d2/rounded_array", + "canonical_conversion_min_subnormal_d2/rounded_result", + "canonical_conversion_min_subnormal_d2/strict_array", + "canonical_conversion_min_subnormal_d2/strict_result", + "canonical_conversion_min_subnormal_d3/rounded_array", + "canonical_conversion_min_subnormal_d3/rounded_result", + "canonical_conversion_min_subnormal_d3/strict_array", + "canonical_conversion_min_subnormal_d3/strict_result", + "canonical_conversion_min_subnormal_d4/rounded_array", + "canonical_conversion_min_subnormal_d4/rounded_result", + "canonical_conversion_min_subnormal_d4/strict_array", + "canonical_conversion_min_subnormal_d4/strict_result", + "canonical_conversion_min_subnormal_d5/rounded_array", + "canonical_conversion_min_subnormal_d5/rounded_result", + "canonical_conversion_min_subnormal_d5/strict_array", + "canonical_conversion_min_subnormal_d5/strict_result", + "canonical_conversion_negative_underflow_d2/rounded_array", + "canonical_conversion_negative_underflow_d2/rounded_result", + "canonical_conversion_negative_underflow_d2/strict_array", + "canonical_conversion_negative_underflow_d2/strict_result", + "canonical_conversion_negative_underflow_d3/rounded_array", + "canonical_conversion_negative_underflow_d3/rounded_result", + "canonical_conversion_negative_underflow_d3/strict_array", + "canonical_conversion_negative_underflow_d3/strict_result", + "canonical_conversion_negative_underflow_d4/rounded_array", + "canonical_conversion_negative_underflow_d4/rounded_result", + "canonical_conversion_negative_underflow_d4/strict_array", + "canonical_conversion_negative_underflow_d4/strict_result", + "canonical_conversion_negative_underflow_d5/rounded_array", + "canonical_conversion_negative_underflow_d5/rounded_result", + "canonical_conversion_negative_underflow_d5/strict_array", + "canonical_conversion_negative_underflow_d5/strict_result", + "canonical_conversion_non_dyadic_d2/rounded_array", + "canonical_conversion_non_dyadic_d2/rounded_result", + "canonical_conversion_non_dyadic_d2/strict_array", + "canonical_conversion_non_dyadic_d2/strict_result", + "canonical_conversion_non_dyadic_d3/rounded_array", + "canonical_conversion_non_dyadic_d3/rounded_result", + "canonical_conversion_non_dyadic_d3/strict_array", + "canonical_conversion_non_dyadic_d3/strict_result", + "canonical_conversion_non_dyadic_d4/rounded_array", + "canonical_conversion_non_dyadic_d4/rounded_result", + "canonical_conversion_non_dyadic_d4/strict_array", + "canonical_conversion_non_dyadic_d4/strict_result", + "canonical_conversion_non_dyadic_d5/rounded_array", + "canonical_conversion_non_dyadic_d5/rounded_result", + "canonical_conversion_non_dyadic_d5/strict_array", + "canonical_conversion_non_dyadic_d5/strict_result", + "canonical_conversion_overflow_midpoint_d2/rounded_array", + "canonical_conversion_overflow_midpoint_d2/rounded_result", + "canonical_conversion_overflow_midpoint_d2/strict_array", + "canonical_conversion_overflow_midpoint_d2/strict_result", + "canonical_conversion_overflow_midpoint_d3/rounded_array", + "canonical_conversion_overflow_midpoint_d3/rounded_result", + "canonical_conversion_overflow_midpoint_d3/strict_array", + "canonical_conversion_overflow_midpoint_d3/strict_result", + "canonical_conversion_overflow_midpoint_d4/rounded_array", + "canonical_conversion_overflow_midpoint_d4/rounded_result", + "canonical_conversion_overflow_midpoint_d4/strict_array", + "canonical_conversion_overflow_midpoint_d4/strict_result", + "canonical_conversion_overflow_midpoint_d5/rounded_array", + "canonical_conversion_overflow_midpoint_d5/rounded_result", + "canonical_conversion_overflow_midpoint_d5/strict_array", + "canonical_conversion_overflow_midpoint_d5/strict_result", + "canonical_conversion_wide1024_d2/rounded_array", + "canonical_conversion_wide1024_d2/rounded_result", + "canonical_conversion_wide1024_d2/strict_array", + "canonical_conversion_wide1024_d2/strict_result", + "canonical_conversion_wide1024_d3/rounded_array", + "canonical_conversion_wide1024_d3/rounded_result", + "canonical_conversion_wide1024_d3/strict_array", + "canonical_conversion_wide1024_d3/strict_result", + "canonical_conversion_wide1024_d4/rounded_array", + "canonical_conversion_wide1024_d4/rounded_result", + "canonical_conversion_wide1024_d4/strict_array", + "canonical_conversion_wide1024_d4/strict_result", + "canonical_conversion_wide1024_d5/rounded_array", + "canonical_conversion_wide1024_d5/rounded_result", + "canonical_conversion_wide1024_d5/strict_array", + "canonical_conversion_wide1024_d5/strict_result", + "canonical_conversion_wide256_d2/rounded_array", + "canonical_conversion_wide256_d2/rounded_result", + "canonical_conversion_wide256_d2/strict_array", + "canonical_conversion_wide256_d2/strict_result", + "canonical_conversion_wide256_d3/rounded_array", + "canonical_conversion_wide256_d3/rounded_result", + "canonical_conversion_wide256_d3/strict_array", + "canonical_conversion_wide256_d3/strict_result", + "canonical_conversion_wide256_d4/rounded_array", + "canonical_conversion_wide256_d4/rounded_result", + "canonical_conversion_wide256_d4/strict_array", + "canonical_conversion_wide256_d4/strict_result", + "canonical_conversion_wide256_d5/rounded_array", + "canonical_conversion_wide256_d5/rounded_result", + "canonical_conversion_wide256_d5/strict_array", + "canonical_conversion_wide256_d5/strict_result", + "exact_d2/det", + "exact_d2/det_direct", + "exact_d2/det_direct_with_errbound", + "exact_d2/det_errbound", + "exact_d2/det_exact", + "exact_d2/det_exact_f64_result", + "exact_d2/det_exact_rounded_f64", + "exact_d2/det_sign_exact", + "exact_d2/solve_exact", + "exact_d2/solve_exact_f64_result", + "exact_d2/solve_exact_rounded_f64", + "exact_d3/det", + "exact_d3/det_direct", + "exact_d3/det_direct_with_errbound", + "exact_d3/det_errbound", + "exact_d3/det_exact", + "exact_d3/det_exact_f64_result", + "exact_d3/det_exact_rounded_f64", + "exact_d3/det_sign_exact", + "exact_d3/solve_exact", + "exact_d3/solve_exact_f64_result", + "exact_d3/solve_exact_rounded_f64", + "exact_d4/det", + "exact_d4/det_direct", + "exact_d4/det_direct_with_errbound", + "exact_d4/det_errbound", + "exact_d4/det_exact", + "exact_d4/det_exact_f64_result", + "exact_d4/det_exact_rounded_f64", + "exact_d4/det_sign_exact", + "exact_d4/solve_exact", + "exact_d4/solve_exact_f64_result", + "exact_d4/solve_exact_rounded_f64", + "exact_d5/det", + "exact_d5/det_exact", + "exact_d5/det_exact_f64_result", + "exact_d5/det_exact_rounded_f64", + "exact_d5/det_sign_exact", + "exact_d5/solve_exact", + "exact_d5/solve_exact_f64_result", + "exact_d5/solve_exact_rounded_f64", + "exact_hilbert_4x4/det_exact", + "exact_hilbert_4x4/det_sign_exact", + "exact_hilbert_4x4/solve_exact", + "exact_hilbert_4x4/solve_exact_f64_result", + "exact_hilbert_4x4/solve_exact_rounded_f64", + "exact_hilbert_5x5/det_exact", + "exact_hilbert_5x5/det_sign_exact", + "exact_hilbert_5x5/solve_exact", + "exact_hilbert_5x5/solve_exact_f64_result", + "exact_hilbert_5x5/solve_exact_rounded_f64", + "exact_large_entries_3x3/det_exact", + "exact_large_entries_3x3/det_sign_exact", + "exact_large_entries_3x3/solve_exact", + "exact_large_entries_3x3/solve_exact_f64_result", + "exact_large_entries_3x3/solve_exact_rounded_f64", + "exact_near_singular_3x3/det_exact", + "exact_near_singular_3x3/det_sign_exact", + "exact_near_singular_3x3/solve_exact", + "exact_near_singular_3x3/solve_exact_f64_result", + "exact_near_singular_3x3/solve_exact_rounded_f64", + "exact_random_corpus_d2/det_exact", + "exact_random_corpus_d2/det_sign_exact", + "exact_random_corpus_d2/solve_exact", + "exact_random_corpus_d2/solve_exact_f64_result", + "exact_random_corpus_d2/solve_exact_rounded_f64", + "exact_random_corpus_d3/det_exact", + "exact_random_corpus_d3/det_sign_exact", + "exact_random_corpus_d3/solve_exact", + "exact_random_corpus_d3/solve_exact_f64_result", + "exact_random_corpus_d3/solve_exact_rounded_f64", + "exact_random_corpus_d4/det_exact", + "exact_random_corpus_d4/det_sign_exact", + "exact_random_corpus_d4/solve_exact", + "exact_random_corpus_d4/solve_exact_f64_result", + "exact_random_corpus_d4/solve_exact_rounded_f64", + "exact_random_corpus_d5/det_exact", + "exact_random_corpus_d5/det_sign_exact", + "exact_random_corpus_d5/solve_exact", + "exact_random_corpus_d5/solve_exact_f64_result", + "exact_random_corpus_d5/solve_exact_rounded_f64", + "public_exact_d2/matrix_access", + "public_exact_d2/matrix_from_fn", + "public_exact_d2/matrix_from_rows", + "public_exact_d2/matrix_into_rows", + "public_exact_d2/matrix_zero", + "public_exact_d2/vector_access", + "public_exact_d2/vector_from_fn", + "public_exact_d2/vector_into_array", + "public_exact_d2/vector_new", + "public_exact_d2/vector_zero", + "public_exact_d3/matrix_access", + "public_exact_d3/matrix_from_fn", + "public_exact_d3/matrix_from_rows", + "public_exact_d3/matrix_into_rows", + "public_exact_d3/matrix_zero", + "public_exact_d3/vector_access", + "public_exact_d3/vector_from_fn", + "public_exact_d3/vector_into_array", + "public_exact_d3/vector_new", + "public_exact_d3/vector_zero", + "public_exact_d4/matrix_access", + "public_exact_d4/matrix_from_fn", + "public_exact_d4/matrix_from_rows", + "public_exact_d4/matrix_into_rows", + "public_exact_d4/matrix_zero", + "public_exact_d4/vector_access", + "public_exact_d4/vector_from_fn", + "public_exact_d4/vector_into_array", + "public_exact_d4/vector_new", + "public_exact_d4/vector_zero", + "public_exact_d5/matrix_access", + "public_exact_d5/matrix_from_fn", + "public_exact_d5/matrix_from_rows", + "public_exact_d5/matrix_into_rows", + "public_exact_d5/matrix_zero", + "public_exact_d5/vector_access", + "public_exact_d5/vector_from_fn", + "public_exact_d5/vector_into_array", + "public_exact_d5/vector_new", + "public_exact_d5/vector_zero", + "public_exact_scalar/rounded", + "public_exact_scalar/strict", + "rational_input_d2/det_row_cleared_bareiss", + "rational_input_d2/det_sign_row_cleared_bareiss", + "rational_input_d2/solve_row_cleared_bareiss", + "rational_input_d3/det_row_cleared_bareiss", + "rational_input_d3/det_sign_row_cleared_bareiss", + "rational_input_d3/solve_row_cleared_bareiss", + "rational_input_d4/det_row_cleared_bareiss", + "rational_input_d4/det_sign_row_cleared_bareiss", + "rational_input_d4/solve_row_cleared_bareiss", + "rational_input_d5/det_row_cleared_bareiss", + "rational_input_d5/det_sign_row_cleared_bareiss", + "rational_input_d5/solve_row_cleared_bareiss", + "rational_input_d6/det_row_cleared_bareiss", + "rational_input_d6/det_sign_row_cleared_bareiss", + "rational_input_d6/solve_row_cleared_bareiss", + "rational_input_d7/det_row_cleared_bareiss", + "rational_input_d7/det_sign_row_cleared_bareiss", + "rational_input_d7/solve_row_cleared_bareiss", + "rational_input_d8/det_row_cleared_bareiss", + "rational_input_d8/det_sign_row_cleared_bareiss", + "rational_input_d8/solve_row_cleared_bareiss", + "rational_input_wide1024_d2/det_row_cleared_bareiss", + "rational_input_wide1024_d2/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d2/solve_row_cleared_bareiss", + "rational_input_wide1024_d3/det_row_cleared_bareiss", + "rational_input_wide1024_d3/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d3/solve_row_cleared_bareiss", + "rational_input_wide1024_d4/det_row_cleared_bareiss", + "rational_input_wide1024_d4/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d4/solve_row_cleared_bareiss", + "rational_input_wide1024_d5/det_row_cleared_bareiss", + "rational_input_wide1024_d5/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d5/solve_row_cleared_bareiss", + "rational_input_wide1024_d6/det_row_cleared_bareiss", + "rational_input_wide1024_d6/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d6/solve_row_cleared_bareiss", + "rational_input_wide1024_d7/det_row_cleared_bareiss", + "rational_input_wide1024_d7/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d7/solve_row_cleared_bareiss", + "rational_input_wide1024_d8/det_row_cleared_bareiss", + "rational_input_wide1024_d8/det_sign_row_cleared_bareiss", + "rational_input_wide1024_d8/solve_row_cleared_bareiss", + "rational_input_wide256_d2/det_row_cleared_bareiss", + "rational_input_wide256_d2/det_sign_row_cleared_bareiss", + "rational_input_wide256_d2/solve_row_cleared_bareiss", + "rational_input_wide256_d3/det_row_cleared_bareiss", + "rational_input_wide256_d3/det_sign_row_cleared_bareiss", + "rational_input_wide256_d3/solve_row_cleared_bareiss", + "rational_input_wide256_d4/det_row_cleared_bareiss", + "rational_input_wide256_d4/det_sign_row_cleared_bareiss", + "rational_input_wide256_d4/solve_row_cleared_bareiss", + "rational_input_wide256_d5/det_row_cleared_bareiss", + "rational_input_wide256_d5/det_sign_row_cleared_bareiss", + "rational_input_wide256_d5/solve_row_cleared_bareiss", + "rational_input_wide256_d6/det_row_cleared_bareiss", + "rational_input_wide256_d6/det_sign_row_cleared_bareiss", + "rational_input_wide256_d6/solve_row_cleared_bareiss", + "rational_input_wide256_d7/det_row_cleared_bareiss", + "rational_input_wide256_d7/det_sign_row_cleared_bareiss", + "rational_input_wide256_d7/solve_row_cleared_bareiss", + "rational_input_wide256_d8/det_row_cleared_bareiss", + "rational_input_wide256_d8/det_sign_row_cleared_bareiss", + "rational_input_wide256_d8/solve_row_cleared_bareiss", + "rational_solve/dense/dyadic_d2/adapter", + "rational_solve/dense/dyadic_d2/construct", + "rational_solve/dense/dyadic_d2/prepared", + "rational_solve/dense/dyadic_d3/adapter", + "rational_solve/dense/dyadic_d3/construct", + "rational_solve/dense/dyadic_d3/prepared", + "rational_solve/dense/dyadic_d4/adapter", + "rational_solve/dense/dyadic_d4/construct", + "rational_solve/dense/dyadic_d4/prepared", + "rational_solve/dense/dyadic_d5/adapter", + "rational_solve/dense/dyadic_d5/construct", + "rational_solve/dense/dyadic_d5/prepared", + "rational_solve/dense/dyadic_d6/adapter", + "rational_solve/dense/dyadic_d6/construct", + "rational_solve/dense/dyadic_d6/prepared", + "rational_solve/dense/dyadic_d7/adapter", + "rational_solve/dense/dyadic_d7/construct", + "rational_solve/dense/dyadic_d7/prepared", + "rational_solve/dense/dyadic_d8/adapter", + "rational_solve/dense/dyadic_d8/construct", + "rational_solve/dense/dyadic_d8/prepared", + "rational_solve/dense/rational_d2/adapter", + "rational_solve/dense/rational_d2/construct", + "rational_solve/dense/rational_d2/prepared", + "rational_solve/dense/rational_d3/adapter", + "rational_solve/dense/rational_d3/construct", + "rational_solve/dense/rational_d3/prepared", + "rational_solve/dense/rational_d4/adapter", + "rational_solve/dense/rational_d4/construct", + "rational_solve/dense/rational_d4/prepared", + "rational_solve/dense/rational_d5/adapter", + "rational_solve/dense/rational_d5/construct", + "rational_solve/dense/rational_d5/prepared", + "rational_solve/dense/rational_d6/adapter", + "rational_solve/dense/rational_d6/construct", + "rational_solve/dense/rational_d6/prepared", + "rational_solve/dense/rational_d7/adapter", + "rational_solve/dense/rational_d7/construct", + "rational_solve/dense/rational_d7/prepared", + "rational_solve/dense/rational_d8/adapter", + "rational_solve/dense/rational_d8/construct", + "rational_solve/dense/rational_d8/prepared", + "rational_solve/diagonal/dyadic_d2/adapter", + "rational_solve/diagonal/dyadic_d2/construct", + "rational_solve/diagonal/dyadic_d2/prepared", + "rational_solve/diagonal/dyadic_d3/adapter", + "rational_solve/diagonal/dyadic_d3/construct", + "rational_solve/diagonal/dyadic_d3/prepared", + "rational_solve/diagonal/dyadic_d4/adapter", + "rational_solve/diagonal/dyadic_d4/construct", + "rational_solve/diagonal/dyadic_d4/prepared", + "rational_solve/diagonal/dyadic_d5/adapter", + "rational_solve/diagonal/dyadic_d5/construct", + "rational_solve/diagonal/dyadic_d5/prepared", + "rational_solve/diagonal/dyadic_d6/adapter", + "rational_solve/diagonal/dyadic_d6/construct", + "rational_solve/diagonal/dyadic_d6/prepared", + "rational_solve/diagonal/dyadic_d7/adapter", + "rational_solve/diagonal/dyadic_d7/construct", + "rational_solve/diagonal/dyadic_d7/prepared", + "rational_solve/diagonal/dyadic_d8/adapter", + "rational_solve/diagonal/dyadic_d8/construct", + "rational_solve/diagonal/dyadic_d8/prepared", + "rational_solve/diagonal/rational_d2/adapter", + "rational_solve/diagonal/rational_d2/construct", + "rational_solve/diagonal/rational_d2/prepared", + "rational_solve/diagonal/rational_d3/adapter", + "rational_solve/diagonal/rational_d3/construct", + "rational_solve/diagonal/rational_d3/prepared", + "rational_solve/diagonal/rational_d4/adapter", + "rational_solve/diagonal/rational_d4/construct", + "rational_solve/diagonal/rational_d4/prepared", + "rational_solve/diagonal/rational_d5/adapter", + "rational_solve/diagonal/rational_d5/construct", + "rational_solve/diagonal/rational_d5/prepared", + "rational_solve/diagonal/rational_d6/adapter", + "rational_solve/diagonal/rational_d6/construct", + "rational_solve/diagonal/rational_d6/prepared", + "rational_solve/diagonal/rational_d7/adapter", + "rational_solve/diagonal/rational_d7/construct", + "rational_solve/diagonal/rational_d7/prepared", + "rational_solve/diagonal/rational_d8/adapter", + "rational_solve/diagonal/rational_d8/construct", + "rational_solve/diagonal/rational_d8/prepared", + "rational_solve/lower/dyadic_d2/adapter", + "rational_solve/lower/dyadic_d2/construct", + "rational_solve/lower/dyadic_d2/prepared", + "rational_solve/lower/dyadic_d3/adapter", + "rational_solve/lower/dyadic_d3/construct", + "rational_solve/lower/dyadic_d3/prepared", + "rational_solve/lower/dyadic_d4/adapter", + "rational_solve/lower/dyadic_d4/construct", + "rational_solve/lower/dyadic_d4/prepared", + "rational_solve/lower/dyadic_d5/adapter", + "rational_solve/lower/dyadic_d5/construct", + "rational_solve/lower/dyadic_d5/prepared", + "rational_solve/lower/dyadic_d6/adapter", + "rational_solve/lower/dyadic_d6/construct", + "rational_solve/lower/dyadic_d6/prepared", + "rational_solve/lower/dyadic_d7/adapter", + "rational_solve/lower/dyadic_d7/construct", + "rational_solve/lower/dyadic_d7/prepared", + "rational_solve/lower/dyadic_d8/adapter", + "rational_solve/lower/dyadic_d8/construct", + "rational_solve/lower/dyadic_d8/prepared", + "rational_solve/lower/rational_d2/adapter", + "rational_solve/lower/rational_d2/construct", + "rational_solve/lower/rational_d2/prepared", + "rational_solve/lower/rational_d3/adapter", + "rational_solve/lower/rational_d3/construct", + "rational_solve/lower/rational_d3/prepared", + "rational_solve/lower/rational_d4/adapter", + "rational_solve/lower/rational_d4/construct", + "rational_solve/lower/rational_d4/prepared", + "rational_solve/lower/rational_d5/adapter", + "rational_solve/lower/rational_d5/construct", + "rational_solve/lower/rational_d5/prepared", + "rational_solve/lower/rational_d6/adapter", + "rational_solve/lower/rational_d6/construct", + "rational_solve/lower/rational_d6/prepared", + "rational_solve/lower/rational_d7/adapter", + "rational_solve/lower/rational_d7/construct", + "rational_solve/lower/rational_d7/prepared", + "rational_solve/lower/rational_d8/adapter", + "rational_solve/lower/rational_d8/construct", + "rational_solve/lower/rational_d8/prepared", + "rational_solve/permuted_lower/dyadic_d2/adapter", + "rational_solve/permuted_lower/dyadic_d2/construct", + "rational_solve/permuted_lower/dyadic_d2/prepared", + "rational_solve/permuted_lower/dyadic_d3/adapter", + "rational_solve/permuted_lower/dyadic_d3/construct", + "rational_solve/permuted_lower/dyadic_d3/prepared", + "rational_solve/permuted_lower/dyadic_d4/adapter", + "rational_solve/permuted_lower/dyadic_d4/construct", + "rational_solve/permuted_lower/dyadic_d4/prepared", + "rational_solve/permuted_lower/dyadic_d5/adapter", + "rational_solve/permuted_lower/dyadic_d5/construct", + "rational_solve/permuted_lower/dyadic_d5/prepared", + "rational_solve/permuted_lower/dyadic_d6/adapter", + "rational_solve/permuted_lower/dyadic_d6/construct", + "rational_solve/permuted_lower/dyadic_d6/prepared", + "rational_solve/permuted_lower/dyadic_d7/adapter", + "rational_solve/permuted_lower/dyadic_d7/construct", + "rational_solve/permuted_lower/dyadic_d7/prepared", + "rational_solve/permuted_lower/dyadic_d8/adapter", + "rational_solve/permuted_lower/dyadic_d8/construct", + "rational_solve/permuted_lower/dyadic_d8/prepared", + "rational_solve/permuted_lower/rational_d2/adapter", + "rational_solve/permuted_lower/rational_d2/construct", + "rational_solve/permuted_lower/rational_d2/prepared", + "rational_solve/permuted_lower/rational_d3/adapter", + "rational_solve/permuted_lower/rational_d3/construct", + "rational_solve/permuted_lower/rational_d3/prepared", + "rational_solve/permuted_lower/rational_d4/adapter", + "rational_solve/permuted_lower/rational_d4/construct", + "rational_solve/permuted_lower/rational_d4/prepared", + "rational_solve/permuted_lower/rational_d5/adapter", + "rational_solve/permuted_lower/rational_d5/construct", + "rational_solve/permuted_lower/rational_d5/prepared", + "rational_solve/permuted_lower/rational_d6/adapter", + "rational_solve/permuted_lower/rational_d6/construct", + "rational_solve/permuted_lower/rational_d6/prepared", + "rational_solve/permuted_lower/rational_d7/adapter", + "rational_solve/permuted_lower/rational_d7/construct", + "rational_solve/permuted_lower/rational_d7/prepared", + "rational_solve/permuted_lower/rational_d8/adapter", + "rational_solve/permuted_lower/rational_d8/construct", + "rational_solve/permuted_lower/rational_d8/prepared", + "rational_solve/permuted_upper/dyadic_d2/adapter", + "rational_solve/permuted_upper/dyadic_d2/construct", + "rational_solve/permuted_upper/dyadic_d2/prepared", + "rational_solve/permuted_upper/dyadic_d3/adapter", + "rational_solve/permuted_upper/dyadic_d3/construct", + "rational_solve/permuted_upper/dyadic_d3/prepared", + "rational_solve/permuted_upper/dyadic_d4/adapter", + "rational_solve/permuted_upper/dyadic_d4/construct", + "rational_solve/permuted_upper/dyadic_d4/prepared", + "rational_solve/permuted_upper/dyadic_d5/adapter", + "rational_solve/permuted_upper/dyadic_d5/construct", + "rational_solve/permuted_upper/dyadic_d5/prepared", + "rational_solve/permuted_upper/dyadic_d6/adapter", + "rational_solve/permuted_upper/dyadic_d6/construct", + "rational_solve/permuted_upper/dyadic_d6/prepared", + "rational_solve/permuted_upper/dyadic_d7/adapter", + "rational_solve/permuted_upper/dyadic_d7/construct", + "rational_solve/permuted_upper/dyadic_d7/prepared", + "rational_solve/permuted_upper/dyadic_d8/adapter", + "rational_solve/permuted_upper/dyadic_d8/construct", + "rational_solve/permuted_upper/dyadic_d8/prepared", + "rational_solve/permuted_upper/rational_d2/adapter", + "rational_solve/permuted_upper/rational_d2/construct", + "rational_solve/permuted_upper/rational_d2/prepared", + "rational_solve/permuted_upper/rational_d3/adapter", + "rational_solve/permuted_upper/rational_d3/construct", + "rational_solve/permuted_upper/rational_d3/prepared", + "rational_solve/permuted_upper/rational_d4/adapter", + "rational_solve/permuted_upper/rational_d4/construct", + "rational_solve/permuted_upper/rational_d4/prepared", + "rational_solve/permuted_upper/rational_d5/adapter", + "rational_solve/permuted_upper/rational_d5/construct", + "rational_solve/permuted_upper/rational_d5/prepared", + "rational_solve/permuted_upper/rational_d6/adapter", + "rational_solve/permuted_upper/rational_d6/construct", + "rational_solve/permuted_upper/rational_d6/prepared", + "rational_solve/permuted_upper/rational_d7/adapter", + "rational_solve/permuted_upper/rational_d7/construct", + "rational_solve/permuted_upper/rational_d7/prepared", + "rational_solve/permuted_upper/rational_d8/adapter", + "rational_solve/permuted_upper/rational_d8/construct", + "rational_solve/permuted_upper/rational_d8/prepared", + "rational_solve/sparse/dyadic_d2/adapter", + "rational_solve/sparse/dyadic_d2/construct", + "rational_solve/sparse/dyadic_d2/prepared", + "rational_solve/sparse/dyadic_d3/adapter", + "rational_solve/sparse/dyadic_d3/construct", + "rational_solve/sparse/dyadic_d3/prepared", + "rational_solve/sparse/dyadic_d4/adapter", + "rational_solve/sparse/dyadic_d4/construct", + "rational_solve/sparse/dyadic_d4/prepared", + "rational_solve/sparse/dyadic_d5/adapter", + "rational_solve/sparse/dyadic_d5/construct", + "rational_solve/sparse/dyadic_d5/prepared", + "rational_solve/sparse/dyadic_d6/adapter", + "rational_solve/sparse/dyadic_d6/construct", + "rational_solve/sparse/dyadic_d6/prepared", + "rational_solve/sparse/dyadic_d7/adapter", + "rational_solve/sparse/dyadic_d7/construct", + "rational_solve/sparse/dyadic_d7/prepared", + "rational_solve/sparse/dyadic_d8/adapter", + "rational_solve/sparse/dyadic_d8/construct", + "rational_solve/sparse/dyadic_d8/prepared", + "rational_solve/sparse/rational_d2/adapter", + "rational_solve/sparse/rational_d2/construct", + "rational_solve/sparse/rational_d2/prepared", + "rational_solve/sparse/rational_d3/adapter", + "rational_solve/sparse/rational_d3/construct", + "rational_solve/sparse/rational_d3/prepared", + "rational_solve/sparse/rational_d4/adapter", + "rational_solve/sparse/rational_d4/construct", + "rational_solve/sparse/rational_d4/prepared", + "rational_solve/sparse/rational_d5/adapter", + "rational_solve/sparse/rational_d5/construct", + "rational_solve/sparse/rational_d5/prepared", + "rational_solve/sparse/rational_d6/adapter", + "rational_solve/sparse/rational_d6/construct", + "rational_solve/sparse/rational_d6/prepared", + "rational_solve/sparse/rational_d7/adapter", + "rational_solve/sparse/rational_d7/construct", + "rational_solve/sparse/rational_d7/prepared", + "rational_solve/sparse/rational_d8/adapter", + "rational_solve/sparse/rational_d8/construct", + "rational_solve/sparse/rational_d8/prepared", + "rational_solve/upper/dyadic_d2/adapter", + "rational_solve/upper/dyadic_d2/construct", + "rational_solve/upper/dyadic_d2/prepared", + "rational_solve/upper/dyadic_d3/adapter", + "rational_solve/upper/dyadic_d3/construct", + "rational_solve/upper/dyadic_d3/prepared", + "rational_solve/upper/dyadic_d4/adapter", + "rational_solve/upper/dyadic_d4/construct", + "rational_solve/upper/dyadic_d4/prepared", + "rational_solve/upper/dyadic_d5/adapter", + "rational_solve/upper/dyadic_d5/construct", + "rational_solve/upper/dyadic_d5/prepared", + "rational_solve/upper/dyadic_d6/adapter", + "rational_solve/upper/dyadic_d6/construct", + "rational_solve/upper/dyadic_d6/prepared", + "rational_solve/upper/dyadic_d7/adapter", + "rational_solve/upper/dyadic_d7/construct", + "rational_solve/upper/dyadic_d7/prepared", + "rational_solve/upper/dyadic_d8/adapter", + "rational_solve/upper/dyadic_d8/construct", + "rational_solve/upper/dyadic_d8/prepared", + "rational_solve/upper/rational_d2/adapter", + "rational_solve/upper/rational_d2/construct", + "rational_solve/upper/rational_d2/prepared", + "rational_solve/upper/rational_d3/adapter", + "rational_solve/upper/rational_d3/construct", + "rational_solve/upper/rational_d3/prepared", + "rational_solve/upper/rational_d4/adapter", + "rational_solve/upper/rational_d4/construct", + "rational_solve/upper/rational_d4/prepared", + "rational_solve/upper/rational_d5/adapter", + "rational_solve/upper/rational_d5/construct", + "rational_solve/upper/rational_d5/prepared", + "rational_solve/upper/rational_d6/adapter", + "rational_solve/upper/rational_d6/construct", + "rational_solve/upper/rational_d6/prepared", + "rational_solve/upper/rational_d7/adapter", + "rational_solve/upper/rational_d7/construct", + "rational_solve/upper/rational_d7/prepared", + "rational_solve/upper/rational_d8/adapter", + "rational_solve/upper/rational_d8/construct", + "rational_solve/upper/rational_d8/prepared", +] diff --git a/tooling/performance.just b/tooling/performance.just index 9dc35db..7fb7fd3 100644 --- a/tooling/performance.just +++ b/tooling/performance.just @@ -8,20 +8,54 @@ export CRITERION_HOME := absolute_path(env("CRITERION_HOME", "target/criterion") # Compare native targets on the measured host regardless of a caller's target override. host_target := `rustc --print host-tuple` -baseline-all mode="measure": (baseline-vs_linalg mode) (baseline-exact mode) +# Each public workload has one owner per phase. Peers are acquired once locally. +baseline-all mode="measure": budget (baseline-public-default mode) (baseline-public-exact mode) (baseline-peers mode) -baseline-exact mode="measure": - cargo bench --locked --target {{ host_target }} --features bench,exact --bench exact -- --noplot {{ if mode == "list" { "--list" } else { "" } }} +baseline-peers mode="measure": (peers mode) + +baseline-public-default mode="measure": (public-default mode) + +baseline-public-exact mode="measure": (public-exact mode) baseline-vs_linalg mode="measure": cargo bench --locked --target {{ host_target }} -p la-stack-comparison --features bench --bench vs_linalg -- --noplot {{ if mode == "list" { "--list" } else { "" } }} -current-all mode="measure": (current-vs_linalg mode) (current-exact mode) +# The independent case catalog describes the complete local acquisition budget. +budget: + uv run --locked --no-sync python -c 'import pathlib, tomllib; policy = tomllib.loads(pathlib.Path("tooling/performance-policy.toml").read_text()); default, exact = (len(policy["release"][name]) for name in ("default", "exact")); total = 2 * (default + exact) + 16; print(f"Local release: {default} default + {exact} exact cases per revision, 16 peer cases once; {total} measurements, {total * 8 / 60:.1f} nominal minutes at 3 s warmup + 5 s measurement (excludes compilation, gates and analysis).")' + +current-all mode="measure": (current-public-default mode) (current-public-exact mode) -current-exact mode="measure": (baseline-exact mode) +current-public-default mode="measure": (public-default mode) + +current-public-exact mode="measure": (public-exact mode) current-vs_linalg mode="measure": cargo bench --locked --target {{ host_target }} -p la-stack-comparison --features bench --bench vs_linalg -- la_stack --noplot {{ if mode == "list" { "--list" } else { "" } }} gate: cargo test --locked --target {{ host_target }} --workspace --features bench,exact --test vs_linalg_inputs --test exact_bench_config + +la-stack mode="measure" sample="": (public-default mode sample) (public-exact mode sample) + +# Shared native argument construction keeps discovery and measurement identical. +native suite filter features mode="measure" sample="": + #!/usr/bin/env bash + set -euo pipefail + args=(--noplot) + case {{ quote(mode) }} in + list) args+=(--list) ;; + test) args+=(--test) ;; + measure) ;; + *) echo "unknown acquisition mode" >&2; exit 2 ;; + esac + if [[ -n {{ quote(sample) }} ]]; then args+=(--save-baseline {{ quote(sample) }}); fi + package=la-stack + if [[ {{ quote(suite) }} == vs_linalg ]]; then package=la-stack-comparison; fi + cargo bench --locked --target {{ host_target }} -p "$package" --features {{ quote(features) }} --bench {{ quote(suite) }} -- {{ quote(filter) }} "${args[@]}" + +peers mode="measure" sample="": (native "vs_linalg" '^d(2|3|4|5|8|16|32|64)/(nalgebra|faer)_lu_solve$' "bench" mode sample) + +public-default mode="measure" sample="": (native "vs_linalg" '^d[0-9]+/la_stack_' "bench" mode sample) (native "angle" '/(prepared_vector|borrowed_slice|construct_then_angle)$' "bench" mode sample) (native "gram" '/la_stack$' "bench" mode sample) (native "interval" "" "bench" mode sample) (native "linear_form" "" "bench" mode sample) (native "public_api" "" "bench" mode sample) + +public-exact mode="measure" sample="": (native "exact" '^(canonical_conversion_|exact_(d[2-5]|random_corpus_d[2-5]|near_singular_3x3|large_entries_3x3|hilbert_[45]x[45])/|rational_input_.*d[2-8]/(det_sign_row_cleared_bareiss|det_row_cleared_bareiss|solve_row_cleared_bareiss)$)' "bench,exact" mode sample) (native "rational_solve" '/(construct|prepared|adapter)$' "bench,exact" mode sample) (native "public_api" '^public_exact_' "bench,exact" mode sample) diff --git a/tooling/plots/retained/det_from_lu-mean-linear.toml b/tooling/plots/retained/det_from_lu-mean-linear.toml deleted file mode 100644 index 03d132d..0000000 --- a/tooling/plots/retained/det_from_lu-mean-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_mean_linear.svg" -title = "Determinant from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/det_from_lu-mean-log.toml b/tooling/plots/retained/det_from_lu-mean-log.toml deleted file mode 100644 index 64e0ae8..0000000 --- a/tooling/plots/retained/det_from_lu-mean-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_mean_log.svg" -title = "Determinant from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/det_from_lu-median-linear.toml b/tooling/plots/retained/det_from_lu-median-linear.toml deleted file mode 100644 index d8f72c3..0000000 --- a/tooling/plots/retained/det_from_lu-median-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_median_linear.svg" -title = "Determinant from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/det_from_lu-median-log.toml b/tooling/plots/retained/det_from_lu-median-log.toml deleted file mode 100644 index d39bdd5..0000000 --- a/tooling/plots/retained/det_from_lu-median-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_median_log.svg" -title = "Determinant from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/det_via_lu-mean-linear.toml b/tooling/plots/retained/det_via_lu-mean-linear.toml deleted file mode 100644 index 8665e80..0000000 --- a/tooling/plots/retained/det_via_lu-mean-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_mean_linear.svg" -title = "Determinant via LU (factor + det): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/det_via_lu-mean-log.toml b/tooling/plots/retained/det_via_lu-mean-log.toml deleted file mode 100644 index 09d260e..0000000 --- a/tooling/plots/retained/det_via_lu-mean-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_mean_log.svg" -title = "Determinant via LU (factor + det): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/det_via_lu-median-linear.toml b/tooling/plots/retained/det_via_lu-median-linear.toml deleted file mode 100644 index 5defb8d..0000000 --- a/tooling/plots/retained/det_via_lu-median-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_median_linear.svg" -title = "Determinant via LU (factor + det): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/det_via_lu-median-log.toml b/tooling/plots/retained/det_via_lu-median-log.toml deleted file mode 100644 index 0895fb0..0000000 --- a/tooling/plots/retained/det_via_lu-median-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_median_log.svg" -title = "Determinant via LU (factor + det): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/dot-mean-linear.toml b/tooling/plots/retained/dot-mean-linear.toml deleted file mode 100644 index d692547..0000000 --- a/tooling/plots/retained/dot-mean-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_mean_linear.svg" -title = "Vector dot product: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/dot-mean-log.toml b/tooling/plots/retained/dot-mean-log.toml deleted file mode 100644 index e09928e..0000000 --- a/tooling/plots/retained/dot-mean-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_mean_log.svg" -title = "Vector dot product: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/dot-median-linear.toml b/tooling/plots/retained/dot-median-linear.toml deleted file mode 100644 index 3b14952..0000000 --- a/tooling/plots/retained/dot-median-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_median_linear.svg" -title = "Vector dot product: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/dot-median-log.toml b/tooling/plots/retained/dot-median-log.toml deleted file mode 100644 index a33067c..0000000 --- a/tooling/plots/retained/dot-median-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_median_log.svg" -title = "Vector dot product: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/inf_norm-mean-linear.toml b/tooling/plots/retained/inf_norm-mean-linear.toml deleted file mode 100644 index e40ca91..0000000 --- a/tooling/plots/retained/inf_norm-mean-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_mean_linear.svg" -title = "Matrix infinity norm (max abs row sum): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/inf_norm-mean-log.toml b/tooling/plots/retained/inf_norm-mean-log.toml deleted file mode 100644 index 574b0b4..0000000 --- a/tooling/plots/retained/inf_norm-mean-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_mean_log.svg" -title = "Matrix infinity norm (max abs row sum): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/inf_norm-median-linear.toml b/tooling/plots/retained/inf_norm-median-linear.toml deleted file mode 100644 index 5156293..0000000 --- a/tooling/plots/retained/inf_norm-median-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_median_linear.svg" -title = "Matrix infinity norm (max abs row sum): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/inf_norm-median-log.toml b/tooling/plots/retained/inf_norm-median-log.toml deleted file mode 100644 index ed3474f..0000000 --- a/tooling/plots/retained/inf_norm-median-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_median_log.svg" -title = "Matrix infinity norm (max abs row sum): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/lu-mean-linear.toml b/tooling/plots/retained/lu-mean-linear.toml deleted file mode 100644 index b583855..0000000 --- a/tooling/plots/retained/lu-mean-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_mean_linear.svg" -title = "LU factorization: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/lu-mean-log.toml b/tooling/plots/retained/lu-mean-log.toml deleted file mode 100644 index 8b4bcd7..0000000 --- a/tooling/plots/retained/lu-mean-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_mean_log.svg" -title = "LU factorization: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/lu-median-linear.toml b/tooling/plots/retained/lu-median-linear.toml deleted file mode 100644 index 5b5b502..0000000 --- a/tooling/plots/retained/lu-median-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_median_linear.svg" -title = "LU factorization: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/lu-median-log.toml b/tooling/plots/retained/lu-median-log.toml deleted file mode 100644 index c1ffdc0..0000000 --- a/tooling/plots/retained/lu-median-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_median_log.svg" -title = "LU factorization: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/norm2_sq-mean-linear.toml b/tooling/plots/retained/norm2_sq-mean-linear.toml deleted file mode 100644 index 3e2c497..0000000 --- a/tooling/plots/retained/norm2_sq-mean-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_mean_linear.svg" -title = "Vector squared 2-norm: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/norm2_sq-mean-log.toml b/tooling/plots/retained/norm2_sq-mean-log.toml deleted file mode 100644 index 339d26a..0000000 --- a/tooling/plots/retained/norm2_sq-mean-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_mean_log.svg" -title = "Vector squared 2-norm: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/norm2_sq-median-linear.toml b/tooling/plots/retained/norm2_sq-median-linear.toml deleted file mode 100644 index 76b2815..0000000 --- a/tooling/plots/retained/norm2_sq-median-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_median_linear.svg" -title = "Vector squared 2-norm: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/norm2_sq-median-log.toml b/tooling/plots/retained/norm2_sq-median-log.toml deleted file mode 100644 index efaeff7..0000000 --- a/tooling/plots/retained/norm2_sq-median-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_median_log.svg" -title = "Vector squared 2-norm: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/solve_from_lu-mean-linear.toml b/tooling/plots/retained/solve_from_lu-mean-linear.toml deleted file mode 100644 index 4f1598c..0000000 --- a/tooling/plots/retained/solve_from_lu-mean-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_mean_linear.svg" -title = "Solve from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/solve_from_lu-mean-log.toml b/tooling/plots/retained/solve_from_lu-mean-log.toml deleted file mode 100644 index 74bcfb9..0000000 --- a/tooling/plots/retained/solve_from_lu-mean-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_mean_log.svg" -title = "Solve from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/solve_from_lu-median-linear.toml b/tooling/plots/retained/solve_from_lu-median-linear.toml deleted file mode 100644 index c82ee2e..0000000 --- a/tooling/plots/retained/solve_from_lu-median-linear.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_median_linear.svg" -title = "Solve from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/retained/solve_from_lu-median-log.toml b/tooling/plots/retained/solve_from_lu-median-log.toml deleted file mode 100644 index 8c6574d..0000000 --- a/tooling/plots/retained/solve_from_lu-median-log.toml +++ /dev/null @@ -1,37 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -archive = "docs/performance-runs" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_median_log.svg" -title = "Solve from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_from_lu-mean-linear.toml b/tooling/plots/scratch/det_from_lu-mean-linear.toml deleted file mode 100644 index e34eeb9..0000000 --- a/tooling/plots/scratch/det_from_lu-mean-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_mean_linear.svg" -title = "Determinant from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_from_lu-mean-log.toml b/tooling/plots/scratch/det_from_lu-mean-log.toml deleted file mode 100644 index c54ab5f..0000000 --- a/tooling/plots/scratch/det_from_lu-mean-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_mean_log.svg" -title = "Determinant from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_from_lu-median-linear.toml b/tooling/plots/scratch/det_from_lu-median-linear.toml deleted file mode 100644 index e2bb150..0000000 --- a/tooling/plots/scratch/det_from_lu-median-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_median_linear.svg" -title = "Determinant from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_from_lu-median-log.toml b/tooling/plots/scratch/det_from_lu-median-log.toml deleted file mode 100644 index 2a13623..0000000 --- a/tooling/plots/scratch/det_from_lu-median-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_from_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_from_lu", "3" = "d3/la_stack_det_from_lu", "4" = "d4/la_stack_det_from_lu", "5" = "d5/la_stack_det_from_lu", "8" = "d8/la_stack_det_from_lu", "16" = "d16/la_stack_det_from_lu", "32" = "d32/la_stack_det_from_lu", "64" = "d64/la_stack_det_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_from_lu", "3" = "d3/nalgebra_det_from_lu", "4" = "d4/nalgebra_det_from_lu", "5" = "d5/nalgebra_det_from_lu", "8" = "d8/nalgebra_det_from_lu", "16" = "d16/nalgebra_det_from_lu", "32" = "d32/nalgebra_det_from_lu", "64" = "d64/nalgebra_det_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_from_lu", "3" = "d3/faer_det_from_lu", "4" = "d4/faer_det_from_lu", "5" = "d5/faer_det_from_lu", "8" = "d8/faer_det_from_lu", "16" = "d16/faer_det_from_lu", "32" = "d32/faer_det_from_lu", "64" = "d64/faer_det_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_from_lu_median_log.svg" -title = "Determinant from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_via_lu-mean-linear.toml b/tooling/plots/scratch/det_via_lu-mean-linear.toml deleted file mode 100644 index acef9c2..0000000 --- a/tooling/plots/scratch/det_via_lu-mean-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_mean_linear.svg" -title = "Determinant via LU (factor + det): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_via_lu-mean-log.toml b/tooling/plots/scratch/det_via_lu-mean-log.toml deleted file mode 100644 index 826a7ce..0000000 --- a/tooling/plots/scratch/det_via_lu-mean-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_mean_log.svg" -title = "Determinant via LU (factor + det): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_via_lu-median-linear.toml b/tooling/plots/scratch/det_via_lu-median-linear.toml deleted file mode 100644 index 759623b..0000000 --- a/tooling/plots/scratch/det_via_lu-median-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_median_linear.svg" -title = "Determinant via LU (factor + det): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/det_via_lu-median-log.toml b/tooling/plots/scratch/det_via_lu-median-log.toml deleted file mode 100644 index df7e8fa..0000000 --- a/tooling/plots/scratch/det_via_lu-median-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_det_via_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_det_via_lu", "3" = "d3/la_stack_det_via_lu", "4" = "d4/la_stack_det_via_lu", "5" = "d5/la_stack_det_via_lu", "8" = "d8/la_stack_det_via_lu", "16" = "d16/la_stack_det_via_lu", "32" = "d32/la_stack_det_via_lu", "64" = "d64/la_stack_det_via_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_det_via_lu", "3" = "d3/nalgebra_det_via_lu", "4" = "d4/nalgebra_det_via_lu", "5" = "d5/nalgebra_det_via_lu", "8" = "d8/nalgebra_det_via_lu", "16" = "d16/nalgebra_det_via_lu", "32" = "d32/nalgebra_det_via_lu", "64" = "d64/nalgebra_det_via_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_det_via_lu", "3" = "d3/faer_det_via_lu", "4" = "d4/faer_det_via_lu", "5" = "d5/faer_det_via_lu", "8" = "d8/faer_det_via_lu", "16" = "d16/faer_det_via_lu", "32" = "d32/faer_det_via_lu", "64" = "d64/faer_det_via_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_det_via_lu_median_log.svg" -title = "Determinant via LU (factor + det): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/dot-mean-linear.toml b/tooling/plots/scratch/dot-mean-linear.toml deleted file mode 100644 index 62171ab..0000000 --- a/tooling/plots/scratch/dot-mean-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_mean_linear.svg" -title = "Vector dot product: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/dot-mean-log.toml b/tooling/plots/scratch/dot-mean-log.toml deleted file mode 100644 index 7bda27f..0000000 --- a/tooling/plots/scratch/dot-mean-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_mean_log.svg" -title = "Vector dot product: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/dot-median-linear.toml b/tooling/plots/scratch/dot-median-linear.toml deleted file mode 100644 index bd64825..0000000 --- a/tooling/plots/scratch/dot-median-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_median_linear.svg" -title = "Vector dot product: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/dot-median-log.toml b/tooling/plots/scratch/dot-median-log.toml deleted file mode 100644 index 4f0b7d6..0000000 --- a/tooling/plots/scratch/dot-median-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_dot_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_dot", "3" = "d3/la_stack_dot", "4" = "d4/la_stack_dot", "5" = "d5/la_stack_dot", "8" = "d8/la_stack_dot", "16" = "d16/la_stack_dot", "32" = "d32/la_stack_dot", "64" = "d64/la_stack_dot" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_dot", "3" = "d3/nalgebra_dot", "4" = "d4/nalgebra_dot", "5" = "d5/nalgebra_dot", "8" = "d8/nalgebra_dot", "16" = "d16/nalgebra_dot", "32" = "d32/nalgebra_dot", "64" = "d64/nalgebra_dot" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_dot_native", "3" = "d3/faer_dot_native", "4" = "d4/faer_dot_native", "5" = "d5/faer_dot_native", "8" = "d8/faer_dot_native", "16" = "d16/faer_dot_native", "32" = "d32/faer_dot_native", "64" = "d64/faer_dot_native" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_dot_median_log.svg" -title = "Vector dot product: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/inf_norm-mean-linear.toml b/tooling/plots/scratch/inf_norm-mean-linear.toml deleted file mode 100644 index 68d08dd..0000000 --- a/tooling/plots/scratch/inf_norm-mean-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_mean_linear.svg" -title = "Matrix infinity norm (max abs row sum): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/inf_norm-mean-log.toml b/tooling/plots/scratch/inf_norm-mean-log.toml deleted file mode 100644 index 6d2250a..0000000 --- a/tooling/plots/scratch/inf_norm-mean-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_mean_log.svg" -title = "Matrix infinity norm (max abs row sum): mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/inf_norm-median-linear.toml b/tooling/plots/scratch/inf_norm-median-linear.toml deleted file mode 100644 index fb5ac73..0000000 --- a/tooling/plots/scratch/inf_norm-median-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_median_linear.svg" -title = "Matrix infinity norm (max abs row sum): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/inf_norm-median-log.toml b/tooling/plots/scratch/inf_norm-median-log.toml deleted file mode 100644 index 6e37f8f..0000000 --- a/tooling/plots/scratch/inf_norm-median-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_inf_norm_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_inf_norm", "3" = "d3/la_stack_inf_norm", "4" = "d4/la_stack_inf_norm", "5" = "d5/la_stack_inf_norm", "8" = "d8/la_stack_inf_norm", "16" = "d16/la_stack_inf_norm", "32" = "d32/la_stack_inf_norm", "64" = "d64/la_stack_inf_norm" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_inf_norm", "3" = "d3/nalgebra_inf_norm", "4" = "d4/nalgebra_inf_norm", "5" = "d5/nalgebra_inf_norm", "8" = "d8/nalgebra_inf_norm", "16" = "d16/nalgebra_inf_norm", "32" = "d32/nalgebra_inf_norm", "64" = "d64/nalgebra_inf_norm" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_inf_norm", "3" = "d3/faer_inf_norm", "4" = "d4/faer_inf_norm", "5" = "d5/faer_inf_norm", "8" = "d8/faer_inf_norm", "16" = "d16/faer_inf_norm", "32" = "d32/faer_inf_norm", "64" = "d64/faer_inf_norm" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_inf_norm_median_log.svg" -title = "Matrix infinity norm (max abs row sum): median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/lu-mean-linear.toml b/tooling/plots/scratch/lu-mean-linear.toml deleted file mode 100644 index d32c229..0000000 --- a/tooling/plots/scratch/lu-mean-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_mean_linear.svg" -title = "LU factorization: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/lu-mean-log.toml b/tooling/plots/scratch/lu-mean-log.toml deleted file mode 100644 index 62ac95f..0000000 --- a/tooling/plots/scratch/lu-mean-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_mean_log.svg" -title = "LU factorization: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/lu-median-linear.toml b/tooling/plots/scratch/lu-median-linear.toml deleted file mode 100644 index 1c45ecf..0000000 --- a/tooling/plots/scratch/lu-median-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_median_linear.svg" -title = "LU factorization: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/lu-median-log.toml b/tooling/plots/scratch/lu-median-log.toml deleted file mode 100644 index 85516ab..0000000 --- a/tooling/plots/scratch/lu-median-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_lu", "3" = "d3/la_stack_lu", "4" = "d4/la_stack_lu", "5" = "d5/la_stack_lu", "8" = "d8/la_stack_lu", "16" = "d16/la_stack_lu", "32" = "d32/la_stack_lu", "64" = "d64/la_stack_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_lu", "3" = "d3/nalgebra_lu", "4" = "d4/nalgebra_lu", "5" = "d5/nalgebra_lu", "8" = "d8/nalgebra_lu", "16" = "d16/nalgebra_lu", "32" = "d32/nalgebra_lu", "64" = "d64/nalgebra_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_lu", "3" = "d3/faer_lu", "4" = "d4/faer_lu", "5" = "d5/faer_lu", "8" = "d8/faer_lu", "16" = "d16/faer_lu", "32" = "d32/faer_lu", "64" = "d64/faer_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_lu_median_log.svg" -title = "LU factorization: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/norm2_sq-mean-linear.toml b/tooling/plots/scratch/norm2_sq-mean-linear.toml deleted file mode 100644 index aa34559..0000000 --- a/tooling/plots/scratch/norm2_sq-mean-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_mean_linear.svg" -title = "Vector squared 2-norm: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/norm2_sq-mean-log.toml b/tooling/plots/scratch/norm2_sq-mean-log.toml deleted file mode 100644 index 0924a20..0000000 --- a/tooling/plots/scratch/norm2_sq-mean-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_mean_log.svg" -title = "Vector squared 2-norm: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/norm2_sq-median-linear.toml b/tooling/plots/scratch/norm2_sq-median-linear.toml deleted file mode 100644 index 806a948..0000000 --- a/tooling/plots/scratch/norm2_sq-median-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_median_linear.svg" -title = "Vector squared 2-norm: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/norm2_sq-median-log.toml b/tooling/plots/scratch/norm2_sq-median-log.toml deleted file mode 100644 index b7f644d..0000000 --- a/tooling/plots/scratch/norm2_sq-median-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_norm2_sq_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_norm2_sq", "3" = "d3/la_stack_norm2_sq", "4" = "d4/la_stack_norm2_sq", "5" = "d5/la_stack_norm2_sq", "8" = "d8/la_stack_norm2_sq", "16" = "d16/la_stack_norm2_sq", "32" = "d32/la_stack_norm2_sq", "64" = "d64/la_stack_norm2_sq" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_norm_squared", "3" = "d3/nalgebra_norm_squared", "4" = "d4/nalgebra_norm_squared", "5" = "d5/nalgebra_norm_squared", "8" = "d8/nalgebra_norm_squared", "16" = "d16/nalgebra_norm_squared", "32" = "d32/nalgebra_norm_squared", "64" = "d64/nalgebra_norm_squared" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_norm2_sq", "3" = "d3/faer_norm2_sq", "4" = "d4/faer_norm2_sq", "5" = "d5/faer_norm2_sq", "8" = "d8/faer_norm2_sq", "16" = "d16/faer_norm2_sq", "32" = "d32/faer_norm2_sq", "64" = "d64/faer_norm2_sq" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_norm2_sq_median_log.svg" -title = "Vector squared 2-norm: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/solve_from_lu-mean-linear.toml b/tooling/plots/scratch/solve_from_lu-mean-linear.toml deleted file mode 100644 index daad11b..0000000 --- a/tooling/plots/scratch/solve_from_lu-mean-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_mean_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_mean_linear.svg" -title = "Solve from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/solve_from_lu-mean-log.toml b/tooling/plots/scratch/solve_from_lu-mean-log.toml deleted file mode 100644 index e46a030..0000000 --- a/tooling/plots/scratch/solve_from_lu-mean-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "mean" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_mean_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_mean_log.svg" -title = "Solve from precomputed LU: mean time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/solve_from_lu-median-linear.toml b/tooling/plots/scratch/solve_from_lu-median-linear.toml deleted file mode 100644 index 390023a..0000000 --- a/tooling/plots/scratch/solve_from_lu-median-linear.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_median_linear.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_median_linear.svg" -title = "Solve from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "linear" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current] diff --git a/tooling/plots/scratch/solve_from_lu-median-log.toml b/tooling/plots/scratch/solve_from_lu-median-log.toml deleted file mode 100644 index 0738c3b..0000000 --- a/tooling/plots/scratch/solve_from_lu-median-log.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Named view consumed directly by `performance publish --artifacts-only`. -schema = 2 -measurement = "tooling/measurements/full.toml" -payload = "target/bench-reports/full/run.json" -manifest = "target/bench-reports/full/evidence.json" -statistic = "median" -unit = "ns" -missing = "error" -csv = "docs/assets/bench/vs_linalg_solve_from_lu_median_log.csv" -rows = [ - { key = "2", label = "2", coordinate = 2 }, - { key = "3", label = "3", coordinate = 3 }, - { key = "4", label = "4", coordinate = 4 }, - { key = "5", label = "5", coordinate = 5 }, - { key = "8", label = "8", coordinate = 8 }, - { key = "16", label = "16", coordinate = 16 }, - { key = "32", label = "32", coordinate = 32 }, - { key = "64", label = "64", coordinate = 64 }, -] -series = [ - { name = "la-stack current", label = "la-stack", label-version = "release", rows = { "2" = "d2/la_stack_solve_from_lu", "3" = "d3/la_stack_solve_from_lu", "4" = "d4/la_stack_solve_from_lu", "5" = "d5/la_stack_solve_from_lu", "8" = "d8/la_stack_solve_from_lu", "16" = "d16/la_stack_solve_from_lu", "32" = "d32/la_stack_solve_from_lu", "64" = "d64/la_stack_solve_from_lu" } }, - { name = "nalgebra", label = "nalgebra", label-version = "dependency.nalgebra", rows = { "2" = "d2/nalgebra_solve_from_lu", "3" = "d3/nalgebra_solve_from_lu", "4" = "d4/nalgebra_solve_from_lu", "5" = "d5/nalgebra_solve_from_lu", "8" = "d8/nalgebra_solve_from_lu", "16" = "d16/nalgebra_solve_from_lu", "32" = "d32/nalgebra_solve_from_lu", "64" = "d64/nalgebra_solve_from_lu" } }, - { name = "faer", label = "faer", label-version = "dependency.faer", rows = { "2" = "d2/faer_solve_from_lu", "3" = "d3/faer_solve_from_lu", "4" = "d4/faer_solve_from_lu", "5" = "d5/faer_solve_from_lu", "8" = "d8/faer_solve_from_lu", "16" = "d16/faer_solve_from_lu", "32" = "d32/faer_solve_from_lu", "64" = "d64/faer_solve_from_lu" } }, -] -comparisons = [ { numerator = "nalgebra", denominator = "la-stack current" }, { numerator = "faer", denominator = "la-stack current" } ] - -[plot] -path = "docs/assets/bench/vs_linalg_solve_from_lu_median_log.svg" -title = "Solve from precomputed LU: median time vs dimension" -x-label = "Dimension D" -y-label = "Time" -x-scale = "linear" -y-scale = "log" - -[provenance.baseline] -# Supply independent release and full commit assertions on the command line. - -[provenance.current]