diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 549b62b297..c1d6a2ecb6 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -1,4 +1,4 @@ -name: Linux Tests +name: Tests on: [ push, pull_request ] @@ -13,11 +13,16 @@ concurrency: cancel-in-progress: true jobs: - gcc_x86_64_linux: - name: GCC X86_64 Linux - runs-on: ubuntu-22.04 + tests: + name: ${{ matrix.environment }} ${{ matrix.runs-on }} + runs-on: ${{ matrix.runs-on }} env: XSREF_TABLES_PATH: "${{ github.workspace }}/xsref/tables" + strategy: + fail-fast: false + matrix: + environment: [tests-ci] + runs-on: [ubuntu-latest, macos-latest] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -25,8 +30,6 @@ jobs: with: pixi-version: v0.44.0 cache: true + environments: ${{ matrix.environment }} - name: Run tests - run: | - pixi run configure-tests - pixi run build-only -j2 - pixi run tests -j2 + run: pixi run --environment=tests-ci tests-ci diff --git a/README.md b/README.md index 83a9595eee..051ec9c938 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # xsf -Special function implementations +Special function implementations. + +See https://github.com/scipy/xsf/issues/1 for context. ## Tests @@ -9,16 +11,19 @@ To run the tests: - [install Pixi](https://pixi.sh/latest/#installation) - `pixi run tests` -For subsequent test runs, you can skip re-cloning [`xsref`](https://github.com/scipy/xsref) with: +You can trigger a rebuild inbetween test runs with: ```shell -pixi run --skip-deps tests +pixi run build-tests ``` -You can trigger a rebuild inbetween test runs with: +For subsequent test runs, to skip re-cloning [`xsref`](https://github.com/scipy/xsref) or to control parallelism for individual commands, you can use: ```shell -pixi run build-tests +pixi run clone-xsf +pixi run configure-tests +pixi run build-only -j8 +pixi run --skip-deps tests -j2 ``` > [!NOTE] diff --git a/pixi.lock b/pixi.lock index 15f09f7838..1af5089bf9 100644 --- a/pixi.lock +++ b/pixi.lock @@ -1,6 +1,378 @@ version: 6 environments: default: + channels: + - url: https://prefix.dev/conda-forge/ + packages: + linux-64: + - conda: https://prefix.dev/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-auth-0.8.7-h7743f02_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-cal-0.8.7-h7d555fd_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-common-0.12.1-hb9d3cd8_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-compression-0.3.1-hcbd9e4e_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-event-stream-0.5.4-h286e7e7_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-http-0.9.5-hbca0721_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-io-0.17.0-ha855f32_8.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-mqtt-0.12.2-hffac463_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-s3-0.7.13-h4c9fe3b_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-c-sdkutils-0.2.3-hcbd9e4e_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-checksums-0.2.3-hcbd9e4e_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-crt-cpp-0.31.1-h46b750d_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/aws-sdk-cpp-1.11.510-h1fa5cb7_4.conda + - conda: https://prefix.dev/conda-forge/linux-64/azure-core-cpp-1.14.0-h5cfcd09_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/azure-identity-cpp-1.10.0-h113e628_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/azure-storage-blobs-cpp-12.13.0-h3cf044e_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/azure-storage-common-cpp-12.8.0-h736e048_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.12.0-ha633028_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/binutils-2.43-h4852527_4.conda + - conda: https://prefix.dev/conda-forge/linux-64/binutils_impl_linux-64-2.43-h4bf12b8_4.conda + - conda: https://prefix.dev/conda-forge/linux-64/binutils_linux-64-2.43-h4852527_4.conda + - conda: https://prefix.dev/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/c-ares-1.34.4-hb9d3cd8_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/c-compiler-1.9.0-h2b85faf_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/ca-certificates-2025.1.31-hbcca054_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/catch2-3.8.0-h84d6215_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/cmake-3.31.6-h74e3db0_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/cxx-compiler-1.9.0-h1a2810e_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/gcc-13.3.0-h9576a4e_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/gcc_impl_linux-64-13.3.0-h1e990d8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/gcc_linux-64-13.3.0-hc28eda2_8.conda + - conda: https://prefix.dev/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + - conda: https://prefix.dev/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/gxx-13.3.0-h9576a4e_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/gxx_impl_linux-64-13.3.0-hae580e1_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/gxx_linux-64-13.3.0-h6834431_8.conda + - conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-64-3.10.0-he073ed8_18.conda + - conda: https://prefix.dev/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + - conda: https://prefix.dev/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_4.conda + - conda: https://prefix.dev/conda-forge/linux-64/libabseil-20250127.1-cxx17_hbbce691_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-19.0.1-h052fb8e_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-acero-19.0.1-hcb10f89_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-all-19.0.1-ha3c9709_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-dataset-19.0.1-hcb10f89_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-flight-19.0.1-hba9a014_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-flight-sql-19.0.1-h1bed206_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-gandiva-19.0.1-h8debca8_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libarrow-substrait-19.0.1-h1bed206_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + - conda: https://prefix.dev/conda-forge/linux-64/libcurl-8.13.0-h332b0f4_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libexpat-2.7.0-h5888daf_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgcc-14.2.0-h767d61c_2.conda + - conda: https://prefix.dev/conda-forge/noarch/libgcc-devel_linux-64-13.3.0-hc03c837_102.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgomp-14.2.0-h767d61c_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgoogle-cloud-2.36.0-hc4361e1_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgoogle-cloud-storage-2.36.0-h0121fbd_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgrpc-1.71.0-he753a82_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libiconv-1.18-h4ce23a2_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libllvm18-18.1.8-ha7bfdaf_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libopentelemetry-cpp-1.19.0-hd1b1c89_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libopentelemetry-cpp-headers-1.19.0-ha770c72_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libparquet-19.0.1-h081d1f1_6_cpu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libprotobuf-5.29.3-h501fc15_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libre2-11-2024.07.02-hba17884_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/libsanitizer-13.3.0-he8ea267_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libssh2-1.11.1-hf672d98_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libstdcxx-14.2.0-h8f9b012_2.conda + - conda: https://prefix.dev/conda-forge/noarch/libstdcxx-devel_linux-64-13.3.0-hc03c837_102.conda + - conda: https://prefix.dev/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/libthrift-0.21.0-h0e7cc3e_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libutf8proc-2.10.0-h4c51ac1_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libuv-1.50.0-hb9d3cd8_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libxml2-2.13.7-h81593ed_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/nlohmann_json-3.11.3-he02047a_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/openssl-3.4.1-h7b32b05_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/orc-2.1.1-h17f744e_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/re2-2024.07.02-h9925aae_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/rhash-1.4.5-hb9d3cd8_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/s2n-1.5.15-hd830067_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/snappy-1.2.1-h8bd8927_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sysroot_linux-64-2.17-h0157908_18.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + osx-64: + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-auth-0.8.7-he59c91b_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-cal-0.8.7-h91d212f_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-common-0.12.1-h6e16a3a_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-compression-0.3.1-h9988e47_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-event-stream-0.5.4-h8941ec8_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-http-0.9.5-h10cf2d7_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-io-0.17.0-h61e5591_8.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-mqtt-0.12.2-h26cd796_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-s3-0.7.13-h0a7a62b_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-c-sdkutils-0.2.3-h9988e47_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-checksums-0.2.3-h9988e47_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-crt-cpp-0.31.1-h8ec4a44_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/aws-sdk-cpp-1.11.510-h6101e66_4.conda + - conda: https://prefix.dev/conda-forge/osx-64/azure-core-cpp-1.14.0-h9a36307_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/azure-identity-cpp-1.10.0-ha4e2ba9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/azure-storage-blobs-cpp-12.13.0-h3d2f5f1_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/azure-storage-common-cpp-12.8.0-h1ccc5ac_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.12.0-h86941f0_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/c-ares-1.34.4-hf13058a_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/c-compiler-1.9.0-h09a7c41_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/ca-certificates-2025.1.31-h8857fd0_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/catch2-3.8.0-h9275861_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools-1010.6-ha66f10e_5.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1010.6-hd19c6af_5.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang-18-18.1.8-default_h3571c67_8.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang-18.1.8-default_h576c50e_8.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang_impl_osx-64-18.1.8-h6a44ed1_24.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang_osx-64-18.1.8-h7e5c614_24.conda + - conda: https://prefix.dev/conda-forge/osx-64/clangxx-18.1.8-default_heb2e8d1_8.conda + - conda: https://prefix.dev/conda-forge/osx-64/clangxx_impl_osx-64-18.1.8-h4b7810f_24.conda + - conda: https://prefix.dev/conda-forge/osx-64/clangxx_osx-64-18.1.8-h7e5c614_24.conda + - conda: https://prefix.dev/conda-forge/osx-64/cmake-3.31.6-h477996e_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/compiler-rt-18.1.8-h1020d70_1.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-64-18.1.8-hf2b8a54_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/cxx-compiler-1.9.0-h20888b2_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda + - conda: https://prefix.dev/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/krb5-1.21.3-h37d8d59_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/ld64-951.9-h4e51db5_5.conda + - conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-951.9-h33512f0_5.conda + - conda: https://prefix.dev/conda-forge/osx-64/libabseil-20250127.1-cxx17_h0e468a2_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-19.0.1-hb56cf8f_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-acero-19.0.1-hdc53af8_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-all-19.0.1-hc3bcacb_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-dataset-19.0.1-hdc53af8_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-flight-19.0.1-h0493aa3_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-flight-sql-19.0.1-ha37b807_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-gandiva-19.0.1-h3f6ac01_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libarrow-substrait-19.0.1-ha37b807_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libbrotlicommon-1.1.0-h00291cd_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/libbrotlidec-1.1.0-h00291cd_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/libbrotlienc-1.1.0-h00291cd_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/libclang-cpp18.1-18.1.8-default_h3571c67_8.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 + - conda: https://prefix.dev/conda-forge/osx-64/libcurl-8.13.0-h5dec5d8_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcxx-20.1.2-hf95d169_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcxx-devel-18.1.8-h7c275be_8.conda + - conda: https://prefix.dev/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libev-4.33-h10d778d_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.7.0-h240833e_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libgoogle-cloud-2.36.0-h777fda5_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libgoogle-cloud-storage-2.36.0-h3397294_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libgrpc-1.71.0-h53c9a1c_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libiconv-1.18-h4b5e92a_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libllvm18-18.1.8-hc29ff6c_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.1-hd471939_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libnghttp2-1.64.0-hc7306c3_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libopentelemetry-cpp-1.19.0-h30c661f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libopentelemetry-cpp-headers-1.19.0-h694c41f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libparquet-19.0.1-h283e888_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-64/libprotobuf-5.29.3-h1c7185b_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libre2-11-2024.07.02-h08ce7b7_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/libssh2-1.11.1-h3dc7d44_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libthrift-0.21.0-h75589b3_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libutf8proc-2.10.0-h777c5d8_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libuv-1.50.0-h4cb831e_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.13.7-h3fbc333_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/llvm-openmp-20.1.2-ha54dae1_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-18-18.1.8-hc29ff6c_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-18.1.8-hc29ff6c_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/make-4.4.1-h00291cd_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.5-h0622a9a_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/nlohmann_json-3.11.3-hf036a51_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.4.1-hc426f3f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/orc-2.1.1-h82caab2_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/re2-2024.07.02-hf8a452e_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/rhash-1.4.5-ha44c9a9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/sigtool-0.1.3-h88f4db0_0.tar.bz2 + - conda: https://prefix.dev/conda-forge/osx-64/snappy-1.2.1-haf3c120_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/tapi-1300.6.5-h390ca13_0.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/zlib-1.3.1-hd23fc13_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-h8210216_2.conda + osx-arm64: + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-auth-0.8.7-h771b9f8_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-cal-0.8.7-hf78e982_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-common-0.12.1-h5505292_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-compression-0.3.1-h2da6199_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-event-stream-0.5.4-hc8cef5c_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-http-0.9.5-h7ae4978_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-io-0.17.0-hda12475_8.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-mqtt-0.12.2-hd618802_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-s3-0.7.13-hb321cbc_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-c-sdkutils-0.2.3-h2da6199_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-checksums-0.2.3-h2da6199_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-crt-cpp-0.31.1-hf6bcbf0_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/aws-sdk-cpp-1.11.510-hbf97231_4.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/azure-core-cpp-1.14.0-hd50102c_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/azure-identity-cpp-1.10.0-hc602bab_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.13.0-h7585a09_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/azure-storage-common-cpp-12.8.0-h9ca1f76_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.12.0-hcdd55da_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/c-compiler-1.9.0-hdf49b6b_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/catch2-3.8.0-ha393de7_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cctools-1010.6-hb4fb6a3_5.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cctools_osx-arm64-1010.6-h3b4f5d3_5.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clang-18-18.1.8-default_hf90f093_8.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clang-18.1.8-default_h474c9e2_8.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clang_impl_osx-arm64-18.1.8-h2ae9ea5_24.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clang_osx-arm64-18.1.8-h07b0088_24.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clangxx-18.1.8-default_h1ffe849_8.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clangxx_impl_osx-arm64-18.1.8-h555f467_24.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clangxx_osx-arm64-18.1.8-h07b0088_24.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cmake-3.31.6-ha25475f_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/compiler-rt-18.1.8-h856b3c1_1.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-arm64-18.1.8-h832e737_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cxx-compiler-1.9.0-hba80287_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ld64-951.9-h4c6efb1_5.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ld64_osx-arm64-951.9-hb6b49e2_5.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libabseil-20250127.1-cxx17_h07bc746_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-19.0.1-hac3dc41_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-acero-19.0.1-hf07054f_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-all-19.0.1-hd458194_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-dataset-19.0.1-hf07054f_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-flight-19.0.1-h98dcbf4_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-flight-sql-19.0.1-h98dcbf4_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-gandiva-19.0.1-hfe7713d_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-substrait-19.0.1-he749cb8_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libbrotlicommon-1.1.0-hd74edd7_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libbrotlidec-1.1.0-hd74edd7_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libbrotlienc-1.1.0-hd74edd7_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libclang-cpp18.1-18.1.8-default_hf90f093_8.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + - conda: https://prefix.dev/conda-forge/osx-arm64/libcurl-8.13.0-h73640d1_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-20.1.2-ha82da77_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-devel-18.1.8-h6dc3340_8.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libgoogle-cloud-2.36.0-h9484b08_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libgoogle-cloud-storage-2.36.0-h7081f7f_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libgrpc-1.71.0-hf667ad3_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libiconv-1.18-hfe07756_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libllvm18-18.1.8-hc4b4ae8_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libopentelemetry-cpp-1.19.0-h0181452_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.19.0-hce30654_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libparquet-19.0.1-h636d7b7_6_cpu.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libprotobuf-5.29.3-hccd9074_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libre2-11-2024.07.02-hd41c47c_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libssh2-1.11.1-h9cc3647_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libthrift-0.21.0-h64651cc_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libutf8proc-2.10.0-hda25de7_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libuv-1.50.0-h5505292_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-2.13.7-h52572c6_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/llvm-openmp-20.1.2-hdb05f8b_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/llvm-tools-18-18.1.8-hc4b4ae8_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/llvm-tools-18.1.8-hc4b4ae8_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/make-4.4.1-hc9fafa5_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/nlohmann_json-3.11.3-h00cdb27_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.4.1-h81ee809_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/orc-2.1.1-hd90e43c_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/re2-2024.07.02-h6589ca4_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/rhash-1.4.5-h7ab814d_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/sigtool-0.1.3-h44b9a77_0.tar.bz2 + - conda: https://prefix.dev/conda-forge/osx-arm64/snappy-1.2.1-h98b9ce2_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/tapi-1300.6.5-h03f4b80_0.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda + win-64: + - conda: https://prefix.dev/conda-forge/win-64/_openmp_mutex-4.5-2_gnu.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-auth-0.8.7-h04a0843_1.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-cal-0.8.7-h131b658_1.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-common-0.12.1-h2466b09_0.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-compression-0.3.1-h131b658_3.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-event-stream-0.5.4-hddb29df_3.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-http-0.9.5-hdbca9f4_0.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-io-0.17.0-h7371350_8.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-mqtt-0.12.2-hc44c84b_3.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-s3-0.7.13-hf31aad2_3.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-c-sdkutils-0.2.3-h131b658_3.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-checksums-0.2.3-h131b658_3.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-crt-cpp-0.31.1-h7c9e96e_1.conda + - conda: https://prefix.dev/conda-forge/win-64/aws-sdk-cpp-1.11.510-hddf75dc_4.conda + - conda: https://prefix.dev/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda + - conda: https://prefix.dev/conda-forge/win-64/c-ares-1.34.4-h2466b09_0.conda + - conda: https://prefix.dev/conda-forge/win-64/ca-certificates-2025.1.31-h56e8100_0.conda + - conda: https://prefix.dev/conda-forge/win-64/catch2-3.8.0-hc790b64_0.conda + - conda: https://prefix.dev/conda-forge/win-64/cmake-3.31.6-hff78f93_0.conda + - conda: https://prefix.dev/conda-forge/win-64/cxx-compiler-1.9.0-h91493d7_0.conda + - conda: https://prefix.dev/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libabseil-20250127.1-cxx17_h4eb7d71_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-19.0.1-he744d6e_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-acero-19.0.1-h7d8d6a5_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-all-19.0.1-had94c57_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-dataset-19.0.1-h7d8d6a5_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-flight-19.0.1-h1e5332e_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-flight-sql-19.0.1-hb76e781_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-gandiva-19.0.1-h7c0d67a_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libarrow-substrait-19.0.1-hb76e781_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libbrotlicommon-1.1.0-h2466b09_2.conda + - conda: https://prefix.dev/conda-forge/win-64/libbrotlidec-1.1.0-h2466b09_2.conda + - conda: https://prefix.dev/conda-forge/win-64/libbrotlienc-1.1.0-h2466b09_2.conda + - conda: https://prefix.dev/conda-forge/win-64/libcrc32c-1.1.2-h0e60522_0.tar.bz2 + - conda: https://prefix.dev/conda-forge/win-64/libcurl-8.13.0-h88aaa65_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libevent-2.1.12-h3671451_1.conda + - conda: https://prefix.dev/conda-forge/win-64/libexpat-2.7.0-he0c23c2_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libgcc-14.2.0-h1383e82_2.conda + - conda: https://prefix.dev/conda-forge/win-64/libgomp-14.2.0-h1383e82_2.conda + - conda: https://prefix.dev/conda-forge/win-64/libgoogle-cloud-2.36.0-hf249c01_1.conda + - conda: https://prefix.dev/conda-forge/win-64/libgoogle-cloud-storage-2.36.0-he5eb982_1.conda + - conda: https://prefix.dev/conda-forge/win-64/libgrpc-1.71.0-h35301be_0.conda + - conda: https://prefix.dev/conda-forge/win-64/liblzma-5.8.1-h2466b09_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libparquet-19.0.1-ha850022_6_cuda.conda + - conda: https://prefix.dev/conda-forge/win-64/libprotobuf-5.29.3-he9d8c4a_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libre2-11-2024.07.02-hd248061_3.conda + - conda: https://prefix.dev/conda-forge/win-64/libssh2-1.11.1-he619c9f_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libthrift-0.21.0-hbe90ef8_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libutf8proc-2.10.0-hf9b99b7_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libuv-1.50.0-h2466b09_0.conda + - conda: https://prefix.dev/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_9.conda + - conda: https://prefix.dev/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda + - conda: https://prefix.dev/conda-forge/win-64/lz4-c-1.10.0-h2466b09_1.conda + - conda: https://prefix.dev/conda-forge/win-64/make-4.4.1-h0e40799_2.conda + - conda: https://prefix.dev/conda-forge/win-64/openssl-3.4.1-ha4e3fda_0.conda + - conda: https://prefix.dev/conda-forge/win-64/orc-2.1.1-h35764e3_1.conda + - conda: https://prefix.dev/conda-forge/win-64/re2-2024.07.02-haf4117d_3.conda + - conda: https://prefix.dev/conda-forge/win-64/snappy-1.2.1-h500f7fa_1.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda + - conda: https://prefix.dev/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda + - conda: https://prefix.dev/conda-forge/win-64/vc-14.3-h2b53caa_26.conda + - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.42.34438-hfd919c2_26.conda + - conda: https://prefix.dev/conda-forge/win-64/vs2015_runtime-14.42.34438-h7142326_26.conda + - conda: https://prefix.dev/conda-forge/win-64/vs2019_win-64-19.29.30139-h7dcff83_26.conda + - conda: https://prefix.dev/conda-forge/win-64/vswhere-3.1.7-h57928b3_0.conda + - conda: https://prefix.dev/conda-forge/win-64/zstd-1.5.7-hbeecb71_2.conda + tests-ci: channels: - url: https://prefix.dev/conda-forge/ packages: @@ -44,7 +416,6 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/gxx-13.3.0-h9576a4e_2.conda - conda: https://prefix.dev/conda-forge/linux-64/gxx_impl_linux-64-13.3.0-hae580e1_2.conda - conda: https://prefix.dev/conda-forge/linux-64/gxx_linux-64-13.3.0-h6834431_8.conda - - conda: https://prefix.dev/conda-forge/linux-64/icu-75.1-he02047a_0.conda - conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-64-3.10.0-he073ed8_18.conda - conda: https://prefix.dev/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 - conda: https://prefix.dev/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda @@ -95,7 +466,7 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/libthrift-0.21.0-h0e7cc3e_0.conda - conda: https://prefix.dev/conda-forge/linux-64/libutf8proc-2.10.0-h4c51ac1_0.conda - conda: https://prefix.dev/conda-forge/linux-64/libuv-1.50.0-hb9d3cd8_0.conda - - conda: https://prefix.dev/conda-forge/linux-64/libxml2-2.14.0-h8d12d68_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/libxml2-2.13.7-h81593ed_1.conda - conda: https://prefix.dev/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://prefix.dev/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda - conda: https://prefix.dev/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda @@ -137,8 +508,8 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/ca-certificates-2025.1.31-h8857fd0_0.conda - conda: https://prefix.dev/conda-forge/osx-64/catch2-3.8.0-h9275861_0.conda - conda: https://prefix.dev/conda-forge/osx-64/ccache-4.11.2-h30d2cd9_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/cctools-1010.6-ha66f10e_4.conda - - conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1010.6-hd19c6af_4.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools-1010.6-ha66f10e_5.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1010.6-hd19c6af_5.conda - conda: https://prefix.dev/conda-forge/osx-64/clang-18-18.1.8-default_h3571c67_8.conda - conda: https://prefix.dev/conda-forge/osx-64/clang-18.1.8-default_h576c50e_8.conda - conda: https://prefix.dev/conda-forge/osx-64/clang_impl_osx-64-18.1.8-h6a44ed1_24.conda @@ -153,8 +524,8 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda - conda: https://prefix.dev/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda - conda: https://prefix.dev/conda-forge/osx-64/krb5-1.21.3-h37d8d59_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/ld64-951.9-h4e51db5_4.conda - - conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-951.9-h33512f0_4.conda + - conda: https://prefix.dev/conda-forge/osx-64/ld64-951.9-h4e51db5_5.conda + - conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-951.9-h33512f0_5.conda - conda: https://prefix.dev/conda-forge/osx-64/libabseil-20250127.1-cxx17_h0e468a2_0.conda - conda: https://prefix.dev/conda-forge/osx-64/libarrow-19.0.1-hb56cf8f_6_cpu.conda - conda: https://prefix.dev/conda-forge/osx-64/libarrow-acero-19.0.1-hdc53af8_6_cpu.conda @@ -195,7 +566,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/libthrift-0.21.0-h75589b3_0.conda - conda: https://prefix.dev/conda-forge/osx-64/libutf8proc-2.10.0-h777c5d8_0.conda - conda: https://prefix.dev/conda-forge/osx-64/libuv-1.50.0-h4cb831e_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.14.0-he8ee3e7_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.13.7-h3fbc333_1.conda - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda - conda: https://prefix.dev/conda-forge/osx-64/llvm-openmp-20.1.2-ha54dae1_0.conda - conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-18-18.1.8-hc29ff6c_3.conda @@ -240,8 +611,8 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/catch2-3.8.0-ha393de7_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/ccache-4.11.2-h5a0df06_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/cctools-1010.6-hb4fb6a3_4.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/cctools_osx-arm64-1010.6-h3b4f5d3_4.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cctools-1010.6-hb4fb6a3_5.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cctools_osx-arm64-1010.6-h3b4f5d3_5.conda - conda: https://prefix.dev/conda-forge/osx-arm64/clang-18-18.1.8-default_hf90f093_8.conda - conda: https://prefix.dev/conda-forge/osx-arm64/clang-18.1.8-default_h474c9e2_8.conda - conda: https://prefix.dev/conda-forge/osx-arm64/clang_impl_osx-arm64-18.1.8-h2ae9ea5_24.conda @@ -257,8 +628,8 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/ld64-951.9-h4c6efb1_4.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/ld64_osx-arm64-951.9-hb6b49e2_4.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ld64-951.9-h4c6efb1_5.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ld64_osx-arm64-951.9-hb6b49e2_5.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libabseil-20250127.1-cxx17_h07bc746_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-19.0.1-hac3dc41_6_cpu.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libarrow-acero-19.0.1-hf07054f_6_cpu.conda @@ -299,7 +670,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/libthrift-0.21.0-h64651cc_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libutf8proc-2.10.0-hda25de7_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libuv-1.50.0-h5505292_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-2.14.0-h178c5d8_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-2.13.7-h52572c6_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/llvm-openmp-20.1.2-hdb05f8b_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/llvm-tools-18-18.1.8-hc4b4ae8_3.conda @@ -1581,31 +1952,31 @@ packages: license_family: GPL size: 663504 timestamp: 1742708103663 -- conda: https://prefix.dev/conda-forge/osx-64/cctools-1010.6-ha66f10e_4.conda - sha256: 2113fe10f67ddaf2b34522c755924f0f89a4c9507604baddb5a3091b8fac03dc - md5: df1dfc9721444ad44d0916d9454e55f3 +- conda: https://prefix.dev/conda-forge/osx-64/cctools-1010.6-ha66f10e_5.conda + sha256: 7107dc4041d0cc9b7d495719eb25c8fbd23f6e3749f562dd366fd21006959926 + md5: 00c34173acf59d8b48f66e8e7d815fe9 depends: - - cctools_osx-64 1010.6 hd19c6af_4 - - ld64 951.9 h4e51db5_4 + - cctools_osx-64 1010.6 hd19c6af_5 + - ld64 951.9 h4e51db5_5 - libllvm18 >=18.1.8,<18.2.0a0 license: APSL-2.0 license_family: Other - size: 21571 - timestamp: 1742512411843 -- conda: https://prefix.dev/conda-forge/osx-arm64/cctools-1010.6-hb4fb6a3_4.conda - sha256: 02f7ab57ddf0bfe291dac3a3e59ab7c65a3ae0a3a086440a7e2666b0e862b922 - md5: 2fecdd2278ff651073e9373f32151e41 - depends: - - cctools_osx-arm64 1010.6 h3b4f5d3_4 - - ld64 951.9 h4c6efb1_4 + size: 22149 + timestamp: 1743797846764 +- conda: https://prefix.dev/conda-forge/osx-arm64/cctools-1010.6-hb4fb6a3_5.conda + sha256: 525ccee3a708a6fbcba01f953947518a5353ec6713bbf610ca62baacb831be8b + md5: 5cd95c2464f5a91da1bfc5bdb755037a + depends: + - cctools_osx-arm64 1010.6 h3b4f5d3_5 + - ld64 951.9 h4c6efb1_5 - libllvm18 >=18.1.8,<18.2.0a0 license: APSL-2.0 license_family: Other - size: 21539 - timestamp: 1742512631773 -- conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1010.6-hd19c6af_4.conda - sha256: 4ca98572322a0dcc227b499fec46e37a46f81dded92a7d299ac3ec6cc3a4beed - md5: 1ddf5221f68b7df9e22795cdb01933e2 + size: 22155 + timestamp: 1743797971030 +- conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1010.6-hd19c6af_5.conda + sha256: 39ed868c28ea0d2f6c56b5906637ada04d512a99b835cef441f8cff2292104a9 + md5: c5760dab55dab262b36ecb907d6fc62c depends: - __osx >=10.13 - ld64_osx-64 >=951.9,<951.10.0a0 @@ -1615,16 +1986,16 @@ packages: - llvm-tools 18.1.* - sigtool constrains: + - clang 18.1.* - cctools 1010.6.* - ld64 951.9.* - - clang 18.1.* license: APSL-2.0 license_family: Other - size: 1119334 - timestamp: 1742512370787 -- conda: https://prefix.dev/conda-forge/osx-arm64/cctools_osx-arm64-1010.6-h3b4f5d3_4.conda - sha256: e223912a174344cddfe7ea8a598d091b18e5defbc63c2037c3e42165654b09dc - md5: 57ce83eec79eff26016ae3e1af07e431 + size: 1118169 + timestamp: 1743797817865 +- conda: https://prefix.dev/conda-forge/osx-arm64/cctools_osx-arm64-1010.6-h3b4f5d3_5.conda + sha256: 286d9ce12c4057911a6e15c1a11eadfe76692941a7cc92565a3e4fff489ca82c + md5: b1c36d521f0f982ff727960883fac17b depends: - __osx >=11.0 - ld64_osx-arm64 >=951.9,<951.10.0a0 @@ -1634,13 +2005,13 @@ packages: - llvm-tools 18.1.* - sigtool constrains: - - clang 18.1.* - - cctools 1010.6.* - ld64 951.9.* + - cctools 1010.6.* + - clang 18.1.* license: APSL-2.0 license_family: Other - size: 1104264 - timestamp: 1742512583707 + size: 1103556 + timestamp: 1743797931182 - conda: https://prefix.dev/conda-forge/osx-64/clang-18.1.8-default_h576c50e_8.conda sha256: ff3ec1361dadb7d47ae0e1276e861e48f1a3e5a23c11eb832915cbada3da0861 md5: 0a7a5caf8e1f0b52b96104bbd2ee677f @@ -2087,17 +2458,6 @@ packages: license_family: BSD size: 30781 timestamp: 1740666017241 -- conda: https://prefix.dev/conda-forge/linux-64/icu-75.1-he02047a_0.conda - sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e - md5: 8b189310083baabfb622af68fd9d3ae3 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: MIT - license_family: MIT - size: 12129203 - timestamp: 1720853576813 - conda: https://prefix.dev/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 md5: 5eb22c1d7b3fc4abb50d92d621583137 @@ -2176,35 +2536,35 @@ packages: license_family: MIT size: 712034 timestamp: 1719463874284 -- conda: https://prefix.dev/conda-forge/osx-64/ld64-951.9-h4e51db5_4.conda - sha256: ec0bb8cc8cce0237fe84a737a6367fd3621126076b739ea89de49f451e92506a - md5: a35ccc73726f64d22dc9c4349f5c58bd +- conda: https://prefix.dev/conda-forge/osx-64/ld64-951.9-h4e51db5_5.conda + sha256: c0447c3da87ae1388f14274eb8423782bad542b20dda00af276a4ce560903a7d + md5: 159ab97b4e6eb991def5587572a02229 depends: - - ld64_osx-64 951.9 h33512f0_4 + - ld64_osx-64 951.9 h33512f0_5 - libllvm18 >=18.1.8,<18.2.0a0 constrains: - - cctools 1010.6.* - cctools_osx-64 1010.6.* + - cctools 1010.6.* license: APSL-2.0 license_family: Other - size: 18874 - timestamp: 1742512391779 -- conda: https://prefix.dev/conda-forge/osx-arm64/ld64-951.9-h4c6efb1_4.conda - sha256: 4806f1356117fe4a6c0c9927587cd456ee9a891bb943e300b03aff9f17ad3a5c - md5: de921c0941f051f3b019d46a0c83fdda + size: 19388 + timestamp: 1743797834136 +- conda: https://prefix.dev/conda-forge/osx-arm64/ld64-951.9-h4c6efb1_5.conda + sha256: b340e825ace4b6272ea46914a114d13831798da18b6863d502905bf5f804f271 + md5: 6fca4d7830b25397571d7a4582d4fa15 depends: - - ld64_osx-arm64 951.9 hb6b49e2_4 + - ld64_osx-arm64 951.9 hb6b49e2_5 - libllvm18 >=18.1.8,<18.2.0a0 constrains: - - cctools 1010.6.* - cctools_osx-arm64 1010.6.* + - cctools 1010.6.* license: APSL-2.0 license_family: Other - size: 18894 - timestamp: 1742512610229 -- conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-951.9-h33512f0_4.conda - sha256: 809c88c6ca19e08707320dff428ea4936b151324faed71ca5600f6bf54ce5504 - md5: b1678041160c249a3df7937be93c56aa + size: 19496 + timestamp: 1743797952054 +- conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-951.9-h33512f0_5.conda + sha256: a62d459009de4b58b693d2aea8e2da7848b26ee36131243fecf076fedbf5edc2 + md5: df0818cea4cded1b939b65da06db2c04 depends: - __osx >=10.13 - libcxx @@ -2213,16 +2573,16 @@ packages: - tapi >=1300.6.5,<1301.0a0 constrains: - cctools_osx-64 1010.6.* - - cctools 1010.6.* - clang >=18.1.8,<19.0a0 + - cctools 1010.6.* - ld 951.9.* license: APSL-2.0 license_family: Other - size: 1099376 - timestamp: 1742512322014 -- conda: https://prefix.dev/conda-forge/osx-arm64/ld64_osx-arm64-951.9-hb6b49e2_4.conda - sha256: 0376873d88573688168b5b7618391dd68fa0b309ddce7fa77c5f9037ada7cf66 - md5: d01a78a16542f235dd755ca66772795e + size: 1097752 + timestamp: 1743797769508 +- conda: https://prefix.dev/conda-forge/osx-arm64/ld64_osx-arm64-951.9-hb6b49e2_5.conda + sha256: 079c7b7c0d7c471a994347fae8942e99daf6304a5641fd93b72ccfb456df93bf + md5: 46aea639885e48fcfcb04df957fc79b4 depends: - __osx >=11.0 - libcxx @@ -2231,13 +2591,13 @@ packages: - tapi >=1300.6.5,<1301.0a0 constrains: - ld 951.9.* - - clang >=18.1.8,<19.0a0 - cctools 1010.6.* - cctools_osx-arm64 1010.6.* + - clang >=18.1.8,<19.0a0 license: APSL-2.0 license_family: Other - size: 1019138 - timestamp: 1742512519169 + size: 1021347 + timestamp: 1743797871524 - conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_4.conda sha256: db73f38155d901a610b2320525b9dd3b31e4949215c870685fd92ea61b5ce472 md5: 01f8d123c96816249efd255a31ad7712 @@ -3772,7 +4132,7 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - libstdcxx >=13 - - libxml2 >=2.13.5,<3.0a0 + - libxml2 >=2.13.5,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - zstd >=1.5.6,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception @@ -3785,7 +4145,7 @@ packages: depends: - __osx >=10.13 - libcxx >=18 - - libxml2 >=2.13.5,<3.0a0 + - libxml2 >=2.13.5,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - zstd >=1.5.6,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception @@ -3798,7 +4158,7 @@ packages: depends: - __osx >=11.0 - libcxx >=18 - - libxml2 >=2.13.5,<3.0a0 + - libxml2 >=2.13.5,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - zstd >=1.5.6,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception @@ -4362,47 +4722,48 @@ packages: license: MIT AND BSD-3-Clause-Clear size: 35794 timestamp: 1737099561703 -- conda: https://prefix.dev/conda-forge/linux-64/libxml2-2.14.0-h8d12d68_0.conda - sha256: dbcd43a773ee40976a9a647014d485ae2ccec9d3f90538dcd77c077a7000d170 - md5: 216f67f6854b14054021b1a79515d657 +- conda: https://prefix.dev/conda-forge/linux-64/libxml2-2.13.7-h81593ed_1.conda + sha256: c4f59563e017eba378ea843be5ebde4b0546c72bbe4c1e43b2b384379e827635 + md5: 0619e8fc4c8025a908ea3a3422d3b775 depends: - __glibc >=2.17,<3.0.a0 - - icu >=75.1,<76.0a0 - libgcc >=13 - libiconv >=1.18,<2.0a0 - - liblzma >=5.6.4,<6.0a0 + - liblzma >=5.8.1,<6.0a0 - libzlib >=1.3.1,<2.0a0 + constrains: + - icu <0.0a0 license: MIT license_family: MIT - size: 660091 - timestamp: 1743771085816 -- conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.14.0-he8ee3e7_0.conda - sha256: 778e742422656a69a86d75f95da7d18bb4238caec86ed2da41c17ef98e8d3ed9 - md5: 6684bede5bc812bd7f5e80e5bac581f2 + size: 691042 + timestamp: 1743794600936 +- conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.13.7-h3fbc333_1.conda + sha256: dae592aabf11a43825b120488f16bbcb5ccee50784d38a1f9b3331e5ade12014 + md5: 6a67750efde2951397979b9999c00b4f depends: - __osx >=10.13 - libiconv >=1.18,<2.0a0 - - liblzma >=5.6.4,<6.0a0 + - liblzma >=5.8.1,<6.0a0 - libzlib >=1.3.1,<2.0a0 constrains: - icu <0.0a0 license: MIT license_family: MIT - size: 591674 - timestamp: 1743771237588 -- conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-2.14.0-h178c5d8_0.conda - sha256: efee42564a8b3e5077d805f9aa6779aededa4f773b33d5baa9132dbb91d6372e - md5: 724823cce387493f5c8ad42206a06019 + size: 609029 + timestamp: 1743794760872 +- conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-2.13.7-h52572c6_1.conda + sha256: 7afd5879a72e37f44a68b4af3e03f37fc1a310f041bf31fad2461d9a157e823b + md5: 522fcdaebf3bac06a7b5a78e0a89195b depends: - __osx >=11.0 - icu >=75.1,<76.0a0 - libiconv >=1.18,<2.0a0 - - liblzma >=5.6.4,<6.0a0 + - liblzma >=5.8.1,<6.0a0 - libzlib >=1.3.1,<2.0a0 license: MIT license_family: MIT - size: 565240 - timestamp: 1743771370341 + size: 583561 + timestamp: 1743794674233 - conda: https://prefix.dev/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 md5: edb0dca6bc32e4f4789199455a1dbeb8 @@ -4478,7 +4839,7 @@ packages: depends: - __osx >=10.13 - libllvm18 18.1.8 hc29ff6c_3 - - libxml2 >=2.13.5,<3.0a0 + - libxml2 >=2.13.5,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - llvm-tools-18 18.1.8 hc29ff6c_3 - zstd >=1.5.6,<1.6.0a0 @@ -4497,7 +4858,7 @@ packages: depends: - __osx >=11.0 - libllvm18 18.1.8 hc4b4ae8_3 - - libxml2 >=2.13.5,<3.0a0 + - libxml2 >=2.13.5,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - llvm-tools-18 18.1.8 hc4b4ae8_3 - zstd >=1.5.6,<1.6.0a0 @@ -4516,7 +4877,7 @@ packages: depends: - __osx >=10.13 - libllvm18 18.1.8 hc29ff6c_3 - - libxml2 >=2.13.5,<3.0a0 + - libxml2 >=2.13.5,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - zstd >=1.5.6,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception @@ -4529,7 +4890,7 @@ packages: depends: - __osx >=11.0 - libllvm18 18.1.8 hc4b4ae8_3 - - libxml2 >=2.13.5,<3.0a0 + - libxml2 >=2.13.5,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - zstd >=1.5.6,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception diff --git a/pixi.toml b/pixi.toml index 4ae26e9b0b..88c3d3102c 100644 --- a/pixi.toml +++ b/pixi.toml @@ -38,7 +38,6 @@ depends-on = ["configure", "build-only"] [feature.tests.dependencies] catch2 = ">=3.8.0,<4" -ccache = ">=4.11.2,<5" libarrow-all = ">=19.0.1,<20" [feature.tests.tasks] @@ -63,10 +62,24 @@ configure-tests.env.XSREF_TABLES_PATH = "$PWD/xsref/tables" # build for tests build-tests.depends-on = ["configure-tests", "build-only"] # run tests -tests.cmd = "ctest --output-on-failure --test-dir build/tests" +tests.cmd = ["ctest", "--output-on-failure", "--test-dir", "build/tests"] tests.depends-on = ["clone-xsref", "build-tests"] tests.cwd = "." +[feature.tests-ci.dependencies] +ccache = ">=4.11.2,<5" + +[feature.tests-ci.tasks] +# TODO: use a task arg for parallelism https://github.com/prefix-dev/pixi/pull/3433 +build-tests-ci.cmd = ["cmake", "--build", "build", "-j3"] +build-tests-ci.depends-on = ["clone-xsref", "configure-tests"] +build-tests-ci.cwd = "." + +# run tests +tests-ci.cmd = ["ctest", "--output-on-failure", "--test-dir", "build/tests", "-j3"] +tests-ci.depends-on = ["build-tests-ci"] +tests-ci.cwd = "." + ## Coverage # [feature.coverage.dependencies] @@ -93,4 +106,5 @@ tests.cwd = "." # cmd = "ctest" [environments] -default = ["build", "tests"] +default = { features = ["build", "tests"], solve-group = "default" } +tests-ci = { features = ["build", "tests", "tests-ci"], solve-group = "default" } diff --git a/tests/scipy_special_tests/test_bdtr.cpp b/tests/scipy_special_tests/test_bdtr.cpp index cc53a9322e..24ecfd0ab2 100644 --- a/tests/scipy_special_tests/test_bdtr.cpp +++ b/tests/scipy_special_tests/test_bdtr.cpp @@ -22,20 +22,3 @@ TEST_CASE("bdtr dpd->d scipy_special_tests", "[bdtr][dpd->d][scipy_special_tests CAPTURE(k, n, p, out, desired, error, tol, fallback); REQUIRE(error <= tol); } - -TEST_CASE("bdtr ddd->d scipy_special_tests", "[bdtr][ddd->d][scipy_special_tests]") { - SET_FP_FORMAT() - auto [input, output, tol] = - GENERATE(xsf_test_cases, std::tuple, double>( - tables_path / "In_d_d_d-d.parquet", tables_path / "Out_d_d_d-d.parquet", - tables_path / ("Err_d_d_d-d_" + get_platform_str() + ".parquet") - )); - - auto [k, n, p] = input; - auto [desired, fallback] = output; - auto out = xsf::bdtr(k, n, p); - auto error = xsf::extended_relative_error(out, desired); - tol = adjust_tolerance(tol); - CAPTURE(k, n, p, out, desired, error, tol, fallback); - REQUIRE(error <= tol); -} diff --git a/tests/scipy_special_tests/test_bdtrc.cpp b/tests/scipy_special_tests/test_bdtrc.cpp index 38a8dc736d..81a23d798c 100644 --- a/tests/scipy_special_tests/test_bdtrc.cpp +++ b/tests/scipy_special_tests/test_bdtrc.cpp @@ -22,20 +22,3 @@ TEST_CASE("bdtrc dpd->d scipy_special_tests", "[bdtrc][dpd->d][scipy_special_tes CAPTURE(k, n, p, out, desired, error, tol, fallback); REQUIRE(error <= tol); } - -TEST_CASE("bdtrc ddd->d scipy_special_tests", "[bdtrc][ddd->d][scipy_special_tests]") { - SET_FP_FORMAT() - auto [input, output, tol] = - GENERATE(xsf_test_cases, std::tuple, double>( - tables_path / "In_d_d_d-d.parquet", tables_path / "Out_d_d_d-d.parquet", - tables_path / ("Err_d_d_d-d_" + get_platform_str() + ".parquet") - )); - - auto [k, n, p] = input; - auto [desired, fallback] = output; - auto out = xsf::bdtrc(k, n, p); - auto error = xsf::extended_relative_error(out, desired); - tol = adjust_tolerance(tol); - CAPTURE(k, n, p, out, desired, error, tol, fallback); - REQUIRE(error <= tol); -} diff --git a/tests/scipy_special_tests/test_bdtri.cpp b/tests/scipy_special_tests/test_bdtri.cpp index a248aa2e4b..a2078ae143 100644 --- a/tests/scipy_special_tests/test_bdtri.cpp +++ b/tests/scipy_special_tests/test_bdtri.cpp @@ -22,20 +22,3 @@ TEST_CASE("bdtri dpd->d scipy_special_tests", "[bdtri][dpd->d][scipy_special_tes CAPTURE(k, n, y, out, desired, error, tol, fallback); REQUIRE(error <= tol); } - -TEST_CASE("bdtri ddd->d scipy_special_tests", "[bdtri][ddd->d][scipy_special_tests]") { - SET_FP_FORMAT() - auto [input, output, tol] = - GENERATE(xsf_test_cases, std::tuple, double>( - tables_path / "In_d_d_d-d.parquet", tables_path / "Out_d_d_d-d.parquet", - tables_path / ("Err_d_d_d-d_" + get_platform_str() + ".parquet") - )); - - auto [k, n, y] = input; - auto [desired, fallback] = output; - auto out = xsf::bdtri(k, n, y); - auto error = xsf::extended_relative_error(out, desired); - tol = adjust_tolerance(tol); - CAPTURE(k, n, y, out, desired, error, tol, fallback); - REQUIRE(error <= tol); -} diff --git a/tests/scipy_special_tests/test_cyl_bessel_i.cpp b/tests/scipy_special_tests/test_cyl_bessel_i.cpp index 55a4b5e628..f43839e74f 100644 --- a/tests/scipy_special_tests/test_cyl_bessel_i.cpp +++ b/tests/scipy_special_tests/test_cyl_bessel_i.cpp @@ -35,7 +35,7 @@ TEST_CASE("cyl_bessel_i dD->D scipy_special_tests", "[cyl_bessel_i][dD->D][scipy auto [desired, fallback] = output; auto out = xsf::cyl_bessel_i(v, z); auto error = xsf::extended_relative_error(out, desired); - tol = adjust_tolerance(tol); + tol = adjust_tolerance(tol, 12.0); CAPTURE(v, z, out, desired, error, tol, fallback); REQUIRE(error <= tol); } diff --git a/tests/testing_utils.h b/tests/testing_utils.h index d306115e5a..0cdd5a9946 100644 --- a/tests/testing_utils.h +++ b/tests/testing_utils.h @@ -70,6 +70,10 @@ class TableReader { V imag; *stream_ >> real >> imag; element = U(real, imag); + } else if constexpr (std::is_same_v) { + std::int64_t val; + *stream_ >> val; + element = static_cast(val); } else { *stream_ >> element; } @@ -127,25 +131,30 @@ Catch::Generators::GeneratorWrapper> xsf_test_cases( ); } - template -T adjust_tolerance(T tol) { +T adjust_tolerance(T tol, T factor = 4) { // Add some wiggle room to tolerance from table. - return 4 * std::max(std::numeric_limits::epsilon(), tol); + return factor * std::max(std::numeric_limits::epsilon(), tol); } - std::string get_platform_str() { - /* This is going to get a string "--" using conditional - * compilation, but for now we're just stubbing things out. */ + /* This should use Boost.Predef + * https://www.boost.org/doc/libs/1_87_0/libs/predef/doc/index.html + * (Boost isn't a dependency yet but this is planned) + * and we should have tolerance files for a wider variety of + * compiler/os/architecture combos, including for specific compiler + * versions. For now, there are these two platforms with tolerance + * files and we use the former with Clang on Mac and the later + * otherwise. */ +#if defined(__clang__) && defined(__APPLE__) + return "clang-darwin-aarch64"; +#else return "gcc-linux-x86_64"; +#endif } - - } // namespace - -#define SET_FP_FORMAT() \ - Catch::StringMaker::precision = std::numeric_limits::max_digits10; \ +#define SET_FP_FORMAT() \ + Catch::StringMaker::precision = std::numeric_limits::max_digits10; \ Catch::StringMaker::precision = std::numeric_limits::max_digits10;