eis/TestProject/RNG/model/CompositeModel.h

16 lines
390 B
C
Raw Permalink Normal View History

#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);
}
};