mirror of
https://github.com/codeplea/genann
synced 2024-11-28 09:13:13 +03:00
simplify most inner loops of genann_run
This commit is contained in:
parent
de04314b10
commit
e12f3a1820
20
genann.c
20
genann.c
@ -184,13 +184,9 @@ double const *genann_run(genann const *ann, double const *inputs) {
|
|||||||
/* Figure hidden layers, if any. */
|
/* Figure hidden layers, if any. */
|
||||||
for (h = 0; h < ann->hidden_layers; ++h) {
|
for (h = 0; h < ann->hidden_layers; ++h) {
|
||||||
for (j = 0; j < ann->hidden; ++j) {
|
for (j = 0; j < ann->hidden; ++j) {
|
||||||
double sum = 0;
|
double sum = *w++ * -1.0;
|
||||||
for (k = 0; k < (h == 0 ? ann->inputs : ann->hidden) + 1; ++k) {
|
for (k = 0; k < (h == 0 ? ann->inputs : ann->hidden); ++k) {
|
||||||
if (k == 0) {
|
sum += *w++ * i[k];
|
||||||
sum += *w++ * -1.0;
|
|
||||||
} else {
|
|
||||||
sum += *w++ * i[k-1];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
*o++ = act(sum);
|
*o++ = act(sum);
|
||||||
}
|
}
|
||||||
@ -203,13 +199,9 @@ double const *genann_run(genann const *ann, double const *inputs) {
|
|||||||
|
|
||||||
/* Figure output layer. */
|
/* Figure output layer. */
|
||||||
for (j = 0; j < ann->outputs; ++j) {
|
for (j = 0; j < ann->outputs; ++j) {
|
||||||
double sum = 0;
|
double sum = *w++ * -1.0;
|
||||||
for (k = 0; k < (ann->hidden_layers ? ann->hidden : ann->inputs) + 1; ++k) {
|
for (k = 0; k < (ann->hidden_layers ? ann->hidden : ann->inputs); ++k) {
|
||||||
if (k == 0) {
|
sum += *w++ * i[k];
|
||||||
sum += *w++ * -1.0;
|
|
||||||
} else {
|
|
||||||
sum += *w++ * i[k-1];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
*o++ = acto(sum);
|
*o++ = acto(sum);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user