* The input pattern.
* @return The new current state.
*/
@Override
public MLData compute(final MLData input) {
final BiPolarNeuralData result = new BiPolarNeuralData(input.size());
EngineArray.arrayCopy(input.getData(), getCurrentState().getData());
run();
for (int i = 0; i < getCurrentState().size(); i++) {
result.setData(i,
BiPolarUtil.double2bipolar(getCurrentState().getData(i)));
}
EngineArray.arrayCopy(getCurrentState().getData(), result.getData());
return result;
}