Browse Source

Build: add portable profile 47 (in addition to 136) with System.Numerics

optimization-1
Christoph Ruegg 13 years ago
parent
commit
c50297f890
  1. 51
      MathNet.Numerics.Portable.sln
  2. 4
      build/NuGet/FSharp.Sample/MathNet.Numerics.FSharp.Sample.nuspec
  3. 4
      build/NuGet/FSharp/MathNet.Numerics.FSharp.nuspec
  4. 4
      build/NuGet/Numerics.Sample/MathNet.Numerics.Sample.nuspec
  5. 4
      build/NuGet/Numerics.Signed/MathNet.Numerics.Signed.nuspec
  6. 4
      build/NuGet/Numerics/MathNet.Numerics.nuspec
  7. 12
      build/NuGet/nuget.proj
  8. 1
      packages/repositories.config
  9. 3
      src/FSharp/BigIntegerExtensions.fs
  10. 5
      src/FSharp/BigRational.fs
  11. 5
      src/FSharp/BigRational.fsi
  12. 4
      src/FSharp/FSharp.fsproj
  13. 99
      src/FSharp/FSharpPortable.fsproj
  14. 5
      src/FSharp/RandomVariable.fs
  15. 13
      src/FSharpPortableUnitTests/App.config
  16. 5
      src/FSharpPortableUnitTests/packages.config
  17. 10
      src/FSharpUnitTests/BigRationalTests.fs
  18. 2
      src/FSharpUnitTests/FSharpUnitTests.fsproj
  19. 112
      src/FSharpUnitTests/FSharpUnitTestsPortable.fsproj
  20. 5
      src/FSharpUnitTests/PokerTests.fs
  21. 7
      src/FSharpUnitTests/RandomVariableTests.fs
  22. 13
      src/Numerics/Numerics.csproj
  23. 43
      src/Numerics/Portable.csproj
  24. 2
      src/UnitTests/UnitTests.csproj
  25. BIN
      tools/NuGet/nuget.exe

51
MathNet.Numerics.Portable.sln

@ -1,39 +1,42 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012 # Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Readme", "Readme", "{C2F37492-38AE-4186-8A7F-17B0B080942C}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Portable47", "src\Numerics\Portable.csproj", "{49205185-621E-FFB9-2104-887C9F1BBD13}"
ProjectSection(SolutionItems) = preProject
AUTHORS.markdown = AUTHORS.markdown
COPYRIGHT.markdown = COPYRIGHT.markdown
README.markdown = README.markdown
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Portable", "src\Numerics\Portable.csproj", "{D877F358-A2D2-4CC3-A921-8AA5CF6187E8}"
EndProject EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharpPortable", "src\FSharpPortable\FSharpPortable.fsproj", "{F5F14D76-428D-43D7-8431-5B885F1BA419}" Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharpPortable47", "src\FSharp\FSharpPortable.fsproj", "{F5F14D76-428D-43D7-8431-5B885F1BA419}"
ProjectSection(ProjectDependencies) = postProject
{49205185-621E-FFB9-2104-887C9F1BBD13} = {49205185-621E-FFB9-2104-887C9F1BBD13}
EndProjectSection
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{81D2CBEF-1C80-4389-A341-F010E8F86CDB}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{81D2CBEF-1C80-4389-A341-F010E8F86CDB}"
EndProject EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharpPortableUnitTests", "src\FSharpPortableUnitTests\FSharpPortableUnitTests.fsproj", "{90CE8E32-354E-4728-8FE6-87342F469321}" Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharpUnitTestsPortable47", "src\FSharpUnitTests\FSharpUnitTestsPortable.fsproj", "{90CE8E32-354E-4728-8FE6-87342F469321}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug47|Any CPU = Debug47|Any CPU
Release|Any CPU = Release|Any CPU Release136|Any CPU = Release136|Any CPU
Release47|Any CPU = Release47|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D877F358-A2D2-4CC3-A921-8AA5CF6187E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49205185-621E-FFB9-2104-887C9F1BBD13}.Debug47|Any CPU.ActiveCfg = Debug47|Any CPU
{D877F358-A2D2-4CC3-A921-8AA5CF6187E8}.Debug|Any CPU.Build.0 = Debug|Any CPU {49205185-621E-FFB9-2104-887C9F1BBD13}.Debug47|Any CPU.Build.0 = Debug47|Any CPU
{D877F358-A2D2-4CC3-A921-8AA5CF6187E8}.Release|Any CPU.ActiveCfg = Release|Any CPU {49205185-621E-FFB9-2104-887C9F1BBD13}.Release136|Any CPU.ActiveCfg = Release136|Any CPU
{D877F358-A2D2-4CC3-A921-8AA5CF6187E8}.Release|Any CPU.Build.0 = Release|Any CPU {49205185-621E-FFB9-2104-887C9F1BBD13}.Release136|Any CPU.Build.0 = Release136|Any CPU
{F5F14D76-428D-43D7-8431-5B885F1BA419}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49205185-621E-FFB9-2104-887C9F1BBD13}.Release47|Any CPU.ActiveCfg = Release47|Any CPU
{F5F14D76-428D-43D7-8431-5B885F1BA419}.Debug|Any CPU.Build.0 = Debug|Any CPU {49205185-621E-FFB9-2104-887C9F1BBD13}.Release47|Any CPU.Build.0 = Release47|Any CPU
{F5F14D76-428D-43D7-8431-5B885F1BA419}.Release|Any CPU.ActiveCfg = Release|Any CPU {F5F14D76-428D-43D7-8431-5B885F1BA419}.Debug47|Any CPU.ActiveCfg = Debug47|Any CPU
{F5F14D76-428D-43D7-8431-5B885F1BA419}.Release|Any CPU.Build.0 = Release|Any CPU {F5F14D76-428D-43D7-8431-5B885F1BA419}.Debug47|Any CPU.Build.0 = Debug47|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F5F14D76-428D-43D7-8431-5B885F1BA419}.Release136|Any CPU.ActiveCfg = Release136|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Debug|Any CPU.Build.0 = Debug|Any CPU {F5F14D76-428D-43D7-8431-5B885F1BA419}.Release136|Any CPU.Build.0 = Release136|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Release|Any CPU.ActiveCfg = Release|Any CPU {F5F14D76-428D-43D7-8431-5B885F1BA419}.Release47|Any CPU.ActiveCfg = Release47|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Release|Any CPU.Build.0 = Release|Any CPU {F5F14D76-428D-43D7-8431-5B885F1BA419}.Release47|Any CPU.Build.0 = Release47|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Debug47|Any CPU.ActiveCfg = Debug47|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Debug47|Any CPU.Build.0 = Debug47|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Release136|Any CPU.ActiveCfg = Release136|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Release136|Any CPU.Build.0 = Release136|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Release47|Any CPU.ActiveCfg = Release47|Any CPU
{90CE8E32-354E-4728-8FE6-87342F469321}.Release47|Any CPU.Build.0 = Release47|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

4
build/NuGet/FSharp.Sample/MathNet.Numerics.FSharp.Sample.nuspec

@ -6,7 +6,7 @@
<title>Math.NET Numerics for F# - Code Samples</title> <title>Math.NET Numerics for F# - Code Samples</title>
<summary>This package contains samples that demonstrate the use of the F# Modules for the Math.NET Numerics library.</summary> <summary>This package contains samples that demonstrate the use of the F# Modules for the Math.NET Numerics library.</summary>
<description>This package contains samples that demonstrate the use of the F# Modules for the Math.NET Numerics library. 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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both.</description> <description>This package contains samples that demonstrate the use of the F# Modules for the Math.NET Numerics library. 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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both.</description>
<authors>Marcus Cuda, Christoph Ruegg, Jurgen Van Gael</authors> <authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</authors>
<owners>Christoph Ruegg</owners> <owners>Christoph Ruegg</owners>
<projectUrl>http://numerics.mathdotnet.com/</projectUrl> <projectUrl>http://numerics.mathdotnet.com/</projectUrl>
<iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl> <iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl>
@ -17,7 +17,7 @@
<dependency id="MathNet.Numerics.FSharp" version="1.0.0" /> <dependency id="MathNet.Numerics.FSharp" version="1.0.0" />
</dependencies> </dependencies>
<frameworkAssemblies> <frameworkAssemblies>
<frameworkAssembly assemblyName="System.Numerics" /> <frameworkAssembly assemblyName="System.Numerics" targetFramework="net40, net45, windows8, sl5" />
</frameworkAssemblies> </frameworkAssemblies>
</metadata> </metadata>
</package> </package>

4
build/NuGet/FSharp/MathNet.Numerics.FSharp.nuspec

@ -6,7 +6,7 @@
<title>Math.NET Numerics for F#</title> <title>Math.NET Numerics for F#</title>
<summary>F# Modules for Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. Supports F# 3.0 with .Net 4 and higher, SL5 and .NET for Windows Store apps.</summary> <summary>F# Modules for Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. Supports F# 3.0 with .Net 4 and higher, SL5 and .NET for Windows Store apps.</summary>
<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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both. Also includes a portable build supporting .Net 4.5, SL5 and .NET for Windows Store apps.</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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both. Also includes a portable build supporting .Net 4.5, SL5 and .NET for Windows Store apps.</description>
<authors>Marcus Cuda, Christoph Ruegg, Jurgen Van Gael</authors> <authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</authors>
<owners>Christoph Ruegg</owners> <owners>Christoph Ruegg</owners>
<projectUrl>http://numerics.mathdotnet.com/</projectUrl> <projectUrl>http://numerics.mathdotnet.com/</projectUrl>
<iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl> <iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl>
@ -17,7 +17,7 @@
<dependency id="MathNet.Numerics" version="1.0.0" /> <dependency id="MathNet.Numerics" version="1.0.0" />
</dependencies> </dependencies>
<frameworkAssemblies> <frameworkAssemblies>
<frameworkAssembly assemblyName="System.Numerics" /> <frameworkAssembly assemblyName="System.Numerics" targetFramework="net40, net45, windows8, sl5" />
</frameworkAssemblies> </frameworkAssemblies>
</metadata> </metadata>
</package> </package>

4
build/NuGet/Numerics.Sample/MathNet.Numerics.Sample.nuspec

@ -6,7 +6,7 @@
<title>Math.NET Numerics - Code Samples</title> <title>Math.NET Numerics - Code Samples</title>
<summary>This package contains samples that demonstrate the use of the Math.NET Numerics library.</summary> <summary>This package contains samples that demonstrate the use of the Math.NET Numerics library.</summary>
<description>This package contains samples that demonstrate the use of the Math.NET Numerics library. 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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both.</description> <description>This package contains samples that demonstrate the use of the Math.NET Numerics library. 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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both.</description>
<authors>Marcus Cuda, Christoph Ruegg, Jurgen Van Gael</authors> <authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</authors>
<owners>Christoph Ruegg</owners> <owners>Christoph Ruegg</owners>
<projectUrl>http://numerics.mathdotnet.com/</projectUrl> <projectUrl>http://numerics.mathdotnet.com/</projectUrl>
<iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl> <iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl>
@ -17,7 +17,7 @@
<dependency id="MathNet.Numerics" version="1.0.0" /> <dependency id="MathNet.Numerics" version="1.0.0" />
</dependencies> </dependencies>
<frameworkAssemblies> <frameworkAssemblies>
<frameworkAssembly assemblyName="System.Numerics" /> <frameworkAssembly assemblyName="System.Numerics" targetFramework="net40, net45, windows8, sl5" />
</frameworkAssemblies> </frameworkAssemblies>
</metadata> </metadata>
</package> </package>

4
build/NuGet/Numerics.Signed/MathNet.Numerics.Signed.nuspec

@ -6,7 +6,7 @@
<title>Math.NET Numerics - Signed Edition</title> <title>Math.NET Numerics - Signed Edition</title>
<summary>Math.NET Numerics, signed and thus with a strong name. We strongly discourage using this package and recommend using MathNet.Numerics instead, which is unsigned and weakly named.</summary> <summary>Math.NET Numerics, signed and thus with a strong name. We strongly discourage using this package and recommend using MathNet.Numerics instead, which is unsigned and weakly named.</summary>
<description>Math.NET Numerics, signed and thus with a strong name. We strongly discourage using this package and recommend using MathNet.Numerics instead, which is unsigned and weakly named.</description> <description>Math.NET Numerics, signed and thus with a strong name. We strongly discourage using this package and recommend using MathNet.Numerics instead, which is unsigned and weakly named.</description>
<authors>Marcus Cuda, Christoph Ruegg, Jurgen Van Gael</authors> <authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</authors>
<owners>Christoph Ruegg</owners> <owners>Christoph Ruegg</owners>
<projectUrl>http://numerics.mathdotnet.com/</projectUrl> <projectUrl>http://numerics.mathdotnet.com/</projectUrl>
<iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl> <iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl>
@ -14,7 +14,7 @@
<requireLicenseAcceptance>false</requireLicenseAcceptance> <requireLicenseAcceptance>false</requireLicenseAcceptance>
<tags>math numeric statistics probability integration interpolation linear algebra matrix fft signed strongname</tags> <tags>math numeric statistics probability integration interpolation linear algebra matrix fft signed strongname</tags>
<frameworkAssemblies> <frameworkAssemblies>
<frameworkAssembly assemblyName="System.Numerics" /> <frameworkAssembly assemblyName="System.Numerics" targetFramework="net40, net45, windows8, sl5" />
</frameworkAssemblies> </frameworkAssemblies>
</metadata> </metadata>
</package> </package>

4
build/NuGet/Numerics/MathNet.Numerics.nuspec

@ -6,7 +6,7 @@
<title>Math.NET Numerics</title> <title>Math.NET Numerics</title>
<summary>Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net 4 and higher, SL5, WP8 and .NET for Windows Store apps.</summary> <summary>Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net 4 and higher, SL5, WP8 and .NET for Windows Store apps.</summary>
<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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both. Also includes a portable build supporting .Net 4 and higher, SL5, WP8 and .NET for Windows Store apps.</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. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both. Also includes a portable build supporting .Net 4 and higher, SL5, WP8 and .NET for Windows Store apps.</description>
<authors>Marcus Cuda, Christoph Ruegg, Jurgen Van Gael</authors> <authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</authors>
<owners>Christoph Ruegg</owners> <owners>Christoph Ruegg</owners>
<projectUrl>http://numerics.mathdotnet.com/</projectUrl> <projectUrl>http://numerics.mathdotnet.com/</projectUrl>
<iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl> <iconUrl>http://www.mathdotnet.com/images/MathNet128.png</iconUrl>
@ -14,7 +14,7 @@
<requireLicenseAcceptance>false</requireLicenseAcceptance> <requireLicenseAcceptance>false</requireLicenseAcceptance>
<tags>math numeric statistics probability integration interpolation linear algebra matrix fft</tags> <tags>math numeric statistics probability integration interpolation linear algebra matrix fft</tags>
<frameworkAssemblies> <frameworkAssemblies>
<frameworkAssembly assemblyName="System.Numerics" /> <frameworkAssembly assemblyName="System.Numerics" targetFramework="net40, net45, windows8, sl5" />
</frameworkAssemblies> </frameworkAssemblies>
</metadata> </metadata>
</package> </package>

12
build/NuGet/nuget.proj

@ -17,9 +17,11 @@
<ItemGroup> <ItemGroup>
<NumericsNet40 Include="$(OutLib)/Net40/MathNet.Numerics.dll;$(OutLib)/Net40/MathNet.Numerics.pdb;$(OutLib)/Net40/MathNet.Numerics.xml" /> <NumericsNet40 Include="$(OutLib)/Net40/MathNet.Numerics.dll;$(OutLib)/Net40/MathNet.Numerics.pdb;$(OutLib)/Net40/MathNet.Numerics.xml" />
<NumericsPortable Include="$(OutLib)/Portable/MathNet.Numerics.dll;$(OutLib)/Portable/MathNet.Numerics.pdb;$(OutLib)/Portable/MathNet.Numerics.xml;" /> <NumericsPortable47 Include="$(OutLib)/Portable47/MathNet.Numerics.dll;$(OutLib)/Portable47/MathNet.Numerics.pdb;$(OutLib)/Portable47/MathNet.Numerics.xml;" />
<NumericsPortable136 Include="$(OutLib)/Portable136/MathNet.Numerics.dll;$(OutLib)/Portable136/MathNet.Numerics.pdb;$(OutLib)/Portable136/MathNet.Numerics.xml;" />
<FSharpNet40 Include="$(OutLib)/Net40/MathNet.Numerics.FSharp.dll;$(OutLib)/Net40/MathNet.Numerics.FSharp.pdb;$(OutLib)/Net40/MathNet.Numerics.FSharp.xml" /> <FSharpNet40 Include="$(OutLib)/Net40/MathNet.Numerics.FSharp.dll;$(OutLib)/Net40/MathNet.Numerics.FSharp.pdb;$(OutLib)/Net40/MathNet.Numerics.FSharp.xml" />
<FSharpPortable Include="$(OutLib)/Portable/MathNet.Numerics.FSharp.dll;$(OutLib)/Portable/MathNet.Numerics.FSharp.pdb;$(OutLib)/Portable/MathNet.Numerics.FSharp.xml;" /> <FSharpPortable47 Include="$(OutLib)/Portable47/MathNet.Numerics.FSharp.dll;$(OutLib)/Portable47/MathNet.Numerics.FSharp.pdb;$(OutLib)/Portable47/MathNet.Numerics.FSharp.xml;" />
<FSharpPortable136 Include="$(OutLib)/Portable136/MathNet.Numerics.FSharp.dll;$(OutLib)/Portable136/MathNet.Numerics.FSharp.pdb;$(OutLib)/Portable136/MathNet.Numerics.FSharp.xml;" />
<NumericsSample Include="$(Examples)/**/*.cs" Exclude="$(Examples)/**/bin/**;$(Examples)/**/obj/**" /> <NumericsSample Include="$(Examples)/**/*.cs" Exclude="$(Examples)/**/bin/**;$(Examples)/**/obj/**" />
<FSharpSample Include="$(FSharpExamples)/**/*.fsx" Exclude="$(FSharpExamples)/**/bin/**;$(FSharpExamples)/**/obj/**" /> <FSharpSample Include="$(FSharpExamples)/**/*.fsx" Exclude="$(FSharpExamples)/**/bin/**;$(FSharpExamples)/**/obj/**" />
</ItemGroup> </ItemGroup>
@ -36,11 +38,13 @@
<RemoveDir Directories="$(NumericsPack)/lib" /> <RemoveDir Directories="$(NumericsPack)/lib" />
<Copy SourceFiles="@(NumericsNet40)" DestinationFolder="$(NumericsPack)/lib/net40" /> <Copy SourceFiles="@(NumericsNet40)" DestinationFolder="$(NumericsPack)/lib/net40" />
<Copy SourceFiles="@(NumericsPortable)" DestinationFolder="$(NumericsPack)/lib/portable-net40+windows8+wp8+sl5" /> <Copy SourceFiles="@(NumericsPortable47)" DestinationFolder="$(NumericsPack)/lib/portable-net45+windows8+sl5" />
<Copy SourceFiles="@(NumericsPortable136)" DestinationFolder="$(NumericsPack)/lib/portable-net40+windows8+wp8+sl5" />
<RemoveDir Directories="$(FSharpPack)/lib" /> <RemoveDir Directories="$(FSharpPack)/lib" />
<Copy SourceFiles="@(FSharpNet40)" DestinationFolder="$(FSharpPack)/lib/net40" /> <Copy SourceFiles="@(FSharpNet40)" DestinationFolder="$(FSharpPack)/lib/net40" />
<Copy SourceFiles="@(FSharpPortable)" DestinationFolder="$(FSharpPack)/lib/portable-net45+windows8+sl5" /> <Copy SourceFiles="@(FSharpPortable47)" DestinationFolder="$(FSharpPack)/lib/portable-net45+windows8+sl5" />
<Copy SourceFiles="@(FSharpPortable136)" DestinationFolder="$(FSharpPack)/lib/portable-net40+windows8+wp8+sl5" />
<RemoveDir Directories="$(NumericsSamplePack)/content" /> <RemoveDir Directories="$(NumericsSamplePack)/content" />
<Copy SourceFiles="@(NumericsSample)" DestinationFiles="$(NumericsSamplePack)/content/Samples/MathNet.Numerics/%(RecursiveDir)%(Filename).cs.pp" /> <Copy SourceFiles="@(NumericsSample)" DestinationFiles="$(NumericsSamplePack)/content/Samples/MathNet.Numerics/%(RecursiveDir)%(Filename).cs.pp" />

1
packages/repositories.config

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<repositories> <repositories>
<repository path="..\src\FSharpPortableUnitTests\packages.config" />
<repository path="..\src\FSharpUnitTests\packages.config" /> <repository path="..\src\FSharpUnitTests\packages.config" />
<repository path="..\src\UnitTests\packages.config" /> <repository path="..\src\UnitTests\packages.config" />
</repositories> </repositories>

3
src/FSharp/BigIntegerExtensions.fs

@ -1,6 +1,8 @@
namespace System.Numerics namespace System.Numerics
#if PORTABLE #if PORTABLE
#if NOSYSNUMERICS
#else
open System open System
@ -32,3 +34,4 @@ module BigIntegerExtensions =
parse text parse text
#endif #endif
#endif

5
src/FSharp/BigRational.fs

@ -7,6 +7,9 @@
namespace MathNet.Numerics namespace MathNet.Numerics
#if NOSYSNUMERICS
#else
open System open System
open System.Numerics open System.Numerics
open System.Globalization open System.Globalization
@ -305,3 +308,5 @@ namespace MathNet.Numerics
let FromInt32 i = BigRational.FromInt i let FromInt32 i = BigRational.FromInt i
let FromInt64 (i64:int64) = BigRational.FromBigInt (new BigInteger(i64)) let FromInt64 (i64:int64) = BigRational.FromBigInt (new BigInteger(i64))
let FromString s = BigRational.Parse s let FromString s = BigRational.Parse s
#endif

5
src/FSharp/BigRational.fsi

@ -4,6 +4,9 @@
namespace MathNet.Numerics namespace MathNet.Numerics
#if NOSYSNUMERICS
#else
open System open System
open System.Numerics open System.Numerics
@ -92,3 +95,5 @@ namespace MathNet.Numerics
val FromInt32 : int32 -> BigRational val FromInt32 : int32 -> BigRational
val FromInt64 : int64 -> BigRational val FromInt64 : int64 -> BigRational
val FromString : string -> BigRational val FromString : string -> BigRational
#endif

4
src/FSharp/FSharp.fsproj

@ -47,8 +47,8 @@
<Tailcalls>true</Tailcalls> <Tailcalls>true</Tailcalls>
<DefineConstants>TRACE;STRONGNAME</DefineConstants> <DefineConstants>TRACE;STRONGNAME</DefineConstants>
<WarningLevel>3</WarningLevel> <WarningLevel>3</WarningLevel>
<DocumentationFile>..\..\out\lib\Net40\MathNet.Numerics.FSharp.xml</DocumentationFile> <DocumentationFile>..\..\out\signed\Net40\MathNet.Numerics.FSharp.xml</DocumentationFile>
<OutputPath>..\..\out\lib\Net40\</OutputPath> <OutputPath>..\..\out\signed\Net40\</OutputPath>
<!-- Conditional Strong Name: YES --> <!-- Conditional Strong Name: YES -->
<SignAssembly>true</SignAssembly> <SignAssembly>true</SignAssembly>
</PropertyGroup> </PropertyGroup>

99
src/FSharpPortable/FSharpPortable.fsproj → src/FSharp/FSharpPortable.fsproj

@ -10,28 +10,39 @@
<RootNamespace>FSharpPortable</RootNamespace> <RootNamespace>FSharpPortable</RootNamespace>
<AssemblyName>MathNet.Numerics.FSharp</AssemblyName> <AssemblyName>MathNet.Numerics.FSharp</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile47</TargetFrameworkProfile>
<Name>FSharpPortable</Name> <Name>FSharpPortable</Name>
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug47|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <TargetFrameworkProfile>Profile47</TargetFrameworkProfile>
<DebugType>full</DebugType> <DefineConstants>TRACE;DEBUG;PORTABLE</DefineConstants>
<OutputPath>..\..\out\debug\Portable47\</OutputPath>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<Tailcalls>false</Tailcalls> <Tailcalls>false</Tailcalls>
<OutputPath>..\..\out\debug\Portable\</OutputPath> <DebugSymbols>true</DebugSymbols>
<DefineConstants>TRACE;DEBUG;PORTABLE;NOSYSNUMERICS</DefineConstants> <DebugType>full</DebugType>
<WarningLevel>3</WarningLevel> <WarningLevel>3</WarningLevel>
<DocumentationFile> <DocumentationFile />
</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release47|AnyCPU' ">
<DebugType>pdbonly</DebugType> <TargetFrameworkProfile>Profile47</TargetFrameworkProfile>
<DefineConstants>TRACE;PORTABLE</DefineConstants>
<OutputPath>..\..\out\lib\Portable47\</OutputPath>
<DocumentationFile>..\..\out\lib\Portable47\MathNet.Numerics.FSharp.XML</DocumentationFile>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<Tailcalls>true</Tailcalls> <Tailcalls>true</Tailcalls>
<OutputPath>..\..\out\lib\Portable\</OutputPath> <DebugType>pdbonly</DebugType>
<WarningLevel>3</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release136|AnyCPU' ">
<TargetFrameworkProfile>Profile136</TargetFrameworkProfile>
<DefineConstants>TRACE;PORTABLE;NOSYSNUMERICS</DefineConstants> <DefineConstants>TRACE;PORTABLE;NOSYSNUMERICS</DefineConstants>
<OutputPath>..\..\out\lib\Portable136\</OutputPath>
<DocumentationFile>..\..\out\lib\Portable136\MathNet.Numerics.FSharp.XML</DocumentationFile>
<Optimize>true</Optimize>
<Tailcalls>true</Tailcalls>
<DebugType>pdbonly</DebugType>
<WarningLevel>3</WarningLevel> <WarningLevel>3</WarningLevel>
<DocumentationFile>..\..\out\lib\Portable\MathNet.Numerics.FSharp.XML</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="FSharp.Core"> <Reference Include="FSharp.Core">
@ -41,62 +52,26 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="..\FSharp\AssemblyInfo.fs"> <Compile Include="AssemblyInfo.fs" />
<Link>AssemblyInfo.fs</Link> <Compile Include="Random.fs" />
</Compile> <Compile Include="Distributions.fs" />
<Compile Include="..\FSharp\Random.fs"> <Compile Include="LinearAlgebra.Vector.fs" />
<Link>Random.fs</Link> <Compile Include="LinearAlgebra.Matrix.fs" />
</Compile> <Compile Include="Complex.fsi" />
<Compile Include="..\FSharp\Distributions.fs"> <Compile Include="Complex.fs" />
<Link>Distributions.fs</Link> <Compile Include="BigIntegerExtensions.fs" />
</Compile> <Compile Include="BigRational.fsi" />
<Compile Include="..\FSharp\LinearAlgebra.Matrix.fs"> <Compile Include="BigRational.fs" />
<Link>LinearAlgebra.Matrix.fs</Link> <Compile Include="Fit.fs" />
</Compile> <Compile Include="FindRoots.fs" />
<Compile Include="..\FSharp\LinearAlgebra.Vector.fs"> <Compile Include="RandomVariable.fs" />
<Link>LinearAlgebra.Vector.fs</Link>
</Compile>
<Compile Include="..\FSharp\Complex.fsi">
<Link>Complex.fsi</Link>
</Compile>
<Compile Include="..\FSharp\Complex.fs">
<Link>Complex.fs</Link>
</Compile>
<Compile Include="..\FSharp\BigIntegerExtensions.fs">
<Link>BigIntegerExtensions.fs</Link>
</Compile>
<Compile Include="..\FSharp\BigRational.fsi">
<Link>BigRational.fsi</Link>
</Compile>
<Compile Include="..\FSharp\BigRational.fs">
<Link>BigRational.fs</Link>
</Compile>
<Compile Include="..\FSharp\Fit.fs">
<Link>Fit.fs</Link>
</Compile>
<Compile Include="..\FSharp\FindRoots.fs">
<Link>FindRoots.fs</Link>
</Compile>
<Compile Include="..\FSharp\RandomVariable.fs">
<Link>RandomVariable.fs</Link>
</Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Numerics\Portable.csproj"> <ProjectReference Include="..\Numerics\Portable.csproj">
<Name>Portable</Name> <Name>Portable</Name>
<Project>{d877f358-a2d2-4cc3-a921-8aa5cf6187e8}</Project> <Project>{49205185-621e-ffb9-2104-887c9f1bbd13}</Project>
<Private>True</Private> <Private>True</Private>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<PropertyGroup>
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.Portable.FSharp.Targets" /> <Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.Portable.FSharp.Targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project> </Project>

5
src/FSharp/RandomVariable.fs

@ -2,6 +2,9 @@
#nowarn "40" #nowarn "40"
#if NOSYSNUMERICS
#else
open System open System
open System.Collections open System.Collections
open System.Collections.Generic open System.Collections.Generic
@ -93,3 +96,5 @@ module RandomVariable =
|> map (fst >> List.rev) |> map (fst >> List.rev)
let remove items = Seq.filter (fun v -> Seq.forall ((<>) v) items) let remove items = Seq.filter (fun v -> Seq.forall ((<>) v) items)
#endif

13
src/FSharpPortableUnitTests/App.config

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="4.0.0.0" newVersion="4.3.0.0" />
<bindingRedirect oldVersion="2.3.5.0" newVersion="4.3.0.0" />
<bindingRedirect oldVersion="2.0.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

5
src/FSharpPortableUnitTests/packages.config

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FsUnit" version="1.2.1.0" targetFramework="net45" />
<package id="NUnit" version="2.6.2" targetFramework="net45" />
</packages>

10
src/FSharpUnitTests/BigRationalTests.fs

@ -3,6 +3,9 @@
namespace MathNet.Numerics.Tests namespace MathNet.Numerics.Tests
#if NOSYSNUMERICS
#else
open MathNet.Numerics open MathNet.Numerics
open NUnit.Framework open NUnit.Framework
open System open System
@ -598,9 +601,4 @@ type BigNumType() =
Assert.AreEqual(g_negative1.Numerator, g_bigintnegative) Assert.AreEqual(g_negative1.Numerator, g_bigintnegative)
Assert.AreEqual(0N.Numerator, 0I) Assert.AreEqual(0N.Numerator, 0I)
() #endif

2
src/FSharpUnitTests/FSharpUnitTests.fsproj

@ -36,7 +36,7 @@
<Tailcalls>true</Tailcalls> <Tailcalls>true</Tailcalls>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<WarningLevel>3</WarningLevel> <WarningLevel>3</WarningLevel>
<OutputPath>bin\Release-Signed\</OutputPath> <OutputPath>..\..\out\test\signed\Net40\</OutputPath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>

112
src/FSharpPortableUnitTests/FSharpPortableUnitTests.fsproj → src/FSharpUnitTests/FSharpUnitTestsPortable.fsproj

@ -11,38 +11,38 @@
<AssemblyName>FSharpPortableUnitTests</AssemblyName> <AssemblyName>FSharpPortableUnitTests</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<Name>FSharpPortableUnitTests</Name> <Name>FSharpPortableUnitTests</Name>
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug47|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <OutputPath>..\..\out\test\debug\Portable47\</OutputPath>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<Tailcalls>false</Tailcalls> <Tailcalls>false</Tailcalls>
<OutputPath>..\..\out\test\debug\Portable\</OutputPath> <DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DebugType>full</DebugType>
<WarningLevel>3</WarningLevel> <WarningLevel>3</WarningLevel>
<DocumentationFile> <DocumentationFile />
</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release47|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DefineConstants>TRACE</DefineConstants>
<OutputPath>..\..\out\test\Portable47\</OutputPath>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<Tailcalls>true</Tailcalls> <Tailcalls>true</Tailcalls>
<OutputPath>..\..\out\test\Portable\</OutputPath> <DebugType>pdbonly</DebugType>
<DefineConstants>TRACE</DefineConstants>
<WarningLevel>3</WarningLevel> <WarningLevel>3</WarningLevel>
<DocumentationFile> <DocumentationFile />
</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release136|AnyCPU' ">
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> <DefineConstants>TRACE;NOSYSNUMERICS</DefineConstants>
<OutputPath>..\..\out\test\Portable136\</OutputPath>
<Optimize>true</Optimize>
<Tailcalls>true</Tailcalls>
<DebugType>pdbonly</DebugType>
<WarningLevel>3</WarningLevel>
<DocumentationFile />
</PropertyGroup> </PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" Condition=" Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')" /> <Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" Condition=" Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')" />
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Numerics\Portable.csproj">
<Name>Portable</Name>
<Project>{d877f358-a2d2-4cc3-a921-8aa5cf6187e8}</Project>
<Private>True</Private>
</ProjectReference>
<Reference Include="FSharp.Core" /> <Reference Include="FSharp.Core" />
<Reference Include="FsUnit.NUnit"> <Reference Include="FsUnit.NUnit">
<HintPath>..\..\packages\FsUnit.1.2.1.0\Lib\Net40\FsUnit.NUnit.dll</HintPath> <HintPath>..\..\packages\FsUnit.1.2.1.0\Lib\Net40\FsUnit.NUnit.dll</HintPath>
@ -55,57 +55,33 @@
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Numerics" /> <Reference Include="System.Numerics" />
<ProjectReference Include="..\FSharpPortable\FSharpPortable.fsproj"> </ItemGroup>
<ItemGroup>
<Compile Include="VectorTests.fs" />
<Compile Include="SparseVectorTests.fs" />
<Compile Include="DenseVectorTests.fs" />
<Compile Include="MatrixTests.fs" />
<Compile Include="SparseMatrixTests.fs" />
<Compile Include="DenseMatrixTests.fs" />
<Compile Include="Utilities.fs" />
<Compile Include="BigRationalTests.fs" />
<Compile Include="RandomVariableTests.fs" />
<Compile Include="PokerTests.fs" />
<Compile Include="FitTests.fs" />
<Compile Include="FindRootsTests.fs" />
<None Include="packages.config" />
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FSharp\FSharpPortable.fsproj">
<Name>FSharpPortable</Name> <Name>FSharpPortable</Name>
<Project>{f5f14d76-428d-43d7-8431-5b885f1ba419}</Project> <Project>{f5f14d76-428d-43d7-8431-5b885f1ba419}</Project>
<Private>True</Private> <Private>True</Private>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\Numerics\Portable.csproj">
<Name>Portable</Name>
<Project>{49205185-621e-ffb9-2104-887c9f1bbd13}</Project>
<Private>True</Private>
</ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Include="..\FSharpUnitTests\VectorTests.fs">
<Link>VectorTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\SparseVectorTests.fs">
<Link>SparseVectorTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\DenseVectorTests.fs">
<Link>DenseVectorTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\MatrixTests.fs">
<Link>MatrixTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\SparseMatrixTests.fs">
<Link>SparseMatrixTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\DenseMatrixTests.fs">
<Link>DenseMatrixTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\Utilities.fs">
<Link>Utilities.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\BigRationalTests.fs">
<Link>BigRationalTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\RandomVariableTests.fs">
<Link>RandomVariableTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\PokerTests.fs">
<Link>PokerTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\FitTests.fs">
<Link>FitTests.fs</Link>
</Compile>
<Compile Include="..\FSharpUnitTests\FindRootsTests.fs">
<Link>FindRootsTests.fs</Link>
</Compile>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project> </Project>

5
src/FSharpUnitTests/PokerTests.fs

@ -1,5 +1,8 @@
module MathNet.Numerics.Tests.PokerTests module MathNet.Numerics.Tests.PokerTests
#if NOSYSNUMERICS
#else
open MathNet.Numerics open MathNet.Numerics
open MathNet.Numerics.Probability open MathNet.Numerics.Probability
open NUnit.Framework open NUnit.Framework
@ -96,3 +99,5 @@ let ``When holding 3 Spades after the flop, than the probability for drawing a f
|> RandomVariable.filter (fun (c1::c2::_) -> suit c1 = Spades && suit c2 = Spades) |> RandomVariable.filter (fun (c1::c2::_) -> suit c1 = Spades && suit c2 = Spades)
|> RandomVariable.probability |> RandomVariable.probability
|> should equal (10N/47N*9N/46N) |> should equal (10N/47N*9N/46N)
#endif

7
src/FSharpUnitTests/RandomVariableTests.fs

@ -1,5 +1,8 @@
module MathNet.Numerics.Tests.RandomVariableTests module MathNet.Numerics.Tests.RandomVariableTests
#if NOSYSNUMERICS
#else
open MathNet.Numerics open MathNet.Numerics
open MathNet.Numerics.Probability open MathNet.Numerics.Probability
open NUnit.Framework open NUnit.Framework
@ -76,4 +79,6 @@ let ``When switching in a MontyHall situation, the chances to win should be 2/3`
montyHallWithSwitch montyHallWithSwitch
|> RandomVariable.filter ((=) Car) |> RandomVariable.filter ((=) Car)
|> RandomVariable.probability |> RandomVariable.probability
|> should equal (2N/3N) |> should equal (2N/3N)
#endif

13
src/Numerics/Numerics.csproj

@ -64,8 +64,8 @@
<NoWarn>1591</NoWarn> <NoWarn>1591</NoWarn>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release-Signed|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release-Signed|AnyCPU'">
<OutputPath>..\..\out\lib\Net40\</OutputPath> <OutputPath>..\..\out\signed\Net40\</OutputPath>
<DocumentationFile>..\..\out\lib\Net40\MathNet.Numerics.xml</DocumentationFile> <DocumentationFile>..\..\out\signed\Net40\MathNet.Numerics.xml</DocumentationFile>
<!-- Conditional Strong Name: YES --> <!-- Conditional Strong Name: YES -->
<SignAssembly>true</SignAssembly> <SignAssembly>true</SignAssembly>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
@ -75,6 +75,7 @@
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<NoWarn>1591</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
@ -205,9 +206,7 @@
<Compile Include="LinearAlgebra\Complex32\SparseMatrix.cs" /> <Compile Include="LinearAlgebra\Complex32\SparseMatrix.cs" />
<Compile Include="LinearAlgebra\Complex32\Vector.cs" /> <Compile Include="LinearAlgebra\Complex32\Vector.cs" />
<Compile Include="LinearAlgebra\Complex\DenseMatrix.cs" /> <Compile Include="LinearAlgebra\Complex\DenseMatrix.cs" />
<Compile Include="LinearAlgebra\Complex\DenseVector.cs"> <Compile Include="LinearAlgebra\Complex\DenseVector.cs" />
<SubType>Code</SubType>
</Compile>
<Compile Include="LinearAlgebra\Complex\DiagonalMatrix.cs" /> <Compile Include="LinearAlgebra\Complex\DiagonalMatrix.cs" />
<Compile Include="LinearAlgebra\Complex\Factorization\Cholesky.cs" /> <Compile Include="LinearAlgebra\Complex\Factorization\Cholesky.cs" />
<Compile Include="LinearAlgebra\Complex\Factorization\Evd.cs" /> <Compile Include="LinearAlgebra\Complex\Factorization\Evd.cs" />
@ -344,9 +343,7 @@
<Compile Include="LinearAlgebra\Double\Solvers\TFQMR.cs" /> <Compile Include="LinearAlgebra\Double\Solvers\TFQMR.cs" />
<Compile Include="LinearAlgebra\Double\Solvers\DiagonalPreconditioner.cs" /> <Compile Include="LinearAlgebra\Double\Solvers\DiagonalPreconditioner.cs" />
<Compile Include="LinearAlgebra\Double\Solvers\ILUTPPreconditioner.cs" /> <Compile Include="LinearAlgebra\Double\Solvers\ILUTPPreconditioner.cs" />
<Compile Include="LinearAlgebra\Double\Solvers\ILU0Preconditioner.cs"> <Compile Include="LinearAlgebra\Double\Solvers\ILU0Preconditioner.cs" />
<SubType>Code</SubType>
</Compile>
<Compile Include="LinearAlgebra\Solvers\UnitPreconditioner.cs" /> <Compile Include="LinearAlgebra\Solvers\UnitPreconditioner.cs" />
<Compile Include="LinearAlgebra\Double\Solvers\DivergenceStopCriterium.cs" /> <Compile Include="LinearAlgebra\Double\Solvers\DivergenceStopCriterium.cs" />
<Compile Include="LinearAlgebra\Double\Solvers\FailureStopCriterium.cs" /> <Compile Include="LinearAlgebra\Double\Solvers\FailureStopCriterium.cs" />

43
src/Numerics/Portable.csproj

@ -5,33 +5,45 @@
<MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion> <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D877F358-A2D2-4CC3-A921-8AA5CF6187E8}</ProjectGuid> <ProjectGuid>{49205185-621E-FFB9-2104-887C9F1BBD13}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MathNet.Numerics</RootNamespace> <RootNamespace>MathNet.Numerics</RootNamespace>
<AssemblyName>MathNet.Numerics</AssemblyName> <AssemblyName>MathNet.Numerics</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile136</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug47|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <TargetFrameworkProfile>Profile47</TargetFrameworkProfile>
<DebugType>full</DebugType> <DefineConstants>TRACE;DEBUG;PORTABLE</DefineConstants>
<OutputPath>..\..\out\debug\Portable47\</OutputPath>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\out\debug\Portable\</OutputPath> <DebugType>full</DebugType>
<DefineConstants>TRACE;DEBUG;PORTABLE;NOSYSNUMERICS</DefineConstants> <DebugSymbols>true</DebugSymbols>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release47|AnyCPU' ">
<DebugType>pdbonly</DebugType> <TargetFrameworkProfile>Profile47</TargetFrameworkProfile>
<DefineConstants>TRACE;PORTABLE</DefineConstants>
<OutputPath>..\..\out\lib\Portable47\</OutputPath>
<DocumentationFile>..\..\out\lib\Portable47\MathNet.Numerics.XML</DocumentationFile>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>..\..\out\lib\Portable\</OutputPath> <DebugType>pdbonly</DebugType>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release136|AnyCPU' ">
<TargetFrameworkProfile>Profile136</TargetFrameworkProfile>
<DefineConstants>TRACE;PORTABLE;NOSYSNUMERICS</DefineConstants> <DefineConstants>TRACE;PORTABLE;NOSYSNUMERICS</DefineConstants>
<OutputPath>bin\Portable136\</OutputPath>
<DocumentationFile>..\..\out\lib\Portable136\MathNet.Numerics.XML</DocumentationFile>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<DocumentationFile>..\..\out\lib\Portable\MathNet.Numerics.XML</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<!-- A reference to the entire .NET Framework is automatically included --> <!-- A reference to the entire .NET Framework is automatically included -->
@ -55,11 +67,4 @@
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project> </Project>

2
src/UnitTests/UnitTests.csproj

@ -40,7 +40,7 @@
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release-Signed|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release-Signed|AnyCPU'">
<OutputPath>..\..\out\test\Net40\</OutputPath> <OutputPath>..\..\out\test\signed\Net40\</OutputPath>
<!-- Conditional Strong Name: YES --> <!-- Conditional Strong Name: YES -->
<SignAssembly>true</SignAssembly> <SignAssembly>true</SignAssembly>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>

BIN
tools/NuGet/nuget.exe

Binary file not shown.
Loading…
Cancel
Save