// Adds inputs to a layer, computes each node of that layer,
// SKips the first input of the node because it is the bias.
Adds inputs to a layer, computes each node of that layer,
SKips the first input of the node because it is the bias.
// Adds inputs to a layer computes each node of that layer // SKips the first input of the node because it is the bias .
func propagateInputs(inputs []float64, layer *Layer) []float64 {
	outputs := make([]float64, len(layer.Nodes))
	layer.Inputs[0] = 1 
	copy(layer.Inputs[1:], inputs)
	for i := 0; i < len(layer.Nodes); i++ {
		outputs[i] = layer.Nodes[i].Compute()
	}
	return outputs
}
func propagateInputs ( inputs [ ] float64 , layer * Layer ) [ ] float64 { outputs := make ( [ ] float64 , len ( layer . Nodes ) ) layer . Inputs [ 0 ] = 1 copy ( layer . Inputs [ 1 : ] , inputs ) for i := 0 ; i < len ( layer . Nodes ) ; i ++ { outputs [ i ] = layer . Nodes [ i ] . Compute ( ) } return outputs }
Adds inputs to a layer, computes each node of that layer,
SKips the first input of the node because it is the bias.
Adds inputs to a layer computes each node of that layer SKips the first input of the node because it is the bias .
// x_j0 always 1