Skip to content

Commit 7ae73dc

Browse files
committed
fail if thisstate is less than zero
1 parent caa6766 commit 7ae73dc

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

src/brain.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ int neuron_update(struct neuron* n, struct brain* b)
107107
n->n_fired += 1;
108108
}
109109
n->thisstate += n->nextstate;
110+
// thisstate less than zero is not possible
111+
assert(n->thisstate >= 0);
110112
n->nextstate = 0;
111113
n->fired = 0;
112114
return n->fired;

src/cbrain.c

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,34 @@ int main(int argc, char* argv[])
88
}
99
cbrain_print(0, "mutex initiated at %p\n", &lock);
1010
srand(time(0));
11-
if (argc < 2) {
12-
printf("Number of neurons required\n");
13-
exit(1);
14-
}
15-
int neurons_no = atoi(argv[1]);
11+
//if (argc < 2) {
12+
// printf("Number of neurons required\n");
13+
// exit(1);
14+
//}
15+
//int neurons_no = atoi(argv[1]);
1616
uint sleep_t;
1717
sleep_t = (argc < 3) ? SLEEP_T : strtof(argv[2], NULL);
1818

1919
struct brain* b = parse_model_csv("src/models/conn.txt");
2020

2121
//struct brain* b = brain_init((uint)neurons_no);
2222
//neuron_link_random(b);
23-
cbrain_print(0, "%d neurons generated and randomly linked\n", b->nc);
24-
neuron_fire(b->neurons[172], b);
25-
neuron_fire(b->neurons[173], b);
26-
neuron_update_range(0, 499, b);
23+
//cbrain_print(0, "%d neurons generated and randomly linked\n", b->nc);
24+
// run an infinite loop which gives food to c elegans
25+
for (;;) {
26+
neuron_fire(b->neurons[4], b);
27+
neuron_fire(b->neurons[5], b);
28+
neuron_fire(b->neurons[42], b);
29+
neuron_fire(b->neurons[41], b);
30+
neuron_fire(b->neurons[45], b);
31+
neuron_fire(b->neurons[46], b);
32+
neuron_fire(b->neurons[48], b);
33+
neuron_fire(b->neurons[76], b);
34+
neuron_fire(b->neurons[77], b);
35+
neuron_fire(b->neurons[72], b);
36+
neuron_fire(b->neurons[73], b);
37+
neuron_update_range(0, 499, b);
38+
}
2739
//struct nthread* nt1 = thread_struct_new(0, neurons_no-1);
2840
//thread_create(nt1, b, 0, sleep_t);
2941
//struct nthread* at = thread_struct_new(0, 0);

0 commit comments

Comments
 (0)