Connection.h 1.21 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
/**
 * DESCRIPTION OF THE FILE
 *
 * @author Michal Kravčenko
 * @date 13.6.18 -
 */

#ifndef INC_4NEURO_CONNECTION_H
#define INC_4NEURO_CONNECTION_H

#include "../Neuron/Neuron.h"
12
13
#include "ConnectionWeight.h"

14
class Neuron;
15
class ConnectionWeight;
16
17
18
19
20
21

/**
 *
 */
class Connection {
private:
22

23
24
25
    /**
     *
     */
26
    ConnectionWeight *con = nullptr;
27
28
29
    /**
     *
     */
30
    Neuron *neuron_in = nullptr;
31
32
33
34

    /**
     *
     */
35
36
    Neuron *neuron_out = nullptr;

37
38
39
40
41
42
43
44
45
46

    //TODO pridat gradient

public:

    /**
     *
     * @param[in] n_in
     * @param[in] n_out
     */
47
    Connection(Neuron *n_in, Neuron *n_out, ConnectionWeight* con);
48
49
50
51
52
53
54
55
56
57

//    Connection(Neuron *n_in, Neuron *n_out, Connection* ref_con);

    /**
     *
     */
    ~Connection()=default;

    /**
     *
58
     * @param[in] values
59
     */
60
    void adjust_weights(double *values);
61
62
63

    /**
     *
64
     * @param[in] values
65
     */
66
    void set_weights(double *values);
67

68
69
70
71
72
//    /**
//     *
//     * @return
//     */
//    double get_weight();
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96


    /**
     *
     */
    void pass_signal();


    /**
     *
     * @return
     */
    Neuron* get_neuron_in();

    /**
     *
     * @return
     */
    Neuron* get_neuron_out();

};


#endif //INC_4NEURO_CONNECTION_H