Some checks failed
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 11m45s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 10s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 7s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 12s
wai-audit collector and player integration / does this change touch it (pull_request) Successful in 5s
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 7s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 11s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (pull_request) Successful in 5s
WAI operation catalogue / does this change touch it (pull_request) Successful in 7s
WAI conformance / does this change touch it (pull_request) Successful in 8s
wai-fleet service / does this change touch it (pull_request) Successful in 5s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 9s
WAI energy receipts / does this change touch it (pull_request) Successful in 10s
wai-quantum command line / does this change touch it (pull_request) Successful in 6s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 10s
wai-ledger service / does this change touch it (pull_request) Successful in 15s
wai-quantum dataflow member / does this change touch it (pull_request) Successful in 6s
wai-quantum docs, course and locales / does this change touch it (pull_request) Successful in 10s
wai-quantum contract / does this change touch it (pull_request) Successful in 19s
wai-quantum signal processor / does this change touch it (pull_request) Successful in 7s
wai-quantum CUDA member / does this change touch it (pull_request) Successful in 19s
wai-quantum editors / does this change touch it (pull_request) Successful in 6s
wai-quantum other formats / does this change touch it (pull_request) Successful in 9s
wai-quantum resource estimation / does this change touch it (pull_request) Successful in 9s
wai-quantum FPGA member / does this change touch it (pull_request) Successful in 7s
wai-quantum energy-landscape jobs / does this change touch it (pull_request) Successful in 6s
wai-quantum for JavaScript / does this change touch it (pull_request) Successful in 8s
wai-quantum HIP member / does this change touch it (pull_request) Successful in 8s
wai-quantum Metal member / does this change touch it (pull_request) Successful in 6s
wai-quantum OpenQASM reader / does this change touch it (pull_request) Successful in 7s
wai-quantum neural-processor member / does this change touch it (pull_request) Successful in 6s
wai-quantum npu-cores member / does this change touch it (pull_request) Successful in 11s
wai-quantum OpenCL member / does this change touch it (pull_request) Successful in 8s
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Successful in 3m6s
wai-quantum on every processor / emulated · armv7-unknown-linux-gnueabihf (pull_request) Successful in 2m48s
wai-quantum pulse and dynamics / does this change touch it (pull_request) Successful in 5s
wai-quantum HIP member / member · HIP (framework-128gb) (pull_request) Successful in 1m3s
wai-quantum on every processor / emulated · aarch64-unknown-linux-gnu (pull_request) Successful in 3m24s
wai-quantum error correction and mitigation / does this change touch it (pull_request) Successful in 6s
wai-quantum-qpu / does this change touch it (pull_request) Successful in 7s
wai-quantum for Python / does this change touch it (pull_request) Successful in 19s
wai-quantum extension points / does this change touch it (pull_request) Successful in 8s
wai-quantum service / does this change touch it (pull_request) Successful in 16s
wai-quantum matrix-extension member / does this change touch it (pull_request) Successful in 9s
wai-quantum tensor-engine member / does this change touch it (pull_request) Successful in 9s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 20s
wai-quantum portable tensor program / does this change touch it (pull_request) Successful in 9s
wai-quantum variational and algorithm library / does this change touch it (pull_request) Successful in 7s
wai-quantum verdicts and repairs / does this change touch it (pull_request) Successful in 5s
wai-quantum npu-cores member / member · npu-cores, neural processor (framework-128gb silicon) (pull_request) Successful in 1m16s
wai-quantum on every processor / emulated · loongarch64-unknown-linux-gnu (pull_request) Successful in 4m30s
wai-quantum views in agent hosts / does this change touch it (pull_request) Successful in 7s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 6s
wai-quantum CPU vector units / does this change touch it (pull_request) Successful in 17s
wai-sink-android native sink library / does this change touch it (pull_request) Successful in 9s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 5s
wai-sink-swift native sink package / does this change touch it (pull_request) Successful in 7s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 8s
wai-web wasm32 / does this change touch it (pull_request) Successful in 8s
wai-quantum OpenCL member / member · OpenCL GPU (framework-128gb) (pull_request) Successful in 22s
WAI Studio / does this change touch it (pull_request) Successful in 19s
wai-quantum portable tensor program / tensor program · integrated GPU (framework-128gb) (pull_request) Successful in 12s
wai-quantum on every processor / emulated · s390x-unknown-linux-gnu (pull_request) Successful in 5m48s
wai-quantum on every processor / emulated · powerpc64-unknown-linux-gnu (pull_request) Successful in 9m49s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Failing after 6s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Successful in 53s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Successful in 1m21s
WAI conformance / cargo-class corpora · macos (pull_request) Failing after 5s
WAI conformance / cross-arch byte-equality · macos (pull_request) Failing after 5s
wai-quantum on every processor / emulated · powerpc64le-unknown-linux-gnu (pull_request) Successful in 11m31s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Failing after 6s
WAI energy receipts / energy receipts · macos (pull_request) Failing after 6s
standards workspaces build + test / macOS energy backends (pull_request) Failing after 1m32s
wai-fleet service / service · macos (pull_request) Successful in 38s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 7m54s
wai-quantum CPU vector units / member · vector units, avx2 and avx512 (framework-128gb silicon) (pull_request) Successful in 17s
wai-quantum on every processor / emulated · riscv64gc-unknown-linux-gnu (pull_request) Successful in 13m4s
wai-quantum command line / command line · macos (pull_request) Successful in 1m56s
wai-quantum dataflow member / member · dataflow device absent (macos) (pull_request) Successful in 19s
wai-ledger service / service · macos (pull_request) Successful in 1m2s
wai-pack / wai-pack · macos (pull_request) Successful in 2m28s
wai-quantum editors / editors · macos (pull_request) Successful in 1m12s
wai-quantum FPGA member / member · FPGA datapath, simulated (macos) (pull_request) Successful in 1m19s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 24s
wai-quantum energy-landscape jobs / the same bits · macos (pull_request) Successful in 57s
wai-quantum on every processor / emulated · i686-unknown-linux-gnu (pull_request) Successful in 14m4s
wai-quantum Metal member / member · Metal (macos) (pull_request) Successful in 34s
wai-quantum-qpu / credentials in the keychain (macos) (pull_request) Successful in 29s
wai-quantum pulse and dynamics / the same bits · macos (pull_request) Successful in 1m0s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Successful in 6m47s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 14s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 24s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Failing after 6s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Failing after 6s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Failing after 6s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Failing after 7s
wai-quantum for Python / python · macos (pull_request) Successful in 2m33s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 4m58s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m48s
wai-quantum service / service · macos (pull_request) Successful in 4m4s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 4m37s
wai-quantum on every processor / emulated · sparc64-unknown-linux-gnu (pull_request) Successful in 23m32s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 13m40s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 8m56s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 4m17s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 9m3s
wai-quantum CUDA member / member · CUDA (thor) (pull_request) Successful in 2m28s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (thor) (pull_request) Successful in 1m2s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Successful in 1m19s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 1m22s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Failing after 2m18s
wai-ledger service / service · linux (pull_request) Successful in 1m59s
wai-audit collector and player integration / collector · linux (pull_request) Successful in 2m54s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 8s
wai-fleet service / service · linux (pull_request) Successful in 2m53s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Successful in 3m22s
wai-quantum contract / the policy is linked, and the deprecations page reads (pull_request) Successful in 5s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:401e) (pull_request) Successful in 2m11s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 4m4s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 4m22s
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 25s
wai-quantum CUDA member / member · CUDA absent (linux) (pull_request) Successful in 1m40s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 22s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 6m29s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 4m11s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m29s
wai-quantum resource estimation / estimation and calibration · linux, release (pull_request) Successful in 2m30s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 6m55s
wai-quantum editors / editors · linux (pull_request) Successful in 3m18s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 15s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 35s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 28s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m48s
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Successful in 7m44s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 49s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m6s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 38s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:b140) (pull_request) Successful in 7m3s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (pull_request) Successful in 3m54s
wai-quantum contract / API compatibility · linux (pull_request) Successful in 6m1s
wai-quantum OpenQASM reader / reader and corpus · linux (pull_request) Successful in 2m11s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m24s
wai-quantum other formats / readers, writers and the set · linux (pull_request) Successful in 5m18s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 1m16s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (pull_request) Successful in 4m35s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Failing after 44s
wai-quantum contract / schemas and the committed tool lists · linux (pull_request) Successful in 6m54s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m5s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (pull_request) Successful in 2m21s
wai-pack / wai-pack · linux (pull_request) Successful in 9m35s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 3m0s
wai-quantum for JavaScript / javascript · linux (pull_request) Successful in 4m35s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m41s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (pull_request) Successful in 2m8s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 2m14s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 26s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 50s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 42s
wai-quantum for Python / python · linux (pull_request) Successful in 4m41s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (pull_request) Successful in 3m0s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 26s
wai-quantum extension points / the registry and the example · linux (pull_request) Successful in 4m42s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 25s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m19s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 1m45s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 13m55s
wai-quantum views in agent hosts / views · the page and its engine (pull_request) Successful in 4m15s
wai-quantum command line / command line · linux (pull_request) Successful in 14m19s
wai-quantum service / service · linux (pull_request) Successful in 5m46s
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 5m2s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 5m56s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 2m3s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 15m17s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 3m24s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 7m15s
WAI operation catalogue / the catalogue and every door · linux (pull_request) Successful in 17m3s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 7m49s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (pull_request) Successful in 10m24s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 24m58s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 6m22s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 6m35s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Successful in 9m37s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 7m28s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 22m19s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 20m10s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 15m10s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 26m41s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 27m12s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 26m55s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 3m7s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 31s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 8m43s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 24m33s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 2m3s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (pull_request) Successful in 1m55s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 1m3s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 1m45s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 1m3s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 2m22s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 9m50s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 2m28s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 3m57s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 4m27s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h40m20s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 1m46s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 48s
wai-quantum service / service energy · linux packages (pull_request) Successful in 1m41s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 33s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 21m16s
The label and the answer's joules changed, so the digests over whole answers moved: the talks' lines, every example's lines and the corpus digest are stated again, from runs of reproduce.sh on x86-64 Linux, arm64 Linux and macOS (with the browser build), each giving every value. The page read the figure for scale by its old name and could not show a run's card; the page check caught it, and now passes 77 of 77 with the browser build's answers the command line's bytes. Co-Authored-By: Claude Opus 5.5 <[email protected]>
89 lines
6.2 KiB
Shell
Executable file
89 lines
6.2 KiB
Shell
Executable file
#!/bin/sh
|
|
# Check the stated result (stated-result.md), from a clean checkout. Needs Rust through rustup, which
|
|
# reads rust-toolchain.toml. Node, wasm-bindgen 0.2.127 and the wasm32-unknown-unknown target are needed
|
|
# only for the last, optional check.
|
|
# quantum-conformance/landscape/reproduce.sh each stated value, and what this machine got
|
|
# quantum-conformance/landscape/reproduce.sh --print this machine's values only, to state them
|
|
set -eu
|
|
HERE=$(cd "$(dirname "$0")" && pwd)
|
|
WAI=$(cd "$HERE/../.." && pwd)
|
|
PRINT=0; [ "${1:-}" = "--print" ] && PRINT=1
|
|
cd "$WAI/wai-quantum-cli"
|
|
cargo build --release --locked >/dev/null 2>&1 || cargo build --release --locked
|
|
T=$(cargo metadata --format-version 1 --no-deps | sed -n 's/.*"target_directory":"\([^"]*\)".*/\1/p')
|
|
B=$T/release/wai-quantum
|
|
TMP=$(mktemp -d)
|
|
sha() { if command -v sha256sum >/dev/null; then sha256sum "$1" | cut -d' ' -f1; else shasum -a 256 "$1" | cut -d' ' -f1; fi; }
|
|
fail=0
|
|
state() {
|
|
if [ $PRINT = 1 ]; then echo "$1: $2"; return; fi
|
|
if [ "$2" = "$3" ]; then echo "PASS $1: $2"; else echo "FAIL $1: this machine got $2, the stated value is $3"; fail=1; fi
|
|
}
|
|
|
|
# 1. The twelve talks, a thousand seeds.
|
|
"$B" landscape replay --example talks --seed 1 --seeds 1000 > "$TMP/talks.txt"
|
|
"$B" landscape run --example talks --seed 1 --json --demo-key > "$TMP/talks1.json"
|
|
state "talks: arrangements checked" "$(sed -n 's/.*"arrangements":\([0-9]*\).*/\1/p' "$TMP/talks1.json")" "531441"
|
|
state "talks: lowest energy" "$(sed -n 's/.*"lowest":\(-*[0-9]*\).*/\1/p' "$TMP/talks1.json")" "-10"
|
|
state "talks: arrangements at the lowest energy" "$(sed -n 's/.*"at_lowest":\([0-9]*\).*/\1/p' "$TMP/talks1.json")" "2"
|
|
state "talks: runs of 1000 that reach it" "$(awk '$4 == "-10"' "$TMP/talks.txt" | wc -l | tr -d ' ')" "1000"
|
|
state "talks: accumulates a run" "$(awk '{print $6}' "$TMP/talks.txt" | sort -u | tr '\n' ' ' | sed 's/ $//')" "13440"
|
|
state "talks: replay digest at seed 1" "$(sed -n 's/.*"replay":"\([0-9a-f]*\)".*/\1/p' "$TMP/talks1.json")" "6c40700b29e6193abe0a54d8424f2c65f6658a55849176b21f2e2cce4bca05fc"
|
|
state "talks: the lines of seeds 1 to 1000, SHA-256" "$(sha "$TMP/talks.txt")" "9ad4367cf31a607c3edfc3732d740824e4b7d56ae141c5bf772fd087347209dd"
|
|
|
|
# 2. Every worked example, at its own temperature, at 0 and at 0.5, two hundred seeds each.
|
|
: > "$TMP/examples.txt"
|
|
for e in $("$B" landscape examples | awk '{print $1}'); do
|
|
for t in "" 0 0.5; do
|
|
echo "== $e ${t:-own}" >> "$TMP/examples.txt"
|
|
if [ -n "$t" ]; then "$B" landscape replay --example "$e" --seed 0 --seeds 200 --temperature "$t" >> "$TMP/examples.txt" 2>&1 || true
|
|
else "$B" landscape replay --example "$e" --seed 0 --seeds 200 >> "$TMP/examples.txt" 2>&1 || true; fi
|
|
done
|
|
done
|
|
state "examples: runs that solved, of those that ran" "$(grep -c ' solved ' "$TMP/examples.txt") of $(awk 'NF == 7' "$TMP/examples.txt" | wc -l | tr -d ' ')" "3637 of 7800"
|
|
state "examples: every line, SHA-256" "$(sha "$TMP/examples.txt")" "d9db5db3fc24f35a8d8c389e720ccbe36e7c3c26bcb16672db064cddc892e95b"
|
|
state "examples: the digest of every answer at 20 seeds" "$("$B" landscape corpus --seeds 20)" "a84fb1e13592511ce7f9ebd2dde1af711bcc16786fc2f08d79032cab2e93158a"
|
|
|
|
# 3. The scale table, which is this directory's.
|
|
mkdir -p "$TMP/table"
|
|
"$B" landscape table --out "$TMP/table" > /dev/null
|
|
state "table: table.json, SHA-256" "$(sha "$TMP/table/table.json")" "aea3a97c927fbce24197d0065f63e1f36a2bda6c359fa67f956c4ab752c32dd6"
|
|
state "table: table.json the same as this directory's" "$(cmp -s "$TMP/table/table.json" "$HERE/table.json" && echo same || echo different)" "same"
|
|
state "table: table.md the same as this directory's" "$(cmp -s "$TMP/table/table.md" "$HERE/table.md" && echo same || echo different)" "same"
|
|
tally() { sed -n "s/.*$1 reached the target more often than every classical solver in \([0-9]*\), tied the best of them in \([0-9]*\), and was behind the best of them in \([0-9]*\)\..*/\1 \2 \3/p" "$TMP/table/table.md"; }
|
|
state "table: at the default start, ahead, tied and behind the best classical method" "$(tally 'at the default start')" "2 45 21"
|
|
state "table: at the hot start, ahead, tied and behind the best classical method" "$(tally 'at the hot start, the largest row of couplings')" "0 38 30"
|
|
|
|
# 4. The conformance set and the trial, which are this directory's.
|
|
"$B" landscape vectors > "$TMP/vectors.json"
|
|
state "vectors: the same as this directory's" "$(cmp -s "$TMP/vectors.json" "$HERE/vectors.json" && echo same || echo different)" "same"
|
|
"$B" landscape trial-assignment > "$TMP/trial-assignment.json"
|
|
state "trial: the same as this directory's" "$(cmp -s "$TMP/trial-assignment.json" "$HERE/trial-assignment.json" && echo same || echo different)" "same"
|
|
|
|
# 5. Optional: the same answers from the browser build, if Node and its tools are here. The
|
|
# comparison's own exit status decides: POSIX sh has no pipefail, so nothing is piped.
|
|
if command -v node >/dev/null && command -v wasm-bindgen >/dev/null && rustup target list --installed 2>/dev/null | grep -q wasm32-unknown-unknown; then
|
|
WB=$(wasm-bindgen --version | awk '{print $2}')
|
|
if [ "$WB" != 0.2.127 ]; then
|
|
echo "SKIP native against WebAssembly: wasm-bindgen $WB is here, and wai-web's lockfile takes 0.2.127"
|
|
elif ! (cd "$WAI/wai-web" && cargo build --locked --release --target wasm32-unknown-unknown --features quantum_engine >/dev/null 2>&1); then
|
|
echo "FAIL native against WebAssembly: the browser build did not build"
|
|
fail=1
|
|
else
|
|
W=$(cd "$WAI/wai-web" && cargo metadata --format-version 1 --no-deps | sed -n 's/.*"target_directory":"\([^"]*\)".*/\1/p')
|
|
wasm-bindgen --target nodejs --out-dir "$TMP/pkg" --out-name wai_web "$W/wasm32-unknown-unknown/release/wai_web.wasm"
|
|
cp "$WAI/wai-web/demo/verify_landscape_wasm.mjs" "$TMP/verify.mjs"
|
|
if out=$(node "$TMP/verify.mjs" "$TMP/pkg/wai_web.js" "$B" 200 2>&1); then
|
|
echo "PASS $(printf '%s\n' "$out" | tail -1)"
|
|
else
|
|
echo "FAIL $(printf '%s\n' "$out" | tail -1)"
|
|
fail=1
|
|
fi
|
|
fi
|
|
else
|
|
echo "SKIP native against WebAssembly: needs Node, wasm-bindgen and the wasm32-unknown-unknown target"
|
|
fi
|
|
|
|
[ $PRINT = 1 ] && exit 0
|
|
[ $fail = 0 ] && echo "Every stated value reproduced on this machine." || echo "At least one stated value did not reproduce."
|
|
exit $fail
|