public IArrayVector Sum(IArrayVector anotherVector) { int n; if (vector.Length > anotherVector.GetSize()) { n = anotherVector.GetSize(); } else { n = vector.Length; } double[] another = anotherVector.Get(); double[] sum = new double[n]; for (int i = 0; i < n; i++) { sum[i] = vector[i] + another[i]; } anotherVector.Set(sum); return(anotherVector); }
public void Code(Type t, ref IArrayVector value) { var array = value.Array; Code(value.ArrayType, ref array); var origin = value.Origin; CodeLong(ref origin); var length = value.Size; CodeLong(ref length); var delta = value.Delta; CodeLong(ref delta); }
public void Code(Type t, ref IArrayVector value) { value = (IArrayVector)FastObjectFactory.ObjectFactory(t)(); Array array = null; Code(value.ArrayType, ref array); value.Array = array; long origin = 0L; CodeLong(ref origin); value.Origin = origin; long length = 0L; CodeLong(ref length); value.Size = length; long delta = 0L; CodeLong(ref delta); value.Delta = delta; }
public static bool TestClone1() { //arrange IArrayVector expected = new ArrayVector(new double[] { 1, 2, 3, 4 }); //act IArrayVector actual = expected.Clone(); //assert return(Enumerable.SequenceEqual(actual.Get(), expected.Get())); }
public static bool TestSum() { //arrange IArrayVector currentVector = new ArrayVector(new double[] { 1, 1, 1, 1 }); IArrayVector anotherVector = new ArrayVector(new double[] { 1, 1, 1 }); IArrayVector expected = new ArrayVector(new double[] { 2, 2, 2 }); //act IArrayVector actual = currentVector.Sum(anotherVector); //assert return(Enumerable.SequenceEqual(actual.Get(), expected.Get())); }
public void Code(Type t, ref IArrayVector value) { var item = new XElement("Vector"); m_elementStack.Push(m_element); m_element = item; var element = new XElement("Data"); m_elementStack.Push(m_element); m_element = element; var array = value.Array; Code(value.ArrayType, ref array); m_element = m_elementStack.Pop(); m_element.Add(element); element = new XElement("Origin"); m_elementStack.Push(m_element); m_element = element; var origin = value.Origin; CodeLong(ref origin); m_element = m_elementStack.Pop(); m_element.Add(element); element = new XElement("Length"); m_elementStack.Push(m_element); m_element = element; var length = value.Size; CodeLong(ref length); m_element = m_elementStack.Pop(); m_element.Add(element); element = new XElement("Delta"); m_elementStack.Push(m_element); m_element = element; var delta = value.Delta; CodeLong(ref delta); m_element = m_elementStack.Pop(); m_element.Add(element); m_element = m_elementStack.Pop(); AddValue(item); }
public double ScalarMult(IArrayVector anotherVector) { int n; if (vector.Length > anotherVector.GetSize()) { n = anotherVector.GetSize(); } else { n = vector.Length; } double[] another = anotherVector.Get(); double scalarMult = 0; for (int i = 0; i < n; i++) { scalarMult += vector[i] * another[i]; } return(scalarMult); }
public void Code(Type t, ref IArrayVector value) { throw new NotImplementedException(); }