Skip to content

feat(EnergyTerm): builder for energy terms#36

Merged
francoisbonneau merged 21 commits into
mcmc_configfrom
energy_term_refactoring
May 25, 2026
Merged

feat(EnergyTerm): builder for energy terms#36
francoisbonneau merged 21 commits into
mcmc_configfrom
energy_term_refactoring

Conversation

@francoisbonneau
Copy link
Copy Markdown
Member

No description provided.

@francoisbonneau francoisbonneau requested a review from BotellaA April 9, 2026 12:26
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 9, 2026

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.8) reports: 664 concern(s)
  • bindings/python/src/stochastic/sampling/mcmc/helpers/fracture_simulation_runner.hpp:30:9: warning: [google-build-using-namespace]

    do not use namespace using-directives; use using-declarations instead

       30 |         using namespace geode;
          |         ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:28:37: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       28 |     void define_simulation_monitor( pybind11::module &module )
          |                                     ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:30:9: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       30 |         pybind11::class_< geode::StatisticsTracker >(
          |         ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:30:52: error: [clang-diagnostic-error]

    expected '(' for function-style cast or type construction

       30 |         pybind11::class_< geode::StatisticsTracker >(
          |                           ~~~~~~~~~~~~~~~~~~~~~~~~ ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:32:19: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       32 |             .def( pybind11::init< geode::index_t >(),
          |                   ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:32:50: error: [clang-diagnostic-error]

    expected '(' for function-style cast or type construction

       32 |             .def( pybind11::init< geode::index_t >(),
          |                                   ~~~~~~~~~~~~~~ ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:32:52: error: [clang-diagnostic-error]

    expected expression

       32 |             .def( pybind11::init< geode::index_t >(),
          |                                                    ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:33:17: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       33 |                 pybind11::arg( "nb_energy_terms" ),
          |                 ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:36:46: error: [clang-diagnostic-error]

    use of class template 'geode::StatisticsTracker' requires template arguments

       36 |             .def( "add_realization", &geode::StatisticsTracker::add_realization,
          |                                              ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/inference/statistics_tracker.hpp:13:11: note: template is declared here
       12 |     template < typename ObjectType >
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       13 |     class StatisticsTracker
          |           ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:37:17: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       37 |                 pybind11::arg( "values" ),
          |                 ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:39:46: error: [clang-diagnostic-error]

    use of class template 'geode::StatisticsTracker' requires template arguments

       39 |             .def( "statiscal_count", &geode::StatisticsTracker::statiscal_count,
          |                                              ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/inference/statistics_tracker.hpp:13:11: note: template is declared here
       12 |     template < typename ObjectType >
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       13 |     class StatisticsTracker
          |           ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:41:54: error: [clang-diagnostic-error]

    use of class template 'geode::StatisticsTracker' requires template arguments

       41 |             .def_property_readonly( "means", &geode::StatisticsTracker::means,
          |                                                      ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/inference/statistics_tracker.hpp:13:11: note: template is declared here
       12 |     template < typename ObjectType >
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       13 |     class StatisticsTracker
          |           ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:44:25: error: [clang-diagnostic-error]

    use of class template 'geode::StatisticsTracker' requires template arguments

       44 |                 &geode::StatisticsTracker::variances,
          |                         ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/inference/statistics_tracker.hpp:13:11: note: template is declared here
       12 |     template < typename ObjectType >
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       13 |     class StatisticsTracker
          |           ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_monitor.hpp:46:41: error: [clang-diagnostic-error]

    use of class template 'geode::StatisticsTracker' requires template arguments; argument deduction not allowed in lambda parameter

       46 |             .def( "__repr__", []( const geode::StatisticsTracker &self ) {
          |                                         ^~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/inference/statistics_tracker.hpp:13:11: note: template is declared here
       13 |     class StatisticsTracker
          |           ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:28:37: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       28 |     void define_simulation_printer( pybind11::module &module )
          |                                     ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:30:9: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       30 |         pybind11::class_< SimulationPrinterConfigurator >(
          |         ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:30:27: error: [clang-diagnostic-error]

    'SimulationPrinterConfigurator' does not refer to a value

       30 |         pybind11::class_< SimulationPrinterConfigurator >(
          |                           ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:37:12: note: declared here
       37 |     struct SimulationPrinterConfigurator
          |            ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:32:19: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       32 |             .def( pybind11::init<>() )
          |                   ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:32:34: error: [clang-diagnostic-error]

    expected expression

       32 |             .def( pybind11::init<>() )
          |                                  ^
  • bindings/python/src/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:32:36: error: [clang-diagnostic-error]

    expected expression

       32 |             .def( pybind11::init<>() )
          |                                    ^
  • include/geode/stochastic/inference/statistic_validator.hpp:36:27: error: [clang-diagnostic-error]

    use of class template 'StatisticsTracker' requires template arguments; argument deduction not allowed in function prototype

       36 |         void check( const StatisticsTracker& monitor,
          |                           ^~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/inference/statistics_tracker.hpp:13:11: note: template is declared here
       13 |     class StatisticsTracker
          |           ^
  • include/geode/stochastic/inference/statistic_validator.hpp:42:30: warning: [clang-diagnostic-unused-variable]

    unused variable 'rel_error'

       42 |                 const double rel_error = std::abs( mean - target.value )
          |                              ^~~~~~~~~
  • include/geode/stochastic/inference/statistics_tracker.hpp:16:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       16 |         StatisticsTracker( const Model< ObjectType >& model ) : model_{ model }
          |         ^
          |         explicit 
  • include/geode/stochastic/inference/statistics_tracker.hpp:32:17: warning: [readability-qualified-auto]

    'auto &value' can be declared as 'const auto &value'

       32 |                 auto& value = values[value_id];
          |                 ^
          |                 const 
  • include/geode/stochastic/inference/statistics_tracker.hpp:34:23: warning: [readability-identifier-length]

    variable name 'm2' is too short, expected at least 3 characters

       34 |                 auto& m2 = m2_[value_id]; // somme des carrés
          |                       ^
  • include/geode/stochastic/inference/statistics_tracker.hpp:82:37: warning: [readability-redundant-member-init]

    initializer for member 'means_' is redundant

       82 |         std::vector< double > means_{};
          |                                     ^~
  • include/geode/stochastic/inference/statistics_tracker.hpp:83:34: warning: [readability-redundant-member-init]

    initializer for member 'm2_' is redundant

       83 |         std::vector< double > m2_{};
          |                                  ^~
  • include/geode/stochastic/inference/target_statistic.hpp:32:27: warning: [cppcoreguidelines-avoid-magic-numbers]

    0.05 is a magic number; consider replacing it with a named constant

       32 |         double tolerance{ 0.05 };
          |                           ^
  • include/geode/stochastic/models/energy_terms/energy_term_builder.hpp:68:9: warning: [misc-definitions-in-headers]

    function 'pairwise_builder_initialize_interactions_helper' defined in a header file; function definitions in header files can lead to ODR violations

       68 |         pairwise_builder_initialize_interactions_helper(
          |         ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/models/energy_terms/energy_term_builder.hpp:68:9: note: mark the definition as 'inline'
       66 |     std::pair< std::vector< geode::uuid >,
          |     inline 
       67 |         absl::flat_hash_map< uuid, std::vector< uuid > > >
       68 |         pairwise_builder_initialize_interactions_helper(
          |         ^
  • include/geode/stochastic/models/energy_terms/energy_term_builder.hpp:143:35: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      143 |         const NewEnergyTypeConfig&,
          |                                   ^
          |                                    /*unused*/
      144 |         const ObjectSets< ObjectType >&,
          |                                        
          |                                         /*unused*/
      145 |         const SpatialDomain< ObjectType::dim >& )
          |                                                  /*unused*/
  • include/geode/stochastic/models/energy_terms/energy_term_builder.hpp:153:30: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      153 |         const std::monostate&,
          |                              ^
          |                               /*unused*/
      154 |         const ObjectSets< ObjectType >&,
          |                                        
          |                                         /*unused*/
      155 |         const SpatialDomain< ObjectType::dim >& )
          |                                                  /*unused*/
  • include/geode/stochastic/models/model.hpp:51:11: warning: [cppcoreguidelines-special-member-functions]

    class 'Model' defines a copy constructor and a copy assignment operator but does not define a destructor, a move constructor or a move assignment operator

       51 |     class Model
          |           ^
  • include/geode/stochastic/models/model.hpp:57:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       57 |         Model( EnergyTermCollection< ObjectType >&& energy_terms )
          |         ^
          |         explicit 
  • include/geode/stochastic/sampling/direct/object_set_sampler/point_set_sampler.hpp:39:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       39 |         UniformPointSetSampler( const SpatialDomain< dimension >& domain )
          |         ^
          |         explicit 
  • include/geode/stochastic/sampling/direct/object_set_sampler/point_set_sampler.hpp:48:13: warning: [cppcoreguidelines-prefer-member-initializer]

    'step_move_' should be initialized in a member initializer of the constructor

       40 |             : ObjectSetSampler< Point< dimension > >{}, domain_( domain )
          |                                                                          
          |                                                                          , step_move_(define_step_for_move())
       41 |         {
       42 |             auto volume = domain_.extended_n_volume();
       43 |             OpenGeodeStochasticStochasticException::check_exception(
       44 |                 volume != 0., nullptr, OpenGeodeException::TYPE::data,
       45 |                 "[PointSetSampler] - Undefined Extended Bounding "
       46 |                 "Box (volume ==0)." );
       47 |             this->log_pdf_ = -std::log( volume );
       48 |             step_move_ = define_step_for_move();
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • include/geode/stochastic/sampling/direct/object_set_sampler/point_set_sampler.hpp:68:31: warning: [readability-identifier-naming]

    invalid case style for constexpr variable 'max_try'

       68 |             constexpr index_t max_try{ 100 };
          |                               ^~~~~~~
          |                               MAX_TRY
       69 |             for( const auto try_id : geode::Range{ max_try } )
          |                                                    ~~~~~~~
          |                                                    MAX_TRY
  • include/geode/stochastic/sampling/direct/object_set_sampler/point_set_sampler.hpp:87:28: warning: [cppcoreguidelines-avoid-magic-numbers]

    0.1 is a magic number; consider replacing it with a named constant

       87 |             double ratio = 0.1;
          |                            ^
  • include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:40:13: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'UniformSegmentSetSampler' of similar type ('const DoubleSampler::Distribution &') are easily swapped by mistake

       40 |             const DoubleSampler::Distribution& length,
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       41 |             const DoubleSampler::Distribution& azimuth )
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:40:48: note: the first parameter in the range is 'length'
       40 |             const DoubleSampler::Distribution& length,
          |                                                ^~~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:41:48: note: the last parameter in the range is 'azimuth'
       41 |             const DoubleSampler::Distribution& azimuth )
          |                                                ^~~~~~~
  • include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:65:28: warning: [cppcoreguidelines-avoid-magic-numbers]

    0.1 is a magic number; consider replacing it with a named constant

       65 |             double ratio = 0.1;
          |                            ^
  • include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:75:31: warning: [readability-identifier-naming]

    invalid case style for constexpr variable 'max_try'

       75 |             constexpr index_t max_try{ 100 };
          |                               ^~~~~~~
          |                               MAX_TRY
       76 |             for( const auto try_id : geode::Range{ max_try } )
          |                                                    ~~~~~~~
          |                                                    MAX_TRY
  • include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:76:29: warning: [clang-analyzer-deadcode.DeadStores]

    Value stored to 'try_id' during its initialization is never read

       76 |             for( const auto try_id : geode::Range{ max_try } )
          |                             ^~~~~~ ~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:76:29: note: Value stored to 'try_id' during its initialization is never read
       76 |             for( const auto try_id : geode::Range{ max_try } )
          |                             ^~~~~~ ~
  • include/geode/stochastic/sampling/direct/object_set_sampler/segment_set_sampler.hpp:94:9: warning: [modernize-use-nodiscard]

    function 'is_valid_object' should be marked [[nodiscard]]

       94 |         bool is_valid_object( const OwnerSegment2D& obj ) const override
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/helpers/fracture_simulation_runner.hpp:28:10: error: [clang-diagnostic-error]

    'geode/stochastic/models/energy_terms/density_term.hpp' file not found

       28 | #include <geode/stochastic/models/energy_terms/density_term.hpp>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • include/geode/stochastic/sampling/mcmc/helpers/fracture_simulation_runner.hpp:60:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

       60 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/helpers/fracture_simulation_runner.hpp:87:9: warning: [cppcoreguidelines-pro-type-member-init]

    constructor does not initialize these fields: set_descriptors_, set_name_to_uuid_

       87 |         FractureSimulationRunner( const SpatialDomain< 2 >& domain )
          |         ^
  • include/geode/stochastic/sampling/mcmc/helpers/fracture_simulation_runner.hpp:87:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       87 |         FractureSimulationRunner( const SpatialDomain< 2 >& domain )
          |         ^
          |         explicit 
  • include/geode/stochastic/sampling/mcmc/helpers/fracture_simulation_runner.hpp:174:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

      174 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_monitor_old.hpp:31:11: warning: [cppcoreguidelines-special-member-functions]

    class 'StatisticsTracker' defines a copy constructor, a copy assignment operator, a move constructor and a move assignment operator but does not define a destructor

       31 |     class StatisticsTracker
          |           ^
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_monitor_old.hpp:40:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       40 |         StatisticsTracker( const index_t nb_energy_terms )
          |         ^
          |         explicit 
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_monitor_old.hpp:58:33: warning: [google-readability-braces-around-statements]

    statement should be inside braces

       58 |                 if( count_ > 1 )
          |                                 ^
          |                                  {
       59 |                     variances_[i] = ( ( count_ - 2 ) * variances_[i]
       60 |                                         + delta * ( values[i] - means_[i] ) )
       61 |                                     / ( count_ - 1 );
          |                                                      
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_monitor_old.hpp:65:9: warning: [modernize-use-nodiscard]

    function 'statiscal_count' should be marked [[nodiscard]]

       65 |         const index_t statiscal_count() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_monitor_old.hpp:65:9: warning: [readability-const-return-type]

    return type 'const index_t' (aka 'const unsigned int') is 'const'-qualified at the top level, which may reduce code readability without improving const correctness

       65 |         const index_t statiscal_count() const
          |         ^~~~~
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_monitor_old.hpp:70:9: warning: [modernize-use-nodiscard]

    function 'means' should be marked [[nodiscard]]

       70 |         const std::vector< double >& means() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_monitor_old.hpp:75:9: warning: [modernize-use-nodiscard]

    function 'variances' should be marked [[nodiscard]]

       75 |         const std::vector< double >& variances() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:47:47: warning: [cppcoreguidelines-avoid-magic-numbers]

    100 is a magic number; consider replacing it with a named constant

       47 |         index_t realisations_print_frequency{ 100 };
          |                                               ^
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:51:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

       51 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/helpers/simulation_printer.hpp:83:13: warning: [modernize-pass-by-value]

    pass by value and use std::move

       34 |             const SimulationPrinterConfigurator& config )
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             SimulationPrinterConfigurator 
       35 |             : model_( model ), config_( config )
          |                                        std::move( )
  • include/geode/stochastic/sampling/mcmc/helpers/state_dynamics.hpp:34:11: warning: [cppcoreguidelines-special-member-functions]

    class 'StateDynamics' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       34 |     class StateDynamics
          |           ^
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:32:17: warning: [performance-enum-size]

    enum 'MHDecision' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       32 |     enum struct MHDecision
          |                 ^
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:32:17: warning: [readability-identifier-naming]

    invalid case style for enum 'MHDecision'

       32 |     enum struct MHDecision
          |                 ^~~~~~~~~~
          |                 MH_DECISION
       33 |     {
       34 |         Accepted,
       35 |         Rejected,
       36 |         Undecided
       37 |     };
       38 | 
       39 |     template < typename ObjectType >
       40 |     struct StepResult
       41 |     {
       42 |         MHDecision decision{ MHDecision::Undecided };
          |         ~~~~~~~~~~           ~~~~~~~~~~
          |         MH_DECISION          MH_DECISION
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:34:9: warning: [readability-identifier-naming]

    invalid case style for enum constant 'Accepted'

       34 |         Accepted,
          |         ^~~~~~~~
          |         accepted
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:35:9: warning: [readability-identifier-naming]

    invalid case style for enum constant 'Rejected'

       35 |         Rejected,
          |         ^~~~~~~~
          |         rejected
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:36:9: warning: [readability-identifier-naming]

    invalid case style for enum constant 'Undecided'

       36 |         Undecided
          |         ^~~~~~~~~
          |         undecided
       37 |     };
       38 | 
       39 |     template < typename ObjectType >
       40 |     struct StepResult
       41 |     {
       42 |         MHDecision decision{ MHDecision::Undecided };
          |                                          ~~~~~~~~~
          |                                          undecided
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:101:9: warning: [modernize-use-nodiscard]

    function 'beta' should be marked [[nodiscard]]

      101 |         double beta() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:106:31: warning: [readability-identifier-length]

    parameter name 'b' is too short, expected at least 3 characters

      106 |         void set_beta( double b )
          |                               ^
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:141:43: warning: [google-readability-braces-around-statements]

    statement should be inside braces

      141 |             if( std::isnan( log_accept ) )
          |                                           ^
          |                                            {
      142 |                 return 0.0;
          |                            
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:143:36: warning: [google-readability-braces-around-statements]

    statement should be inside braces

      143 |             if( log_accept >= 0.0 )
          |                                    ^
          |                                     {
      144 |                 return 1.0;
          |                            
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:147:39: warning: [google-readability-braces-around-statements]

    statement should be inside braces

      147 |             if( log_accept < LOG_MIN )
          |                                       ^
          |                                        {
      148 |                 return 0.0;
          |                            
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:153:9: warning: [modernize-use-nodiscard]

    function 'compute_log_accept' should be marked [[nodiscard]]

      153 |         const double compute_log_accept( const double deltaU,
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:153:9: warning: [readability-const-return-type]

    return type 'const double' is 'const'-qualified at the top level, which may reduce code readability without improving const correctness

      153 |         const double compute_log_accept( const double deltaU,
          |         ^~~~~
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:156:20: warning: [readability-math-missing-parentheses]

    '*' has higher precedence than '+'; add parentheses to explicitly specify the order of operations

      156 |             return -beta_ * deltaU + proposal_probas.transition_probability();
          |                    ^~~~~~~~~~~~~~~
          |                    (              )
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:160:34: warning: [readability-function-size]

    function 'accept_or_reject' exceeds recommended size/complexity thresholds

      160 |         StepResult< ObjectType > accept_or_reject(
          |                                  ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:160:34: note: 5 parameters (threshold 4)
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:165:25: warning: [cppcoreguidelines-missing-std-forward]

    forwarding reference parameter 'apply_move' is never forwarded inside the function body

      165 |             ApplyMove&& apply_move ) const
          |                         ^
  • include/geode/stochastic/sampling/mcmc/metropolis_hasting_sampler.hpp:178:63: warning: [google-readability-braces-around-statements]

    statement should be inside braces

      178 |             if( step_result.decision == MHDecision::Accepted )
          |                                                               ^
          |                                                                {
      179 |                 apply_move( state, proposal );
          |                                               
  • include/geode/stochastic/sampling/mcmc/proposal/classical_proposals.hpp:34:10: warning: [readability-function-size]

    function 'add_birth_death_change_moves' exceeds recommended size/complexity thresholds

       34 |     void add_birth_death_change_moves(
          |          ^
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/mcmc/proposal/classical_proposals.hpp:34:10: note: 6 parameters (threshold 4)
  • include/geode/stochastic/sampling/mcmc/proposal/classical_proposals.hpp:39:9: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'add_birth_death_change_moves' of similar type ('double') are easily swapped by mistake

       39 |         double death_ratio,
          |         ^~~~~~~~~~~~~~~~~~~
       40 |         double change_ratio )
          |         ~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/mcmc/proposal/classical_proposals.hpp:39:16: note: the first parameter in the range is 'death_ratio'
       39 |         double death_ratio,
          |                ^~~~~~~~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/mcmc/proposal/classical_proposals.hpp:40:16: note: the last parameter in the range is 'change_ratio'
       40 |         double change_ratio )
          |                ^~~~~~~~~~~~
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:31:16: warning: [performance-enum-size]

    enum 'MoveType' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       31 |     enum class MoveType
          |                ^
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:31:16: warning: [readability-identifier-naming]

    invalid case style for enum 'MoveType'

       31 |     enum class MoveType
          |                ^~~~~~~~
          |                MOVE_TYPE
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:33:9: warning: [readability-identifier-naming]

    invalid case style for enum constant 'Invalid'

       33 |         Invalid,
          |         ^~~~~~~
          |         invalid
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:34:9: warning: [readability-identifier-naming]

    invalid case style for enum constant 'Birth'

       34 |         Birth,
          |         ^~~~~
          |         birth
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:35:9: warning: [readability-identifier-naming]

    invalid case style for enum constant 'Death'

       35 |         Death,
          |         ^~~~~
          |         death
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:36:9: warning: [readability-identifier-naming]

    invalid case style for enum constant 'Change'

       36 |         Change
          |         ^~~~~~
          |         change
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:43:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

       43 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:51:9: warning: [modernize-use-nodiscard]

    function 'transition_probability' should be marked [[nodiscard]]

       51 |         double transition_probability() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:72:9: warning: [modernize-use-nodiscard]

    function 'type_string' should be marked [[nodiscard]]

       72 |         std::string type_string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:92:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

       92 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:112:11: warning: [cppcoreguidelines-special-member-functions]

    class 'Move' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

      112 |     class Move
          |           ^
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:133:9: warning: [modernize-use-nodiscard]

    function 'proportion_weight' should be marked [[nodiscard]]

      133 |         double proportion_weight() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:143:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

      143 |         virtual std::string string() const = 0;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:161:47: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'sampler_' has protected visibility

      161 |         const ObjectSetSampler< ObjectType >& sampler_;
          |                                               ^
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:162:16: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'proportion_weight_' has protected visibility

      162 |         double proportion_weight_{ 1.0 };
          |                ^
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:170:13: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'BirthDeathMove' of similar type ('double') are easily swapped by mistake

      170 |             double probability,
          |             ^~~~~~~~~~~~~~~~~~~
      171 |             double birth_ratio )
          |             ~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:170:20: note: the first parameter in the range is 'probability'
      170 |             double probability,
          |                    ^~~~~~~~~~~
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:171:20: note: the last parameter in the range is 'birth_ratio'
      171 |             double birth_ratio )
          |                    ^~~~~~~~~~~
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:199:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

      199 |         std::string string() const override
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:247:30: warning: [cppcoreguidelines-avoid-magic-numbers]

    0.5 is a magic number; consider replacing it with a named constant

      247 |         double birth_ratio_{ 0.5 };
          |                              ^
  • include/geode/stochastic/sampling/mcmc/proposal/moves.hpp:283:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

      283 |         std::string string() const override
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/proposal_kernel.hpp:60:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

       60 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/proposal_kernel.hpp:68:11: warning: [cppcoreguidelines-special-member-functions]

    class 'ProposalKernel' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       68 |     class ProposalKernel
          |           ^
  • include/geode/stochastic/sampling/mcmc/proposal/proposal_kernel.hpp:103:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

      103 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/proposal_kernel.hpp:122:9: warning: [modernize-use-nodiscard]

    function 'compute_probabilities' should be marked [[nodiscard]]

      122 |         std::vector< double > compute_probabilities() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/proposal/proposal_kernel.hpp:145:56: warning: [readability-identifier-length]

    parameter name 'p' is too short, expected at least 3 characters

      145 |                 probabilities.begin(), [total]( double p ) {
          |                                                        ^
  • include/geode/stochastic/sampling/mcmc/proposal/proposal_kernel.hpp:161:45: warning: [google-readability-braces-around-statements]

    statement should be inside braces

      161 |             if( !cumulative_probs_.empty() )
          |                                             ^
          |                                              {
      162 |                 cumulative_probs_.back() = 1.0; // ensure exact 1.0
          |                                                                    
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:38:31: warning: [cppcoreguidelines-avoid-magic-numbers]

    1000 is a magic number; consider replacing it with a named constant

       38 |         index_t realizations{ 1000 };
          |                               ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:39:43: warning: [cppcoreguidelines-avoid-magic-numbers]

    1000 is a magic number; consider replacing it with a named constant

       39 |         index_t metropolis_hasting_steps{ 1000 };
          |                                           ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:40:32: warning: [cppcoreguidelines-avoid-magic-numbers]

    1000 is a magic number; consider replacing it with a named constant

       40 |         index_t burn_in_steps{ 1000 };
          |                                ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:44:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

       44 |         std::string string() const
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:63:11: warning: [cppcoreguidelines-special-member-functions]

    class 'SimulationRunner' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       63 |     class SimulationRunner
          |           ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:66:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       66 |         SimulationRunner( const SpatialDomain< ObjectType::dim >& domain )
          |         ^
          |         explicit 
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:130:42: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'domain_' has protected visibility

      130 |         SpatialDomain< ObjectType::dim > domain_;
          |                                          ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:132:34: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'object_sets_' has protected visibility

      132 |         ObjectSets< ObjectType > object_sets_;
          |                                  ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:134:13: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'set_samplers_' has protected visibility

      134 |             set_samplers_;
          |             ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:135:48: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'model_' has protected visibility

      135 |         std::unique_ptr< Model< ObjectType > > model_;
          |                                                ^
  • include/geode/stochastic/sampling/mcmc/simulation_runner.hpp:136:68: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'mh_sampler_' has protected visibility

      136 |         std::unique_ptr< geode::MetropolisHastings< ObjectType > > mh_sampler_;
          |                                                                    ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:30:5: error: [clang-diagnostic-error]

    unknown type name 'FORWARD_DECLARATION_DIMENSION_CLASS'

       30 |     FORWARD_DECLARATION_DIMENSION_CLASS( BoundingBox );
          |     ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:30:42: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'BoundingBox' is non-const and globally accessible, consider making it const

       30 |     FORWARD_DECLARATION_DIMENSION_CLASS( BoundingBox );
          |                                          ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:30:42: warning: [readability-identifier-naming]

    invalid case style for variable 'BoundingBox'

       30 |     FORWARD_DECLARATION_DIMENSION_CLASS( BoundingBox );
          |                                          ^~~~~~~~~~~
          |                                          bounding_box
  • include/geode/stochastic/spatial/object_neighborhood.hpp:31:1: warning: [llvm-namespace-comment]

    namespace 'geode' not terminated with a closing comment

       31 | }
          | ^
          |   // namespace geode
    /__w/OpenGeode-Stochastic/OpenGeode-Stochastic/include/geode/stochastic/spatial/object_neighborhood.hpp:28:11: note: namespace 'geode' starts here
       28 | namespace geode
          |           ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:35:12: warning: [cppcoreguidelines-pro-type-member-init]

    constructor does not initialize these fields: index, fixed, set_id

       35 |     struct ObjectId
          |            ^
       36 |     {
       37 |         index_t index;
          |                      
          |                      {}
       38 |         bool fixed;
          |                   
          |                   {}
       39 |         uuid set_id;
          |                    
          |                    {}
  • include/geode/stochastic/spatial/object_neighborhood.hpp:37:9: error: [clang-diagnostic-error]

    unknown type name 'index_t'

       37 |         index_t index;
          |         ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:39:9: error: [clang-diagnostic-error]

    unknown type name 'uuid'

       39 |         uuid set_id;
          |         ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:57:16: error: [clang-diagnostic-error]

    unknown type name 'index_t'

       57 |     template < index_t dimension >
          |                ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:58:11: warning: [cppcoreguidelines-special-member-functions]

    class 'ObjectNeighborhood' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       58 |     class ObjectNeighborhood
          |           ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:64:25: error: [clang-diagnostic-error]

    no template named 'BoundingBox'

       64 |         void add( const BoundingBox< dimension >& box, const ObjectId& id );
          |                         ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:64:72: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       64 |         void add( const BoundingBox< dimension >& box, const ObjectId& id );
          |                                                                        ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:65:28: error: [clang-diagnostic-error]

    no template named 'BoundingBox'

       65 |         void update( const BoundingBox< dimension >& old_box,
          |                            ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:66:19: error: [clang-diagnostic-error]

    no template named 'BoundingBox'

       66 |             const BoundingBox< dimension >& new_box,
          |                   ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:67:29: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       67 |             const ObjectId& id );
          |                             ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:68:28: error: [clang-diagnostic-error]

    no template named 'BoundingBox'

       68 |         void update( const BoundingBox< dimension >& box,
          |                            ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:71:28: error: [clang-diagnostic-error]

    no template named 'BoundingBox'

       71 |         void remove( const BoundingBox< dimension >& box, const ObjectId& id );
          |                            ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:71:75: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       71 |         void remove( const BoundingBox< dimension >& box, const ObjectId& id );
          |                                                                           ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:73:9: warning: [modernize-use-nodiscard]

    function 'get_all_neighbor_ids' should be marked [[nodiscard]]

       73 |         std::vector< ObjectId > get_all_neighbor_ids(
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_neighborhood.hpp:74:19: error: [clang-diagnostic-error]

    no template named 'BoundingBox'

       74 |             const BoundingBox< dimension >& box,
          |                   ^
  • include/geode/stochastic/spatial/object_neighborhood.hpp:75:32: error: [clang-diagnostic-error]

    use of undeclared identifier 'uuid'

       75 |             const std::vector< uuid >& targeted_set_ids,
          |                                ^
  • include/geode/stochastic/spatial/object_sets.hpp:50:11: warning: [cppcoreguidelines-special-member-functions]

    class 'ObjectSets' defines a copy constructor, a copy assignment operator, a move constructor and a move assignment operator but does not define a destructor

       50 |     class ObjectSets
          |           ^
  • include/geode/stochastic/spatial/object_sets.hpp:61:9: warning: [modernize-use-nodiscard]

    function 'get_all_object' should be marked [[nodiscard]]

       61 |         std::vector< ObjectId > get_all_object() const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:62:9: warning: [modernize-use-nodiscard]

    function 'get_objects_in_set' should be marked [[nodiscard]]

       62 |         std::vector< ObjectId > get_objects_in_set( const uuid& set_id ) const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:64:9: warning: [modernize-use-nodiscard]

    function 'nb_sets' should be marked [[nodiscard]]

       64 |         index_t nb_sets() const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:65:9: warning: [modernize-use-nodiscard]

    function 'nb_objects_in_set' should be marked [[nodiscard]]

       65 |         index_t nb_objects_in_set( const uuid& set_id ) const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:66:9: warning: [modernize-use-nodiscard]

    function 'nb_objects' should be marked [[nodiscard]]

       66 |         index_t nb_objects() const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:78:9: warning: [modernize-use-nodiscard]

    function 'string' should be marked [[nodiscard]]

       78 |         std::string string() const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:80:9: warning: [modernize-use-nodiscard]

    function 'get_set_uuid' should be marked [[nodiscard]]

       80 |         uuid get_set_uuid( std::string_view set_name ) const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:81:9: warning: [modernize-use-nodiscard]

    function 'get_set_uuids' should be marked [[nodiscard]]

       81 |         std::vector< uuid > get_set_uuids(
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/object_sets.hpp:83:9: warning: [modernize-use-nodiscard]

    function 'get_set_uuid_pairs' should be marked [[nodiscard]]

       83 |         std::vector< std::pair< uuid, uuid > > get_set_uuid_pairs(
          |         ^
          |         [[nodiscard]] 
  • include/geode/stochastic/spatial/pairwise_interactions/pairwise_interactions_builder.hpp:50:70: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       50 |         build_pairwise_interaction_impl( const NewInteractionConfig& )
          |                                                                      ^
          |                                                                       /*unused*/
  • include/geode/stochastic/spatial/pairwise_interactions/pairwise_interactions_builder.hpp:59:64: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       59 |         build_pairwise_interaction_impl( const std::monostate& )
          |                                                                ^
          |                                                                 /*unused*/
  • include/geode/stochastic/spatial/single_object_features/segment_length_feature.hpp:29:47: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'SegmentLengthInsideBoxFeature' is non-const and globally accessible, consider making it const

       29 |     class opengeode_stochastic_stochastic_api SegmentLengthInsideBoxFeature
          |                                               ^

Have any feedback or feature suggestions? Share it here.

Comment thread include/geode/stochastic/models/energy_terms/energy_term.hpp Outdated
@francoisbonneau francoisbonneau force-pushed the energy_term_refactoring branch from a0ad94a to b4cfae3 Compare May 25, 2026 08:55
@francoisbonneau francoisbonneau merged commit 79a054d into mcmc_config May 25, 2026
20 checks passed
@francoisbonneau francoisbonneau deleted the energy_term_refactoring branch May 25, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants