Browse Source

Migrate to .NET SDK 3.1 LTS and update dependencies

uap-experimental
Christoph Ruegg 7 years ago
parent
commit
15298fbc5f
  1. 91
      .paket/Paket.Restore.targets
  2. 4
      .travis.yml
  3. 1
      MathNet.Numerics.sln
  4. 4
      appveyor.yml
  5. 20
      azure-pipelines.yml
  6. 24
      build.fsx
  7. 4
      build/build-framework.fsx
  8. 3
      global.json
  9. 40
      paket.dependencies
  10. 613
      paket.lock
  11. 2
      src/Benchmark/Benchmark.csproj
  12. 6
      src/Benchmark/LinearAlgebra/DenseMatrixProduct.cs
  13. 6
      src/Benchmark/LinearAlgebra/DenseVector.cs
  14. 6
      src/Benchmark/Transforms/FFT.cs
  15. 2
      src/Data/Matlab/Matlab.csproj
  16. 2
      src/Data/Text/Text.csproj
  17. 8
      src/Directory.Build.props
  18. 2
      src/FSharp.Tests/FSharp.Tests.fsproj
  19. 7
      src/FSharp/FSharp.fsproj
  20. 2
      src/Numerics.Tests/Numerics.Tests.csproj
  21. 2
      src/Numerics.Tests/Random/RandomSerializationTests.cs
  22. 5
      src/Numerics/Numerics.csproj
  23. BIN
      src/icon.png

91
.paket/Paket.Restore.targets

@ -20,18 +20,18 @@
<PaketBootstrapperStyle Condition="Exists('$(PaketToolsPath)paket.bootstrapper.proj')">proj</PaketBootstrapperStyle> <PaketBootstrapperStyle Condition="Exists('$(PaketToolsPath)paket.bootstrapper.proj')">proj</PaketBootstrapperStyle>
<PaketExeImage>assembly</PaketExeImage> <PaketExeImage>assembly</PaketExeImage>
<PaketExeImage Condition=" '$(PaketBootstrapperStyle)' == 'proj' ">native</PaketExeImage> <PaketExeImage Condition=" '$(PaketBootstrapperStyle)' == 'proj' ">native</PaketExeImage>
<MonoPath Condition="'$(MonoPath)' == '' And Exists('/Library/Frameworks/Mono.framework/Commands/mono')">/Library/Frameworks/Mono.framework/Commands/mono</MonoPath> <MonoPath Condition="'$(MonoPath)' == '' AND Exists('/Library/Frameworks/Mono.framework/Commands/mono')">/Library/Frameworks/Mono.framework/Commands/mono</MonoPath>
<MonoPath Condition="'$(MonoPath)' == ''">mono</MonoPath> <MonoPath Condition="'$(MonoPath)' == ''">mono</MonoPath>
<!-- PaketBootStrapper --> <!-- PaketBootStrapper -->
<PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' AND Exists('$(PaketRootPath)paket.bootstrapper.exe')">$(PaketRootPath)paket.bootstrapper.exe</PaketBootStrapperExePath> <PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' AND Exists('$(PaketRootPath)paket.bootstrapper.exe')">$(PaketRootPath)paket.bootstrapper.exe</PaketBootStrapperExePath>
<PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' ">$(PaketToolsPath)paket.bootstrapper.exe</PaketBootStrapperExePath> <PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' ">$(PaketToolsPath)paket.bootstrapper.exe</PaketBootStrapperExePath>
<PaketBootStrapperExeDir Condition=" Exists('$(PaketBootStrapperExePath)') " >$([System.IO.Path]::GetDirectoryName("$(PaketBootStrapperExePath)"))\</PaketBootStrapperExeDir> <PaketBootStrapperExeDir Condition=" Exists('$(PaketBootStrapperExePath)') " >$([System.IO.Path]::GetDirectoryName("$(PaketBootStrapperExePath)"))\</PaketBootStrapperExeDir>
<PaketBootStrapperCommand Condition=" '$(OS)' == 'Windows_NT'">"$(PaketBootStrapperExePath)"</PaketBootStrapperCommand> <PaketBootStrapperCommand Condition=" '$(OS)' == 'Windows_NT' ">"$(PaketBootStrapperExePath)"</PaketBootStrapperCommand>
<PaketBootStrapperCommand Condition=" '$(OS)' != 'Windows_NT' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)"</PaketBootStrapperCommand> <PaketBootStrapperCommand Condition=" '$(OS)' != 'Windows_NT' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)"</PaketBootStrapperCommand>
<!-- Disable automagic references for F# dotnet sdk --> <!-- Disable automagic references for F# DotNet SDK -->
<!-- This will not do anything for other project types --> <!-- This will not do anything for other project types -->
<!-- see https://github.com/fsharp/fslang-design/blob/master/tooling/FST-1002-fsharp-in-dotnet-sdk.md --> <!-- see https://github.com/fsharp/fslang-design/blob/master/tooling/FST-1002-fsharp-in-dotnet-sdk.md -->
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference> <DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
@ -40,55 +40,68 @@
<!-- Disable Paket restore under NCrunch build --> <!-- Disable Paket restore under NCrunch build -->
<PaketRestoreDisabled Condition="'$(NCrunch)' == '1'">True</PaketRestoreDisabled> <PaketRestoreDisabled Condition="'$(NCrunch)' == '1'">True</PaketRestoreDisabled>
<!-- Disable test for CLI tool completely - overrideable via properties in projects or via environment variables -->
<PaketDisableCliTest Condition=" '$(PaketDisableCliTest)' == '' ">False</PaketDisableCliTest>
<PaketIntermediateOutputPath Condition=" '$(PaketIntermediateOutputPath)' == '' ">$(BaseIntermediateOutputPath.TrimEnd('\').TrimEnd('\/'))</PaketIntermediateOutputPath> <PaketIntermediateOutputPath Condition=" '$(PaketIntermediateOutputPath)' == '' ">$(BaseIntermediateOutputPath.TrimEnd('\').TrimEnd('\/'))</PaketIntermediateOutputPath>
</PropertyGroup> </PropertyGroup>
<!-- Check if paket is available as local dotnet cli tool --> <!-- Resolve how paket should be called -->
<!-- Current priority is: local (1: repo root, 2: .paket folder) => 3: as CLI tool => as bootstrapper (4: proj Bootstrapper style, 5: BootstrapperExeDir) => 6: global path variable -->
<Target Name="SetPaketCommand" > <Target Name="SetPaketCommand" >
<!-- Test if paket is available in the standard locations. If so, that takes priority. Case 1/2 - non-windows specific -->
<!-- Call 'dotnet paket' and see if it returns without an error. Mute all the output. --> <PropertyGroup Condition=" '$(OS)' != 'Windows_NT' ">
<Exec Command="dotnet paket --version" IgnoreExitCode="true" StandardOutputImportance="low" StandardErrorImportance="low" > <!-- no windows, try native paket as default, root => tool -->
<Output TaskParameter="ExitCode" PropertyName="LocalPaketToolExitCode" /> <PaketExePath Condition=" '$(PaketExePath)' == '' AND Exists('$(PaketRootPath)paket') ">$(PaketRootPath)paket</PaketExePath>
</Exec> <PaketExePath Condition=" '$(PaketExePath)' == '' AND Exists('$(PaketToolsPath)paket') ">$(PaketToolsPath)paket</PaketExePath>
</PropertyGroup>
<!-- If local paket tool is found, use that --> <!-- Test if paket is available in the standard locations. If so, that takes priority. Case 2/2 - same across platforms -->
<PropertyGroup Condition=" '$(LocalPaketToolExitCode)' == '0' "> <PropertyGroup>
<InternalPaketCommand>dotnet paket</InternalPaketCommand> <!-- root => tool -->
<PaketExePath Condition=" '$(PaketExePath)' == '' AND Exists('$(PaketRootPath)paket.exe') ">$(PaketRootPath)paket.exe</PaketExePath>
<PaketExePath Condition=" '$(PaketExePath)' == '' AND Exists('$(PaketToolsPath)paket.exe') ">$(PaketToolsPath)paket.exe</PaketExePath>
</PropertyGroup> </PropertyGroup>
<!-- If not, then we go through our normal steps of setting the Paket command. --> <!-- If paket hasn't be found in standard locations, test for CLI tool usage. -->
<PropertyGroup Condition=" '$(LocalPaketToolExitCode)' != '0' "> <!-- First test: Is CLI configured to be used in "dotnet-tools.json"? - can result in a false negative; only a positive outcome is reliable. -->
<!-- windows, root => tool => proj style => bootstrapper => global --> <PropertyGroup Condition=" '$(PaketExePath)' == '' ">
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketRootPath)paket.exe') ">$(PaketRootPath)paket.exe</PaketExePath> <_DotnetToolsJson Condition="Exists('$(PaketRootPath)/.config/dotnet-tools.json')">$([System.IO.File]::ReadAllText("$(PaketRootPath)/.config/dotnet-tools.json"))</_DotnetToolsJson>
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketToolsPath)paket.exe') ">$(PaketToolsPath)paket.exe</PaketExePath> <_ConfigContainsPaket Condition=" '$(_DotnetToolsJson)' != ''">$(_DotnetToolsJson.Contains('"paket"'))</_ConfigContainsPaket>
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND '$(PaketBootstrapperStyle)' == 'proj' ">$(PaketToolsPath)paket.exe</PaketExePath> <_ConfigContainsPaket Condition=" '$(_ConfigContainsPaket)' == ''">false</_ConfigContainsPaket>
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketBootStrapperExeDir)') ">$(_PaketBootStrapperExeDir)paket.exe</PaketExePath> </PropertyGroup>
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' ">paket.exe</PaketExePath>
<!-- no windows, try native paket as default, root => tool => proj style => mono paket => bootstrpper => global --> <!-- Second test: Call 'dotnet paket' and see if it returns without an error. Mute all the output. Only run if previous test failed and the test has not been disabled. -->
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketRootPath)paket') ">$(PaketRootPath)paket</PaketExePath> <!-- WARNING: This method can lead to processes hanging forever, and should be used as little as possible. See https://github.com/fsprojects/Paket/issues/3705 for details. -->
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketToolsPath)paket') ">$(PaketToolsPath)paket</PaketExePath> <Exec Condition=" '$(PaketExePath)' == '' AND !$(PaketDisableCliTest) AND !$(_ConfigContainsPaket)" Command="dotnet paket --version" IgnoreExitCode="true" StandardOutputImportance="low" StandardErrorImportance="low" >
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND '$(PaketBootstrapperStyle)' == 'proj' ">$(PaketToolsPath)paket</PaketExePath> <Output TaskParameter="ExitCode" PropertyName="LocalPaketToolExitCode" />
</Exec>
<!-- no windows, try mono paket --> <!-- If paket is installed as CLI use that. Again, only if paket haven't already been found in standard locations. -->
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketRootPath)paket.exe') ">$(PaketRootPath)paket.exe</PaketExePath> <PropertyGroup Condition=" '$(PaketExePath)' == '' AND ($(_ConfigContainsPaket) OR '$(LocalPaketToolExitCode)' == '0') ">
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketToolsPath)paket.exe') ">$(PaketToolsPath)paket.exe</PaketExePath> <_PaketCommand>dotnet paket</_PaketCommand>
</PropertyGroup>
<!-- no windows, try bootstrapper --> <!-- If neither local files nor CLI tool can be found, final attempt is searching for boostrapper config before falling back to global path variable. -->
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketBootStrapperExeDir)') ">$(PaketBootStrapperExeDir)paket.exe</PaketExePath> <PropertyGroup Condition=" '$(PaketExePath)' == '' AND '$(_PaketCommand)' == '' ">
<!-- Test for bootstrapper setup -->
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(PaketBootstrapperStyle)' == 'proj' ">$(PaketToolsPath)paket</PaketExePath>
<PaketExePath Condition=" '$(PaketExePath)' == '' AND Exists('$(PaketBootStrapperExeDir)') ">$(PaketBootStrapperExeDir)paket</PaketExePath>
<!-- no windows, try global native paket --> <!-- If all else fails, use global path approach. -->
<PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' ">paket</PaketExePath> <PaketExePath Condition=" '$(PaketExePath)' == ''">paket</PaketExePath>
</PropertyGroup>
<!-- If not using CLI, setup correct execution command. -->
<PropertyGroup Condition=" '$(_PaketCommand)' == '' ">
<_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)"))</_PaketExeExtension> <_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)"))</_PaketExeExtension>
<InternalPaketCommand Condition=" '$(InternalPaketCommand)' == '' AND '$(_PaketExeExtension)' == '.dll' ">dotnet "$(PaketExePath)"</InternalPaketCommand> <_PaketCommand Condition=" '$(_PaketCommand)' == '' AND '$(_PaketExeExtension)' == '.dll' ">dotnet "$(PaketExePath)"</_PaketCommand>
<InternalPaketCommand Condition=" '$(InternalPaketCommand)' == '' AND '$(OS)' != 'Windows_NT' AND '$(_PaketExeExtension)' == '.exe' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"</InternalPaketCommand> <_PaketCommand Condition=" '$(_PaketCommand)' == '' AND '$(OS)' != 'Windows_NT' AND '$(_PaketExeExtension)' == '.exe' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"</_PaketCommand>
<InternalPaketCommand Condition=" '$(InternalPaketCommand)' == '' ">"$(PaketExePath)"</InternalPaketCommand> <_PaketCommand Condition=" '$(_PaketCommand)' == '' ">"$(PaketExePath)"</_PaketCommand>
</PropertyGroup> </PropertyGroup>
<!-- The way to get a property to be available outside the target is to use this task. --> <!-- The way to get a property to be available outside the target is to use this task. -->
<CreateProperty Value="$(InternalPaketCommand)"> <CreateProperty Value="$(_PaketCommand)">
<Output TaskParameter="Value" PropertyName="PaketCommand"/> <Output TaskParameter="Value" PropertyName="PaketCommand"/>
</CreateProperty> </CreateProperty>
@ -123,7 +136,7 @@
<!-- Parse our simple 'paket.restore.cached' json ...--> <!-- Parse our simple 'paket.restore.cached' json ...-->
<PaketRestoreCachedSplitObject Include="$([System.Text.RegularExpressions.Regex]::Split(`$(PaketRestoreCachedContents)`, `{|}|,`))"></PaketRestoreCachedSplitObject> <PaketRestoreCachedSplitObject Include="$([System.Text.RegularExpressions.Regex]::Split(`$(PaketRestoreCachedContents)`, `{|}|,`))"></PaketRestoreCachedSplitObject>
<!-- Keep Key, Value ItemGroup--> <!-- Keep Key, Value ItemGroup-->
<PaketRestoreCachedKeyValue Include="@(PaketRestoreCachedSplitObject)" <PaketRestoreCachedKeyValue Include="@(PaketRestoreCachedSplitObject)"
Condition=" $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `&quot;: &quot;`).Length) &gt; 1 "> Condition=" $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `&quot;: &quot;`).Length) &gt; 1 ">
<Key>$([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[0].Replace(`"`, ``).Replace(` `, ``))</Key> <Key>$([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[0].Replace(`"`, ``).Replace(` `, ``))</Key>
<Value>$([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[1].Replace(`"`, ``).Replace(` `, ``))</Value> <Value>$([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[1].Replace(`"`, ``).Replace(` `, ``))</Value>
@ -156,7 +169,7 @@
<Exec Command='$(PaketBootStrapperCommand)' Condition=" '$(PaketBootstrapperStyle)' == 'classic' AND Exists('$(PaketBootStrapperExePath)') AND !(Exists('$(PaketExePath)'))" ContinueOnError="false" /> <Exec Command='$(PaketBootStrapperCommand)' Condition=" '$(PaketBootstrapperStyle)' == 'classic' AND Exists('$(PaketBootStrapperExePath)') AND !(Exists('$(PaketExePath)'))" ContinueOnError="false" />
<Error Text="Stop build because of PAKET_ERROR_ON_MSBUILD_EXEC and we need a full restore (hashes don't match)" Condition=" '$(PAKET_ERROR_ON_MSBUILD_EXEC)' == 'true' AND '$(PaketRestoreRequired)' == 'true' AND '$(PaketDisableGlobalRestore)' != 'true'" /> <Error Text="Stop build because of PAKET_ERROR_ON_MSBUILD_EXEC and we need a full restore (hashes don't match)" Condition=" '$(PAKET_ERROR_ON_MSBUILD_EXEC)' == 'true' AND '$(PaketRestoreRequired)' == 'true' AND '$(PaketDisableGlobalRestore)' != 'true'" />
<Exec Command='$(PaketCommand) restore' Condition=" '$(PaketRestoreRequired)' == 'true' AND '$(PaketDisableGlobalRestore)' != 'true' " ContinueOnError="false" /> <Exec Command='$(PaketCommand) restore' Condition=" '$(PaketRestoreRequired)' == 'true' AND '$(PaketDisableGlobalRestore)' != 'true' " ContinueOnError="false" />
<!-- Step 2 Detect project specific changes --> <!-- Step 2 Detect project specific changes -->
<ItemGroup> <ItemGroup>
<MyTargetFrameworks Condition="'$(TargetFramework)' != '' " Include="$(TargetFramework)"></MyTargetFrameworks> <MyTargetFrameworks Condition="'$(TargetFramework)' != '' " Include="$(TargetFramework)"></MyTargetFrameworks>

4
.travis.yml

@ -5,7 +5,7 @@ env:
sudo: required #false sudo: required #false
dist: bionic dist: bionic
dotnet: 2.2.105 dotnet: 3.1.101
mono: mono:
- latest - latest
os: os:
@ -19,4 +19,4 @@ script:
- ./build.sh Test quick - ./build.sh Test quick
global: global:
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true - DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
- DOTNET_CLI_TELEMETRY_OPTOUT=1 - DOTNET_CLI_TELEMETRY_OPTOUT=1

1
MathNet.Numerics.sln

@ -35,7 +35,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{B54A0B40
global.json = global.json global.json = global.json
paket.dependencies = paket.dependencies paket.dependencies = paket.dependencies
paket.lock = paket.lock paket.lock = paket.lock
azure-pipelines.yml = azure-pipelines.yml
EndProjectSection EndProjectSection
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}"

4
appveyor.yml

@ -2,8 +2,8 @@ image: Visual Studio 2017
init: init:
- git config --global core.autocrlf true - git config --global core.autocrlf true
install: install:
# Download .NET Core SDK 2.2.106 and add to PATH # Download .NET Core SDK 3.0.100 and add to PATH
- ps: $urlCurrent = "https://dotnetcli.azureedge.net/dotnet/Sdk/2.2.106/dotnet-sdk-2.2.106-win-x64.zip" - ps: $urlCurrent = "https://dotnetcli.azureedge.net/dotnet/Sdk/3.1.101/dotnet-sdk-3.1.101-win-x64.zip"
- ps: $env:DOTNET_INSTALL_DIR = "$pwd\.dotnetsdk" - ps: $env:DOTNET_INSTALL_DIR = "$pwd\.dotnetsdk"
- ps: mkdir $env:DOTNET_INSTALL_DIR -Force | Out-Null - ps: mkdir $env:DOTNET_INSTALL_DIR -Force | Out-Null
- ps: $tempFileCurrent = [System.IO.Path]::GetTempFileName() - ps: $tempFileCurrent = [System.IO.Path]::GetTempFileName()

20
azure-pipelines.yml

@ -1,20 +0,0 @@
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
pool:
vmImage: 'windows-2019'
steps:
- task: UseDotNet@2
displayName: 'Use .NET Core SDK'
inputs:
packageType: sdk
version: 2.2.106
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: build.cmd test
displayName: 'Build & Test'

24
build.fsx

@ -314,23 +314,23 @@ Target "OpenBlasWinBuild" (fun _ ->
let testNumerics framework = test "src/Numerics.Tests" "Numerics.Tests.csproj" framework let testNumerics framework = test "src/Numerics.Tests" "Numerics.Tests.csproj" framework
Target "TestNumerics" DoNothing Target "TestNumerics" DoNothing
Target "TestNumericsCore2.2" (fun _ -> testNumerics "netcoreapp2.2") Target "TestNumericsCore3.1" (fun _ -> testNumerics "netcoreapp3.1")
Target "TestNumericsNET40" (fun _ -> testNumerics "net40") Target "TestNumericsNET40" (fun _ -> testNumerics "net40")
Target "TestNumericsNET45" (fun _ -> testNumerics "net45") Target "TestNumericsNET45" (fun _ -> testNumerics "net45")
Target "TestNumericsNET461" (fun _ -> testNumerics "net461") Target "TestNumericsNET461" (fun _ -> testNumerics "net461")
Target "TestNumericsNET47" (fun _ -> testNumerics "net47") Target "TestNumericsNET47" (fun _ -> testNumerics "net47")
"Build" ==> "TestNumericsCore2.2" ==> "TestNumerics" "Build" ==> "TestNumericsCore3.1" ==> "TestNumerics"
"Build" =?> ("TestNumericsNET40", isWindows) "Build" =?> ("TestNumericsNET40", isWindows)
"Build" =?> ("TestNumericsNET45", isWindows) "Build" =?> ("TestNumericsNET45", isWindows)
"Build" =?> ("TestNumericsNET461", isWindows) ==> "TestNumerics" "Build" =?> ("TestNumericsNET461", isWindows) ==> "TestNumerics"
"Build" =?> ("TestNumericsNET47", isWindows) "Build" =?> ("TestNumericsNET47", isWindows)
let testFsharp framework = test "src/FSharp.Tests" "FSharp.Tests.fsproj" framework let testFsharp framework = test "src/FSharp.Tests" "FSharp.Tests.fsproj" framework
Target "TestFsharp" DoNothing Target "TestFsharp" DoNothing
Target "TestFsharpCore2.2" (fun _ -> testFsharp "netcoreapp2.2") Target "TestFsharpCore3.1" (fun _ -> testFsharp "netcoreapp3.1")
Target "TestFsharpNET45" (fun _ -> testFsharp "net45") Target "TestFsharpNET45" (fun _ -> testFsharp "net45")
Target "TestFsharpNET461" (fun _ -> testFsharp "net461") Target "TestFsharpNET461" (fun _ -> testFsharp "net461")
Target "TestFsharpNET47" (fun _ -> testFsharp "net47") Target "TestFsharpNET47" (fun _ -> testFsharp "net47")
"Build" ==> "TestFsharpCore2.2" ==> "TestFsharp" "Build" ==> "TestFsharpCore3.1" ==> "TestFsharp"
"Build" =?> ("TestFsharpNET45", isWindows) "Build" =?> ("TestFsharpNET45", isWindows)
"Build" =?> ("TestFsharpNET461", isWindows) ==> "TestFsharp" "Build" =?> ("TestFsharpNET461", isWindows) ==> "TestFsharp"
"Build" =?> ("TestFsharpNET47", isWindows) "Build" =?> ("TestFsharpNET47", isWindows)
@ -340,30 +340,30 @@ Target "Test" DoNothing
let testMKL framework = test "src/Numerics.Tests" "Numerics.Tests.MKL.csproj" framework let testMKL framework = test "src/Numerics.Tests" "Numerics.Tests.MKL.csproj" framework
Target "MklTest" DoNothing Target "MklTest" DoNothing
Target "MklTestCore2.2" (fun _ -> testMKL "netcoreapp2.2") Target "MklTestCore3.1" (fun _ -> testMKL "netcoreapp3.1")
Target "MklTestNET40" (fun _ -> testMKL "net40") Target "MklTestNET40" (fun _ -> testMKL "net40")
"MklWinBuild" ==> "MklTestCore2.2" ==> "MklTest" "MklWinBuild" ==> "MklTestCore3.1" ==> "MklTest"
"MklWinBuild" =?> ("MklTestNET40", isWindows) ==> "MklTest" "MklWinBuild" =?> ("MklTestNET40", isWindows) ==> "MklTest"
let testOpenBLAS framework = test "src/Numerics.Tests" "Numerics.Tests.OpenBLAS.csproj" framework let testOpenBLAS framework = test "src/Numerics.Tests" "Numerics.Tests.OpenBLAS.csproj" framework
Target "OpenBlasTest" DoNothing Target "OpenBlasTest" DoNothing
Target "OpenBlasTestCore2.2" (fun _ -> testOpenBLAS "netcoreapp2.2") Target "OpenBlasTestCore3.1" (fun _ -> testOpenBLAS "netcoreapp3.1")
Target "OpenBlasTestNET40" (fun _ -> testOpenBLAS "net40") Target "OpenBlasTestNET40" (fun _ -> testOpenBLAS "net40")
"OpenBlasWinBuild" ==> "OpenBlasTestCore2.2" ==> "OpenBlasTest" "OpenBlasWinBuild" ==> "OpenBlasTestCore3.1" ==> "OpenBlasTest"
"OpenBlasWinBuild" =?> ("OpenBlasTestNET40", isWindows) ==> "OpenBlasTest" "OpenBlasWinBuild" =?> ("OpenBlasTestNET40", isWindows) ==> "OpenBlasTest"
let testCUDA framework = test "src/Numerics.Tests" "Numerics.Tests.CUDA.csproj" framework let testCUDA framework = test "src/Numerics.Tests" "Numerics.Tests.CUDA.csproj" framework
Target "CudaTest" DoNothing Target "CudaTest" DoNothing
Target "CudaTestCore2.2" (fun _ -> testCUDA "netcoreapp2.2") Target "CudaTestCore3.1" (fun _ -> testCUDA "netcoreapp3.1")
Target "CudaTestNET40" (fun _ -> testCUDA "net40") Target "CudaTestNET40" (fun _ -> testCUDA "net40")
"CudaWinBuild" ==> "CudaTestCore2.2" ==> "CudaTest" "CudaWinBuild" ==> "CudaTestCore3.1" ==> "CudaTest"
"CudaWinBuild" =?> ("CudaTestNET40", isWindows) ==> "CudaTest" "CudaWinBuild" =?> ("CudaTestNET40", isWindows) ==> "CudaTest"
let testData framework = test "src/Data.Tests" "Data.Tests.csproj" framework let testData framework = test "src/Data.Tests" "Data.Tests.csproj" framework
Target "DataTest" DoNothing Target "DataTest" DoNothing
Target "DataTestCore2.2" (fun _ -> testData "netcoreapp2.2") Target "DataTestCore3.1" (fun _ -> testData "netcoreapp3.1")
Target "DataTestNET461" (fun _ -> testData "net461") Target "DataTestNET461" (fun _ -> testData "net461")
"DataBuild" ==> "DataTestCore2.2" ==> "DataTest" "DataBuild" ==> "DataTestCore3.1" ==> "DataTest"
"DataBuild" =?> ("DataTestNET461", isWindows) ==> "DataTest" "DataBuild" =?> ("DataTestNET461", isWindows) ==> "DataTest"

4
build/build-framework.fsx

@ -314,8 +314,8 @@ let restoreStrong (solution:Solution) = msbuildStrong [ "Restore" ] "Release" so
let buildWeak (solution:Solution) = msbuildWeak [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile let buildWeak (solution:Solution) = msbuildWeak [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile
let buildStrong (solution:Solution) = msbuildStrong [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile let buildStrong (solution:Solution) = msbuildStrong [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile
let packWeak (solution:Solution) = dotnetWeak rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" solution.SolutionFile) let packWeak (solution:Solution) = dotnetWeak rootDir (sprintf "pack %s --configuration Release --no-restore" solution.SolutionFile)
let packStrong (solution:Solution) = dotnetStrong rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" solution.SolutionFile) let packStrong (solution:Solution) = dotnetStrong rootDir (sprintf "pack %s --configuration Release --no-restore" solution.SolutionFile)
let packProjectWeak = function let packProjectWeak = function
| VisualStudio p -> dotnetWeak rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" p.ProjectFile) | VisualStudio p -> dotnetWeak rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" p.ProjectFile)

3
global.json

@ -1,5 +1,6 @@
{ {
"sdk": { "sdk": {
"version": "2.2.106" "version": "3.1.101",
"rollForward": "latestPatch"
} }
} }

40
paket.dependencies

@ -2,11 +2,12 @@ source https://api.nuget.org/v3/index.json
storage: packages storage: packages
nuget FSharp.Core 4.3.3 nuget FSharp.Core 4.3.3
nuget Microsoft.CSharp
// Testing // Testing
nuget NUnit ~> 3.0 framework:net461,netcoreapp2.2 nuget NUnit ~> 3.0 framework:net461,netcoreapp3.1
nuget NUnitLite ~> 3.0 framework:net461,netcoreapp2.2 nuget NUnitLite ~> 3.0 framework:net461,netcoreapp3.1
nuget FsUnit 3.0 framework:net461,netcoreapp2.2 nuget FsUnit ~> 3.0 framework:net461,netcoreapp3.1
nuget Microsoft.NET.Test.Sdk nuget Microsoft.NET.Test.Sdk
nuget NUnit3TestAdapter nuget NUnit3TestAdapter
@ -14,24 +15,25 @@ nuget NUnit3TestAdapter
nuget MathNet.Numerics 4.0.0 nuget MathNet.Numerics 4.0.0
// Benchmarks // Benchmarks
nuget BenchmarkDotNet content:none, strategy:min, framework:net461,netcoreapp2.2 nuget BenchmarkDotNet content:none, strategy:min, framework:net461,netcoreapp3.1
nuget System.Runtime strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget System.Runtime strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget System.Runtime.Numerics strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget System.Runtime.Numerics strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget System.Runtime.Serialization.Xml strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget System.Runtime.Serialization.Xml strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget System.Runtime.Serialization.Primitives strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget System.Runtime.Serialization.Primitives strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget System.Runtime.Serialization.Formatters strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget System.Runtime.Serialization.Formatters strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget System.Security.Cryptography.Algorithms strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget System.Security.Cryptography.Algorithms strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget NETStandard.Library 2.0.3 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget NETStandard.Library 2.0.3 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.Platforms 2.2.0 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.Platforms 3.1.0 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.App 2.2.4 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.App 2.2.8 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.DotNetHost 2.2.4 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.DotNetHost 3.1.1 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.DotNetAppHost 2.2.4 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.DotNetAppHost 3.1.1 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.DotNetHostPolicy 2.2.4 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.DotNetHostPolicy 3.1.1 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.DotNetHostResolver 2.2.4 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.DotNetHostResolver 3.1.1 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.Jit 2.0.8 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.Jit 2.0.8 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.NETCore.Runtime.CoreCLR 2.0.8 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp2.2 nuget Microsoft.NETCore.Runtime.CoreCLR 2.0.8 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
nuget Microsoft.DotNet.PlatformAbstractions 3.1.1 strategy:min, framework:netstandard1.3,netstandard1.6,netstandard2.0,netcoreapp3.1
group Build group Build
source https://api.nuget.org/v3/index.json source https://api.nuget.org/v3/index.json

613
paket.lock

File diff suppressed because it is too large

2
src/Benchmark/Benchmark.csproj

@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFrameworks>net461;netcoreapp2.2</TargetFrameworks> <TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AssemblyName>Benchmark</AssemblyName> <AssemblyName>Benchmark</AssemblyName>
<RootNamespace>Benchmark</RootNamespace> <RootNamespace>Benchmark</RootNamespace>

6
src/Benchmark/LinearAlgebra/DenseMatrixProduct.cs

@ -16,10 +16,10 @@ namespace Benchmark.LinearAlgebra
{ {
public Config() public Config()
{ {
Add(Job.Clr.With(Platform.X64).With(Jit.RyuJit)); AddJob(Job.Default.WithRuntime(ClrRuntime.Net461).WithPlatform(Platform.X64).WithJit(Jit.RyuJit));
Add(Job.Clr.With(Platform.X86).With(Jit.LegacyJit)); AddJob(Job.Default.WithRuntime(ClrRuntime.Net461).WithPlatform(Platform.X86).WithJit(Jit.LegacyJit));
#if !NET461 #if !NET461
Add(Job.Core.With(Platform.X64).With(Jit.RyuJit)); AddJob(Job.Default.WithRuntime(CoreRuntime.Core31).WithPlatform(Platform.X64).WithJit(Jit.RyuJit));
#endif #endif
} }
} }

6
src/Benchmark/LinearAlgebra/DenseVector.cs

@ -17,10 +17,10 @@ namespace Benchmark.LinearAlgebra
{ {
public Config() public Config()
{ {
Add(Job.Clr.With(Platform.X64).With(Jit.RyuJit)); AddJob(Job.Default.WithRuntime(ClrRuntime.Net461).WithPlatform(Platform.X64).WithJit(Jit.RyuJit));
Add(Job.Clr.With(Platform.X86).With(Jit.LegacyJit)); AddJob(Job.Default.WithRuntime(ClrRuntime.Net461).WithPlatform(Platform.X86).WithJit(Jit.LegacyJit));
#if !NET461 #if !NET461
Add(Job.Core.With(Platform.X64).With(Jit.RyuJit)); AddJob(Job.Default.WithRuntime(CoreRuntime.Core31).With(Platform.X64).WithJit(Jit.RyuJit));
#endif #endif
} }
} }

6
src/Benchmark/Transforms/FFT.cs

@ -16,10 +16,10 @@ namespace Benchmark.Transforms
{ {
public Config() public Config()
{ {
Add(Job.Clr.With(Platform.X64).With(Jit.RyuJit)); AddJob(Job.Default.WithRuntime(ClrRuntime.Net461).WithPlatform(Platform.X64).WithJit(Jit.RyuJit));
Add(Job.Clr.With(Platform.X86).With(Jit.LegacyJit)); AddJob(Job.Default.WithRuntime(ClrRuntime.Net461).WithPlatform(Platform.X86).WithJit(Jit.LegacyJit));
#if !NET461 #if !NET461
Add(Job.Core.With(Platform.X64).With(Jit.RyuJit)); AddJob(Job.Default.WithRuntime(CoreRuntime.Core31).WithPlatform(Platform.X64).WithJit(Jit.RyuJit));
#endif #endif
} }
} }

2
src/Data/Matlab/Matlab.csproj

@ -20,8 +20,6 @@ In addition to .Net 4.0 and newer now also targets .Net Standard 1.3 and 2.0.</P
<RepositoryType>git</RepositoryType> <RepositoryType>git</RepositoryType>
<NeutralLanguage>en</NeutralLanguage> <NeutralLanguage>en</NeutralLanguage>
<NoPackageAnalysis>false</NoPackageAnalysis> <NoPackageAnalysis>false</NoPackageAnalysis>
<IncludeBuildOutput>true</IncludeBuildOutput>
<IncludeContentInPack>false</IncludeContentInPack>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo> <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>

2
src/Data/Text/Text.csproj

@ -20,8 +20,6 @@ In addition to .Net 4.0 and newer now also targets .Net Standard 1.3 and 2.0.</P
<RepositoryType>git</RepositoryType> <RepositoryType>git</RepositoryType>
<NeutralLanguage>en</NeutralLanguage> <NeutralLanguage>en</NeutralLanguage>
<NoPackageAnalysis>false</NoPackageAnalysis> <NoPackageAnalysis>false</NoPackageAnalysis>
<IncludeBuildOutput>true</IncludeBuildOutput>
<IncludeContentInPack>false</IncludeContentInPack>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo> <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>

8
src/Directory.Build.props

@ -1,15 +1,14 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<RuntimeFrameworkVersion>2.2.4</RuntimeFrameworkVersion>
<NetStandardImplicitPackageVersion>2.0.3</NetStandardImplicitPackageVersion> <NetStandardImplicitPackageVersion>2.0.3</NetStandardImplicitPackageVersion>
<Company>Math.NET Project</Company> <Company>Math.NET Project</Company>
<Product>Math.NET Numerics</Product> <Product>Math.NET Numerics</Product>
<Authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</Authors> <Authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</Authors>
<Copyright>Copyright Math.NET Project</Copyright> <Copyright>Copyright Math.NET Project</Copyright>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<PackageLicenseUrl>https://numerics.mathdotnet.com/License.html</PackageLicenseUrl> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://numerics.mathdotnet.com/</PackageProjectUrl> <PackageProjectUrl>https://numerics.mathdotnet.com/</PackageProjectUrl>
<PackageIconUrl>https://www.mathdotnet.com/images/MathNet128.png</PackageIconUrl> <PackageIcon>icon.png</PackageIcon>
<RepositoryUrl>https://github.com/mathnet/mathnet-numerics</RepositoryUrl> <RepositoryUrl>https://github.com/mathnet/mathnet-numerics</RepositoryUrl>
<RepositoryType>git</RepositoryType> <RepositoryType>git</RepositoryType>
<NeutralLanguage>en</NeutralLanguage> <NeutralLanguage>en</NeutralLanguage>
@ -28,4 +27,7 @@
<PropertyGroup Condition="'$(TargetFramework)'!='netstandard1.3'"> <PropertyGroup Condition="'$(TargetFramework)'!='netstandard1.3'">
<DefineConstants>NATIVE;$(CommonConstants)</DefineConstants> <DefineConstants>NATIVE;$(CommonConstants)</DefineConstants>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)icon.png" Pack="true" Visible="false" PackagePath="\" />
</ItemGroup>
</Project> </Project>

2
src/FSharp.Tests/FSharp.Tests.fsproj

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<GenerateProgramFile>false</GenerateProgramFile> <GenerateProgramFile>false</GenerateProgramFile>
<TargetFrameworks>net461;netcoreapp2.2</TargetFrameworks> <TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AssemblyName>MathNet.Numerics.FSharp.Tests</AssemblyName> <AssemblyName>MathNet.Numerics.FSharp.Tests</AssemblyName>
<RootNamespace>MathNet.Numerics.Tests</RootNamespace> <RootNamespace>MathNet.Numerics.Tests</RootNamespace>

7
src/FSharp/FSharp.fsproj

@ -19,11 +19,6 @@ Distributions: Inverse Gaussian ~Philip Gruber
Distributions: Truncated Pareto ~Philip Gruber Distributions: Truncated Pareto ~Philip Gruber
Optimization: Detect early completion in BFGS-B minimizer ~Tom McTiernan</PackageReleaseNotes> Optimization: Detect early completion in BFGS-B minimizer ~Tom McTiernan</PackageReleaseNotes>
<PackageTags>fsharp F# math numeric statistics probability integration interpolation regression solve fit linear algebra matrix fft</PackageTags> <PackageTags>fsharp F# math numeric statistics probability integration interpolation regression solve fit linear algebra matrix fft</PackageTags>
<IsTool>false</IsTool>
<NeutralLanguage>en</NeutralLanguage>
<NoPackageAnalysis>false</NoPackageAnalysis>
<IncludeBuildOutput>true</IncludeBuildOutput>
<IncludeContentInPack>false</IncludeContentInPack>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
@ -51,8 +46,6 @@ Optimization: Detect early completion in BFGS-B minimizer ~Tom McTiernan</Packag
<Compile Include="FindRoots.fs" /> <Compile Include="FindRoots.fs" />
<Compile Include="RandomVariable.fs" /> <Compile Include="RandomVariable.fs" />
<Compile Include="Quaternion.fs" /> <Compile Include="Quaternion.fs" />
<None Include="MathNet.Numerics.fsx" />
<None Include="MathNet.Numerics.IfSharp.fsx" />
</ItemGroup> </ItemGroup>
<Import Project="..\..\.paket\Paket.Restore.targets" /> <Import Project="..\..\.paket\Paket.Restore.targets" />
</Project> </Project>

2
src/Numerics.Tests/Numerics.Tests.csproj

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<GenerateProgramFile>false</GenerateProgramFile> <GenerateProgramFile>false</GenerateProgramFile>
<TargetFrameworks>net461;netcoreapp2.2</TargetFrameworks> <TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AssemblyName>MathNet.Numerics.Tests</AssemblyName> <AssemblyName>MathNet.Numerics.Tests</AssemblyName>
<RootNamespace>MathNet.Numerics.Tests</RootNamespace> <RootNamespace>MathNet.Numerics.Tests</RootNamespace>

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

@ -27,7 +27,7 @@
// OTHER DEALINGS IN THE SOFTWARE. // OTHER DEALINGS IN THE SOFTWARE.
// </copyright> // </copyright>
#if !NETCOREAPP2_2 #if !NETCOREAPP3_1
// Rationale: System.Random is no longer serializable in .Net Core // Rationale: System.Random is no longer serializable in .Net Core
using System; using System;

5
src/Numerics/Numerics.csproj

@ -19,11 +19,6 @@ Distributions: Inverse Gaussian ~Philip Gruber
Distributions: Truncated Pareto ~Philip Gruber Distributions: Truncated Pareto ~Philip Gruber
Optimization: Detect early completion in BFGS-B minimizer ~Tom McTiernan</PackageReleaseNotes> Optimization: Detect early completion in BFGS-B minimizer ~Tom McTiernan</PackageReleaseNotes>
<PackageTags>math numeric statistics probability integration interpolation regression solve fit linear algebra matrix fft</PackageTags> <PackageTags>math numeric statistics probability integration interpolation regression solve fit linear algebra matrix fft</PackageTags>
<IsTool>false</IsTool>
<NeutralLanguage>en</NeutralLanguage>
<NoPackageAnalysis>false</NoPackageAnalysis>
<IncludeBuildOutput>true</IncludeBuildOutput>
<IncludeContentInPack>false</IncludeContentInPack>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo> <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>

BIN
src/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Loading…
Cancel
Save