Browse Source

Providers include invisible, fix casing of ".NET" in a few places

master
Christoph Ruegg 5 years ago
parent
commit
e989ab7302
  1. 8
      README.md
  2. 4
      RELEASENOTES-Data.md
  3. 44
      RELEASENOTES.md
  4. 2
      build.fsx
  5. 2
      build/NativeProvider.targets
  6. 2
      src/FSharp/FSharp.fsproj
  7. 4
      src/FSharp/Random.fs
  8. 2
      src/Numerics.Tests/Random/RandomSerializationTests.cs
  9. 12
      src/Numerics/Control.cs
  10. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs
  11. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs
  12. 2
      src/Numerics/LinearAlgebra/Double/Factorization/LU.cs
  13. 2
      src/Numerics/LinearAlgebra/Factorization/LU.cs
  14. 2
      src/Numerics/LinearAlgebra/Single/Factorization/LU.cs
  15. 2
      src/Numerics/Numerics.csproj
  16. 2
      src/Numerics/Random/RandomSource.cs

8
README.md

@ -1,7 +1,7 @@
Math.NET Numerics
=================
Math.NET Numerics is an opensource **numerical library for .Net, Silverlight and Mono**.
Math.NET Numerics is an opensource **numerical library for .NET, Silverlight and Mono**.
Math.NET Numerics is the numerical foundation of the Math.NET initiative, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Covered topics include special functions, linear algebra, probability models, random numbers, statistics, interpolation, integration, regression, curve fitting, integral transforms (FFT) and more.
@ -60,16 +60,16 @@ For full details, dependencies and platform discrepancies see [Platform Compatib
Building Math.NET Numerics
--------------------------
Windows (.Net): [![AppVeyor build status](https://ci.appveyor.com/api/projects/status/79j22c061saisces/branch/master)](https://ci.appveyor.com/project/cdrnet/mathnet-numerics)
Windows (.NET): [![AppVeyor build status](https://ci.appveyor.com/api/projects/status/79j22c061saisces/branch/master)](https://ci.appveyor.com/project/cdrnet/mathnet-numerics)
You can build Math.NET Numerics with an IDE like VisualStudio or JetBrains Rider, with MsBuild, .Net CLI tools or with FAKE (recommended).
You can build Math.NET Numerics with an IDE like VisualStudio or JetBrains Rider, with MsBuild, .NET CLI tools or with FAKE (recommended).
FAKE:
./build.sh build (or build.cmd)
./build.sh test
.Net CLI:
.NET CLI:
./restore.sh (or restore.cmd)
dotnet build MathNet.Numerics.sln

4
RELEASENOTES-Data.md

@ -4,11 +4,11 @@
### 4.0.0 - 2018-02-14
* Support for Math.NET Numerics v4
* In addition to .Net 4.0 and newer now also targets .Net Standard 1.3 and 2.0.
* In addition to .NET 4.0 and newer now also targets .NET Standard 1.3 and 2.0.
### 4.0.0-beta01 - 2018-02-04
* Support for Math.NET Numerics v4
* In addition to .Net 4.0 and newer now also targets .Net Standard 1.3 and 2.0.
* In addition to .NET 4.0 and newer now also targets .NET Standard 1.3 and 2.0.
### 3.2.1 - 2017-04-29
* BUG: to prevent corrupt files, writers now overwrite files if they exists already

44
RELEASENOTES.md

@ -121,17 +121,17 @@
* Native Providers: All providers now support freeing resources without unloading the provider
* Native Providers: MKL provider sets consistency, precision and accuracy modes earlier to ensure they are applied
* Native Providers: If a provider has been loaded successfully, skip any future loading attempts (faster switching)
* Build: add .Net Framework 4.6.1 target (main package), switch to 4.6.1 for testing projects
* Build: add .NET Framework 4.6.1 target (main package), switch to 4.6.1 for testing projects
### 4.1.0 - 2018-02-19
* Curve Fitting: Fit.Power, Fit.Exponential, Fit.Logarithm (similar to excel trend curves)
### 4.0.0 - 2018-02-11
* Explicit builds for .Net Framework 4.0 and higher and for .Net Standard 1.3 and 2.0
* F#: explicit builds for .Net Framework 4.5 and higher and for .Net Standard 1.6 and 2.0
* Explicit builds for .NET Framework 4.0 and higher and for .Net Standard 1.3 and 2.0
* F#: explicit builds for .NET Framework 4.5 and higher and for .Net Standard 1.6 and 2.0
* BREAKING: drop obsolete functionality (which has been marked as obsolete for a while)
* BREAKING: drop support for .Net 3.5 and PCL profiles
* BREAKING: F#: drop support for .Net 4.0 and PCL profiles
* BREAKING: drop support for .NET 3.5 and PCL profiles
* BREAKING: F#: drop support for .NET 4.0 and PCL profiles
* BREAKING: F#: depends on FSharp.Core 4.3.3
* BREAKING: Native provider implementation types internal (but can be constructed explicitly)
* BREAKING: Native provider control API moved from Control to per-provider Control classes
@ -144,7 +144,7 @@
* BUG: Trigonometry: Complex trigonometric functions behave better on large imput *~diluculo*
* BUG: Trigonometry: Fix imaginary part sign of complex hyperbolic cotangent
* Control.Describe: human readable summary of the effective Math.NET Numerics configuration
* Providers: Native Provider support in .Net Standard 2.0 (but not in 1.x).
* Providers: Native Provider support in .NET Standard 2.0 (but not in 1.x).
* Linear Algebra: F# vector/matrix functions to accept all #seq instead of lists only
* Linear Algebra: Vector MapInplace implemented at storage level
* Curve Fitting: Fit.LineThroughOrigin shortcut
@ -163,7 +163,7 @@
* Build: use latest SDKs and runtimes, cleanups
### 4.0.0-beta06 - 2018-02-03
* Rework conditional compilation to simplify and increase the .Net Standard api surface
* Rework conditional compilation to simplify and increase the .NET Standard api surface
* BREAKING: Native provider implementation types internal (but can be constructed explicitly)
* BREAKING: Native provider control API moved from Control to per-provider Control classes
* Control.Describe: human readable summary of the effective Math.NET Numerics configuration
@ -192,11 +192,11 @@
### 4.0.0-beta01 - 2018-01-07
* BREAKING: drop obsolete functionality (which has been marked as obsolete for a while)
* BREAKING: drop support for .Net 3.5 and PCL profiles
* BREAKING: F#: drop support for .Net 4.0 and PCL profiles
* BREAKING: drop support for .NET 3.5 and PCL profiles
* BREAKING: F#: drop support for .NET 4.0 and PCL profiles
* BREAKING: F#: depends on FSharp.Core 4.2.3
* Explicit builds for .Net Framework 4.0 and higher and for .Net Standard 1.3 and 2.0
* F#: explicit builds for .Net Framework 4.5 and higher and for .Net Standard 1.6 and 2.0
* Explicit builds for .NET Framework 4.0 and higher and for .Net Standard 1.3 and 2.0
* F#: explicit builds for .NET Framework 4.5 and higher and for .Net Standard 1.6 and 2.0
* Assemblies are now code-signed with an X.509 certificate, using SHA2-256 hashes
* BUG: Ode Solver: fix typo in the Runge-Kutta solvers on time-step handling *~Ksero*
* BUG: fix Matrix.GetHashCode for wide matrices *~mjmckp*
@ -214,7 +214,7 @@
### 3.20.0 - 2017-07-15
* Optimization: non-linear optimization algorithms *~Scott Stephens, Erik Ovegard, bdodson, et al.*
* Native Providers: from now on also supported in the .Net 3.5 build.
* Native Providers: from now on also supported in the .NET 3.5 build.
* BUG: Special Functions: allow more iterations in BetaRegularized *~Elias Abou Jaoude*
### 3.19.0 - 2017-04-29
@ -403,7 +403,7 @@
* BUG: MatrixNormal distribution: density computation switched row and column covariance *~Evelina Gabasova*
### 3.2.1 - 2014-08-05
* Package fix: make sure .Net 3.5-only dependencies are not installed on .Net 4 and newer.
* Package fix: make sure .NET 3.5-only dependencies are not installed on .Net 4 and newer.
### 3.2.0 - 2014-08-05
* Linear Algebra: Vector.Map2 (map2 in F#), storage-optimized
@ -411,9 +411,9 @@
* Statistics: Entropy *~Jeff Mastry*
* Interpolation: use Array.BinarySearch instead of local implementation *~Candy Chiu*
* Resources: fix a corrupted exception message string
* Portable Build: support .Net 4.0 as well by using profile 328 instead of 344.
* .Net 3.5: F# extensions now support .Net 3.5 as well
* .Net 3.5: NuGet package now contains proper 3.5-only TPL package dependency; also in Zip package
* Portable Build: support .NET 4.0 as well by using profile 328 instead of 344.
* .NET 3.5: F# extensions now support .Net 3.5 as well
* .NET 3.5: NuGet package now contains proper 3.5-only TPL package dependency; also in Zip package
### 3.1.0 - 2014-07-20
* Random: generate a sequence of integers within a range in one go
@ -610,8 +610,8 @@
* Build:
* FAKE-based build (in addition to existing Visual Studio solutions) to clean, build, test, document and package independently of the CI server.
* Finally proper documentation using FSharp.Formatting with sources included in the repository so it is versioned and can be contributed to with pull requests.
* NuGet packages now also include the PCL portable profile 47 (.Net 4.5, Silverlight 5, Windows 8) in addition to the normal .Net 4.0 build and PCL profile 136 (.Net 4.0, WindowsPhone 8, Silverlight 5, Windows 8) as before. Profile 47 uses `System.Numerics` for complex numbers, among others, which is not available in profile 136.
* NuGet packages now also include a .Net 3.5 build of the core library.
* NuGet packages now also include the PCL portable profile 47 (.NET 4.5, Silverlight 5, Windows 8) in addition to the normal .Net 4.0 build and PCL profile 136 (.Net 4.0, WindowsPhone 8, Silverlight 5, Windows 8) as before. Profile 47 uses `System.Numerics` for complex numbers, among others, which is not available in profile 136.
* NuGet packages now also include a .NET 3.5 build of the core library.
* IO libraries have been removed, replaced with new `.Data` packages (see list on top).
* Alternative strong-named versions of more NuGet packages (mostly the F# extensions for now), with the `.Signed` suffix.
* Reworked solution structure so it works in both Visual Studio 11 (2012) and 12 (2013).
@ -627,7 +627,7 @@
* Complex: routines to return all two square and three cubic roots of a complex number.
* Complex: More robust complex Asin/Acos for large real numbers.
* Evaluate: routine to evaluate complex polynomials, or real polynomials at a complex point.
* CommonParallel now also supported in .Net 3.5 and portable profiles; TaskScheduler can be replaced with custom implementation *~Thomas Ibel*
* CommonParallel now also supported in .NET 3.5 and portable profiles; TaskScheduler can be replaced with custom implementation *~Thomas Ibel*
* F# BigRational type cleaned up and optimized *~Jack Pappas*
* F# BigRational IsZero, IsOne, IsInteger, create from fraction.
* F# BigRational Reciprocal, Power operator support (**), support for negative integer powers.
@ -691,7 +691,7 @@
* Performance: reworked and tuned common parallelization. Some operations are up to 3 magnitudes faster in some extreme cases. Replaced copy loops with native routines. More algorithms are storage-aware (and should thus perform better especially on sparse data). *~Thomas Ibel, Iain McDonald, Marcus Cuda*
* Fixed range checks in the Thin-QR decomposition. *~Marcus Cuda*
* BUG: Fixed bug in Gram Schmidt for solving tall matrices. *~Marcus Cuda*
* Vectors now implement the BCL IList interfaces (fixed-length) for better integration with existing .Net code. *~Scott Stephens*
* Vectors now implement the BCL IList interfaces (fixed-length) for better integration with existing .NET code. *~Scott Stephens*
* Matrix/Vector parsing has been updated to be able to parse the new visual format as well (see ToMatrixString).
* DebuggerDisplay attributes for matrices and vectors.
* Map/IndexedMap combinators with storage-aware and partially parallelized implementations for both dense and sparse data.
@ -718,8 +718,8 @@
* F#: Better support for our Complex types (close to the F# PowerPack Complex type) *~Gustavo Guerra*
### 2.3.0 - 2013-11-25
* Portable Library: Adds support for WP8 (.Net 4.0 and higher, SL5, WP8 and .NET for Windows Store apps)
* Portable Library: New: portable build also for F# extensions (.Net 4.5, SL5 and .NET for Windows Store apps)
* Portable Library: Adds support for WP8 (.NET 4.0 and higher, SL5, WP8 and .NET for Windows Store apps)
* Portable Library: New: portable build also for F# extensions (.NET 4.5, SL5 and .NET for Windows Store apps)
* Portable Library: NuGet: portable builds are now included in the main packages, no more need for special portable packages
* Linear Algebra: Continued major storage rework, in this release focusing on vectors (previous release was on matrices)
* Linear Algebra: Thin QR decomposition (in addition to existing full QR)

2
build.fsx

@ -53,7 +53,7 @@ let isStrongname, isSign, isIncremental =
// --------------------------------------------------------------------------------------
// .Net SDK
// .NET SDK
// --------------------------------------------------------------------------------------

2
build/NativeProvider.targets

@ -8,7 +8,7 @@
<MathNetInteropFiles Include="$(MSBuildThisFileDirectory)..\..\runtimes\**\*.dll" />
<MathNetInteropFiles Include="$(MSBuildThisFileDirectory)..\..\runtimes\**\*.so" />
<MathNetInteropFiles Include="$(MSBuildThisFileDirectory)..\..\runtimes\**\*.dylib" />
<None Include="@(MathNetInteropFiles)">
<None Include="@(MathNetInteropFiles)" Visible="false">
<Link>runtimes/%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

2
src/FSharp/FSharp.fsproj

@ -11,7 +11,7 @@
<VersionPrefix>5.0.0</VersionPrefix>
<VersionSuffix>alpha08</VersionSuffix>
<Title>Math.NET Numerics for F#$(TitleSuffix)</Title>
<Description>F# Modules for Math.NET Numerics, the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net 5.0 or higher, .NET Standard 2.0 and .NET Framework 4.6.1 or higher, on Windows, Linux and Mac.$(DescriptionSuffix)</Description>
<Description>F# Modules for Math.NET Numerics, the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .NET 5.0 or higher, .NET Standard 2.0 and .NET Framework 4.6.1 or higher, on Windows, Linux and Mac.$(DescriptionSuffix)</Description>
<PackageReleaseNotes>COMPATIBILITY: net5.0, net48 better supported with explicit builds
COMPATIBILITY: netstandard1.x, net40, net45 no longer supported
BREAKING: drop all which was marked as obsolete

4
src/FSharp/Random.fs

@ -44,12 +44,12 @@ module Random =
let inline doubleSeqSeed (seed:int) = SystemRandomSource.DoubleSequence(seed)
let inline doubleFillSeed (seed:int) (values:float[]) = SystemRandomSource.Doubles(values, seed)
/// Creates a default .Net system pRNG with a robust seed
/// Creates a default .NET system pRNG with a robust seed
let systemShared = shared
let inline system () = SystemRandomSource() :> System.Random
let inline systemSeed (seed:int) = SystemRandomSource(seed) :> System.Random
/// Creates a default .Net cryptographic system pRNG
/// Creates a default .NET cryptographic system pRNG
let inline crypto () = new CryptoRandomSource() :> System.Random
let inline cryptoWith (threadSafe:bool) = new CryptoRandomSource(threadSafe) :> System.Random
let inline cryptoDoubles (length:int) = CryptoRandomSource.Doubles(length)

2
src/Numerics.Tests/Random/RandomSerializationTests.cs

@ -28,7 +28,7 @@
// </copyright>
#if NET461_OR_GREATER
// Rationale: System.Random is no longer serializable in .Net Core
// Rationale: System.Random is no longer serializable in .NET Core
using System;
using System.IO;

12
src/Numerics/Control.cs

@ -312,15 +312,15 @@ namespace MathNet.Numerics
sb.AppendLine("Math.NET Numerics Configuration:");
sb.AppendLine($"Version {versionAttribute?.InformationalVersion}");
#if NET5_0
sb.AppendLine("Built for .Net 5.0");
sb.AppendLine("Built for .NET 5.0");
#elif NET5_0_OR_GREATER
sb.AppendLine("Built for .Net 5.0+");
sb.AppendLine("Built for .NET 5.0+");
#elif NETSTANDARD2_0
sb.AppendLine("Built for .Net Standard 2.0");
sb.AppendLine("Built for .NET Standard 2.0");
#elif NET48
sb.AppendLine("Built for .Net Framework 4.8");
sb.AppendLine("Built for .NET Framework 4.8");
#elif NET461
sb.AppendLine("Built for .Net Framework 4.6.1");
sb.AppendLine("Built for .NET Framework 4.6.1");
#endif
sb.AppendLine($"Linear Algebra Provider: {LinearAlgebraControl.Provider}");
@ -335,7 +335,7 @@ namespace MathNet.Numerics
sb.AppendLine($"Operating System: {Environment.OSVersion}");
sb.AppendLine($"Framework: {Environment.Version}");
#else
// This would also work in .Net 4.0, but we don't want the dependency just for that.
// This would also work in .NET 4.0, but we don't want the dependency just for that.
sb.AppendLine($"Operating System: {RuntimeInformation.OSDescription}");
sb.AppendLine($"Operating System Architecture: {RuntimeInformation.OSArchitecture}");
sb.AppendLine($"Framework: {RuntimeInformation.FrameworkDescription}");

2
src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs

@ -37,7 +37,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <para>A class which encapsulates the functionality of an LU factorization.</para>
/// <para>For a matrix A, the LU factorization is a pair of lower triangular matrix L and
/// upper triangular matrix U so that A = L*U.</para>
/// <para>In the Math.Net implementation we also store a set of pivot elements for increased
/// <para>In the Math.NET implementation we also store a set of pivot elements for increased
/// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U.</para>
/// </summary>
/// <remarks>

2
src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs

@ -37,7 +37,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <para>A class which encapsulates the functionality of an LU factorization.</para>
/// <para>For a matrix A, the LU factorization is a pair of lower triangular matrix L and
/// upper triangular matrix U so that A = L*U.</para>
/// <para>In the Math.Net implementation we also store a set of pivot elements for increased
/// <para>In the Math.NET implementation we also store a set of pivot elements for increased
/// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U.</para>
/// </summary>
/// <remarks>

2
src/Numerics/LinearAlgebra/Double/Factorization/LU.cs

@ -35,7 +35,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <para>A class which encapsulates the functionality of an LU factorization.</para>
/// <para>For a matrix A, the LU factorization is a pair of lower triangular matrix L and
/// upper triangular matrix U so that A = L*U.</para>
/// <para>In the Math.Net implementation we also store a set of pivot elements for increased
/// <para>In the Math.NET implementation we also store a set of pivot elements for increased
/// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U.</para>
/// </summary>
/// <remarks>

2
src/Numerics/LinearAlgebra/Factorization/LU.cs

@ -35,7 +35,7 @@ namespace MathNet.Numerics.LinearAlgebra.Factorization
/// <para>A class which encapsulates the functionality of an LU factorization.</para>
/// <para>For a matrix A, the LU factorization is a pair of lower triangular matrix L and
/// upper triangular matrix U so that A = L*U.</para>
/// <para>In the Math.Net implementation we also store a set of pivot elements for increased
/// <para>In the Math.NET implementation we also store a set of pivot elements for increased
/// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U.</para>
/// </summary>
/// <remarks>

2
src/Numerics/LinearAlgebra/Single/Factorization/LU.cs

@ -35,7 +35,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <para>A class which encapsulates the functionality of an LU factorization.</para>
/// <para>For a matrix A, the LU factorization is a pair of lower triangular matrix L and
/// upper triangular matrix U so that A = L*U.</para>
/// <para>In the Math.Net implementation we also store a set of pivot elements for increased
/// <para>In the Math.NET implementation we also store a set of pivot elements for increased
/// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U.</para>
/// </summary>
/// <remarks>

2
src/Numerics/Numerics.csproj

@ -11,7 +11,7 @@
<VersionPrefix>5.0.0</VersionPrefix>
<VersionSuffix>alpha08</VersionSuffix>
<Title>Math.NET Numerics$(TitleSuffix)</Title>
<Description>Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net 5.0 or higher, .NET Standard 2.0 and .NET Framework 4.6.1 or higher, on Windows, Linux and Mac.$(DescriptionSuffix)</Description>
<Description>Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .NET 5.0 or higher, .NET Standard 2.0 and .NET Framework 4.6.1 or higher, on Windows, Linux and Mac.$(DescriptionSuffix)</Description>
<PackageReleaseNotes>COMPATIBILITY: net5.0, net48 better supported with explicit builds
COMPATIBILITY: netstandard1.x, net40, net45 no longer supported
BREAKING: drop all which was marked as obsolete

2
src/Numerics/Random/RandomSource.cs

@ -35,7 +35,7 @@ namespace MathNet.Numerics.Random
{
/// <summary>
/// Base class for random number generators. This class introduces a layer between <see cref="System.Random"/>
/// and the Math.Net Numerics random number generators to provide thread safety.
/// and the Math.NET Numerics random number generators to provide thread safety.
/// When used directly it use the System.Random as random number source.
/// </summary>
[Serializable]

Loading…
Cancel
Save