Browse Source

Merge pull request #99 from tibel/fixes

Fix DenseVector and SparseVector operators should call correct method
v2
Christoph Ruegg 14 years ago
parent
commit
b860c2e4ca
  1. 3
      src/Numerics/Constants.cs
  2. 4
      src/Numerics/LinearAlgebra/Complex/DenseVector.cs
  3. 1
      src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs
  4. 2
      src/Numerics/LinearAlgebra/Complex/SparseVector.cs
  5. 4
      src/Numerics/LinearAlgebra/Complex32/DenseVector.cs
  6. 1
      src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs
  7. 2
      src/Numerics/LinearAlgebra/Complex32/SparseVector.cs
  8. 6
      src/Numerics/LinearAlgebra/Double/DenseVector.cs
  9. 1
      src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs
  10. 4
      src/Numerics/LinearAlgebra/Double/SparseVector.cs
  11. 4
      src/Numerics/LinearAlgebra/Single/DenseVector.cs
  12. 1
      src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs
  13. 2
      src/Numerics/LinearAlgebra/Single/SparseVector.cs

3
src/Numerics/Constants.cs

@ -393,6 +393,9 @@ namespace MathNet.Numerics
/// <summary>Helion Molar Mass: [kg mol^-1] (2007 CODATA)</summary> /// <summary>Helion Molar Mass: [kg mol^-1] (2007 CODATA)</summary>
public const double HelionMolarMass = 3.0149322473e-3; public const double HelionMolarMass = 3.0149322473e-3;
/// <summary>Avogadro constant: [mol^-1] (2010 CODATA)</summary>
public const double Avogadro = 6.0221412927e23;
#endregion #endregion
#region Scientific Prefixes #region Scientific Prefixes

4
src/Numerics/LinearAlgebra/Complex/DenseVector.cs

@ -491,7 +491,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide"); throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide");
} }
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values); return leftSide.DotProduct(rightSide);
} }
/// <summary> /// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (DenseVector)leftSide.Multiply(Complex.One / rightSide); return (DenseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>

1
src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs

@ -177,6 +177,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
/// Creates a <see cref="Vector{T}"/> with a the given dimension. /// Creates a <see cref="Vector{T}"/> with a the given dimension.
/// </summary> /// </summary>
/// <param name="size">The size of the vector.</param> /// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns> /// <returns>
/// A <see cref="Vector{T}"/> with the given dimension. /// A <see cref="Vector{T}"/> with the given dimension.
/// </returns> /// </returns>

2
src/Numerics/LinearAlgebra/Complex/SparseVector.cs

@ -706,7 +706,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (SparseVector)leftSide.Multiply(Complex.One / rightSide); return (SparseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>

4
src/Numerics/LinearAlgebra/Complex32/DenseVector.cs

@ -491,7 +491,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide"); throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide");
} }
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values); return leftSide.DotProduct(rightSide);
} }
/// <summary> /// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (DenseVector)leftSide.Multiply(Complex32.One / rightSide); return (DenseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>

1
src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs

@ -177,6 +177,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
/// Creates a <see cref="Vector{T}"/> with a the given dimension. /// Creates a <see cref="Vector{T}"/> with a the given dimension.
/// </summary> /// </summary>
/// <param name="size">The size of the vector.</param> /// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns> /// <returns>
/// A <see cref="Vector{T}"/> with the given dimension. /// A <see cref="Vector{T}"/> with the given dimension.
/// </returns> /// </returns>

2
src/Numerics/LinearAlgebra/Complex32/SparseVector.cs

@ -706,7 +706,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (SparseVector)leftSide.Multiply(Complex32.One / rightSide); return (SparseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>

6
src/Numerics/LinearAlgebra/Double/DenseVector.cs

@ -491,7 +491,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide"); throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide");
} }
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values); return leftSide.DotProduct(rightSide);
} }
/// <summary> /// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (DenseVector)leftSide.Multiply(1.0 / rightSide); return (DenseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>
@ -542,7 +542,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
/// <param name="rightSide">The divisor to use,</param> /// <param name="rightSide">The divisor to use,</param>
/// <returns>The result of the calculation</returns> /// <returns>The result of the calculation</returns>
/// <exception cref="ArgumentNullException">If <paramref name="leftSide"/> is <see langword="null" />.</exception> /// <exception cref="ArgumentNullException">If <paramref name="leftSide"/> is <see langword="null" />.</exception>
public static DenseVector operator %(DenseVector leftSide, float rightSide) public static DenseVector operator %(DenseVector leftSide, double rightSide)
{ {
if (leftSide == null) if (leftSide == null)
{ {

1
src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs

@ -176,6 +176,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
/// Creates a <see cref="Vector{T}"/> with a the given dimension. /// Creates a <see cref="Vector{T}"/> with a the given dimension.
/// </summary> /// </summary>
/// <param name="size">The size of the vector.</param> /// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns> /// <returns>
/// A <see cref="Vector{T}"/> with the given dimension. /// A <see cref="Vector{T}"/> with the given dimension.
/// </returns> /// </returns>

4
src/Numerics/LinearAlgebra/Double/SparseVector.cs

@ -674,7 +674,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (SparseVector)leftSide.Multiply(1.0 / rightSide); return (SparseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>
@ -708,7 +708,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
/// <param name="rightSide">The divisor to use,</param> /// <param name="rightSide">The divisor to use,</param>
/// <returns>The result of the calculation</returns> /// <returns>The result of the calculation</returns>
/// <exception cref="ArgumentNullException">If <paramref name="leftSide"/> is <see langword="null" />.</exception> /// <exception cref="ArgumentNullException">If <paramref name="leftSide"/> is <see langword="null" />.</exception>
public static SparseVector operator %(SparseVector leftSide, float rightSide) public static SparseVector operator %(SparseVector leftSide, double rightSide)
{ {
if (leftSide == null) if (leftSide == null)
{ {

4
src/Numerics/LinearAlgebra/Single/DenseVector.cs

@ -491,7 +491,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide"); throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide");
} }
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values); return leftSide.DotProduct(rightSide);
} }
/// <summary> /// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (DenseVector)leftSide.Multiply(1f / rightSide); return (DenseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>

1
src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs

@ -176,6 +176,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
/// Creates a <see cref="Vector{T}"/> with a the given dimension. /// Creates a <see cref="Vector{T}"/> with a the given dimension.
/// </summary> /// </summary>
/// <param name="size">The size of the vector.</param> /// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns> /// <returns>
/// A <see cref="Vector{T}"/> with the given dimension. /// A <see cref="Vector{T}"/> with the given dimension.
/// </returns> /// </returns>

2
src/Numerics/LinearAlgebra/Single/SparseVector.cs

@ -675,7 +675,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
throw new ArgumentNullException("leftSide"); throw new ArgumentNullException("leftSide");
} }
return (SparseVector)leftSide.Multiply(1.0f / rightSide); return (SparseVector)leftSide.Divide(rightSide);
} }
/// <summary> /// <summary>

Loading…
Cancel
Save