diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..54c31eb --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,8 @@ +# clang-tidy settings to be used with ./tools/run_clang_tidy.sh + +Checks: "-*,modernize-deprecated-headers,modernize-make-shared,modernize-make-unique,modernize-use-bool-literals,modernize-loop-convert,modernize-use-equals-default,modernize-use-emplace,modernize-use-nullptr,modernize-concat-nested-namespaces,modernize-use-override" + +WarningsAsErrors: '*' +HeaderFilterRegex: '/(include|src|pyfans)/' +CheckOptions: + modernize-use-override.AllowOverrideAndFinal: true diff --git a/.github/workflows/code-linting.yaml b/.github/workflows/code-linting.yaml new file mode 100644 index 0000000..46eac37 --- /dev/null +++ b/.github/workflows/code-linting.yaml @@ -0,0 +1,30 @@ +name: Code linting + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - "*" + workflow_dispatch: + +concurrency: + group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + clang-tidy: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v7 + + - name: Set up pixi + uses: prefix-dev/setup-pixi@v0.10.1 + with: + environments: dev + + - name: Run clang-tidy + run: pixi run -e dev clang-tidy diff --git a/CMakeLists.txt b/CMakeLists.txt index 89f5aa2..82cd1ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,9 +15,11 @@ include(CMakePackageConfigHelpers) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) -# with -fno-implicit-templates I get linker errors when using std:: stuff TODO: -# should be developer specific, by using e.g. CMake Presets -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE + Release + CACHE STRING "Build type" FORCE) +endif() set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) # Memory leak detection with AddressSanitizer and LeakSanitizer @@ -35,19 +37,10 @@ if(FANS_ENABLE_SANITIZERS) STATUS "Memory sanitizers enabled: AddressSanitizer and LeakSanitizer") endif() -# IPO -if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.9") - cmake_policy(SET CMP0069 NEW) - include(CheckIPOSupported) - get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES) - check_ipo_supported(RESULT result LANGUAGES ${languages}) - if(result AND NOT DEFINED CMAKE_INTERPROCEDURAL_OPTIMIZATION) - option(CMAKE_INTERPROCEDURAL_OPTIMIZATION - "Enable interprocedural optimization for all targets." ON) - message(STATUS "IPO activated.") - elseif(NOT result) - message(STATUS "IPO not supported.") - endif() +include(CheckIPOSupported) +check_ipo_supported(RESULT ipo_supported) +if(ipo_supported AND NOT DEFINED CMAKE_INTERPROCEDURAL_OPTIMIZATION) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) endif() # ############################################################################## @@ -121,12 +114,15 @@ else() endif() add_library(FANS::FANS ALIAS FANS_FANS) -if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|aarch64") - -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") +if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") target_compile_options(FANS_FANS PUBLIC -mavx2 -mfma) endif() +option(FANS_ENABLE_NATIVE "Optimise for the building machine's CPU" OFF) +if(FANS_ENABLE_NATIVE) + target_compile_options(FANS_FANS PUBLIC -march=native) +endif() + add_executable(FANS_main) add_custom_command( TARGET FANS_main diff --git a/include/material_models/small_strain/J2PlasticityNew.h b/include/material_models/small_strain/J2PlasticityNew.h index 832b3c6..cff61e6 100644 --- a/include/material_models/small_strain/J2PlasticityNew.h +++ b/include/material_models/small_strain/J2PlasticityNew.h @@ -26,7 +26,7 @@ class J2PlasticityNew : public SmallStrainMechModel { eps_elastic.setZero(); } - virtual void initializeInternalVariables(ptrdiff_t num_elements, int num_gauss_points) override + void initializeInternalVariables(ptrdiff_t num_elements, int num_gauss_points) override { plasticStrain.resize(num_elements, Matrix::Zero(6, num_gauss_points)); plasticStrain_t.resize(num_elements, Matrix::Zero(6, num_gauss_points)); @@ -34,7 +34,7 @@ class J2PlasticityNew : public SmallStrainMechModel { q_t.resize(num_elements, VectorXd::Zero(num_gauss_points)); } - virtual void updateInternalVariables() override + void updateInternalVariables() override { plasticStrain.swap(plasticStrain_t); q.swap(q_t); diff --git a/include/material_models/small_strain/PseudoPlastic.h b/include/material_models/small_strain/PseudoPlastic.h index dd1f355..ad2d0d8 100644 --- a/include/material_models/small_strain/PseudoPlastic.h +++ b/include/material_models/small_strain/PseudoPlastic.h @@ -38,7 +38,7 @@ class PseudoPlastic : public SmallStrainMechModel { plastic_flag.resize(num_elements, VectorXi::Zero(num_gauss_points)); } - virtual void get_sigma(int i, int mat_index, ptrdiff_t element_idx) override = 0; // Pure virtual method + void get_sigma(int i, int mat_index, ptrdiff_t element_idx) override = 0; // Pure virtual method Matrix get_reference_stiffness() override { diff --git a/include/material_models/thermal/GBDiffusion.h b/include/material_models/thermal/GBDiffusion.h index 8cba815..a238146 100644 --- a/include/material_models/thermal/GBDiffusion.h +++ b/include/material_models/thermal/GBDiffusion.h @@ -119,7 +119,7 @@ class GBDiffusion : public ThermalModel, public LinearModel<1, 3> { } kappa_average = kappa_average / n_mat; } - ~GBDiffusion() + ~GBDiffusion() override { FANS_free(GBnormals); delete[] phase_stiffness; diff --git a/include/matmodel.h b/include/matmodel.h index 50ab60c..411b009 100644 --- a/include/matmodel.h +++ b/include/matmodel.h @@ -261,7 +261,7 @@ class ThermalModel : public Matmodel<1, 3> { }; protected: - Matrix Compute_B(const double x, const double y, const double z); + Matrix Compute_B(const double x, const double y, const double z) override; }; inline Matrix ThermalModel::Compute_B(const double x, const double y, const double z) @@ -278,7 +278,7 @@ class SmallStrainMechModel : public Matmodel<3, 6> { }; protected: - Matrix Compute_B(const double x, const double y, const double z); + Matrix Compute_B(const double x, const double y, const double z) override; }; inline Matrix SmallStrainMechModel::Compute_B(const double x, const double y, const double z) diff --git a/include/reader.h b/include/reader.h index 14f1082..31e6cfb 100644 --- a/include/reader.h +++ b/include/reader.h @@ -115,7 +115,7 @@ void Reader::WriteData(T *data, const char *dset_name, hsize_t *dims, int rank) } // Create the data space for the dataset - hid_t dataspace_id = H5Screate_simple(rank, dims, NULL); + hid_t dataspace_id = H5Screate_simple(rank, dims, nullptr); if (dataspace_id < 0) { H5Fclose(file_id); throw std::runtime_error("Error creating dataspace"); @@ -130,7 +130,7 @@ void Reader::WriteData(T *data, const char *dset_name, hsize_t *dims, int rank) } // Perform the write: only rank 0 has meaningful data; other ranks use an empty memory selection - hid_t memspace = H5Screate_simple(rank, dims, NULL); + hid_t memspace = H5Screate_simple(rank, dims, nullptr); if (world_rank == 0) { /* root keeps full memspace */ } else { diff --git a/include/solverCG.h b/include/solverCG.h index 45a4091..c82c08c 100644 --- a/include/solverCG.h +++ b/include/solverCG.h @@ -16,7 +16,7 @@ class SolverCG : public Solver { using Solver::v_r_real; SolverCG(Reader &reader, MaterialManager *matmanager); - virtual ~SolverCG(); + ~SolverCG() override; double *s; double *d; @@ -27,7 +27,7 @@ class SolverCG : public Solver { double alpha_warm{0.1}; bool ls_converged{true}; - void internalSolve(); + void internalSolve() override; std::string LineSearchSecant(); double dotProduct(RealArray &a, RealArray &b); diff --git a/include/solverFP.h b/include/solverFP.h index 458bb6f..ef3124c 100644 --- a/include/solverFP.h +++ b/include/solverFP.h @@ -16,7 +16,7 @@ class SolverFP : public Solver { SolverFP(Reader &reader, MaterialManager *matmanager); - void internalSolve(); + void internalSolve() override; protected: using Solver::iter; diff --git a/pixi.lock b/pixi.lock index 10760e9..35d3b06 100644 --- a/pixi.lock +++ b/pixi.lock @@ -160,7 +160,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.2-py314h78220e7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py314h9a9c090_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-he0a73b1_0.conda @@ -306,7 +306,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -492,7 +492,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzip-1.11.2-h3e8f909_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzopfli-1.0.3-h01db608_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lxml-6.1.1-py314hc429ed8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lxml-6.1.2-py314h8982725_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.10.0-hfb11796_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-base-3.11.1-py314h95fdf5b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpc-1.4.0-he6dc3fb_0.conda @@ -638,7 +638,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -760,7 +760,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -924,7 +924,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libzopfli-1.0.3-h046ec9c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.2-py314h7dbf26e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-hc569e58_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.1-py314hdf6dac4_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/mpc-1.4.0-h31caf2d_0.conda @@ -1050,7 +1050,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -1214,7 +1214,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzopfli-1.0.3-h9f76cd9_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.8-hc7d1edf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.2-py314hfafbbc9_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-hdca3b7d_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.1-py314h27b0870_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpc-1.4.0-h169892a_0.conda @@ -1407,7 +1407,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.2-py314h78220e7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py314h9a9c090_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-he0a73b1_0.conda @@ -1558,7 +1558,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -1744,7 +1744,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzip-1.11.2-h3e8f909_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzopfli-1.0.3-h01db608_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lxml-6.1.1-py314hc429ed8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lxml-6.1.2-py314h8982725_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.10.0-hfb11796_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-base-3.11.1-py314h95fdf5b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpc-1.4.0-he6dc3fb_0.conda @@ -1895,7 +1895,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -2019,7 +2019,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -2178,7 +2178,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libzopfli-1.0.3-h046ec9c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.2-py314h7dbf26e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-hc569e58_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.1-py314hdf6dac4_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/mpc-1.4.0-h31caf2d_0.conda @@ -2307,7 +2307,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.24.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda @@ -2466,7 +2466,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzopfli-1.0.3-h9f76cd9_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.8-hc7d1edf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.2-py314hfafbbc9_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-hdca3b7d_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.1-py314h27b0870_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpc-1.4.0-h169892a_0.conda @@ -2540,11 +2540,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.13.1-h7508075_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.7-h01ee8f8_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.10-h01ee8f8_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.46.1-default_h4852527_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-22-22.1.8-default_hd70ba2e_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-22.1.8-default_cfg_hecfc6a8_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-22-22.1.8-default_h08c5240_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-22.1.8-default_h36682a0_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-scan-deps-22.1.8-default_h08c5240_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-22.1.8-default_h1af49a9_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang_impl_linux-64-22.1.8-default_h50bdbf7_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clangxx-22.1.8-default_cfg_h4f05b13_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clangxx_impl_linux-64-22.1.8-default_hb0aa002_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.2-hff7ac6b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/compiler-rt-22.1.8-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/compiler-rt22-22.1.8-hb700be7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-5.0.1-hc65338a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fftw-3.3.11-mpi_openmpi_h76e6d66_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.1.0-h76c4fd7_1.conda @@ -2561,6 +2573,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-9_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-9_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h08c5240_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_hd70ba2e_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcompiler-rt-22.1.8-hb700be7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-heca4667_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda @@ -2577,6 +2592,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-9_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda @@ -2595,6 +2611,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-22.1.8-h4922eb0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpi4py-4.1.2-py314hab80c86_100.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_2.conda @@ -2614,6 +2631,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/ucx-1.20.1-hbe80e26_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt22_linux-64-22.1.8-hffcefe0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_linux-64-22.1.8-ha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda @@ -2643,11 +2662,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-s3-0.13.1-he888730_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-sdkutils-0.2.7-hbc11874_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-checksums-0.2.10-hbc11874_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils-2.46.1-default_hf1166c9_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.8-h80f16a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-22-22.1.8-default_h1f00bc2_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-22.1.8-default_cfg_h1945e0f_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-format-22-22.1.8-default_h9c9fc99_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-format-22.1.8-default_h7c587c8_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-scan-deps-22.1.8-default_h9c9fc99_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-tools-22.1.8-default_h1b0c604_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang_impl_linux-aarch64-22.1.8-default_hb39d128_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clangxx-22.1.8-default_cfg_he0b30e6_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clangxx_impl_linux-aarch64-22.1.8-default_hd0ca775_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cmake-4.4.2-hcbeb305_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/compiler-rt-22.1.8-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/compiler-rt22-22.1.8-hfefdfc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/eigen-5.0.1-h5263460_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fftw-3.3.11-mpi_openmpi_h79548e3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fmt-12.1.0-h166da81_1.conda @@ -2664,6 +2695,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-9_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-9_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang-cpp22.1-22.1.8-default_h9c9fc99_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang13-22.1.8-default_h1f00bc2_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcompiler-rt-22.1.8-hfefdfc9_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.21.0-h23397ac_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321hc48eb74_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h80f16a2_3.conda @@ -2680,6 +2714,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h1ea5142_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-9_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libllvm22-22.1.8-hfd2ba90_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.68.1-hd3077d7_0.conda @@ -2698,6 +2733,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-22.1.8-he40846f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpi4py-4.1.2-py314hf3deed3_100.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-h2b6f883_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nlohmann_json-3.12.0-h7ac5ae9_2.conda @@ -2717,6 +2753,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ucx-1.20.1-hc4deba6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt22_linux-aarch64-22.1.8-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_linux-aarch64-22.1.8-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda @@ -2767,12 +2805,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.10-hdead95b_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.8-ha3d0635_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cctools-1030.6.3-llvm22_1_h0a1bb1c_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cctools_impl_osx-64-1030.6.3-llvm22_1_h8fe25a2_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cctools_osx-64-1030.6.3-llvm22_1_h0a1bb1c_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-22-22.1.8-default_h436299c_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-22.1.8-default_cfg_h83aaee2_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-format-22-22.1.8-default_hf44d2de_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-format-22.1.8-default_hb28dbfe_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-scan-deps-22.1.8-default_hf44d2de_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-tools-22.1.8-default_h66fc4d7_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/clang_impl_osx-64-22.1.8-default_hf44d2de_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/clang_osx-64-22.1.8-h97b245c_34.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clangxx-22.1.8-default_cfg_h69cb497_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/clangxx_impl_osx-64-22.1.8-default_h47be333_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/clangxx_osx-64-22.1.8-h97b245c_34.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-4.4.2-haddf760_1.conda @@ -2784,6 +2828,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-2.2.0-mpi_openmpi_h01d07d6_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ld64-956.6-llvm22_1_hc399b6d_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ld64_osx-64-956.6-llvm22_1_h163eae7_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-9_he492b99_openblas.conda @@ -2873,12 +2918,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.10-he8604bc_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools-1030.6.3-llvm22_1_hbe26303_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_impl_osx-arm64-1030.6.3-llvm22_1_h7bf7afb_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_osx-arm64-1030.6.3-llvm22_1_hbe26303_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-22-22.1.8-default_hed75349_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-22.1.8-default_cfg_hbc7c751_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-format-22-22.1.8-default_hc257da1_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-format-22.1.8-default_h1fde8bb_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-scan-deps-22.1.8-default_hc257da1_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-tools-22.1.8-default_ha2fb705_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_impl_osx-arm64-22.1.8-default_hc257da1_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_osx-arm64-22.1.8-hc95f77d_34.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx-22.1.8-default_cfg_h9c16036_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_impl_osx-arm64-22.1.8-default_h9cdd5ba_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_osx-arm64-22.1.8-hc95f77d_34.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.2-hf91ab31_1.conda @@ -2890,6 +2941,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-2.2.0-mpi_openmpi_h23de8e3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ld64-956.6-llvm22_1_h5b97f1b_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ld64_osx-arm64-956.6-llvm22_1_h692d5aa_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-9_h51639a9_openblas.conda @@ -3153,6 +3205,16 @@ packages: - aws-checksums >=0.2.10,<0.2.11.0a0 size: 101887 timestamp: 1785159213897 +- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.46.1-default_h4852527_102.conda + sha256: 659c367ef49df7741749a2ad240b007d7df51b4f210505a78543deafb001e44c + md5: e8452fe381cac5fff20563a07722dfa5 + depends: + - binutils_impl_linux-64 >=2.46.1,<2.46.2.0a0 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 35399 + timestamp: 1784214547142 - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda sha256: fb7bf36984a37ce7e4714d1d1da0bd0e3bfc679520f5cdc184afc676fd4b5da2 md5: a0c5e0b7f58c8ceeb08e5bc41251d5a2 @@ -3395,6 +3457,60 @@ packages: run_exports: {} size: 938412 timestamp: 1786527767794 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-22.1.8-default_cfg_hecfc6a8_6.conda + sha256: 129bc4d6c1dc0adf3ac4fa0f1585ecb46fb19ce75d36e87a5f550f0a621a1434 + md5: eb41c6dd2af698fa23fc913f28096cb6 + depends: + - clang-22 ==22.1.8 default_hd70ba2e_6 + - llvm-openmp >=22.1.8 + - clang_impl_linux-64 ==22.1.8 default_h50bdbf7_6 + - binutils + - libgcc-devel_linux-64 + - sysroot_linux-64 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33910 + timestamp: 1786527767794 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-22-22.1.8-default_h08c5240_6.conda + sha256: 8e0fb4bf20bc89b5de16357e73a8d3344db814aafcab354aecf968571e62fb21 + md5: 1705e9df386706e6ebb26cc6e4337b64 + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 76743 + timestamp: 1786527767794 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-22.1.8-default_h36682a0_6.conda + sha256: 03a3c632e594375b1416c0baf9131596aa4b11e80a8f557f69162fd1c7aed309 + md5: 23251f71f96479dd41634c313005199f + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - clang-format-22 ==22.1.8 default_h08c5240_6 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33491 + timestamp: 1786527767794 - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-scan-deps-22.1.8-default_h08c5240_6.conda sha256: f41e133972fdd5ae6d72316b629c4c8824b40149afe584df09566689c4fe5b52 md5: e76648ddae27c576062a043513f63667 @@ -3414,6 +3530,29 @@ packages: run_exports: {} size: 111107 timestamp: 1786527767794 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-22.1.8-default_h1af49a9_6.conda + sha256: ce6381b8a5d144d38d092c9cd9bfcf2fc303b9bf5bb45ddf3691767a1b3cdceb + md5: af79a61a5dbeb831893f942c924559eb + depends: + - clang-format ==22.1.8 default_h36682a0_6 + - libclang13 >=22.1.8 + - clang-scan-deps ==22.1.8 default_h08c5240_6 + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libllvm22 >=22.1.8,<22.2.0a0 + constrains: + - clangdev ==22.1.8 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 11711544 + timestamp: 1786527767794 - conda: https://conda.anaconda.org/conda-forge/linux-64/clang_impl_linux-64-22.1.8-default_h50bdbf7_6.conda sha256: 1899da88b21621d4f155e53ddf30330ae7e1e851920524d0bb28ce9c8f20c8f2 md5: 28db002a4e4fcbdab5cf70ac2ca1ab26 @@ -3450,6 +3589,25 @@ packages: - libgcc >=15 size: 29467 timestamp: 1785174991052 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clangxx-22.1.8-default_cfg_h4f05b13_6.conda + sha256: d61d7beea486f43401cf5bcecce83afcd7d9e3543802db471b2efd2ce7cd9602 + md5: 5cfebd4b8aee9a888bbdf5a00482dc79 + depends: + - clang ==22.1.8 default_cfg_hecfc6a8_6 + - clangxx_impl_linux-64 ==22.1.8 default_* + - libstdcxx-devel_linux-64 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33938 + timestamp: 1786527767794 - conda: https://conda.anaconda.org/conda-forge/linux-64/clangxx_impl_linux-64-22.1.8-default_hb0aa002_6.conda sha256: 125a870765d658267b072069e390b47153c23a19dbfe9353840eee2b4a8841c0 md5: 216df297860fcb21b1e524c4afd82407 @@ -5526,12 +5684,29 @@ packages: - libzopfli >=1.0.3,<1.1.0a0 size: 168074 timestamp: 1607309189989 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda - sha256: 7238bd901bc6efe5d568c74a32d67f4135abbbdebfd6954a2e48b3aa399835cd - md5: d541b0e73ecc183f9062a1aa95acbd1b +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-22.1.8-h4922eb0_0.conda + sha256: a37aba21b85800af1e7c5b04ba76abab96b6e591eedf99dc6e4df83b0fefd7a5 + md5: 7bbfdc5a6eca997d3b0873a575c3e155 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + constrains: + - intel-openmp <0.0a0 + - openmp 22.1.8|22.1.8.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + strong: + - llvm-openmp >=22.1.8 + - _openmp_mutex >=4.5 + - _openmp_mutex * *_llvm + size: 6123597 + timestamp: 1781736521736 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.2-py314h78220e7_0.conda + sha256: 2fe96be9c25a81271da015e10252fd8990d9a960178786e120cc189cd8e5d3a8 + md5: 5184c57f461cb3317d3d9e81d10e0b47 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15 - libxml2 - libxml2-16 >=2.14.6 - libxslt >=1.1.43,<2.0a0 @@ -5540,8 +5715,8 @@ packages: - python_abi 3.14.* *_cp314 license: BSD-3-Clause and MIT-CMU run_exports: {} - size: 1583195 - timestamp: 1779194870520 + size: 1606012 + timestamp: 1787133191979 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda sha256: b8c0e930183e6b7f83cd35ace102f2b8c2f0faae41dc05255dc72f247dfc556a md5: e38a3253d72ab07d471483f24947e2a2 @@ -7364,6 +7539,16 @@ packages: - aws-checksums >=0.2.10,<0.2.11.0a0 size: 99971 timestamp: 1785339185984 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils-2.46.1-default_hf1166c9_102.conda + sha256: 548d128bc257badd2d9dbdff8173eb693fcbec84ceeb0fa74cbfed141ed42ad9 + md5: 7a2f1cdac4c9fd2e87533ff2d2dcb702 + depends: + - binutils_impl_linux-aarch64 >=2.46.1,<2.46.2.0a0 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 35377 + timestamp: 1784214574154 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda sha256: eebe159bf600943552e4319ff4ce27b6a2dadf0dcc5443e76dcee9259a408e11 md5: 58f37d76b8234c69dbf2939d511bea0b @@ -7575,6 +7760,174 @@ packages: - charls >=2.4.4,<2.5.0a0 size: 167669 timestamp: 1780948627408 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-22-22.1.8-default_h1f00bc2_6.conda + sha256: 2965930e4ef32c44198a171c2c38ba1f92d87d712032217b28799e7db5fecfab + md5: cf1a41ebf4b5f8a10b50e6cec0bca1de + depends: + - compiler-rt22 ==22.1.8 + - libclang-cpp22.1 ==22.1.8 default_h9c9fc99_6 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 941576 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-22.1.8-default_cfg_h1945e0f_6.conda + sha256: 7d72ed30e5d50c278daa0673613231d62ec921044cf7ac96bca6d17e25b8c813 + md5: 97c751255f1aeaa626ad4555d4dc0b98 + depends: + - clang-22 ==22.1.8 default_h1f00bc2_6 + - llvm-openmp >=22.1.8 + - clang_impl_linux-aarch64 ==22.1.8 default_hb39d128_6 + - binutils + - libgcc-devel_linux-aarch64 + - sysroot_linux-aarch64 + - libstdcxx >=14 + - libgcc >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33819 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-format-22-22.1.8-default_h9c9fc99_6.conda + sha256: d6200432d9ff21eb6c7c8fb3bc46284f734b0fcbb5012c5ee229cf021843c007 + md5: 072303ab24658258cf517ad6ff63a249 + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 77931 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-format-22.1.8-default_h7c587c8_6.conda + sha256: f872e60a7ce3079e370650c1722d66148d41f36def051b89afd46eff7ab192f9 + md5: 5324eec4f3ae66aa23e9945393a6515b + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - clang-format-22 ==22.1.8 default_h9c9fc99_6 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33396 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-scan-deps-22.1.8-default_h9c9fc99_6.conda + sha256: 8cb79c11cd584f078442173cf6ef8c0cef1d70c4dfcd113464920781acdefd7d + md5: 004ea7fb6b42e9af87159e1ad90df684 + depends: + - libclang13 >=22.1.8 + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 123997 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang-tools-22.1.8-default_h1b0c604_6.conda + sha256: e18aa9d93495e9aac9d163d33013f5bde074ee5e744bf10f34aa98f7fb3df727 + md5: c0c6a4098fa40d4f10b3736a3613e871 + depends: + - clang-format ==22.1.8 default_h7c587c8_6 + - libclang13 >=22.1.8 + - clang-scan-deps ==22.1.8 default_h9c9fc99_6 + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + constrains: + - clangdev ==22.1.8 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 12349185 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clang_impl_linux-aarch64-22.1.8-default_hb39d128_6.conda + sha256: a633226388ff4adc1acd88ef06e1a4f884da4114d33ad981e4437c7e7045033e + md5: e0c56c088426755c622f61e400fdb12f + depends: + - clang-22 ==22.1.8 default_h1f00bc2_6 + - compiler-rt_linux-aarch64 ==22.1.8 + - compiler-rt ==22.1.8 + - binutils_impl_linux-aarch64 + - libgcc-devel_linux-aarch64 + - sysroot_linux-aarch64 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33410 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clangxx-22.1.8-default_cfg_he0b30e6_6.conda + sha256: 2950ad256ec1d57b916abdd70366bcd666fa9febf6a1715edd34b6ab0d8e476a + md5: 1db9c6d9f2884b35d12ac2c91ecf0924 + depends: + - clang ==22.1.8 default_cfg_h1945e0f_6 + - clangxx_impl_linux-aarch64 ==22.1.8 default_* + - libstdcxx-devel_linux-aarch64 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33871 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/clangxx_impl_linux-aarch64-22.1.8-default_hd0ca775_6.conda + sha256: f0e4151ad1838266a146a1658446bc458586f97a8f6c3f2aef3b55a33c64dd34 + md5: 095d6fff077ecb1eac0ecb9afbdeb2c1 + depends: + - clang-22 ==22.1.8 default_h1f00bc2_6 + - clang_impl_linux-aarch64 ==22.1.8 default_hb39d128_6 + - clang-scan-deps ==22.1.8 default_h9c9fc99_6 + - libstdcxx-devel_linux-aarch64 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33524 + timestamp: 1786527696995 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cli11-2.7.2-h7ac5ae9_1.conda sha256: 291fb773110ad728e9558fc6fe15c36e0576ddae04f27071bb660b8a8493a477 md5: 36f959161f12c421146115bccc834db6 @@ -7606,6 +7959,31 @@ packages: run_exports: {} size: 25498386 timestamp: 1786961020891 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/compiler-rt-22.1.8-h8af1aa0_1.conda + sha256: d17a99acb650ff3103c9288a3dc9f2197cf19828d91134f9a8309c35bf73339e + md5: 557573bb4d894ae6fec576b20cf2025b + depends: + - compiler-rt22 22.1.8 hfefdfc9_1 + - libcompiler-rt 22.1.8 hfefdfc9_1 + constrains: + - clang 22.1.8 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16614 + timestamp: 1781741084704 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/compiler-rt22-22.1.8-hfefdfc9_1.conda + sha256: 309c8fc29eafb61208feabad41eddac9ddaea2d1610fafee717583f4af7d26be + md5: 932b1f33722776fb1fa3aa2c79924abe + depends: + - compiler-rt22_linux-aarch64 22.1.8.* + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 115443 + timestamp: 1781741083483 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/contourpy-1.3.3-py314ha0cc70f_4.conda sha256: ce3575300f89e6d384cb28f44d11a52862087b3fbd82127300f3ec8b292a553d md5: 015503b3e0c818f2e773665aacada937 @@ -8398,6 +8776,58 @@ packages: - libcblas >=3.11.0,<4.0a0 size: 17977 timestamp: 1786058941306 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang-cpp22.1-22.1.8-default_h9c9fc99_6.conda + sha256: c2340ee1cfe1e2aa146d8cdfe9f4dccc18bef55286b14bbd6aef5db7a93c602c + md5: e181447f152fe069f13808ca35453c7c + depends: + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + size: 24211575 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang13-22.1.8-default_h1f00bc2_6.conda + sha256: 4423fc1f50d4294faa275442e2c2af6824a592bafa97892f452ae307298073b9 + md5: 3582c572aecef14ace7b8c907b5ada68 + depends: + - libclang-cpp22.1 ==22.1.8 default_h9c9fc99_6 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang13 >=22.1.8 + size: 14310328 + timestamp: 1786527696995 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcompiler-rt-22.1.8-hfefdfc9_1.conda + sha256: d3d6ed65bf42d820278d3dd77645c9544e668bda72bdddc6cf86394f1734470c + md5: e179a04425da273f15aa9ebd3929fcce + depends: + - libgcc >=14 + - libstdcxx >=14 + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libcompiler-rt >=22.1.8 + size: 7483837 + timestamp: 1781741072573 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcups-2.3.3-h4f2b762_6.conda sha256: 41b04f995c9f63af8c4065a35931e46cbc2fdd6b9bf7e4c19f90d53cbb2bc8e5 md5: 67828c963b17db7dc989fe5d509ef04a @@ -8831,6 +9261,23 @@ packages: - liblapack >=3.11.0,<3.12.0a0 size: 18007 timestamp: 1786058945578 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libllvm22-22.1.8-hfd2ba90_1.conda + sha256: dc943f1730a27f5fb36682c9852f7196f671c3a9df4a0a7a8f7ba665637c9151 + md5: 6fc7875f99e39c80dca8fcdc60e6559e + depends: + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm22 >=22.1.8,<22.2.0a0 + size: 43302008 + timestamp: 1781785783993 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda sha256: f760669fd1cea27f689f411c0d5488e26ce50e382c9b63e4ad348f959850124a md5: e0e6411a60d00186eec7c73f4118ab67 @@ -9410,11 +9857,26 @@ packages: - libzopfli >=1.0.3,<1.1.0a0 size: 171299 timestamp: 1607309446885 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lxml-6.1.1-py314hc429ed8_0.conda - sha256: dc1d92d0bad35b2b34f5928860eadeb99d4ab5de77d7f9e74259da1c3c7f66aa - md5: 2de034d6a4a9a8f17b6dca4a41ba58f3 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-22.1.8-he40846f_0.conda + sha256: 30bbb0ce4ae7cebbeb9801af5bbd2a29f8627237a38d08fc5d8d800e79c817aa + md5: 2107bb80c5587c116702ce215daddd73 + constrains: + - openmp 22.1.8|22.1.8.* + - intel-openmp <0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + strong: + - llvm-openmp >=22.1.8 + - _openmp_mutex >=4.5 + - _openmp_mutex * *_llvm + size: 5888931 + timestamp: 1781736538044 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lxml-6.1.2-py314h8982725_0.conda + sha256: 36024079464a67d4a195210146788ae0e1d998abce58375564bf0a4cbdf09445 + md5: f2eb1ff17338b63e7d03510328df0cd5 depends: - - libgcc >=14 + - libgcc >=15 - libxml2 - libxml2-16 >=2.14.6 - libxslt >=1.1.43,<2.0a0 @@ -9424,8 +9886,8 @@ packages: - python_abi 3.14.* *_cp314 license: BSD-3-Clause and MIT-CMU run_exports: {} - size: 1519272 - timestamp: 1779194917371 + size: 1553671 + timestamp: 1787133272905 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.10.0-hfb11796_2.conda sha256: e8392843a18954fef038f2721fde65c4dbe7693fcd07677e5e74fca85b1a690c md5: 36a6fab65bc51cf71761eb5339d8ea04 @@ -11254,6 +11716,16 @@ packages: run_exports: {} size: 49013140 timestamp: 1781741112005 +- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt22_linux-aarch64-22.1.8-hfefdfc9_1.conda + sha256: 354848c18b2fc3c08af5e34e853c18fd550a0103638f14714f443dff204c84ad + md5: 5dd8f17d763130ad0d061a6f7618aede + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 33853021 + timestamp: 1781741002491 - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt22_osx-64-22.1.8-hcf80936_1.conda sha256: 649d6ceeba53844d0764818ba60868645756561f68dd9f892a055f00c530e954 md5: bcf37da1bdd75d1a3c313e3c06561357 @@ -11286,6 +11758,18 @@ packages: run_exports: {} size: 16599 timestamp: 1781741197576 +- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_linux-aarch64-22.1.8-h8af1aa0_1.conda + sha256: 28cf258166a00bd7c92d9853a3716a8bb913c68c086a43810ee2f08b6163decc + md5: 8c0bb32e6abee55228fbdb3fa361cc48 + depends: + - compiler-rt22_linux-aarch64 22.1.8 hfefdfc9_1 + constrains: + - clang 22.1.8 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16664 + timestamp: 1781741084375 - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-64-22.1.8-h694c41f_1.conda sha256: bcccc19cb9c64f9d734e05fcb73a63a1031264395f239d1f29116112cace4ae4 md5: bda33fa1a1bef4edd443ef3a77f7b435 @@ -12054,9 +12538,9 @@ packages: run_exports: {} size: 289946 timestamp: 1783943716915 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.0-pyhcf101f3_1.conda - sha256: 4aeff72162e4b3f77238c859547275b9a989ed6873bffbdbc4d688291a60919b - md5: 3e7eb1cc4a342b2e7f68199b50fbe3cb +- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.11.1-pyhcf101f3_0.conda + sha256: d85d76827ff732e1639f50f45e4d7d3387a27abd857b194dcbb5bb4166c2a7c2 + md5: 2fbbf92e1173ae024f0b12759c1e64a1 depends: - jsonschema >=2.6 - jupyter_core >=4.12,!=5.0.* @@ -12065,10 +12549,9 @@ packages: - traitlets >=5.1 - python license: BSD-3-Clause - license_family: BSD run_exports: {} - size: 107583 - timestamp: 1786372859684 + size: 107750 + timestamp: 1787133512599 - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda sha256: e6768ceef038f4d7e083de7e393f5dd7d672b937e2bda570b740f6399b686689 md5: fcd832bfd4749e9b246112b6894f97fc @@ -13133,6 +13616,18 @@ packages: - cairo >=1.18.4,<2.0a0 size: 896676 timestamp: 1766416262450 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cctools-1030.6.3-llvm22_1_h0a1bb1c_5.conda + sha256: 89d6842105b4c6c86030729862d7da061aea2e1801c68eb33e4ed9caf086bac6 + md5: 21cfa4451a0e70cb5702a927edcb6ca4 + depends: + - cctools_impl_osx-64 1030.6.3 llvm22_1_h8fe25a2_5 + - ld64 956.6 llvm22_1_hc399b6d_5 + - libllvm22 >=22.1.8,<22.2.0a0 + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 24449 + timestamp: 1785271606338 - conda: https://conda.anaconda.org/conda-forge/osx-64/cctools_impl_osx-64-1030.6.3-llvm22_1_h8fe25a2_5.conda sha256: 14282f1853a116f6c945d67d514b449c24a47ba8b5e49f416e100289131a7789 md5: 867531162de56156f1a2f46845163f68 @@ -13226,6 +13721,57 @@ packages: run_exports: {} size: 925388 timestamp: 1786527732958 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clang-22.1.8-default_cfg_h83aaee2_6.conda + sha256: 45a562bc506918e46dda6492dfd6cb55e96508acd19d98fdd9a749e03cca126e + md5: a84fc54554f12a8b0711594d5d27eca3 + depends: + - clang-22 ==22.1.8 default_* + - llvm-openmp >=22.1.8 + - clang_impl_osx-64 ==22.1.8 default_hf44d2de_6 + - cctools + - ld64 + - ld64_osx-64 * llvm22_1_* + - llvm-tools ==22.1.8 + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 32294 + timestamp: 1786527732958 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clang-format-22-22.1.8-default_hf44d2de_6.conda + sha256: bf25063df012aa70205c8c7ebafa87451e5a93c3daea7d509cbb84bd49156acf + md5: 843f9b2b88646aa197f63862c3d584b0 + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libcxx >=22.1.8 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 70840 + timestamp: 1786527732958 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clang-format-22.1.8-default_hb28dbfe_6.conda + sha256: c40a1105c6b0d8633ba67a5a42db9c0e43a5711a3694146f0aea4486a92e8de5 + md5: 9bff0a231eb9cebedd753a4540a6d92b + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - clang-format-22 ==22.1.8 default_hf44d2de_6 + - libcxx >=22.1.8 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 31909 + timestamp: 1786527732958 - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-scan-deps-22.1.8-default_hf44d2de_6.conda sha256: 85a3055f2be6150b7ab315c3b02758d1472101ebd37b3caf15eb3bf6cc629dcd md5: d32ed3ff0d140897bce20498e84f37fd @@ -13244,6 +13790,28 @@ packages: run_exports: {} size: 125348 timestamp: 1786527732958 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clang-tools-22.1.8-default_h66fc4d7_6.conda + sha256: 72e87297ad39e8588dc77e6e8046eb9f2483490c339650e2cd9473051ef7c45e + md5: 7b367c1b3d2f9a70959e9df868986621 + depends: + - clang-format ==22.1.8 default_hb28dbfe_6 + - libclang13 >=22.1.8 + - clang-scan-deps ==22.1.8 default_hf44d2de_6 + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libcxx >=22.1.8 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libllvm22 >=22.1.8,<22.2.0a0 + constrains: + - clangdev ==22.1.8 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 8402982 + timestamp: 1786527732958 - conda: https://conda.anaconda.org/conda-forge/osx-64/clang_impl_osx-64-22.1.8-default_hf44d2de_6.conda sha256: 3fd89413aa14e388daa46a0c716abda84403369a00b88d35ee67b256b305f671 md5: 7e898974d3da1ba8232119c4091786d0 @@ -13275,6 +13843,23 @@ packages: run_exports: {} size: 20643 timestamp: 1785272674263 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clangxx-22.1.8-default_cfg_h69cb497_6.conda + sha256: 51b7e31b9121818feb71499fc7f13317e66a68f7d4581b465b725e125fa2346d + md5: facbb96db7e8417f5d1feb0745de13e1 + depends: + - clang ==22.1.8 default_cfg_h83aaee2_6 + - clangxx_impl_osx-64 ==22.1.8 default_* + - libcxx-devel 22.1.* + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 32319 + timestamp: 1786527732958 - conda: https://conda.anaconda.org/conda-forge/osx-64/clangxx_impl_osx-64-22.1.8-default_h47be333_6.conda sha256: 704d05673603bfc3d3e5eb57dc80454155170dfc0f1090ef6617d5a9fc5dbaa2 md5: 953a8d703d825d037304f3575e004380 @@ -13905,6 +14490,20 @@ packages: - lcms2 >=2.19.1,<3.0a0 size: 229477 timestamp: 1780211969520 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ld64-956.6-llvm22_1_hc399b6d_5.conda + sha256: f3157814e4eb0ec5311f3490e9eef1fe5bd59c754d8c17356a8a376176cc49d8 + md5: bc47058aa3f66ff48280ac9979cc7038 + depends: + - ld64_osx-64 956.6 llvm22_1_h163eae7_5 + - libllvm22 >=22.1.8,<22.2.0a0 + constrains: + - cctools_osx-64 1030.6.3.* + - cctools 1030.6.3.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 21875 + timestamp: 1785271583553 - conda: https://conda.anaconda.org/conda-forge/osx-64/ld64_osx-64-956.6-llvm22_1_h163eae7_5.conda sha256: 189796fe92549424b7fd225cccd9b97efbfee42e53db0a4a22ec18a82f19115e md5: fe8fdfdcd7ae3f0d46633b89073830e3 @@ -14935,9 +15534,9 @@ packages: run_exports: {} size: 51178 timestamp: 1781793626474 -- conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda - sha256: 1591897e0b9fd25db9eed842e5d3926621d45acab0610f1dce90b8fa9cc70378 - md5: b8ad901dca8ee289d6a8577198b6a256 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.2-py314h7dbf26e_0.conda + sha256: 09d4b2537af642038d437e71d0bb7be7688e2a0630a774f5ac70a171c448d5bd + md5: 4b6f65fc236f626cde200c7aed6e104e depends: - __osx >=11.0 - libxml2 @@ -14948,8 +15547,8 @@ packages: - python_abi 3.14.* *_cp314 license: BSD-3-Clause and MIT-CMU run_exports: {} - size: 1418187 - timestamp: 1779195547315 + size: 1354931 + timestamp: 1787133895229 - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-hc569e58_2.conda sha256: 97fedceb365f882790f37cf40bbfa89a67cdfa0d9e41e71a015d123d15b50433 md5: 40a2f8f02e39f9ca56006f35510627f4 @@ -16414,6 +17013,18 @@ packages: - cairo >=1.18.4,<2.0a0 size: 900035 timestamp: 1766416416791 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools-1030.6.3-llvm22_1_hbe26303_5.conda + sha256: c2431becc11a32e157a1c22c44f368773c009e298ba0127c89e614c8d3493a36 + md5: ee35bbae0edb9cc3b69445b0e8f90773 + depends: + - cctools_impl_osx-arm64 1030.6.3 llvm22_1_h7bf7afb_5 + - ld64 956.6 llvm22_1_h5b97f1b_5 + - libllvm22 >=22.1.8,<22.2.0a0 + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 24351 + timestamp: 1785270934554 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_impl_osx-arm64-1030.6.3-llvm22_1_h7bf7afb_5.conda sha256: 4e973a6236849d4f52b4463609654980ce60e6cd3cad71de9480f63ff9767548 md5: 65296f920674a115310cc3f3ce1bc8fc @@ -16508,6 +17119,57 @@ packages: run_exports: {} size: 924920 timestamp: 1786527707120 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-22.1.8-default_cfg_hbc7c751_6.conda + sha256: e5e09704a7b39e001a7aae3cd13e8d6f0161c75cdc58e5a82d46328730792cf8 + md5: 87a36460157785b995bf8d6e4a5025dd + depends: + - clang-22 ==22.1.8 default_* + - llvm-openmp >=22.1.8 + - clang_impl_osx-arm64 ==22.1.8 default_hc257da1_6 + - cctools + - ld64 + - ld64_osx-arm64 * llvm22_1_* + - llvm-tools ==22.1.8 + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 32177 + timestamp: 1786527707120 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-format-22-22.1.8-default_hc257da1_6.conda + sha256: 6006eca9bf44cf05e7de18fe9468a559b0ff90c858004ba726db82f0f728d112 + md5: cc24c2b3a8048824378435b74bb27d4e + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libcxx >=22.1.8 + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - zstd >=1.5.7,<1.6.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 68304 + timestamp: 1786527707120 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-format-22.1.8-default_h1fde8bb_6.conda + sha256: 39b0943dcd17275b153c87c067b54c0f8645be4839321fcd539358eb175d5195 + md5: 19bdb0267515a03feddc1a1f49aa0cf8 + depends: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - clang-format-22 ==22.1.8 default_hc257da1_6 + - libcxx >=22.1.8 + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 31784 + timestamp: 1786527707120 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-scan-deps-22.1.8-default_hc257da1_6.conda sha256: d5ab08fccabeb9b0e081b0303ed613fa91c0210878c50d4f05cd9d6e07f6e348 md5: da854da44e32397c0eedae9957259326 @@ -16526,6 +17188,28 @@ packages: run_exports: {} size: 117238 timestamp: 1786527707120 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-tools-22.1.8-default_ha2fb705_6.conda + sha256: a27f988b3319ec1b62c3cfbe0538936e5feb061ac95154147fb60d80b03ebb86 + md5: e9e2fe4ae7052b66c49adfc7ac009489 + depends: + - clang-format ==22.1.8 default_h1fde8bb_6 + - libclang13 >=22.1.8 + - clang-scan-deps ==22.1.8 default_hc257da1_6 + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + - libcxx >=22.1.8 + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - zstd >=1.5.7,<1.6.0a0 + - libllvm22 >=22.1.8,<22.2.0a0 + constrains: + - clangdev ==22.1.8 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 7907154 + timestamp: 1786527707120 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_impl_osx-arm64-22.1.8-default_hc257da1_6.conda sha256: a31dd186791d4eed3ec8a40cb2aebdfefd07a66f47739790a3ab87c6d0336a50 md5: 3c3886653db4f1fd24ff9ce536e606b1 @@ -16557,6 +17241,23 @@ packages: run_exports: {} size: 20683 timestamp: 1785272135295 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx-22.1.8-default_cfg_h9c16036_6.conda + sha256: 10215770bde46dc19658d2aea82cb69413acaa4f9e7d517fef34c0bdfccc5d99 + md5: d6cc31a5fa0fd68ea6ac33b1b58109e0 + depends: + - clang ==22.1.8 default_cfg_hbc7c751_6 + - clangxx_impl_osx-arm64 ==22.1.8 default_* + - libcxx-devel 22.1.* + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 32207 + timestamp: 1786527707120 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_impl_osx-arm64-22.1.8-default_h9cdd5ba_6.conda sha256: 4bdedff1b5090add04ac4f3d5e75da64785972eda6dddf4b084cd5d2a3518756 md5: 0b32fafa8c031ddaffcf16ccbfe51597 @@ -17192,6 +17893,20 @@ packages: - lcms2 >=2.19.1,<3.0a0 size: 213747 timestamp: 1780212240694 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ld64-956.6-llvm22_1_h5b97f1b_5.conda + sha256: 649aed47b17fb6dd0036972eb67cda49d930edb33bfbd42080d0f56e689927cc + md5: e36ce4ef652fd1d571d32df59e6aafe6 + depends: + - ld64_osx-arm64 956.6 llvm22_1_h692d5aa_5 + - libllvm22 >=22.1.8,<22.2.0a0 + constrains: + - cctools_osx-arm64 1030.6.3.* + - cctools 1030.6.3.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 21744 + timestamp: 1785270927117 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ld64_osx-arm64-956.6-llvm22_1_h692d5aa_5.conda sha256: 0ae96297b92a8148219d3450b989caaa37c6a8f03c3b891d204946e9b2a8f69d md5: b84ec86a7de90fd23133d5f527943329 @@ -18222,9 +18937,9 @@ packages: run_exports: {} size: 52210 timestamp: 1781783441469 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda - sha256: f2c95fdbfa2cb7fb3d97987d2b06617fb57a346a6d93030516b0bce5c420cfb7 - md5: 1f41be2aa1490c4da46da7c2e0de83d6 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.2-py314hfafbbc9_0.conda + sha256: 58f2ac12a9b82be96e4ebe9b467311b5bb69614a56162d29d632a40c214b6f4a + md5: 2b04a825c8a2806ac75175c356ce08c1 depends: - __osx >=11.0 - libxml2 @@ -18236,8 +18951,8 @@ packages: - python_abi 3.14.* *_cp314 license: BSD-3-Clause and MIT-CMU run_exports: {} - size: 1376491 - timestamp: 1779195548681 + size: 1296905 + timestamp: 1787133881200 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-hdca3b7d_2.conda sha256: 1887867b393eb3c2b336deaffcf228574821ea1e0dcb9ef7bf6c9f59cec40f03 md5: d47f7f3481c6f2fcc4ed22802f61c6dd diff --git a/pixi.toml b/pixi.toml index 9661d15..ca2fdf5 100644 --- a/pixi.toml +++ b/pixi.toml @@ -27,6 +27,8 @@ cmd = "cd \"$INIT_CWD\" && python -m MSUtils.general.h52xdmf {{ extra }} {{ fil [feature.dev.dependencies] cmake = ">=4.4.2,<5" +clang-tools = ">=22.1.8,<23" +clangxx = ">=22.1.8,<23" openmpi-mpicxx = ">=5.0.10,<6" hdf5 = { version = ">=2.2.0,<3", build = "mpi_openmpi_*" } fftw = { version = ">=3.3.11,<4", build = "mpi_openmpi_*" } @@ -43,6 +45,9 @@ scikit-build-core = ">=1.0.3,<2" numpy = ">=2.5.2,<3" mpi4py = ">=4.1.2,<5" +[feature.dev.tasks] +clang-tidy = { cmd = "./tools/run_clang_tidy.sh {{ args }}", args = [ { arg = "args", default = "" }] } + [tasks] test = { cmd = "pytest -v -s --from-pixi", cwd = "test/pytest", depends-on = ["test-fans"] } test-fans = { cmd = "./run_tests.sh -n {{n}}", args = [ diff --git a/src/main.cpp b/src/main.cpp index 7521335..e343b73 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,7 +41,7 @@ void runSolver(Reader &reader, char input_fn[]) int main(int argc, char *argv[]) { - MPI_Init(NULL, NULL); + MPI_Init(nullptr, nullptr); Log::init(Log::parse_options(argc, argv)); if (argc > 1 && string(argv[1]) == "--version") { diff --git a/src/reader.cpp b/src/reader.cpp index 4327fd0..92b0e7a 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -5,7 +5,7 @@ #include "fftw3-mpi.h" #include "hdf5.h" #include "mpi.h" -#include "stdlib.h" +#include #include "H5FDmpi.h" #include "H5FDmpio.h" @@ -190,7 +190,7 @@ void Reader::safe_create_group(hid_t file, const char *const name) strcpy(buffer, name); char *str = buffer; str = strchr(str + 1, DELIMITER); - while (str != NULL) { + while (str != nullptr) { // while another / character is found long int l = str - buffer; // length of substring buffer[l] = '\0'; // temporary 'end of string' @@ -203,7 +203,7 @@ void Reader::safe_create_group(hid_t file, const char *const name) void *old_client_data; H5Eget_auto(H5E_DEFAULT, &old_func, &old_client_data); /* Turn off error handling */ - H5Eset_auto(H5E_DEFAULT, NULL, NULL); + H5Eset_auto(H5E_DEFAULT, nullptr, nullptr); group = H5Gopen(file, buffer, H5P_DEFAULT); /* Restore previous error handler */ @@ -256,7 +256,7 @@ void Reader ::ReadMS(int hm) } hid_t dspace = H5Dget_space(dset_id); - int rank = H5Sget_simple_extent_dims(dspace, _dims, NULL); + int rank = H5Sget_simple_extent_dims(dspace, _dims, nullptr); data_type = H5T_NATIVE_USHORT; // H5Dget_type(dset_id); // Check if microstructure dataset has ZYX ordering through the permute_order attribute diff --git a/tools/run_clang_tidy.sh b/tools/run_clang_tidy.sh new file mode 100755 index 0000000..89a2060 --- /dev/null +++ b/tools/run_clang_tidy.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# +# Run clang-tidy over the FANS sources. Arguments go to run-clang-tidy: +# +# ./tools/run_clang_tidy.sh +# ./tools/run_clang_tidy.sh -fix +# +set -euo pipefail + +# cd rather than just resolve: clang-tidy looks for .clang-tidy relative to the +# working directory, and reports "No checks enabled" without it. +cd "$(dirname "$0")/.." +SRC=$PWD +BUILD="$SRC/build/clang-tidy" + +# The test targets are fixtures, not code under review. +CC=clang CXX=clang++ cmake -S "$SRC" -B "$BUILD" \ + -D CMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -D FANS_ENABLE_TESTING=OFF >/dev/null + +# No -header-filter here: it would override HeaderFilterRegex in .clang-tidy. +run-clang-tidy -p "$BUILD" -quiet "$@"