Rev 289 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef UNIT_H_
#define UNIT_H_
#include <cstdlib>
#include <cstdio>
#include <mutex>
#include "dq.h"
//#include "qube.h"
class unit
{
public:
weight_t syns[SYNS_PER_UNIT];
volatile float sum;
std::mutex mtx;
unit() {
sum=0.0;
for (int i=0; i<SYNS_PER_UNIT; i++) {
weight_t r = static_cast <weight_t> (rand()) / static_cast <weight_t> (RAND_MAX);
syns[i]=r;
}
}
void receive(int from,float val);
int run(class qube * qube, int me);
void adjust(int from);
inline void dump() {
for (int i=0; i<SYNS_PER_UNIT; i++) {
printf("[%0.6f]",syns[i]);
}
}
void fire(qube * q,int me, float val);
};
#endif