Beispiel #1
0
 /// <summary>
 /// Performs the following operation for <paramref name="length"/> consecutive entries starting from the provided
 /// indices: this[i] = this[i] + <paramref name="sourceVector"/>[i].
 /// </summary>
 /// <param name="destinationIndex">The index into this <see cref="IVector"/> where to start overwritting. Constraints:
 ///     <paramref name="destinationIndex"/> + <paramref name="length"/> &lt;= this.<see cref="IIndexable1D.Length"/>.
 ///     </param>
 /// <param name="sourceVector">The other vector operand.</param>
 /// <param name="sourceIndex">The index into <paramref name="sourceVector"/> where to start operating. Constraints:
 ///     <paramref name="sourceIndex"/> + <paramref name="length"/> &lt;=
 ///     <paramref name="sourceVector"/>.<see cref="IIndexable1D.Length"/>.</param>
 /// <param name="length">The number of entries to copy.</param>
 /// <exception cref="Exceptions.NonMatchingDimensionsException">Thrown if <paramref name="length"/> and
 ///     <paramref name="destinationIndex"/> or <paramref name="sourceIndex"/> violate the described constraints.
 ///     </exception>
 /// <exception cref="Exceptions.PatternModifiedException">Thrown if an entry this[i] needs to be overwritten, but that
 ///     is not permitted by the vector storage format.</exception>
 public static void AddSubvectorIntoThis(this IVector destinationVector, int destinationIndex, IVectorView sourceVector,
                                         int sourceIndex, int length)
 => destinationVector.AxpySubvectorIntoThis(destinationIndex, sourceVector, 1.0, sourceIndex, length);