#pragma once #include "./BasisFunction.h" namespace NeuralNetwork { namespace BasisFunction { class Product: public BasisFunction { public: Product() {} /** * @brief function computes product of inputs, where weight > 0.5 */ inline virtual float operator()(const std::vector& weights, const std::vector& input) const override { float product=1.0; for(size_t i=0;i 0.5) product=product*input[i]; } return product; } virtual Product* clone() const override { return new Product(); } virtual std::string stringify() const override { return "{ \"class\": \"NeuralNetwork::BasisFunction::Product\" }"; } }; } }