Neuron: neural networks


unit.h
Go to the documentation of this file.
1
2#ifndef NEUR_UNIT_H
3#define NEUR_UNIT_H
4
5
6#include <fstream>
7#include <stdio.h>
8#include <iomanip>
9#include <math.h>
10#include <sys/types.h>
11#include <time.h>
12#include <stdlib.h>
13#include <string.h>
14
15
26
27
28// NEURONES
29
38template <class T> class unit
39{
40 public:
41
44
45 unit( const char *nom="", int typ=ENTREE, int xx=0, int yy=0, int zz=0,
46 T bia=0, T sor=0 )
47 { set(nom,typ,xx,yy,zz,bia,sor); }
48
50 ~unit() { }
52
55
68 inline int operator ==(const unit<T> & u) const;
70 inline int operator !=(const unit<T> & u) const;
73 inline int operator <(const unit<T> & u) const;
75 inline int operator >(const unit<T> & u) const;
77 inline int operator <=(const unit<T> & u) const;
79 inline int operator >=(const unit<T> & u) const;
81
84
85 const char *nm() const { return(_nm); }
87 T bi() const { return(_bi); }
89 int t() const { return(_t); }
91 T o() const { return(_o); }
93 int x() const { return(_x); }
95 int y() const { return(_y); }
97 int z() const { return(_z); }
99
102
103 void set( const char *nom, int typ, int xx, int yy, int zz,
104 T bia, T sor);
106 void set_nm(const char *nom);
109 void set_t(int typ);
111 void set_coord(int xx, int yy, int zz);
113 void set_bi(T bia) { _bi=bia; }
115 void set_o(T sor) { _o=sor; }
117
120
121 void aff() const;
123
124
125 protected:
126
128 void errtyp() const;
129
131 char _nm[12]; /* nom du neurone */
133 T _bi; /* biais */
135 int _t; /* type */
137 T _o; /* etat de sortie */
139 int _x;
141 int _y;
143 int _z; /* coordonnees du neurone */
144};
145
146
147// inline functions
148
149template<class T> inline int unit<T>::operator == ( const unit<T> & u ) const
150{
151 return( (_t==u._t) && (_bi==u._bi) && (_x==u._x) && (_y==u._y) && (_z==u._z)
152 && !(strcmp(_nm, u._nm)) );
153}
154
155
156template<class T> inline int unit<T>::operator != ( const unit<T> & u ) const
157{
158 return( (_t!=u._t) || (_bi!=u._bi) || (_x!=u._x) || (_y!=u._y) || (_z!=u._z)
159 || strcmp(_nm, u._nm) );
160}
161
162
163template<class T> inline int unit<T>::operator < ( const unit<T> & u ) const
164{
165 return( _t < u._t );
166}
167
168
169template<class T> inline int unit<T>::operator > ( const unit<T> & u ) const
170{
171 return( _t > u._t );
172}
173
174
175template<class T> inline int unit<T>::operator <= ( const unit<T> & u ) const
176{
177 return( _t <= u._t );
178}
179
180
181template<class T> inline int unit<T>::operator >= ( const unit<T> & u ) const
182{
183 return( _t >= u._t );
184}
185
186
187
188
189#endif
190
unit< T > & operator*=(const unit< T > &u)
void errtyp() const
Affiche un message d'erreur de type.
int z() const
Position z.
Definition unit.h:97
unit< T > & operator*(const unit< T > &u)
unit< T > & operator/(const unit< T > &u)
int operator==(const unit< T > &u) const
Egalité de nom, position, type, biais.
Definition unit.h:149
unit< T > & operator+(const unit< T > &u)
int _x
Champs coordonnées.
Definition unit.h:139
void aff() const
Affiche les caractéristiques du neurone.
T _o
Champ sortie.
Definition unit.h:137
int operator!=(const unit< T > &u) const
Inégalité.
Definition unit.h:156
int _z
Definition unit.h:143
void set_coord(int xx, int yy, int zz)
Fixe les coordonnées.
T bi() const
Biais.
Definition unit.h:87
T o() const
Sortie.
Definition unit.h:91
void set_bi(T bia)
Fixe le biais.
Definition unit.h:113
T _bi
Champ biais.
Definition unit.h:133
int operator<(const unit< T > &u) const
Comparaison de type.
Definition unit.h:163
void set(const char *nom, int typ, int xx, int yy, int zz, T bia, T sor)
Fixe tous les champs à la fois.
unit(const char *nom="", int typ=ENTREE, int xx=0, int yy=0, int zz=0, T bia=0, T sor=0)
Constructeur.
Definition unit.h:45
unit< T > & operator^(const unit< T > &u)
int x() const
Position x.
Definition unit.h:93
char _nm[12]
Champ nom.
Definition unit.h:131
~unit()
Destructeur.
Definition unit.h:50
int operator>=(const unit< T > &u) const
Definition unit.h:181
int _t
Champ type.
Definition unit.h:135
int _y
Definition unit.h:141
void set_o(T sor)
Fixe l'état de sortie.
Definition unit.h:115
int y() const
Position y.
Definition unit.h:95
unit< T > & operator+=(const unit< T > &u)
int operator<=(const unit< T > &u) const
Definition unit.h:175
int t() const
Type de neurone.
Definition unit.h:89
void set_nm(const char *nom)
Fixe le nom du neurone.
int operator>(const unit< T > &u) const
Definition unit.h:169
unit< T > & operator-(const unit< T > &u)
void set_t(int typ)
Fixe le type de neurone.
const char * nm() const
Nom du neurone.
Definition unit.h:85
unit< T > & operator/=(const unit< T > &u)
unit< T > & operator-=(const unit< T > &u)
unit< T > & operator++()
unit< T > & operator=(const unit< T > &u)
Neur_Types
Definition unit.h:18
@ CACHE
Definition unit.h:22
@ SORTIE
Definition unit.h:24
@ ENTREE
Definition unit.h:20