Add CompositeModel for combining base+noise models, ModelRegistry singleton with JSON-based model template loading, per-instance-key model isolation, and inline CSV/valve pair/composite syntax parsing in createModel.
16 lines
390 B
C++
16 lines
390 B
C++
#pragma once
|
|
#include <TestProject/RNG/model/IModel.h>
|
|
#include <memory>
|
|
|
|
struct CompositeModel : IModel {
|
|
std::unique_ptr<IModel> base;
|
|
std::unique_ptr<IModel> noise;
|
|
|
|
CompositeModel(std::unique_ptr<IModel> b, std::unique_ptr<IModel> n)
|
|
: base(std::move(b)), noise(std::move(n)) {}
|
|
|
|
float evaluate(size_t t) override {
|
|
return base->evaluate(t) + noise->evaluate(t);
|
|
}
|
|
};
|