summaryrefslogtreecommitdiff
path: root/include/brain/neuron.h
blob: 810ce5b6179606857030ea3f71f3545057cf0ff0 (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::shared_ptr<NeuralLink> link);

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