Index: /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/GAM/Spline1dModel.cs
===================================================================
--- /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/GAM/Spline1dModel.cs	(revision 17933)
+++ /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/GAM/Spline1dModel.cs	(revision 17934)
@@ -55,10 +55,10 @@
     private Spline1dModel(Spline1dModel orig, Cloner cloner) : base(orig, cloner) {
       this.inputVariable = orig.inputVariable;
-      this.interpolant = (alglib.spline1d.spline1dinterpolant)orig.interpolant.make_copy();
+      if(orig.interpolant != null) this.interpolant = (alglib.spline1d.spline1dinterpolant)orig.interpolant.make_copy();
     }
     public Spline1dModel(alglib.spline1d.spline1dinterpolant interpolant, string targetVar, string inputVar)
       : base(targetVar, $"Spline model ({inputVar})") {
       this.interpolant = (alglib.spline1d.spline1dinterpolant)interpolant.make_copy();
-      this.inputVariable = inputVar;      
+      this.inputVariable = inputVar;
     }
 
@@ -73,5 +73,5 @@
     }
 
-    public double GetEstimatedValue(double x) => alglib.spline1d.spline1dcalc(interpolant, x);
+    public double GetEstimatedValue(double x) => alglib.spline1d.spline1dcalc(interpolant, x, null);
 
     public override IEnumerable<double> GetEstimatedValues(IDataset dataset, IEnumerable<int> rows) {
Index: /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/NcaModel.cs
===================================================================
--- /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/NcaModel.cs	(revision 17933)
+++ /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/Nca/NcaModel.cs	(revision 17934)
@@ -66,5 +66,5 @@
       var ds = ReduceDataset(dataset, rows);
       // the new implementation of kNN uses selfmatch=true by default
-      nnModel = new NearestNeighbourModelAlglib_3_7(ds, Enumerable.Range(0, ds.Rows), k, selfMatch: false, ds.VariableNames.Last(), ds.VariableNames.Take(transformationMatrix.GetLength(1)), classValues: classValues);
+      nnModel = new NearestNeighbourModelAlglib_3_7(ds, Enumerable.Range(0, ds.Rows), k, false, ds.VariableNames.Last(), ds.VariableNames.Take(transformationMatrix.GetLength(1)), classValues: classValues);
     }
 
Index: /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NearestNeighbour/NearestNeighbourModel.cs
===================================================================
--- /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NearestNeighbour/NearestNeighbourModel.cs	(revision 17933)
+++ /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NearestNeighbour/NearestNeighbourModel.cs	(revision 17934)
@@ -128,5 +128,5 @@
         alglib.knnbuildersetdatasetcls(knnbuilder, inputMatrix, nRows, nFeatures, classValues.Length);
       }
-      alglib.knnbuilderbuildknnmodel(knnbuilder, k, eps: 0.0, out model, out var report); // eps=0 (exact k-nn search is performed)
+      alglib.knnbuilderbuildknnmodel(knnbuilder, k, 0.0, out model, out var report); // eps=0 (exact k-nn search is performed)
 
     }
Index: /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkRegression.cs
===================================================================
--- /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkRegression.cs	(revision 17933)
+++ /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkRegression.cs	(revision 17934)
@@ -192,9 +192,9 @@
       alglib.multilayerperceptron multiLayerPerceptron = null;
       if (nLayers == 0) {
-        alglib.mlpcreate0(allowedInputVariables.Count(), nout: 1, out multiLayerPerceptron);
+        alglib.mlpcreate0(allowedInputVariables.Count(), 1, out multiLayerPerceptron);
       } else if (nLayers == 1) {
-        alglib.mlpcreate1(allowedInputVariables.Count(), nHiddenNodes1, nout: 1, out multiLayerPerceptron);
+        alglib.mlpcreate1(allowedInputVariables.Count(), nHiddenNodes1, 1, out multiLayerPerceptron);
       } else if (nLayers == 2) {
-        alglib.mlpcreate2(allowedInputVariables.Count(), nHiddenNodes1, nHiddenNodes2, nout: 1, out multiLayerPerceptron);
+        alglib.mlpcreate2(allowedInputVariables.Count(), nHiddenNodes1, nHiddenNodes2, 1, out multiLayerPerceptron);
       } else throw new ArgumentException("Number of layers must be zero, one, or two.", "nLayers");
 
