Browse Source

Merge pull request #99 from tibel/fixes

Fix DenseVector and SparseVector operators should call correct method
pull/103/head
Christoph Ruegg 13 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>
public const double HelionMolarMass = 3.0149322473e-3;
/// <summary>Avogadro constant: [mol^-1] (2010 CODATA)</summary>
public const double Avogadro = 6.0221412927e23;
#endregion
#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");
}
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values);
return leftSide.DotProduct(rightSide);
}
/// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
throw new ArgumentNullException("leftSide");
}
return (DenseVector)leftSide.Multiply(Complex.One / rightSide);
return (DenseVector)leftSide.Divide(rightSide);
}
/// <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.
/// </summary>
/// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns>
/// A <see cref="Vector{T}"/> with the given dimension.
/// </returns>

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

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

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

@ -491,7 +491,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide");
}
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values);
return leftSide.DotProduct(rightSide);
}
/// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
throw new ArgumentNullException("leftSide");
}
return (DenseVector)leftSide.Multiply(Complex32.One / rightSide);
return (DenseVector)leftSide.Divide(rightSide);
}
/// <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.
/// </summary>
/// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns>
/// A <see cref="Vector{T}"/> with the given dimension.
/// </returns>

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

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

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

@ -491,7 +491,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide");
}
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values);
return leftSide.DotProduct(rightSide);
}
/// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
throw new ArgumentNullException("leftSide");
}
return (DenseVector)leftSide.Multiply(1.0 / rightSide);
return (DenseVector)leftSide.Divide(rightSide);
}
/// <summary>
@ -542,7 +542,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
/// <param name="rightSide">The divisor to use,</param>
/// <returns>The result of the calculation</returns>
/// <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)
{

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.
/// </summary>
/// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns>
/// A <see cref="Vector{T}"/> with the given dimension.
/// </returns>

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

@ -674,7 +674,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
throw new ArgumentNullException("leftSide");
}
return (SparseVector)leftSide.Multiply(1.0 / rightSide);
return (SparseVector)leftSide.Divide(rightSide);
}
/// <summary>
@ -708,7 +708,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
/// <param name="rightSide">The divisor to use,</param>
/// <returns>The result of the calculation</returns>
/// <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)
{

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

@ -491,7 +491,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
throw new ArgumentException(Resources.ArgumentVectorsSameLength, "rightSide");
}
return Control.LinearAlgebraProvider.DotProduct(leftSide.Values, rightSide.Values);
return leftSide.DotProduct(rightSide);
}
/// <summary>
@ -508,7 +508,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
throw new ArgumentNullException("leftSide");
}
return (DenseVector)leftSide.Multiply(1f / rightSide);
return (DenseVector)leftSide.Divide(rightSide);
}
/// <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.
/// </summary>
/// <param name="size">The size of the vector.</param>
/// <param name="fullyMutable">True if all fields must be mutable.</param>
/// <returns>
/// A <see cref="Vector{T}"/> with the given dimension.
/// </returns>

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

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

Loading…
Cancel
Save