public virtual double ValueAt(double[] x) { if (++i % outputFreq == 0) { log.Info("Storing interim (double) weights to " + filename + " ... "); try { DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(filename)))); ConvertByteArray.SaveDoubleArr(dos, x); dos.Close(); } catch (IOException) { log.Error("!"); return(1); } log.Info("DONE."); } return(0); }