#include "brain/neuron.h" #include double Neuron::sigmoid(double input) const { double slope = 4.924273; return (1/(1+(std::exp(-(slope*input))))); } void Neuron::calculateActivation() { double newActivation = 0; for (auto const& link : _inputLinks) { newActivation += link->weightedActivation(); } newActivation = sigmoid(newActivation); _activationChanged = newActivation != _activation; _activation = newActivation; } void Neuron::addInput(std::unique_ptr&& link) { _inputLinks.push_back(std::move(link)); }