void propagate (vector<double> input) { if(hidden_count==0) { output_layer.layer_input=input; // cout<<"Output Layer :\n"; output_layer.calculate(); return ; } hidden_layers[0].layer_input=input; // cout<<"Hidden Layer 0 : \n"; hidden_layers[0].calculate(); // Propogating the out values to input of next layer update(0); for(int i=1;i<hidden_count;i++) { hidden_layers[i].calculate(); update(i); } output_layer.calculate(); }