549 changed files with 17198 additions and 11432 deletions
@ -0,0 +1,124 @@ |
|||
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|||
# Visual Studio 2013 |
|||
VisualStudioVersion = 12.0.21005.1 |
|||
MinimumVisualStudioVersion = 10.0.40219.1 |
|||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{5A0892FF-82CE-40FC-BCE1-73810C615F52}" |
|||
ProjectSection(SolutionItems) = preProject |
|||
src\NativeProviders\Common\lapack_common.h = src\NativeProviders\Common\lapack_common.h |
|||
src\NativeProviders\Common\resource.h = src\NativeProviders\Common\resource.h |
|||
src\NativeProviders\Common\resource.rc = src\NativeProviders\Common\resource.rc |
|||
src\NativeProviders\Common\WindowsDLL.cpp = src\NativeProviders\Common\WindowsDLL.cpp |
|||
src\NativeProviders\Common\wrapper_common.h = src\NativeProviders\Common\wrapper_common.h |
|||
EndProjectSection |
|||
EndProject |
|||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MKL", "src\NativeProviders\Windows\MKL\MKLWrapper.vcxproj", "{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}" |
|||
EndProject |
|||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ATLAS", "src\NativeProviders\Windows\ATLAS\ATLASWrapper.vcxproj", "{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}" |
|||
EndProject |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Numerics", "src\Numerics\Numerics.csproj", "{B7CAE5F4-A23F-4438-B5BE-41226618B695}" |
|||
EndProject |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-MKL", "src\UnitTests\UnitTests-MKL.csproj", "{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}" |
|||
EndProject |
|||
Global |
|||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|||
Debug|Any CPU = Debug|Any CPU |
|||
Debug|Mixed Platforms = Debug|Mixed Platforms |
|||
Debug|Win32 = Debug|Win32 |
|||
Debug|x64 = Debug|x64 |
|||
Release|Any CPU = Release|Any CPU |
|||
Release|Mixed Platforms = Release|Mixed Platforms |
|||
Release|Win32 = Release|Win32 |
|||
Release|x64 = Release|x64 |
|||
Release-Signed|Any CPU = Release-Signed|Any CPU |
|||
Release-Signed|Mixed Platforms = Release-Signed|Mixed Platforms |
|||
Release-Signed|Win32 = Release-Signed|Win32 |
|||
Release-Signed|x64 = Release-Signed|x64 |
|||
EndGlobalSection |
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Any CPU.ActiveCfg = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Mixed Platforms.Build.0 = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Win32.ActiveCfg = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Win32.Build.0 = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|x64.ActiveCfg = Debug|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|x64.Build.0 = Debug|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Any CPU.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Mixed Platforms.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Mixed Platforms.Build.0 = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Win32.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Win32.Build.0 = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|x64.ActiveCfg = Release|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|x64.Build.0 = Release|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release-Signed|Any CPU.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release-Signed|Mixed Platforms.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release-Signed|Mixed Platforms.Build.0 = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release-Signed|Win32.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release-Signed|Win32.Build.0 = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release-Signed|x64.ActiveCfg = Release|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release-Signed|x64.Build.0 = Release|x64 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Any CPU.ActiveCfg = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Mixed Platforms.Build.0 = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Win32.ActiveCfg = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|x64.ActiveCfg = Debug|x64 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|Any CPU.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|Mixed Platforms.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|Win32.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|x64.ActiveCfg = Release|x64 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release-Signed|Any CPU.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release-Signed|Mixed Platforms.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release-Signed|Mixed Platforms.Build.0 = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release-Signed|Win32.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release-Signed|Win32.Build.0 = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release-Signed|x64.ActiveCfg = Release|x64 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release-Signed|x64.Build.0 = Release|x64 |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|Win32.ActiveCfg = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|Win32.Build.0 = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|x64.ActiveCfg = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Debug|x64.Build.0 = Debug|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|Mixed Platforms.Build.0 = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|Win32.ActiveCfg = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|Win32.Build.0 = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|x64.ActiveCfg = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release|x64.Build.0 = Release|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release-Signed|Mixed Platforms.ActiveCfg = Release-Signed|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release-Signed|Mixed Platforms.Build.0 = Release-Signed|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release-Signed|Win32.ActiveCfg = Release-Signed|Any CPU |
|||
{B7CAE5F4-A23F-4438-B5BE-41226618B695}.Release-Signed|x64.ActiveCfg = Release-Signed|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|Win32.ActiveCfg = Debug|x86 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|Win32.Build.0 = Debug|x86 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|x64.ActiveCfg = Debug|x64 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Debug|x64.Build.0 = Debug|x64 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|Win32.ActiveCfg = Release|x86 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|Win32.Build.0 = Release|x86 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|x64.ActiveCfg = Release|x64 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release|x64.Build.0 = Release|x64 |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|Any CPU.ActiveCfg = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|Any CPU.Build.0 = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|Mixed Platforms.ActiveCfg = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|Mixed Platforms.Build.0 = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|Win32.ActiveCfg = Release|Any CPU |
|||
{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|x64.ActiveCfg = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(SolutionProperties) = preSolution |
|||
HideSolutionNode = FALSE |
|||
EndGlobalSection |
|||
EndGlobal |
|||
@ -0,0 +1,43 @@ |
|||
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|||
# Visual Studio 2013 |
|||
VisualStudioVersion = 12.0.21005.1 |
|||
MinimumVisualStudioVersion = 10.0.40219.1 |
|||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Readme", "Readme", "{C2F37492-38AE-4186-8A7F-17B0B080942C}" |
|||
ProjectSection(SolutionItems) = preProject |
|||
CONTRIBUTING.md = CONTRIBUTING.md |
|||
CONTRIBUTORS.md = CONTRIBUTORS.md |
|||
LICENSE.md = LICENSE.md |
|||
MAINTAINING.md = MAINTAINING.md |
|||
README.md = README.md |
|||
RELEASENOTES.md = RELEASENOTES.md |
|||
EndProjectSection |
|||
EndProject |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Numerics-Net35", "src\Numerics\Numerics-Net35.csproj", "{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC}" |
|||
EndProject |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-Net35", "src\UnitTests\UnitTests-Net35.csproj", "{9014A0CE-725D-4718-918C-923C0CA19FEE}" |
|||
EndProject |
|||
Global |
|||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|||
Debug|Any CPU = Debug|Any CPU |
|||
Release|Any CPU = Release|Any CPU |
|||
Release-Signed|Any CPU = Release-Signed|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|||
{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU |
|||
{E54E712D-EB6B-4FBF-B29A-6BB95E719BAC}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU |
|||
{9014A0CE-725D-4718-918C-923C0CA19FEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{9014A0CE-725D-4718-918C-923C0CA19FEE}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{9014A0CE-725D-4718-918C-923C0CA19FEE}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{9014A0CE-725D-4718-918C-923C0CA19FEE}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{9014A0CE-725D-4718-918C-923C0CA19FEE}.Release-Signed|Any CPU.ActiveCfg = Release|Any CPU |
|||
{9014A0CE-725D-4718-918C-923C0CA19FEE}.Release-Signed|Any CPU.Build.0 = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(SolutionProperties) = preSolution |
|||
HideSolutionNode = FALSE |
|||
EndGlobalSection |
|||
EndGlobal |
|||
@ -0,0 +1,71 @@ |
|||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> |
|||
<s:String x:Key="/Default/CodeStyle/CodeCleanup/Profiles/=Full_0020Cleanup_0020_0028Math_002ENET_0029/@EntryIndexedValue"><?xml version="1.0" encoding="utf-16"?><Profile name="Full Cleanup (Math.NET)"><CSArrangeThisQualifier>True</CSArrangeThisQualifier><CSRemoveCodeRedundancies>True</CSRemoveCodeRedundancies><CSUseAutoProperty>True</CSUseAutoProperty><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSUpdateFileHeader>True</CSUpdateFileHeader><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings><EmbraceInRegion>False</EmbraceInRegion><RegionName></RegionName></CSOptimizeUsings><CSShortenReferences>True</CSShortenReferences><CSReformatCode>True</CSReformatCode><XMLReformatCode>True</XMLReformatCode><CssAlphabetizeProperties>True</CssAlphabetizeProperties><CssReformatCode>True</CssReformatCode><JsReformatCode>True</JsReformatCode><JsInsertSemicolon>True</JsInsertSemicolon><VBFormatDocComments>True</VBFormatDocComments><VBReformatCode>True</VBReformatCode><VBShortenReferences>True</VBShortenReferences><VBOptimizeImports>True</VBOptimizeImports><HtmlReformatCode>True</HtmlReformatCode><AspOptimizeRegisterDirectives>True</AspOptimizeRegisterDirectives><CSReorderTypeMembers>True</CSReorderTypeMembers><CSUseVar><BehavourStyle>CAN_CHANGE_BOTH</BehavourStyle><LocalVariableStyle>IMPLICIT_WHEN_INITIALIZER_HAS_TYPE</LocalVariableStyle><ForeachVariableStyle>ALWAYS_EXPLICIT</ForeachVariableStyle></CSUseVar></Profile></s:String> |
|||
<s:String x:Key="/Default/CodeStyle/CodeCleanup/RecentlyUsedProfile/@EntryValue">Full Cleanup (Math.NET)</s:String> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_LINQ_QUERY/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_ARGUMENT/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_ARRAY_AND_OBJECT_INITIALIZER/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_EXPRESSION/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_EXTENDS_LIST/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_PARAMETER/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTLINE_TYPE_PARAMETER_CONSTRAINS/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTLINE_TYPE_PARAMETER_LIST/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/EXPLICIT_PRIVATE_MODIFIER/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INDENT_ANONYMOUS_METHOD_BLOCK/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INDENT_EMBRACED_INITIALIZER_BLOCK/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/LINE_FEED_AT_FILE_END/@EntryValue">True</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_ACCESSOR_ATTRIBUTE_ON_SAME_LINE/@EntryValue">False</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_BEFORE_BINARY_OPSIGN/@EntryValue">True</s:Boolean> |
|||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_LINES/@EntryValue">False</s:Boolean> |
|||
<s:String x:Key="/Default/CodeStyle/FileHeader/FileHeaderText/@EntryValue"><copyright file="$FILENAME$" company="Math.NET">
 |
|||
Math.NET Numerics, part of the Math.NET Project
 |
|||
http://numerics.mathdotnet.com
 |
|||
http://github.com/mathnet/mathnet-numerics
 |
|||
http://mathnetnumerics.codeplex.com
 |
|||

 |
|||
Copyright (c) 2009-$CURRENT_YEAR$ Math.NET
 |
|||

 |
|||
Permission is hereby granted, free of charge, to any person
 |
|||
obtaining a copy of this software and associated documentation
 |
|||
files (the "Software"), to deal in the Software without
 |
|||
restriction, including without limitation the rights to use,
 |
|||
copy, modify, merge, publish, distribute, sublicense, and/or sell
 |
|||
copies of the Software, and to permit persons to whom the
 |
|||
Software is furnished to do so, subject to the following
 |
|||
conditions:
 |
|||

 |
|||
The above copyright notice and this permission notice shall be
 |
|||
included in all copies or substantial portions of the Software.
 |
|||

 |
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 |
|||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 |
|||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 |
|||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 |
|||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 |
|||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 |
|||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 |
|||
OTHER DEALINGS IN THE SOFTWARE.
 |
|||
</copyright></s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CDF/@EntryIndexedValue">CDF</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DFT/@EntryIndexedValue">DFT</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FFT/@EntryIndexedValue">FFT</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ILU/@EntryIndexedValue">ILU</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ILUTP/@EntryIndexedValue">ILUTP</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LU/@EntryIndexedValue">LU</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MAE/@EntryIndexedValue">MAE</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MC/@EntryIndexedValue">MC</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MCMC/@EntryIndexedValue">MCMC</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MILU/@EntryIndexedValue">MILU</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MSE/@EntryIndexedValue">MSE</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PDF/@EntryIndexedValue">PDF</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=QR/@EntryIndexedValue">QR</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SAD/@EntryIndexedValue">SAD</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SAS/@EntryIndexedValue">SAS</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SPSS/@EntryIndexedValue">SPSS</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SSD/@EntryIndexedValue">SSD</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SVD/@EntryIndexedValue">SVD</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=TFQMR/@EntryIndexedValue">TFQMR</s:String> |
|||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=WH/@EntryIndexedValue">WH</s:String> |
|||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean> |
|||
<s:String x:Key="/Default/FilterSettingsManager/AttributeFilterXml/@EntryValue"><data /></s:String> |
|||
<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue"><data><IncludeFilters /><ExcludeFilters /></data></s:String></wpf:ResourceDictionary> |
|||
@ -0,0 +1,2 @@ |
|||
repositories.config text |
|||
* -text |
|||
@ -1,19 +1,19 @@ |
|||
<?xml version="1.0"?> |
|||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> |
|||
<metadata> |
|||
<id>FSharp.Formatting</id> |
|||
<version>1.0.15</version> |
|||
<title>FSharp.Formatting</title> |
|||
<authors>Tomas Petricek, Oleg Pestov, Anh-Dung Phan</authors> |
|||
<owners>Tomas Petricek, Oleg Pestov, Anh-Dung Phan</owners> |
|||
<licenseUrl>http://github.com/tpetricek/FSharp.Formatting/blob/master/LICENSE.md</licenseUrl> |
|||
<projectUrl>http://github.com/tpetricek/FSharp.Formatting</projectUrl> |
|||
<iconUrl>https://raw.github.com/tpetricek/FSharp.Formatting/master/docs/misc/logo.png</iconUrl> |
|||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|||
<description>Provides an F# implementation of Markdown parser and F# code formatter that can used to tokenize F# code and obtain information about tokens including tool tips with type information. The package comes with a sample that implements literate programming for F#.</description> |
|||
<releaseNotes>Added latex support, tables and better formatting with line numbers</releaseNotes> |
|||
<copyright>Copyright 2013</copyright> |
|||
<language /> |
|||
<tags>F# fsharp formatting markdown code fssnip literate programming</tags> |
|||
</metadata> |
|||
<?xml version="1.0"?> |
|||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> |
|||
<metadata> |
|||
<id>FSharp.Formatting</id> |
|||
<version>1.0.15</version> |
|||
<title>FSharp.Formatting</title> |
|||
<authors>Tomas Petricek, Oleg Pestov, Anh-Dung Phan</authors> |
|||
<owners>Tomas Petricek, Oleg Pestov, Anh-Dung Phan</owners> |
|||
<licenseUrl>http://github.com/tpetricek/FSharp.Formatting/blob/master/LICENSE.md</licenseUrl> |
|||
<projectUrl>http://github.com/tpetricek/FSharp.Formatting</projectUrl> |
|||
<iconUrl>https://raw.github.com/tpetricek/FSharp.Formatting/master/docs/misc/logo.png</iconUrl> |
|||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|||
<description>Provides an F# implementation of Markdown parser and F# code formatter that can used to tokenize F# code and obtain information about tokens including tool tips with type information. The package comes with a sample that implements literate programming for F#.</description> |
|||
<releaseNotes>Added latex support, tables and better formatting with line numbers</releaseNotes> |
|||
<copyright>Copyright 2013</copyright> |
|||
<language /> |
|||
<tags>F# fsharp formatting markdown code fssnip literate programming</tags> |
|||
</metadata> |
|||
</package> |
|||
@ -1,160 +1,160 @@ |
|||
// -------------------------------------------------------------------------------------- |
|||
// F# Markdown (StringParsing.fs) |
|||
// (c) Tomas Petricek, 2012, Available under Apache 2.0 license. |
|||
// -------------------------------------------------------------------------------------- |
|||
|
|||
module FSharp.Patterns |
|||
|
|||
open System |
|||
open FSharp.Collections |
|||
|
|||
// -------------------------------------------------------------------------------------- |
|||
// Active patterns that simplify parsing of strings and lists of strings (lines) |
|||
// -------------------------------------------------------------------------------------- |
|||
|
|||
module String = |
|||
/// Matches when a string is a whitespace or null |
|||
let (|WhiteSpace|_|) s = |
|||
if String.IsNullOrWhiteSpace(s) then Some() else None |
|||
|
|||
/// Matches when a string does starts with non-whitespace |
|||
let (|Unindented|_|) (s:string) = |
|||
if not (String.IsNullOrWhiteSpace(s)) && s.TrimStart() = s then Some() else None |
|||
|
|||
/// Returns a string trimmed from both start and end |
|||
let (|TrimBoth|) (text:string) = text.Trim() |
|||
/// Returns a string trimmed from the end |
|||
let (|TrimEnd|) (text:string) = text.TrimEnd() |
|||
/// Returns a string trimmed from the start |
|||
let (|TrimStart|) (text:string) = text.TrimStart() |
|||
|
|||
/// Retrusn a string trimmed from the end using characters given as a parameter |
|||
let (|TrimEndUsing|) chars (text:string) = text.TrimEnd(Array.ofSeq chars) |
|||
|
|||
/// Returns a string trimmed from the start together with |
|||
/// the number of skipped whitespace characters |
|||
let (|TrimStartAndCount|) (text:string) = |
|||
let trimmed = text.TrimStart() |
|||
text.Length - trimmed.Length, trimmed |
|||
|
|||
/// Matches when a string starts with any of the specified sub-strings |
|||
let (|StartsWithAny|_|) (starts:seq<string>) (text:string) = |
|||
if starts |> Seq.exists (text.StartsWith) then Some() else None |
|||
/// Matches when a string starts with the specified sub-string |
|||
let (|StartsWith|_|) (start:string) (text:string) = |
|||
if text.StartsWith(start) then Some(text.Substring(start.Length)) else None |
|||
/// Matches when a string starts with the specified sub-string |
|||
/// The matched string is trimmed from all whitespace. |
|||
let (|StartsWithTrim|_|) (start:string) (text:string) = |
|||
if text.StartsWith(start) then Some(text.Substring(start.Length).Trim()) else None |
|||
|
|||
/// Matches when a string starts with the given value and ends |
|||
/// with a given value (and returns the rest of it) |
|||
let (|StartsAndEndsWith|_|) (starts, ends) (s:string) = |
|||
if s.StartsWith(starts) && s.EndsWith(ends) && |
|||
s.Length >= starts.Length + ends.Length then |
|||
Some(s.Substring(starts.Length, s.Length - starts.Length - ends.Length)) |
|||
else None |
|||
|
|||
/// Matches when a string starts with the given value and ends |
|||
/// with a given value (and returns trimmed body) |
|||
let (|StartsAndEndsWithTrim|_|) args = function |
|||
| StartsAndEndsWith args (TrimBoth res) -> Some res |
|||
| _ -> None |
|||
|
|||
/// Matches when a string starts with a non-zero number of complete |
|||
/// repetitions of the specified parameter (and returns the number |
|||
/// of repetitions, together with the rest of the string) |
|||
/// |
|||
/// let (StartsWithRepeated "/\" (2, " abc")) = "/\/\ abc" |
|||
/// |
|||
let (|StartsWithRepeated|_|) (repeated:string) (text:string) = |
|||
let rec loop i = |
|||
if i = text.Length then i |
|||
elif text.[i] <> repeated.[i % repeated.Length] then i |
|||
else loop (i + 1) |
|||
|
|||
let n = loop 0 |
|||
if n = 0 || n % repeated.Length <> 0 then None |
|||
else Some(n/repeated.Length, text.Substring(n, text.Length - n)) |
|||
|
|||
/// Matches when a string starts with a sub-string wrapped using the |
|||
/// opening and closing sub-string specified in the parameter. |
|||
/// For example "[aa]bc" is wrapped in [ and ] pair. Returns the wrapped |
|||
/// text together with the rest. |
|||
let (|StartsWithWrapped|_|) (starts:string, ends:string) (text:string) = |
|||
if text.StartsWith(starts) then |
|||
let id = text.IndexOf(ends, starts.Length) |
|||
if id >= 0 then |
|||
let wrapped = text.Substring(starts.Length, id - starts.Length) |
|||
let rest = text.Substring(id + ends.Length, text.Length - id - ends.Length) |
|||
Some(wrapped, rest) |
|||
else None |
|||
else None |
|||
|
|||
/// Matches when a string consists of some number of |
|||
/// complete repetitions of a specified sub-string. |
|||
let (|EqualsRepeated|_|) repeated = function |
|||
| StartsWithRepeated repeated (n, "") -> Some() |
|||
| _ -> None |
|||
|
|||
module List = |
|||
/// Matches a list if it starts with a sub-list that is delimited |
|||
/// using the specified delimiters. Returns a wrapped list and the rest. |
|||
let inline (|DelimitedWith|_|) startl endl input = |
|||
if List.startsWith startl input then |
|||
match List.partitionUntilEquals endl (List.skip startl.Length input) with |
|||
| Some(pre, post) -> Some(pre, List.skip endl.Length post) |
|||
| None -> None |
|||
else None |
|||
|
|||
/// Matches a list if it starts with a sub-list that is delimited |
|||
/// using the specified delimiter. Returns a wrapped list and the rest. |
|||
let inline (|Delimited|_|) str = (|DelimitedWith|_|) str str |
|||
|
|||
/// Matches a list if it starts with a bracketed list. Nested brackets |
|||
/// are skipped (by counting opening and closing brackets) and can be |
|||
/// escaped using the '\' symbol. |
|||
let (|BracketDelimited|_|) startc endc input = |
|||
let rec loop acc count = function |
|||
| '\\'::x::xs when x = endc -> loop (x::acc) count xs |
|||
| x::xs when x = endc && count = 0 -> Some(List.rev acc, xs) |
|||
| x::xs when x = endc -> loop (x::acc) (count - 1) xs |
|||
| x::xs when x = startc -> loop (x::acc) (count + 1) xs |
|||
| x::xs -> loop (x::acc) count xs |
|||
| [] -> None |
|||
match input with |
|||
| x::xs when x = startc -> loop [] 0 xs |
|||
| _ -> None |
|||
|
|||
/// Retruns a list of characters as a string. |
|||
let (|AsString|) chars = String(Array.ofList chars) |
|||
|
|||
module Lines = |
|||
/// Removes blank lines from the start and the end of a list |
|||
let (|TrimBlank|) lines = |
|||
lines |
|||
|> List.skipWhile String.IsNullOrWhiteSpace |> List.rev |
|||
|> List.skipWhile String.IsNullOrWhiteSpace |> List.rev |
|||
|
|||
/// Matches when there are some lines at the beginning that are |
|||
/// either empty (or whitespace) or start with the specified string. |
|||
/// Returns all such lines from the beginning until a different line. |
|||
let (|TakeStartingWithOrBlank|_|) start input = |
|||
match List.partitionWhile (fun s -> |
|||
String.IsNullOrWhiteSpace s || s.StartsWith(start)) input with |
|||
| matching, rest when matching <> [] -> Some(matching, rest) |
|||
| _ -> None |
|||
|
|||
/// Removes whitespace lines from the beginning of the list |
|||
let (|TrimBlankStart|) = List.skipWhile (String.IsNullOrWhiteSpace) |
|||
|
|||
|
|||
/// Parameterized pattern that assigns the specified value to the |
|||
/// first component of a tuple. Usage: |
|||
/// |
|||
/// match str with |
|||
/// | Let 1 (n, "one") | Let 2 (n, "two") -> n |
|||
/// |
|||
let (|Let|) a b = (a, b) |
|||
|
|||
// -------------------------------------------------------------------------------------- |
|||
// F# Markdown (StringParsing.fs) |
|||
// (c) Tomas Petricek, 2012, Available under Apache 2.0 license. |
|||
// -------------------------------------------------------------------------------------- |
|||
|
|||
module FSharp.Patterns |
|||
|
|||
open System |
|||
open FSharp.Collections |
|||
|
|||
// -------------------------------------------------------------------------------------- |
|||
// Active patterns that simplify parsing of strings and lists of strings (lines) |
|||
// -------------------------------------------------------------------------------------- |
|||
|
|||
module String = |
|||
/// Matches when a string is a whitespace or null |
|||
let (|WhiteSpace|_|) s = |
|||
if String.IsNullOrWhiteSpace(s) then Some() else None |
|||
|
|||
/// Matches when a string does starts with non-whitespace |
|||
let (|Unindented|_|) (s:string) = |
|||
if not (String.IsNullOrWhiteSpace(s)) && s.TrimStart() = s then Some() else None |
|||
|
|||
/// Returns a string trimmed from both start and end |
|||
let (|TrimBoth|) (text:string) = text.Trim() |
|||
/// Returns a string trimmed from the end |
|||
let (|TrimEnd|) (text:string) = text.TrimEnd() |
|||
/// Returns a string trimmed from the start |
|||
let (|TrimStart|) (text:string) = text.TrimStart() |
|||
|
|||
/// Retrusn a string trimmed from the end using characters given as a parameter |
|||
let (|TrimEndUsing|) chars (text:string) = text.TrimEnd(Array.ofSeq chars) |
|||
|
|||
/// Returns a string trimmed from the start together with |
|||
/// the number of skipped whitespace characters |
|||
let (|TrimStartAndCount|) (text:string) = |
|||
let trimmed = text.TrimStart() |
|||
text.Length - trimmed.Length, trimmed |
|||
|
|||
/// Matches when a string starts with any of the specified sub-strings |
|||
let (|StartsWithAny|_|) (starts:seq<string>) (text:string) = |
|||
if starts |> Seq.exists (text.StartsWith) then Some() else None |
|||
/// Matches when a string starts with the specified sub-string |
|||
let (|StartsWith|_|) (start:string) (text:string) = |
|||
if text.StartsWith(start) then Some(text.Substring(start.Length)) else None |
|||
/// Matches when a string starts with the specified sub-string |
|||
/// The matched string is trimmed from all whitespace. |
|||
let (|StartsWithTrim|_|) (start:string) (text:string) = |
|||
if text.StartsWith(start) then Some(text.Substring(start.Length).Trim()) else None |
|||
|
|||
/// Matches when a string starts with the given value and ends |
|||
/// with a given value (and returns the rest of it) |
|||
let (|StartsAndEndsWith|_|) (starts, ends) (s:string) = |
|||
if s.StartsWith(starts) && s.EndsWith(ends) && |
|||
s.Length >= starts.Length + ends.Length then |
|||
Some(s.Substring(starts.Length, s.Length - starts.Length - ends.Length)) |
|||
else None |
|||
|
|||
/// Matches when a string starts with the given value and ends |
|||
/// with a given value (and returns trimmed body) |
|||
let (|StartsAndEndsWithTrim|_|) args = function |
|||
| StartsAndEndsWith args (TrimBoth res) -> Some res |
|||
| _ -> None |
|||
|
|||
/// Matches when a string starts with a non-zero number of complete |
|||
/// repetitions of the specified parameter (and returns the number |
|||
/// of repetitions, together with the rest of the string) |
|||
/// |
|||
/// let (StartsWithRepeated "/\" (2, " abc")) = "/\/\ abc" |
|||
/// |
|||
let (|StartsWithRepeated|_|) (repeated:string) (text:string) = |
|||
let rec loop i = |
|||
if i = text.Length then i |
|||
elif text.[i] <> repeated.[i % repeated.Length] then i |
|||
else loop (i + 1) |
|||
|
|||
let n = loop 0 |
|||
if n = 0 || n % repeated.Length <> 0 then None |
|||
else Some(n/repeated.Length, text.Substring(n, text.Length - n)) |
|||
|
|||
/// Matches when a string starts with a sub-string wrapped using the |
|||
/// opening and closing sub-string specified in the parameter. |
|||
/// For example "[aa]bc" is wrapped in [ and ] pair. Returns the wrapped |
|||
/// text together with the rest. |
|||
let (|StartsWithWrapped|_|) (starts:string, ends:string) (text:string) = |
|||
if text.StartsWith(starts) then |
|||
let id = text.IndexOf(ends, starts.Length) |
|||
if id >= 0 then |
|||
let wrapped = text.Substring(starts.Length, id - starts.Length) |
|||
let rest = text.Substring(id + ends.Length, text.Length - id - ends.Length) |
|||
Some(wrapped, rest) |
|||
else None |
|||
else None |
|||
|
|||
/// Matches when a string consists of some number of |
|||
/// complete repetitions of a specified sub-string. |
|||
let (|EqualsRepeated|_|) repeated = function |
|||
| StartsWithRepeated repeated (n, "") -> Some() |
|||
| _ -> None |
|||
|
|||
module List = |
|||
/// Matches a list if it starts with a sub-list that is delimited |
|||
/// using the specified delimiters. Returns a wrapped list and the rest. |
|||
let inline (|DelimitedWith|_|) startl endl input = |
|||
if List.startsWith startl input then |
|||
match List.partitionUntilEquals endl (List.skip startl.Length input) with |
|||
| Some(pre, post) -> Some(pre, List.skip endl.Length post) |
|||
| None -> None |
|||
else None |
|||
|
|||
/// Matches a list if it starts with a sub-list that is delimited |
|||
/// using the specified delimiter. Returns a wrapped list and the rest. |
|||
let inline (|Delimited|_|) str = (|DelimitedWith|_|) str str |
|||
|
|||
/// Matches a list if it starts with a bracketed list. Nested brackets |
|||
/// are skipped (by counting opening and closing brackets) and can be |
|||
/// escaped using the '\' symbol. |
|||
let (|BracketDelimited|_|) startc endc input = |
|||
let rec loop acc count = function |
|||
| '\\'::x::xs when x = endc -> loop (x::acc) count xs |
|||
| x::xs when x = endc && count = 0 -> Some(List.rev acc, xs) |
|||
| x::xs when x = endc -> loop (x::acc) (count - 1) xs |
|||
| x::xs when x = startc -> loop (x::acc) (count + 1) xs |
|||
| x::xs -> loop (x::acc) count xs |
|||
| [] -> None |
|||
match input with |
|||
| x::xs when x = startc -> loop [] 0 xs |
|||
| _ -> None |
|||
|
|||
/// Retruns a list of characters as a string. |
|||
let (|AsString|) chars = String(Array.ofList chars) |
|||
|
|||
module Lines = |
|||
/// Removes blank lines from the start and the end of a list |
|||
let (|TrimBlank|) lines = |
|||
lines |
|||
|> List.skipWhile String.IsNullOrWhiteSpace |> List.rev |
|||
|> List.skipWhile String.IsNullOrWhiteSpace |> List.rev |
|||
|
|||
/// Matches when there are some lines at the beginning that are |
|||
/// either empty (or whitespace) or start with the specified string. |
|||
/// Returns all such lines from the beginning until a different line. |
|||
let (|TakeStartingWithOrBlank|_|) start input = |
|||
match List.partitionWhile (fun s -> |
|||
String.IsNullOrWhiteSpace s || s.StartsWith(start)) input with |
|||
| matching, rest when matching <> [] -> Some(matching, rest) |
|||
| _ -> None |
|||
|
|||
/// Removes whitespace lines from the beginning of the list |
|||
let (|TrimBlankStart|) = List.skipWhile (String.IsNullOrWhiteSpace) |
|||
|
|||
|
|||
/// Parameterized pattern that assigns the specified value to the |
|||
/// first component of a tuple. Usage: |
|||
/// |
|||
/// match str with |
|||
/// | Let 1 (n, "one") | Let 2 (n, "two") -> n |
|||
/// |
|||
let (|Let|) a b = (a, b) |
|||
|
|||
|
|||
@ -1,47 +1,47 @@ |
|||
var currentTip = null; |
|||
var currentTipElement = null; |
|||
|
|||
function hideTip(evt, name, unique) |
|||
{ |
|||
var el = document.getElementById(name); |
|||
el.style.display = "none"; |
|||
currentTip = null; |
|||
} |
|||
|
|||
function findPos(obj) |
|||
{ |
|||
var curleft = 0; |
|||
var curtop = obj.offsetHeight; |
|||
while (obj) |
|||
{ |
|||
curleft += obj.offsetLeft; |
|||
curtop += obj.offsetTop; |
|||
obj = obj.offsetParent; |
|||
}; |
|||
return [curleft, curtop]; |
|||
} |
|||
|
|||
function hideUsingEsc(e) |
|||
{ |
|||
if (!e) { e = event; } |
|||
hideTip(e, currentTipElement, currentTip); |
|||
} |
|||
|
|||
function showTip(evt, name, unique, owner) |
|||
{ |
|||
document.onkeydown = hideUsingEsc; |
|||
if (currentTip == unique) return; |
|||
currentTip = unique; |
|||
currentTipElement = name; |
|||
|
|||
var pos = findPos(owner ? owner : (evt.srcElement ? evt.srcElement : evt.target)); |
|||
var posx = pos[0]; |
|||
var posy = pos[1]; |
|||
|
|||
var el = document.getElementById(name); |
|||
var parent = (document.documentElement == null) ? document.body : document.documentElement; |
|||
el.style.position = "absolute"; |
|||
el.style.left = posx + "px"; |
|||
el.style.top = posy + "px"; |
|||
el.style.display = "block"; |
|||
var currentTip = null; |
|||
var currentTipElement = null; |
|||
|
|||
function hideTip(evt, name, unique) |
|||
{ |
|||
var el = document.getElementById(name); |
|||
el.style.display = "none"; |
|||
currentTip = null; |
|||
} |
|||
|
|||
function findPos(obj) |
|||
{ |
|||
var curleft = 0; |
|||
var curtop = obj.offsetHeight; |
|||
while (obj) |
|||
{ |
|||
curleft += obj.offsetLeft; |
|||
curtop += obj.offsetTop; |
|||
obj = obj.offsetParent; |
|||
}; |
|||
return [curleft, curtop]; |
|||
} |
|||
|
|||
function hideUsingEsc(e) |
|||
{ |
|||
if (!e) { e = event; } |
|||
hideTip(e, currentTipElement, currentTip); |
|||
} |
|||
|
|||
function showTip(evt, name, unique, owner) |
|||
{ |
|||
document.onkeydown = hideUsingEsc; |
|||
if (currentTip == unique) return; |
|||
currentTip = unique; |
|||
currentTipElement = name; |
|||
|
|||
var pos = findPos(owner ? owner : (evt.srcElement ? evt.srcElement : evt.target)); |
|||
var posx = pos[0]; |
|||
var posy = pos[1]; |
|||
|
|||
var el = document.getElementById(name); |
|||
var parent = (document.documentElement == null) ? document.body : document.documentElement; |
|||
el.style.position = "absolute"; |
|||
el.style.left = posx + "px"; |
|||
el.style.top = posy + "px"; |
|||
el.style.display = "block"; |
|||
} |
|||
@ -1,35 +1,35 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<!-- |
|||
The {page-title} parameters will be replaced with the |
|||
document title extracted from the <h1> element or |
|||
file name, if there is no <h1> heading |
|||
--> |
|||
<title>{page-title}</title> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<script src="http://code.jquery.com/jquery-1.8.0.js"></script> |
|||
<script src="http://code.jquery.com/ui/1.8.23/jquery-ui.js"></script> |
|||
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"></script> |
|||
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet"> |
|||
<link type="text/css" rel="stylesheet" href="content/style.css" /> |
|||
<script src="content/tips.js" type="text/javascript"></script> |
|||
<!-- HTML5 shim, for IE6-8 support of HTML5 elements --> |
|||
<!--[if lt IE 9]> |
|||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> |
|||
<![endif]--> |
|||
</head> |
|||
<body> |
|||
<div class="container"> |
|||
<div class="row" style="margin-top:30px"> |
|||
<div class="span1"></div> |
|||
<div class="span10" id="main"> |
|||
{document} |
|||
{tooltips} |
|||
</div> |
|||
<div class="span1"></div> |
|||
</div> |
|||
</div> |
|||
</body> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<!-- |
|||
The {page-title} parameters will be replaced with the |
|||
document title extracted from the <h1> element or |
|||
file name, if there is no <h1> heading |
|||
--> |
|||
<title>{page-title}</title> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<script src="http://code.jquery.com/jquery-1.8.0.js"></script> |
|||
<script src="http://code.jquery.com/ui/1.8.23/jquery-ui.js"></script> |
|||
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"></script> |
|||
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet"> |
|||
<link type="text/css" rel="stylesheet" href="content/style.css" /> |
|||
<script src="content/tips.js" type="text/javascript"></script> |
|||
<!-- HTML5 shim, for IE6-8 support of HTML5 elements --> |
|||
<!--[if lt IE 9]> |
|||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> |
|||
<![endif]--> |
|||
</head> |
|||
<body> |
|||
<div class="container"> |
|||
<div class="row" style="margin-top:30px"> |
|||
<div class="span1"></div> |
|||
<div class="span10" id="main"> |
|||
{document} |
|||
{tooltips} |
|||
</div> |
|||
<div class="span1"></div> |
|||
</div> |
|||
</div> |
|||
</body> |
|||
</html> |
|||
@ -1,62 +1,62 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<!-- |
|||
The {page-title} parameters will be replaced with the |
|||
document title extracted from the <h1> element or |
|||
file name, if there is no <h1> heading |
|||
--> |
|||
<title>{page-title}</title> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<meta name="description" content="{page-description}"> |
|||
<meta name="author" content="{page-author}"> |
|||
<script src="http://code.jquery.com/jquery-1.8.0.js"></script> |
|||
<script src="http://code.jquery.com/ui/1.8.23/jquery-ui.js"></script> |
|||
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"></script> |
|||
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet"> |
|||
<link type="text/css" rel="stylesheet" href="content/style.css" /> |
|||
<script src="content/tips.js" type="text/javascript"></script> |
|||
<!-- HTML5 shim, for IE6-8 support of HTML5 elements --> |
|||
<!--[if lt IE 9]> |
|||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> |
|||
<![endif]--> |
|||
</head> |
|||
<body> |
|||
<div class="container"> |
|||
<div class="masthead"> |
|||
<ul class="nav nav-pills pull-right"> |
|||
<li><a href="http://fsharp.org">fsharp.org</a></li> |
|||
<li><a href="{github-link}">github page</a></li> |
|||
</ul> |
|||
<h3 class="muted">{project-name}</h3> |
|||
</div> |
|||
<hr /> |
|||
<div class="row"> |
|||
<div class="span9" id="main"> |
|||
{document} |
|||
{tooltips} |
|||
</div> |
|||
<div class="span3"> |
|||
|
|||
<ul class="nav nav-list" id="menu"> |
|||
<li class="nav-header">{project-name}</li> |
|||
<li><a href="../index.html">Home page</a></li> |
|||
<!-- |
|||
|
|||
Here you can add links to other pages of the documentation |
|||
The 'divider' element creates a separator and additional |
|||
'nav-header' can be used to add sub-headings in the menu: |
|||
|
|||
* <li class="divider"></li> |
|||
* <li><a href="...">...</a></li> |
|||
* <li class="nav-header">Sub-heading</li> |
|||
|
|||
--> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<a href="{github-link}"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub"></a> |
|||
</body> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<!-- |
|||
The {page-title} parameters will be replaced with the |
|||
document title extracted from the <h1> element or |
|||
file name, if there is no <h1> heading |
|||
--> |
|||
<title>{page-title}</title> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<meta name="description" content="{page-description}"> |
|||
<meta name="author" content="{page-author}"> |
|||
<script src="http://code.jquery.com/jquery-1.8.0.js"></script> |
|||
<script src="http://code.jquery.com/ui/1.8.23/jquery-ui.js"></script> |
|||
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"></script> |
|||
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet"> |
|||
<link type="text/css" rel="stylesheet" href="content/style.css" /> |
|||
<script src="content/tips.js" type="text/javascript"></script> |
|||
<!-- HTML5 shim, for IE6-8 support of HTML5 elements --> |
|||
<!--[if lt IE 9]> |
|||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> |
|||
<![endif]--> |
|||
</head> |
|||
<body> |
|||
<div class="container"> |
|||
<div class="masthead"> |
|||
<ul class="nav nav-pills pull-right"> |
|||
<li><a href="http://fsharp.org">fsharp.org</a></li> |
|||
<li><a href="{github-link}">github page</a></li> |
|||
</ul> |
|||
<h3 class="muted">{project-name}</h3> |
|||
</div> |
|||
<hr /> |
|||
<div class="row"> |
|||
<div class="span9" id="main"> |
|||
{document} |
|||
{tooltips} |
|||
</div> |
|||
<div class="span3"> |
|||
|
|||
<ul class="nav nav-list" id="menu"> |
|||
<li class="nav-header">{project-name}</li> |
|||
<li><a href="../index.html">Home page</a></li> |
|||
<!-- |
|||
|
|||
Here you can add links to other pages of the documentation |
|||
The 'divider' element creates a separator and additional |
|||
'nav-header' can be used to add sub-headings in the menu: |
|||
|
|||
* <li class="divider"></li> |
|||
* <li><a href="...">...</a></li> |
|||
* <li class="nav-header">Sub-heading</li> |
|||
|
|||
--> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<a href="{github-link}"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub"></a> |
|||
</body> |
|||
</html> |
|||
@ -1,22 +1,22 @@ |
|||
<?xml version="1.0"?> |
|||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> |
|||
<metadata> |
|||
<id>FsUnit</id> |
|||
<version>1.2.1.0</version> |
|||
<title>FsUnit</title> |
|||
<authors>Ray Vernagus and Daniel Mohl</authors> |
|||
<owners>Ray Vernagus and Daniel Mohl</owners> |
|||
<licenseUrl>http://fsunit.codeplex.com/license</licenseUrl> |
|||
<projectUrl>http://fsunit.codeplex.com/</projectUrl> |
|||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|||
<description>FsUnit is a set of extensions that add special testing syntax to NUnit.</description> |
|||
<summary>The goals of FsUnit are to make unit-testing feel more functional while leverage existing testing frameworks.</summary> |
|||
<releaseNotes /> |
|||
<copyright /> |
|||
<language>en-US</language> |
|||
<tags>F# fsharp NUnit FsUnit</tags> |
|||
<dependencies> |
|||
<dependency id="NUnit" version="2.6.2" /> |
|||
</dependencies> |
|||
</metadata> |
|||
<?xml version="1.0"?> |
|||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> |
|||
<metadata> |
|||
<id>FsUnit</id> |
|||
<version>1.2.1.0</version> |
|||
<title>FsUnit</title> |
|||
<authors>Ray Vernagus and Daniel Mohl</authors> |
|||
<owners>Ray Vernagus and Daniel Mohl</owners> |
|||
<licenseUrl>http://fsunit.codeplex.com/license</licenseUrl> |
|||
<projectUrl>http://fsunit.codeplex.com/</projectUrl> |
|||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|||
<description>FsUnit is a set of extensions that add special testing syntax to NUnit.</description> |
|||
<summary>The goals of FsUnit are to make unit-testing feel more functional while leverage existing testing frameworks.</summary> |
|||
<releaseNotes /> |
|||
<copyright /> |
|||
<language>en-US</language> |
|||
<tags>F# fsharp NUnit FsUnit</tags> |
|||
<dependencies> |
|||
<dependency id="NUnit" version="2.6.2" /> |
|||
</dependencies> |
|||
</metadata> |
|||
</package> |
|||
@ -1,27 +1,27 @@ |
|||
<?xml version="1.0"?> |
|||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> |
|||
<metadata> |
|||
<id>NUnit</id> |
|||
<version>2.6.3</version> |
|||
<title>NUnit</title> |
|||
<authors>Charlie Poole</authors> |
|||
<owners>Charlie Poole</owners> |
|||
<licenseUrl>http://nunit.org/nuget/license.html</licenseUrl> |
|||
<projectUrl>http://nunit.org/</projectUrl> |
|||
<iconUrl>http://nunit.org/nuget/nunit_32x32.png</iconUrl> |
|||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|||
<description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible. A number of runners, both from the NUnit project and by third parties, are able to execute NUnit tests. |
|||
|
|||
Version 2.6 is the seventh major release of this well-known and well-tested programming tool. |
|||
|
|||
This package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner.</description> |
|||
<summary>NUnit is a unit-testing framework for all .Net languages with a strong TDD focus.</summary> |
|||
<releaseNotes>Version 2.6 is the seventh major release of NUnit. |
|||
|
|||
Unlike earlier versions, this package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner. |
|||
|
|||
The nunit.mocks assembly is now provided by the NUnit.Mocks package. The pnunit.framework assembly is provided by the pNUnit package.</releaseNotes> |
|||
<language>en-US</language> |
|||
<tags>nunit test testing tdd framework fluent assert theory plugin addin</tags> |
|||
</metadata> |
|||
<?xml version="1.0"?> |
|||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> |
|||
<metadata> |
|||
<id>NUnit</id> |
|||
<version>2.6.3</version> |
|||
<title>NUnit</title> |
|||
<authors>Charlie Poole</authors> |
|||
<owners>Charlie Poole</owners> |
|||
<licenseUrl>http://nunit.org/nuget/license.html</licenseUrl> |
|||
<projectUrl>http://nunit.org/</projectUrl> |
|||
<iconUrl>http://nunit.org/nuget/nunit_32x32.png</iconUrl> |
|||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|||
<description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible. A number of runners, both from the NUnit project and by third parties, are able to execute NUnit tests. |
|||
|
|||
Version 2.6 is the seventh major release of this well-known and well-tested programming tool. |
|||
|
|||
This package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner.</description> |
|||
<summary>NUnit is a unit-testing framework for all .Net languages with a strong TDD focus.</summary> |
|||
<releaseNotes>Version 2.6 is the seventh major release of NUnit. |
|||
|
|||
Unlike earlier versions, this package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner. |
|||
|
|||
The nunit.mocks assembly is now provided by the NUnit.Mocks package. The pnunit.framework assembly is provided by the pNUnit package.</releaseNotes> |
|||
<language>en-US</language> |
|||
<tags>nunit test testing tdd framework fluent assert theory plugin addin</tags> |
|||
</metadata> |
|||
</package> |
|||
Binary file not shown.
@ -0,0 +1,24 @@ |
|||
<?xml version="1.0"?> |
|||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> |
|||
<metadata> |
|||
<id>TaskParallelLibrary</id> |
|||
<version>1.0.2856.0</version> |
|||
<title>Task Parallel Library for .NET 3.5</title> |
|||
<authors>Microsoft Corporation</authors> |
|||
<owners>Microsoft Corporation</owners> |
|||
<licenseUrl>http://go.microsoft.com/fwlink/?LinkID=186234</licenseUrl> |
|||
<projectUrl>http://msdn.microsoft.com/en-us/library/dd460717.aspx</projectUrl> |
|||
<iconUrl>http://i.msdn.microsoft.com/ee402630.NET_lg.png</iconUrl> |
|||
<requireLicenseAcceptance>true</requireLicenseAcceptance> |
|||
<description>The package includes: |
|||
* Task<T> for executing asynchronous operations. |
|||
* Concurrent Collections such as ConcurrentStack, ConcurentQueue ad ConcurrentDictionary. |
|||
* PLINQ for writing parallel queries. |
|||
* additional Threading operations such as Barrier,SpinLock and SpinWait.</description> |
|||
<summary>A complete and official Microsoft backport of the Task Parallel Library (TPL) for .NET 3.5.</summary> |
|||
<releaseNotes>This backport was shipped with the Reactive Extensions (Rx) library up until v1.0.2856.0. It can be downloaded from http://www.microsoft.com/download/en/details.aspx?id=24940 .</releaseNotes> |
|||
<copyright /> |
|||
<language /> |
|||
<tags>tpl plinq pfx task parallel extensions .net35 backport</tags> |
|||
</metadata> |
|||
</package> |
|||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,11 @@ |
|||
The files below can be distributed as described in the MICROSOFT REACTIVE EXTENSTIONS FOR JAVASCRIPT AND .NET LIBRARIES License. |
|||
|
|||
System.Observable.dll |
|||
System.CoreEx.dll |
|||
System.Reactive.dll |
|||
System.Interactive.dll |
|||
System.Threading.dll |
|||
System.Linq.Async.dll |
|||
System.Reactive.Testing.dll |
|||
System.Reactive.ClientProfile.dll |
|||
System.Reactive.ExtendedProfile.dll |
|||
@ -1,6 +1,7 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<repositories> |
|||
<repository path="..\src\FSharpExamples\packages.config" /> |
|||
<repository path="..\src\FSharpUnitTests\packages.config" /> |
|||
<repository path="..\src\UnitTests\packages.config" /> |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<repositories> |
|||
<repository path="..\src\FSharpExamples\packages.config" /> |
|||
<repository path="..\src\FSharpUnitTests\packages.config" /> |
|||
<repository path="..\src\Numerics\packages.config" /> |
|||
<repository path="..\src\UnitTests\packages.config" /> |
|||
</repositories> |
|||
@ -0,0 +1,145 @@ |
|||
// <copyright file="TriangularDistribution.cs" company="Math.NET">
|
|||
// Math.NET Numerics, part of the Math.NET Project
|
|||
// http://numerics.mathdotnet.com
|
|||
// http://github.com/mathnet/mathnet-numerics
|
|||
// http://mathnetnumerics.codeplex.com
|
|||
// Copyright (c) 2009-2010 Math.NET
|
|||
// Permission is hereby granted, free of charge, to any person
|
|||
// obtaining a copy of this software and associated documentation
|
|||
// files (the "Software"), to deal in the Software without
|
|||
// restriction, including without limitation the rights to use,
|
|||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|||
// copies of the Software, and to permit persons to whom the
|
|||
// Software is furnished to do so, subject to the following
|
|||
// conditions:
|
|||
// The above copyright notice and this permission notice shall be
|
|||
// included in all copies or substantial portions of the Software.
|
|||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|||
// OTHER DEALINGS IN THE SOFTWARE.
|
|||
// </copyright>
|
|||
|
|||
using System; |
|||
using MathNet.Numerics.Distributions; |
|||
|
|||
namespace Examples.ContinuousDistributionsExamples |
|||
{ |
|||
/// <summary>
|
|||
/// ContinuousUniform distribution example
|
|||
/// </summary>
|
|||
public class TriangularDistribution : IExample |
|||
{ |
|||
/// <summary>
|
|||
/// Gets the name of this example
|
|||
/// </summary>
|
|||
/// <seealso cref="http://reference.wolfram.com/mathematica/ref/TriangularDistribution.html"/>
|
|||
public string Name |
|||
{ |
|||
get |
|||
{ |
|||
return "Triangular distribution"; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Gets the description of this example
|
|||
/// </summary>
|
|||
public string Description |
|||
{ |
|||
get |
|||
{ |
|||
return "Triangular distribution properties and samples generating examples"; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Run example
|
|||
/// </summary>
|
|||
/// <a href="https://en.wikipedia.org/wiki/Triangular_distribution">Triangular distribution</a>
|
|||
public void Run() |
|||
{ |
|||
// 1. Initialize
|
|||
var triangular = new Triangular(0, 1, 0.3); |
|||
Console.WriteLine(@"1. Initialize the new instance of the Triangular distribution class with parameters Lower = {0}, Upper = {1}, Mode = {2}", triangular.LowerBound, triangular.UpperBound, triangular.Mode); |
|||
Console.WriteLine(); |
|||
|
|||
// 2. Distributuion properties:
|
|||
Console.WriteLine(@"2. {0} distributuion properties:", triangular); |
|||
|
|||
// Cumulative distribution function
|
|||
Console.WriteLine(@"{0} - Сumulative distribution at location '0.3'", triangular.CumulativeDistribution(0.3).ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Probability density
|
|||
Console.WriteLine(@"{0} - Probability density at location '0.3'", triangular.Density(0.3).ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Log probability density
|
|||
Console.WriteLine(@"{0} - Log probability density at location '0.3'", triangular.DensityLn(0.3).ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Entropy
|
|||
Console.WriteLine(@"{0} - Entropy", triangular.Entropy.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Largest element in the domain
|
|||
Console.WriteLine(@"{0} - Largest element in the domain", triangular.Maximum.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Smallest element in the domain
|
|||
Console.WriteLine(@"{0} - Smallest element in the domain", triangular.Minimum.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Mean
|
|||
Console.WriteLine(@"{0} - Mean", triangular.Mean.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Median
|
|||
Console.WriteLine(@"{0} - Median", triangular.Median.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Mode
|
|||
Console.WriteLine(@"{0} - Mode", triangular.Mode.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Variance
|
|||
Console.WriteLine(@"{0} - Variance", triangular.Variance.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Standard deviation
|
|||
Console.WriteLine(@"{0} - Standard deviation", triangular.StdDev.ToString(" #0.00000;-#0.00000")); |
|||
|
|||
// Skewness
|
|||
Console.WriteLine(@"{0} - Skewness", triangular.Skewness.ToString(" #0.00000;-#0.00000")); |
|||
Console.WriteLine(); |
|||
|
|||
// 10 samples
|
|||
Console.WriteLine(@"3. Generate 10 samples of the Triangular distribution"); |
|||
for (var i = 0; i < 10; i++) |
|||
{ |
|||
Console.Write(triangular.Sample().ToString("N05") + @" "); |
|||
} |
|||
|
|||
Console.WriteLine(); |
|||
Console.WriteLine(); |
|||
|
|||
// 10000 samples with starting parameters
|
|||
Console.WriteLine(@"4. Generate 100000 samples of the Triangular({0}, {1}, {2}) distribution and display histogram", triangular.LowerBound, triangular.UpperBound, triangular.Mode); |
|||
var data = new double[100000]; |
|||
for (var i = 0; i < data.Length; i++) |
|||
{ |
|||
data[i] = triangular.Sample(); |
|||
} |
|||
|
|||
ConsoleHelper.DisplayHistogram(data); |
|||
Console.WriteLine(); |
|||
|
|||
// 10000 with different parameters
|
|||
triangular.UpperBound = 10; |
|||
triangular.Mode = 8; |
|||
triangular.LowerBound = 2; |
|||
Console.WriteLine(@"4. Generate 100000 samples of the Triangular({0}, {1}, {2}) distribution and display histogram", triangular.LowerBound, triangular.UpperBound, triangular.Mode); |
|||
for (var i = 0; i < data.Length; i++) |
|||
{ |
|||
data[i] = triangular.Sample(); |
|||
} |
|||
|
|||
ConsoleHelper.DisplayHistogram(data); |
|||
} |
|||
} |
|||
} |
|||
@ -1,53 +0,0 @@ |
|||
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|||
# Visual Studio 2012 |
|||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{5A0892FF-82CE-40FC-BCE1-73810C615F52}" |
|||
ProjectSection(SolutionItems) = preProject |
|||
..\Common\lapack_common.h = ..\Common\lapack_common.h |
|||
..\Common\resource.h = ..\Common\resource.h |
|||
..\Common\resource.rc = ..\Common\resource.rc |
|||
..\Common\WindowsDLL.cpp = ..\Common\WindowsDLL.cpp |
|||
..\Common\wrapper_common.h = ..\Common\wrapper_common.h |
|||
EndProjectSection |
|||
EndProject |
|||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MKLWrapper", "MKL\MKLWrapper.vcxproj", "{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}" |
|||
EndProject |
|||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ATLASWrapper", "ATLASWrapper\ATLASWrapper.vcxproj", "{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}" |
|||
EndProject |
|||
Global |
|||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|||
Debug|Mixed Platforms = Debug|Mixed Platforms |
|||
Debug|Win32 = Debug|Win32 |
|||
Debug|x64 = Debug|x64 |
|||
Release|Mixed Platforms = Release|Mixed Platforms |
|||
Release|Win32 = Release|Win32 |
|||
Release|x64 = Release|x64 |
|||
EndGlobalSection |
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Mixed Platforms.Build.0 = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Win32.ActiveCfg = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Win32.Build.0 = Debug|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|x64.ActiveCfg = Debug|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|x64.Build.0 = Debug|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Mixed Platforms.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Mixed Platforms.Build.0 = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Win32.ActiveCfg = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Win32.Build.0 = Release|Win32 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|x64.ActiveCfg = Release|x64 |
|||
{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|x64.Build.0 = Release|x64 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Mixed Platforms.Build.0 = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Win32.ActiveCfg = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|Win32.Build.0 = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Debug|x64.ActiveCfg = Debug|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|Mixed Platforms.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|Mixed Platforms.Build.0 = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|Win32.ActiveCfg = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|Win32.Build.0 = Release|Win32 |
|||
{2362B8AC-C52B-45E4-A1BF-C682A4DB4220}.Release|x64.ActiveCfg = Release|x64 |
|||
EndGlobalSection |
|||
GlobalSection(SolutionProperties) = preSolution |
|||
HideSolutionNode = FALSE |
|||
EndGlobalSection |
|||
EndGlobal |
|||
@ -0,0 +1,134 @@ |
|||
#if PORTABLE
|
|||
namespace MathNet.Numerics |
|||
{ |
|||
using System; |
|||
|
|||
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)] |
|||
public class SerializableAttribute : Attribute |
|||
{ |
|||
} |
|||
|
|||
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)] |
|||
public class SpecialNameAttribute : Attribute |
|||
{ |
|||
} |
|||
} |
|||
#endif
|
|||
|
|||
#if (PORTABLE || NET35)
|
|||
namespace MathNet.Numerics |
|||
{ |
|||
using System; |
|||
|
|||
[AttributeUsage(AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple = false, Inherited = false)] |
|||
public class TargetedPatchingOptOutAttribute : Attribute |
|||
{ |
|||
public string Reason { get; private set; } |
|||
|
|||
public TargetedPatchingOptOutAttribute(string reason) |
|||
{ |
|||
Reason = reason; |
|||
} |
|||
} |
|||
} |
|||
#endif
|
|||
|
|||
#if NET35
|
|||
namespace MathNet.Numerics |
|||
{ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
|
|||
internal static class ObjectComparer |
|||
{ |
|||
internal static int Compare<T>(T a, T b) |
|||
{ |
|||
if (ReferenceEquals(a, null)) return -1; |
|||
if (ReferenceEquals(b, null)) return 1; |
|||
if (Equals(a, b)) return 0; |
|||
return Comparer<T>.Default.Compare(a, b); |
|||
} |
|||
} |
|||
|
|||
public class Tuple<T1, T2> : IComparable, IComparable<Tuple<T1, T2>> |
|||
{ |
|||
public T1 Item1 { get; set; } |
|||
public T2 Item2 { get; set; } |
|||
|
|||
public Tuple(T1 item1, T2 item2) |
|||
{ |
|||
Item1 = item1; |
|||
Item2 = item2; |
|||
} |
|||
|
|||
public int CompareTo(object obj) |
|||
{ |
|||
if (obj == null) return 1; |
|||
var other = obj as Tuple<T1, T2>; |
|||
if (other == null) throw new ArgumentException(); |
|||
return CompareTo(other); |
|||
} |
|||
|
|||
public int CompareTo(Tuple<T1, T2> other) |
|||
{ |
|||
if (other == null) return 1; |
|||
int a = ObjectComparer.Compare(Item1, other.Item1); |
|||
return a != 0 ? a : ObjectComparer.Compare(Item2, other.Item2); |
|||
} |
|||
} |
|||
|
|||
public class Tuple<T1, T2, T3> : IComparable, IComparable<Tuple<T1, T2, T3>> |
|||
{ |
|||
public T1 Item1 { get; set; } |
|||
public T2 Item2 { get; set; } |
|||
public T3 Item3 { get; set; } |
|||
|
|||
public Tuple(T1 item1, T2 item2, T3 item3) |
|||
{ |
|||
Item1 = item1; |
|||
Item2 = item2; |
|||
Item3 = item3; |
|||
} |
|||
|
|||
public int CompareTo(object obj) |
|||
{ |
|||
if (obj == null) return 1; |
|||
var other = obj as Tuple<T1, T2, T3>; |
|||
if (other == null) throw new ArgumentException(); |
|||
return CompareTo(other); |
|||
} |
|||
|
|||
public int CompareTo(Tuple<T1, T2, T3> other) |
|||
{ |
|||
if (other == null) return 1; |
|||
int a = ObjectComparer.Compare(Item1, other.Item1); |
|||
if (a != 0) return a; |
|||
int b = ObjectComparer.Compare(Item2, other.Item2); |
|||
return b != 0 ? b : ObjectComparer.Compare(Item3, other.Item3); |
|||
} |
|||
} |
|||
|
|||
public static class EnumerableExtensions |
|||
{ |
|||
public static IEnumerable<T> Zip<TA, TB, T>(this IEnumerable<TA> seqA, IEnumerable<TB> seqB, Func<TA, TB, T> func) |
|||
{ |
|||
if (seqA == null) throw new ArgumentNullException("seqA"); |
|||
if (seqB == null) throw new ArgumentNullException("seqB"); |
|||
|
|||
return Zip35Deferred(seqA, seqB, func); |
|||
} |
|||
|
|||
private static IEnumerable<T> Zip35Deferred<A, B, T>(IEnumerable<A> seqA, IEnumerable<B> seqB, Func<A, B, T> func) |
|||
{ |
|||
using (var iteratorA = seqA.GetEnumerator()) |
|||
using (var iteratorB = seqB.GetEnumerator()) |
|||
{ |
|||
while (iteratorA.MoveNext() && iteratorB.MoveNext()) |
|||
{ |
|||
yield return func(iteratorA.Current, iteratorB.Current); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
#endif
|
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue