That part could be written as :

Code:
for (int m = 0; m < ann->hidden; ++m) {
            int windex = m + (ann->hidden_layers ? (ann->hidden * (ann->hidden_layers - 1)) : 0);
            w[m+1] += delta * learning_rate * ann->output[windex]; 
        }
Because I deleted some comments. It was not properly written.