summaryrefslogtreecommitdiff
path: root/include/brain/neuron.h
blob: d017b0df197a09f024071adc7e9bf987cb2e7e26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#include <memory>
#include <vector>

#include "neural_node.h"
#include "neural_link.h"

class Neuron : public NeuralNode
{
public:
    Neuron(int id);
    virtual ~Neuron() {}
    virtual double activation() const;

    void addInput(std::unique_ptr<NeuralLink>&& link);

private:
    std::vector<std::unique_ptr<NeuralLink>> _inputLinks;
    double sigmoid(double input) const;
};