public IDataVector <TValue> MemberwiseSet(VectorMemberwiseNameOpertor <TValue> setterAction) { var tmpThis = this; var newValues = tmpThis._values.Select((val, idx) => setterAction(tmpThis.FeatureNames[idx], val)).ToList(); return(new DataVector <TValue>(newValues, new List <string>(FeatureNames))); }
public void Test_MemberwiseSet_UsingFeatureNames() { // Given VectorMemberwiseNameOpertor <object> vectorOperator = (featureName, value) => featureName == "F2" ? Math.Pow(Convert.ToDouble(value), 2) : value; var expectedVector = Vector <double> .Build.Dense(new[] { 1.0, 4.0, 3.0, 4.0 }); // When var actualVector = TestDataBuilder.BuildNumericVector().MemberwiseSet(vectorOperator).NumericVector; // Then Assert.True(expectedVector.Equals(actualVector)); }