public void CopyIndependendFunctionValuesWhenAdded() { //indep variable IVariable x = new Variable <double>(); var values = new[] { 1.0, 2.0, 3.0 }; x.Store.SetVariableValues(x, values); var store = new MemoryFunctionStore(); store.Functions.Add(x); Assert.AreEqual(3.0, store.GetVariableValues(x)[2]); Assert.AreEqual(3, store.GetVariableValues(x).Count); }
public void CopyDependendFunctionValuesWhenAdded() { //depended variable IVariable y = new Variable <int>("y"); IVariable x = new Variable <int>("x"); y.Arguments.Add(x); y.SetValues(new[] { 10, 20, 30 }, new VariableValueFilter <int>(x, new[] { 1, 2, 3 })); //switch store var store = new MemoryFunctionStore(); store.Functions.Add(y); //get values for x and y Assert.AreEqual(3, store.GetVariableValues(x).Count); Assert.AreEqual(3, store.GetVariableValues(y).Count); Assert.AreEqual(30, y[3]); }
public void GetIndependentValuesFiltersGeneric() { IFunctionStore store = new MemoryFunctionStore(); IVariable <double> x1 = new Variable <double>("x1"); //add one independent variable store.Functions.Add(x1); x1.SetValues(new[] { 0.0d, 1.0d, 2.0d }); Assert.AreEqual(0.0, x1.Values[0]); IMultiDimensionalArray <double> filteredValues = store.GetVariableValues <double>(x1, new VariableValueFilter <double>(x1, new[] { 0.0d, 2.0d })); Assert.AreEqual(0.0, filteredValues[0]); Assert.AreEqual(2.0, filteredValues[1]); }
public void CopyDependendFunctionValuesWhenAdded() { //depended variable IVariable y = new Variable<int>("y"); IVariable x = new Variable<int>("x"); y.Arguments.Add(x); y.SetValues(new[] { 10, 20, 30 }, new VariableValueFilter<int>(x, new[] { 1, 2, 3 })); //switch store var store = new MemoryFunctionStore(); store.Functions.Add(y); //get values for x and y Assert.AreEqual(3, store.GetVariableValues(x).Count); Assert.AreEqual(3, store.GetVariableValues(y).Count); Assert.AreEqual(30,y[3]); }
public void GetIndependentValuesFiltersGeneric() { IFunctionStore store = new MemoryFunctionStore(); IVariable<double> x1 = new Variable<double>("x1"); //add one independent variable store.Functions.Add(x1); x1.SetValues(new[] { 0.0d, 1.0d, 2.0d }); Assert.AreEqual(0.0, x1.Values[0]); IMultiDimensionalArray<double> filteredValues = store.GetVariableValues<double>(x1, new VariableValueFilter<double>(x1, new[] {0.0d, 2.0d})); Assert.AreEqual(0.0, filteredValues[0]); Assert.AreEqual(2.0, filteredValues[1]); }
public void CopyIndependendFunctionValuesWhenAdded() { //indep variable IVariable x = new Variable<double>(); var values = new[] { 1.0, 2.0, 3.0 }; x.Store.SetVariableValues(x, values); var store = new MemoryFunctionStore(); store.Functions.Add(x); Assert.AreEqual(3.0, store.GetVariableValues(x)[2]); Assert.AreEqual(3, store.GetVariableValues(x).Count); }