diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 0000000..7771797
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,35 @@
+name: Build dotnet 3.1, 5.0, 6.0& test
+
+on:
+ push:
+ branches:
+ - '*' # matches every branch that doesn't contain a '/'
+ - '*/*' # matches every branch containing a single '/'
+ - '**' # matches every branch
+ pull_request:
+ branches:
+ - '*' # matches every branch that doesn't contain a '/'
+ - '*/*' # matches every branch containing a single '/'
+ - '**' # matches every branch
+
+jobs:
+ build_and_test:
+
+ runs-on: ubuntu-latest
+ env:
+ config: 'Release'
+ strategy:
+ matrix:
+ dotnet: ['3.1.x', '5.0.x', '6.0.x']
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v2
+ with:
+ dotnet-version: ${{ matrix.dotnet }}
+ - name: Restore dependencies
+ run: dotnet restore tests/SIMDArray.Tests/SIMDArray.Tests.fsproj
+ - name: Build
+ run: dotnet build --no-restore tests/SIMDArray.Tests/SIMDArray.Tests.fsproj
+ - name: Test
+ run: dotnet test --no-build --verbosity normal tests/SIMDArray.Tests/SIMDArray.Tests.fsproj
diff --git a/.gitignore b/.gitignore
index 94fc64f..815f2ff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -190,3 +190,4 @@ docs/content/license.md
docs/content/release-notes.md
.fake
docs/tools/FSharp.Formatting.svclog
+.idea/
\ No newline at end of file
diff --git a/.paket/paket.bootstrapper.exe b/.paket/paket.bootstrapper.exe
deleted file mode 100644
index b98e000..0000000
Binary files a/.paket/paket.bootstrapper.exe and /dev/null differ
diff --git a/.paket/paket.targets b/.paket/paket.targets
deleted file mode 100644
index e57d15c..0000000
--- a/.paket/paket.targets
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
- true
- $(MSBuildThisFileDirectory)
- $(MSBuildThisFileDirectory)..\
- $(PaketRootPath)paket.lock
- $(PaketRootPath)paket-files\paket.restore.cached
- /Library/Frameworks/Mono.framework/Commands/mono
- mono
-
-
-
-
- $(PaketRootPath)paket.exe
- $(PaketToolsPath)paket.exe
- "$(PaketExePath)"
- $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"
-
-
-
-
-
- $(MSBuildProjectFullPath).paket.references
-
-
-
-
- $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references
-
-
-
-
- $(MSBuildProjectDirectory)\paket.references
-
-
-
-
-
-
-
-
-
-
-
- $(PaketCommand) restore --references-file "$(PaketReferences)"
-
- RestorePackages; $(BuildDependsOn);
-
-
-
- true
-
-
-
- $([System.IO.File]::ReadAllText('$(PaketRestoreCacheFile)'))
- $([System.IO.File]::ReadAllText('$(PaketLockFilePath)'))
- true
- false
- true
-
-
-
-
-
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 5152d90..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: csharp
-
-sudo: false # use the new container-based Travis infrastructure
-
-before_install:
- - chmod +x build.sh
-
-script:
- - ./build.sh All
diff --git a/README.md b/README.md
index e95af35..ccd7be5 100644
--- a/README.md
+++ b/README.md
@@ -72,6 +72,34 @@ When measuring performance be sure to use Release builds with optimizations turn
Floating point addition is not associative, so results with SIMD operations will not be identical, though often
they will be more accurate, such as in the case of sum, or average.
+## Upd: .NET 7.0 Basic Tests
+```
+// * Summary *
+
+BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1526 (21H2)
+AMD Ryzen 7 3800X, 1 CPU, 16 logical and 8 physical cores
+.NET SDK=7.0.100-preview.3.22179.4
+ [Host] : .NET 7.0.0 (7.0.22.17504), X64 RyuJIT DEBUG
+ DefaultJob : .NET 7.0.0 (7.0.22.17504), X64 RyuJIT
+
+
+| Method | Length | Mean | Error | StdDev | Allocated |
+|---------- |-------- |--------------:|-------------:|-------------:|----------:|
+| Max | 100 | 54.71 ns | 0.155 ns | 0.137 ns | - |
+| MaxSIMD | 100 | 14.05 ns | 0.167 ns | 0.156 ns | - |
+| MaxBy | 100 | 54.80 ns | 0.066 ns | 0.062 ns | - |
+| MaxBySIMD | 100 | 19.13 ns | 0.050 ns | 0.047 ns | - |
+| Max | 1000 | 489.10 ns | 1.344 ns | 1.192 ns | - |
+| MaxSIMD | 1000 | 44.07 ns | 0.169 ns | 0.158 ns | - |
+| MaxBy | 1000 | 491.93 ns | 2.946 ns | 2.460 ns | - |
+| MaxBySIMD | 1000 | 139.47 ns | 0.721 ns | 0.674 ns | - |
+| Max | 1000000 | 483,111.68 ns | 1,739.203 ns | 1,541.758 ns | - |
+| MaxSIMD | 1000000 | 48,172.46 ns | 356.128 ns | 278.041 ns | - |
+| MaxBy | 1000000 | 488,051.81 ns | 905.715 ns | 802.893 ns | - |
+| MaxBySIMD | 1000000 | 133,417.00 ns | 134.370 ns | 112.205 ns | - |
+
+```
+
## Performance Comparison vs Standard Array Functions
* [VS Core Lib Parallel](#parallel)
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 3660435..7109ae2 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1 +1,2 @@
+#### 1.0.0 - .netstandard2.1 build
#### 0.0.1 - Unreleased
\ No newline at end of file
diff --git a/SIMDArray.sln b/SIMDArray.sln
index 59c8890..a0dfc89 100644
--- a/SIMDArray.sln
+++ b/SIMDArray.sln
@@ -9,14 +9,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{BF60BC93-E09B-4E5F-9D85-95A519479D54}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
- .travis.yml = .travis.yml
- appveyor.yml = appveyor.yml
- build.cmd = build.cmd
- build.fsx = build.fsx
- build.sh = build.sh
LICENSE.txt = LICENSE.txt
- paket.dependencies = paket.dependencies
- paket.lock = paket.lock
README.md = README.md
RELEASE_NOTES.md = RELEASE_NOTES.md
EndProjectSection
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index 0198468..0000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-init:
- - git config --global core.autocrlf input
-build_script:
- - cmd: build.cmd
-test: off
-version: 0.0.1.{build}
-artifacts:
- - path: bin
- name: bin
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index 09b44ff..0000000
--- a/build.cmd
+++ /dev/null
@@ -1,18 +0,0 @@
-@echo off
-cls
-
-.paket\paket.bootstrapper.exe
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-.paket\paket.exe restore
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-IF NOT EXIST build.fsx (
- .paket\paket.exe update
- packages\build\FAKE\tools\FAKE.exe init.fsx
-)
-packages\build\FAKE\tools\FAKE.exe build.fsx %*
diff --git a/build.fsx b/build.fsx
deleted file mode 100644
index 39909af..0000000
--- a/build.fsx
+++ /dev/null
@@ -1,414 +0,0 @@
-// --------------------------------------------------------------------------------------
-// FAKE build script
-// --------------------------------------------------------------------------------------
-
-#r @"packages/build/FAKE/tools/FakeLib.dll"
-open Fake
-open Fake.Git
-open Fake.AssemblyInfoFile
-open Fake.ReleaseNotesHelper
-open Fake.UserInputHelper
-open System
-open System.IO
-#if MONO
-#else
-#load "packages/build/SourceLink.Fake/tools/Fake.fsx"
-open SourceLink
-#endif
-
-// --------------------------------------------------------------------------------------
-// START TODO: Provide project-specific details below
-// --------------------------------------------------------------------------------------
-
-// Information about the project are used
-// - for version and project name in generated AssemblyInfo file
-// - by the generated NuGet package
-// - to run tests and to publish documentation on GitHub gh-pages
-// - for documentation, you also need to edit info in "docs/tools/generate.fsx"
-
-// The name of the project
-// (used by attributes in AssemblyInfo, name of a NuGet package and directory in 'src')
-let project = "SIMDArray"
-
-// Short summary of the project
-// (used as description in AssemblyInfo and as a short summary for NuGet package)
-let summary = "SIMD enhanced Array operations for F#"
-
-// Longer description of the project
-// (used as a description for NuGet package; line breaks are automatically cleaned up)
-let description = "SIMD enhanced Array operations for F#"
-
-// List of author names (for NuGet package)
-let authors = [ "Jack Mott, Jared Hester" ]
-
-// Tags for your project (for NuGet package)
-let tags = "SIMD F# FSharp Array Collections"
-
-// File system information
-let solutionFile = "SIMDArray.sln"
-
-// Pattern specifying assemblies to be tested using NUnit
-let testAssemblies = "tests/**/bin/Release/*Tests*.dll"
-
-// Git configuration (used for publishing documentation in gh-pages branch)
-// The profile where the project is posted
-let gitOwner = "Update GitHome in build.fsx"
-let gitHome = "https://github.com/" + gitOwner
-
-// The name of the project on GitHub
-let gitName = "SIMDArray"
-
-// The url for the raw files hosted
-let gitRaw = environVarOrDefault "gitRaw" "https://raw.github.com/Update GitHome in build.fsx"
-
-// --------------------------------------------------------------------------------------
-// END TODO: The rest of the file includes standard build steps
-// --------------------------------------------------------------------------------------
-
-// Read additional information from the release notes document
-let release = LoadReleaseNotes "RELEASE_NOTES.md"
-
-// Helper active pattern for project types
-let (|Fsproj|Csproj|Vbproj|Shproj|) (projFileName:string) =
- match projFileName with
- | f when f.EndsWith("fsproj") -> Fsproj
- | f when f.EndsWith("csproj") -> Csproj
- | f when f.EndsWith("vbproj") -> Vbproj
- | f when f.EndsWith("shproj") -> Shproj
- | _ -> failwith (sprintf "Project file %s not supported. Unknown project type." projFileName)
-
-// Generate assembly info files with the right version & up-to-date information
-Target "AssemblyInfo" (fun _ ->
- let getAssemblyInfoAttributes projectName =
- [ Attribute.Title (projectName)
- Attribute.Product project
- Attribute.Description summary
- Attribute.Version release.AssemblyVersion
- Attribute.FileVersion release.AssemblyVersion ]
-
- let getProjectDetails projectPath =
- let projectName = System.IO.Path.GetFileNameWithoutExtension(projectPath)
- ( projectPath,
- projectName,
- System.IO.Path.GetDirectoryName(projectPath),
- (getAssemblyInfoAttributes projectName)
- )
-
- !! "src/**/*.??proj"
- |> Seq.map getProjectDetails
- |> Seq.iter (fun (projFileName, projectName, folderName, attributes) ->
- match projFileName with
- | Fsproj -> CreateFSharpAssemblyInfo (folderName > "AssemblyInfo.fs") attributes
- | Csproj -> CreateCSharpAssemblyInfo ((folderName > "Properties") > "AssemblyInfo.cs") attributes
- | Vbproj -> CreateVisualBasicAssemblyInfo ((folderName > "My Project") > "AssemblyInfo.vb") attributes
- | Shproj -> ()
- )
-)
-
-// Copies binaries from default VS location to expected bin folder
-// But keeps a subdirectory structure for each project in the
-// src folder to support multiple project outputs
-Target "CopyBinaries" (fun _ ->
- !! "src/**/*.??proj"
- -- "src/**/*.shproj"
- |> Seq.map (fun f -> ((System.IO.Path.GetDirectoryName f) > "bin/Release", "bin" > (System.IO.Path.GetFileNameWithoutExtension f)))
- |> Seq.iter (fun (fromDir, toDir) -> CopyDir toDir fromDir (fun _ -> true))
-)
-
-// --------------------------------------------------------------------------------------
-// Clean build results
-
-Target "Clean" (fun _ ->
- CleanDirs ["bin"; "temp"]
-)
-
-Target "CleanDocs" (fun _ ->
- CleanDirs ["docs/output"]
-)
-
-// --------------------------------------------------------------------------------------
-// Build library & test project
-
-Target "Build" (fun _ ->
- !! solutionFile
-#if MONO
- |> MSBuildReleaseExt "" [ ("DefineConstants","MONO") ] "Rebuild"
-#else
- |> MSBuildRelease "" "Rebuild"
-#endif
- |> ignore
-)
-
-open Fake.Testing.NUnit3
-
-// --------------------------------------------------------------------------------------
-// Run the unit tests using test runner
-
-Target "RunTests" (fun _ ->
- !! testAssemblies
- |> NUnit3 (fun p ->
- { p with
- ShadowCopy = false
- TimeOut = TimeSpan.FromMinutes 20.
- ResultSpecs = ["TestResults.xml"]
- })
-)
-
-#if MONO
-#else
-// --------------------------------------------------------------------------------------
-// SourceLink allows Source Indexing on the PDB generated by the compiler, this allows
-// the ability to step through the source code of external libraries http://ctaggart.github.io/SourceLink/
-
-Target "SourceLink" (fun _ ->
- let baseUrl = sprintf "%s/%s/{0}/%%var2%%" gitRaw project
- !! "src/**/*.??proj"
- -- "src/**/*.shproj"
- |> Seq.iter (fun projFile ->
- let proj = VsProj.LoadRelease projFile
- SourceLink.Index proj.CompilesNotLinked proj.OutputFilePdb __SOURCE_DIRECTORY__ baseUrl
- )
-)
-
-#endif
-
-// --------------------------------------------------------------------------------------
-// Build a NuGet package
-
-Target "NuGet" (fun _ ->
- Paket.Pack(fun p ->
- { p with
- OutputPath = "bin"
- Version = release.NugetVersion
- ReleaseNotes = toLines release.Notes})
-)
-
-Target "PublishNuget" (fun _ ->
- Paket.Push(fun p ->
- { p with
- WorkingDir = "bin" })
-)
-
-
-// --------------------------------------------------------------------------------------
-// Generate the documentation
-
-
-let fakePath = "packages" > "build" > "FAKE" > "tools" > "FAKE.exe"
-let fakeStartInfo script workingDirectory args fsiargs environmentVars =
- (fun (info: System.Diagnostics.ProcessStartInfo) ->
- info.FileName <- System.IO.Path.GetFullPath fakePath
- info.Arguments <- sprintf "%s --fsiargs -d:FAKE %s \"%s\"" args fsiargs script
- info.WorkingDirectory <- workingDirectory
- let setVar k v =
- info.EnvironmentVariables.[k] <- v
- for (k, v) in environmentVars do
- setVar k v
- setVar "MSBuild" msBuildExe
- setVar "GIT" Git.CommandHelper.gitPath
- setVar "FSI" fsiPath)
-
-/// Run the given buildscript with FAKE.exe
-let executeFAKEWithOutput workingDirectory script fsiargs envArgs =
- let exitCode =
- ExecProcessWithLambdas
- (fakeStartInfo script workingDirectory "" fsiargs envArgs)
- TimeSpan.MaxValue false ignore ignore
- System.Threading.Thread.Sleep 1000
- exitCode
-
-// Documentation
-let buildDocumentationTarget fsiargs target =
- trace (sprintf "Building documentation (%s), this could take some time, please wait..." target)
- let exit = executeFAKEWithOutput "docs/tools" "generate.fsx" fsiargs ["target", target]
- if exit <> 0 then
- failwith "generating reference documentation failed"
- ()
-
-Target "GenerateReferenceDocs" (fun _ ->
- buildDocumentationTarget "-d:RELEASE -d:REFERENCE" "Default"
-)
-
-let generateHelp' fail debug =
- let args =
- if debug then "--define:HELP"
- else "--define:RELEASE --define:HELP"
- try
- buildDocumentationTarget args "Default"
- traceImportant "Help generated"
- with
- | e when not fail ->
- traceImportant "generating help documentation failed"
-
-let generateHelp fail =
- generateHelp' fail false
-
-Target "GenerateHelp" (fun _ ->
- DeleteFile "docs/content/release-notes.md"
- CopyFile "docs/content/" "RELEASE_NOTES.md"
- Rename "docs/content/release-notes.md" "docs/content/RELEASE_NOTES.md"
-
- DeleteFile "docs/content/license.md"
- CopyFile "docs/content/" "LICENSE.txt"
- Rename "docs/content/license.md" "docs/content/LICENSE.txt"
-
- generateHelp true
-)
-
-Target "GenerateHelpDebug" (fun _ ->
- DeleteFile "docs/content/release-notes.md"
- CopyFile "docs/content/" "RELEASE_NOTES.md"
- Rename "docs/content/release-notes.md" "docs/content/RELEASE_NOTES.md"
-
- DeleteFile "docs/content/license.md"
- CopyFile "docs/content/" "LICENSE.txt"
- Rename "docs/content/license.md" "docs/content/LICENSE.txt"
-
- generateHelp' true true
-)
-
-Target "KeepRunning" (fun _ ->
- use watcher = !! "docs/content/**/*.*" |> WatchChanges (fun changes ->
- generateHelp' true true
- )
-
- traceImportant "Waiting for help edits. Press any key to stop."
-
- System.Console.ReadKey() |> ignore
-
- watcher.Dispose()
-)
-
-Target "GenerateDocs" DoNothing
-
-let createIndexFsx lang =
- let content = """(*** hide ***)
-// This block of code is omitted in the generated HTML documentation. Use
-// it to define helpers that you do not want to show in the documentation.
-#I "../../../bin"
-
-(**
-F# Project Scaffold ({0})
-=========================
-*)
-"""
- let targetDir = "docs/content" > lang
- let targetFile = targetDir > "index.fsx"
- ensureDirectory targetDir
- System.IO.File.WriteAllText(targetFile, System.String.Format(content, lang))
-
-Target "AddLangDocs" (fun _ ->
- let args = System.Environment.GetCommandLineArgs()
- if args.Length < 4 then
- failwith "Language not specified."
-
- args.[3..]
- |> Seq.iter (fun lang ->
- if lang.Length <> 2 && lang.Length <> 3 then
- failwithf "Language must be 2 or 3 characters (ex. 'de', 'fr', 'ja', 'gsw', etc.): %s" lang
-
- let templateFileName = "template.cshtml"
- let templateDir = "docs/tools/templates"
- let langTemplateDir = templateDir > lang
- let langTemplateFileName = langTemplateDir > templateFileName
-
- if System.IO.File.Exists(langTemplateFileName) then
- failwithf "Documents for specified language '%s' have already been added." lang
-
- ensureDirectory langTemplateDir
- Copy langTemplateDir [ templateDir > templateFileName ]
-
- createIndexFsx lang)
-)
-
-// --------------------------------------------------------------------------------------
-// Release Scripts
-
-Target "ReleaseDocs" (fun _ ->
- let tempDocsDir = "temp/gh-pages"
- CleanDir tempDocsDir
- Repository.cloneSingleBranch "" (gitHome + "/" + gitName + ".git") "gh-pages" tempDocsDir
-
- CopyRecursive "docs/output" tempDocsDir true |> tracefn "%A"
- StageAll tempDocsDir
- Git.Commit.Commit tempDocsDir (sprintf "Update generated documentation for version %s" release.NugetVersion)
- Branches.push tempDocsDir
-)
-
-#load "paket-files/build/fsharp/FAKE/modules/Octokit/Octokit.fsx"
-open Octokit
-
-Target "Release" (fun _ ->
- let user =
- match getBuildParam "github-user" with
- | s when not (String.IsNullOrWhiteSpace s) -> s
- | _ -> getUserInput "Username: "
- let pw =
- match getBuildParam "github-pw" with
- | s when not (String.IsNullOrWhiteSpace s) -> s
- | _ -> getUserPassword "Password: "
- let remote =
- Git.CommandHelper.getGitResult "" "remote -v"
- |> Seq.filter (fun (s: string) -> s.EndsWith("(push)"))
- |> Seq.tryFind (fun (s: string) -> s.Contains(gitOwner + "/" + gitName))
- |> function None -> gitHome + "/" + gitName | Some (s: string) -> s.Split().[0]
-
- StageAll ""
- Git.Commit.Commit "" (sprintf "Bump version to %s" release.NugetVersion)
- Branches.pushBranch "" remote (Information.getBranchName "")
-
- Branches.tag "" release.NugetVersion
- Branches.pushTag "" remote release.NugetVersion
-
- // release on github
- createClient user pw
- |> createDraft gitOwner gitName release.NugetVersion (release.SemVer.PreRelease <> None) release.Notes
- // TODO: |> uploadFile "PATH_TO_FILE"
- |> releaseDraft
- |> Async.RunSynchronously
-)
-
-Target "BuildPackage" DoNothing
-
-// --------------------------------------------------------------------------------------
-// Run all targets by default. Invoke 'build ' to override
-
-Target "All" DoNothing
-
-"Clean"
- ==> "AssemblyInfo"
- ==> "Build"
- ==> "CopyBinaries"
- ==> "RunTests"
- ==> "GenerateReferenceDocs"
- ==> "GenerateDocs"
- ==> "All"
- =?> ("ReleaseDocs",isLocalBuild)
-
-"All"
-#if MONO
-#else
- =?> ("SourceLink", Pdbstr.tryFind().IsSome )
-#endif
- ==> "NuGet"
- ==> "BuildPackage"
-
-"CleanDocs"
- ==> "GenerateHelp"
- ==> "GenerateReferenceDocs"
- ==> "GenerateDocs"
-
-"CleanDocs"
- ==> "GenerateHelpDebug"
-
-"GenerateHelpDebug"
- ==> "KeepRunning"
-
-"ReleaseDocs"
- ==> "Release"
-
-"BuildPackage"
- ==> "PublishNuget"
- ==> "Release"
-
-RunTargetOrDefault "RunTests"
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 59c644e..0000000
--- a/build.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env bash
-
-set -eu
-
-cd `dirname $0`
-
-PAKET_BOOTSTRAPPER_EXE=.paket/paket.bootstrapper.exe
-PAKET_EXE=.paket/paket.exe
-FAKE_EXE=packages/build/FAKE/tools/FAKE.exe
-
-FSIARGS=""
-FSIARGS2=""
-OS=${OS:-"unknown"}
-if [ "$OS" != "Windows_NT" ]
-then
- # Can't use FSIARGS="--fsiargs -d:MONO" in zsh, so split it up
- # (Can't use arrays since dash can't handle them)
- FSIARGS="--fsiargs"
- FSIARGS2="-d:MONO"
-fi
-
-run() {
- if [ "$OS" != "Windows_NT" ]
- then
- mono "$@"
- else
- "$@"
- fi
-}
-
-yesno() {
- # NOTE: Defaults to NO
- read -p "$1 [y/N] " ynresult
- case "$ynresult" in
- [yY]*) true ;;
- *) false ;;
- esac
-}
-
-set +e
-run $PAKET_BOOTSTRAPPER_EXE
-bootstrapper_exitcode=$?
-set -e
-
-if [ "$OS" != "Windows_NT" ] &&
- [ $bootstrapper_exitcode -ne 0 ] &&
- [ $(certmgr -list -c Trust | grep X.509 | wc -l) -le 1 ] &&
- [ $(certmgr -list -c -m Trust | grep X.509 | wc -l) -le 1 ]
-then
- echo "Your Mono installation has no trusted SSL root certificates set up."
- echo "This may result in the Paket bootstrapper failing to download Paket"
- echo "because Github's SSL certificate can't be verified. One way to fix"
- echo "this issue would be to download the list of SSL root certificates"
- echo "from the Mozilla project by running the following command:"
- echo ""
- echo " mozroots --import --sync"
- echo ""
- echo "This will import over 100 SSL root certificates into your Mono"
- echo "certificate repository."
- echo ""
- if yesno "Run 'mozroots --import --sync' now?"
- then
- mozroots --import --sync
- else
- echo "Attempting to continue without running mozroots. This might fail."
- fi
- # Re-run bootstrapper whether or not the user ran mozroots, because maybe
- # they fixed the problem in a separate terminal window.
- run $PAKET_BOOTSTRAPPER_EXE
-fi
-
-run $PAKET_EXE restore
-
-[ ! -e build.fsx ] && run $PAKET_EXE update
-[ ! -e build.fsx ] && run $FAKE_EXE init.fsx
-run $FAKE_EXE "$@" $FSIARGS $FSIARGS2 build.fsx
-
diff --git a/paket.dependencies b/paket.dependencies
deleted file mode 100644
index 3eb131c..0000000
--- a/paket.dependencies
+++ /dev/null
@@ -1,33 +0,0 @@
-source http://www.nuget.org/api/v2
-redirects: on
-framework: net461
-
-nuget BenchmarkDotNet.Diagnostics.Windows
-nuget FSharp.Core redirects: force
-nuget System.Numerics.Vectors framework net46
-
-group Build
- source https://nuget.org/api/v2
- framework: net461
-
- nuget SourceLink.Fake
- nuget FAKE
- nuget FSharp.Formatting
-
- github fsharp/FAKE modules/Octokit/Octokit.fsx
-
-group Test
- source http://www.nuget.org/api/v2
- framework: net461
- redirects: on
- nuget MathNET.Numerics
- nuget MathNet.Numerics.FSharp
- nuget MathNet.Numerics.MKL.Win-x64
- nuget BenchmarkDotnet
- nuget FsCheck
- nuget NUnit
- nuget NUnit.Runners
- nuget Streams
- nuget Streams.CSharp
- nuget System.Reflection.Metadata
- nuget Unquote
\ No newline at end of file
diff --git a/paket.lock b/paket.lock
deleted file mode 100644
index 6a64c17..0000000
--- a/paket.lock
+++ /dev/null
@@ -1,76 +0,0 @@
-REDIRECTS: ON
-FRAMEWORK: NET461
-NUGET
- remote: http://www.nuget.org/api/v2
- BenchmarkDotNet (0.9.8)
- Microsoft.CodeAnalysis.CSharp (>= 1.3.2)
- System.Threading.Tasks (>= 4.0)
- BenchmarkDotNet.Diagnostics.Windows (0.9.8)
- BenchmarkDotNet (>= 0.9.8)
- Microsoft.Diagnostics.Tracing.TraceEvent (>= 1.0.41)
- FSharp.Core (4.0.0.1) - redirects: force
- Microsoft.CodeAnalysis.Common (1.3.2)
- Microsoft.CodeAnalysis.CSharp (1.3.2)
- Microsoft.CodeAnalysis.Common (1.3.2)
- Microsoft.Diagnostics.Tracing.TraceEvent (1.0.41)
- System.Numerics.Vectors (4.1.1)
- System.Threading.Tasks (4.0.11)
-
-GROUP Build
-FRAMEWORK: NET461
-NUGET
- remote: https://www.nuget.org/api/v2
- FAKE (4.37.2)
- FSharp.Compiler.Service (2.0.0.6)
- FSharp.Formatting (2.14.4)
- FSharp.Compiler.Service (2.0.0.6)
- FSharpVSPowerTools.Core (>= 2.3 < 2.4)
- FSharpVSPowerTools.Core (2.3)
- FSharp.Compiler.Service (>= 2.0.0.3)
- Octokit (0.21.1)
- SourceLink.Fake (1.1)
-GITHUB
- remote: fsharp/FAKE
- modules/Octokit/Octokit.fsx (7faaaf53e4a8fbe04a4d2b4c1bfc5d09bd82eed6)
- Octokit (>= 0.20)
-GROUP Test
-REDIRECTS: ON
-FRAMEWORK: NET461
-NUGET
- remote: http://www.nuget.org/api/v2
- BenchmarkDotNet (0.9.8)
- Microsoft.CodeAnalysis.CSharp (>= 1.3.2)
- System.Threading.Tasks (>= 4.0)
- FsCheck (2.6)
- FSharp.Core (>= 3.1.2.5)
- FSharp.Core (4.0.0.1)
- MathNet.Numerics (3.12)
- MathNet.Numerics.FSharp (3.12)
- FSharp.Core (>= 3.1.2.5)
- MathNet.Numerics (3.12)
- MathNet.Numerics.MKL.Win-x64 (2.0)
- Microsoft.CodeAnalysis.Common (1.3.2)
- Microsoft.CodeAnalysis.CSharp (1.3.2)
- Microsoft.CodeAnalysis.Common (1.3.2)
- NUnit (3.4.1)
- NUnit.ConsoleRunner (3.4.1)
- NUnit.Extension.NUnitProjectLoader (3.4.1)
- NUnit.Extension.NUnitV2Driver (3.4.1)
- NUnit.Extension.NUnitV2ResultWriter (3.4.1)
- NUnit.Extension.TeamCityEventListener (1.0.1)
- NUnit.Extension.VSProjectLoader (3.4.1)
- NUnit.Runners (3.4.1)
- NUnit.ConsoleRunner (>= 3.4.1)
- NUnit.Extension.NUnitProjectLoader (>= 3.4.1)
- NUnit.Extension.NUnitV2Driver (>= 3.4.1)
- NUnit.Extension.NUnitV2ResultWriter (>= 3.4.1)
- NUnit.Extension.TeamCityEventListener (>= 1.0.1)
- NUnit.Extension.VSProjectLoader (>= 3.4.1)
- Streams (0.4.1)
- Streams.CSharp (0.4.1)
- Streams (0.4.1)
- System.Collections.Immutable (1.2)
- System.Reflection.Metadata (1.3)
- System.Collections.Immutable (>= 1.2)
- System.Threading.Tasks (4.0.11)
- Unquote (3.1.2)
diff --git a/src/SIMDArray/AssemblyInfo.fs b/src/SIMDArray/AssemblyInfo.fs
index 29d2931..9737015 100644
--- a/src/SIMDArray/AssemblyInfo.fs
+++ b/src/SIMDArray/AssemblyInfo.fs
@@ -4,10 +4,13 @@ open System.Reflection
[]
[]
[]
-[]
-[]
+[]
+[]
do ()
module internal AssemblyVersionInformation =
- let [] Version = "0.0.1"
- let [] InformationalVersion = "0.0.1"
+ let [] AssemblyTitle = "SIMDArray"
+ let [] AssemblyProduct = "SIMDArray"
+ let [] AssemblyDescription = "SIMD enhanced Array operations for F#"
+ let [] AssemblyVersion = "1.0.0"
+ let [] AssemblyFileVersion = "1.0.0"
diff --git a/src/SIMDArray/Program.cs b/src/SIMDArray/Program.cs
deleted file mode 100755
index 51233cf..0000000
--- a/src/SIMDArray/Program.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-
-namespace ConsoleApplication
-{
- public class Program
- {
- public static void Main(string[] args)
- {
- Console.WriteLine("Hello World!");
- }
- }
-}
diff --git a/src/SIMDArray/SIMDArray.fsproj b/src/SIMDArray/SIMDArray.fsproj
index 41f4ce1..91078e1 100644
--- a/src/SIMDArray/SIMDArray.fsproj
+++ b/src/SIMDArray/SIMDArray.fsproj
@@ -1,120 +1,20 @@
-
-
-
+
- Debug
- AnyCPU
- 2.0
- aed427e4-ce8c-47fc-8918-2bac5d4d3d35
Library
+ netstandard2.1
SIMDArray
SIMDArray
- v4.6.1
- 4.4.0.0
- true
- SIMDArray
- bin\$(Configuration)
bin\$(Configuration)\$(AssemblyName).XML
-
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
-
-
- pdbonly
- true
- true
- 3
- x64
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
- x64
-
-
- pdbonly
- true
- true
-
- 3
- x64
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
- x86
-
-
- pdbonly
- true
- true
-
- 3
- x86
-
-
- 11
+ 2.0
+ true
+ aed427e4-ce8c-47fc-8918-2bac5d4d3d35
-
-
-
- $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
-
-
-
-
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
-
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
-
-
-
- ..\..\packages\System.Numerics.Vectors\ref\net46\System.Numerics.Vectors.dll
- True
- True
-
-
-
-
+
\ No newline at end of file
diff --git a/src/SIMDArray/SIMDArray.nuspec b/src/SIMDArray/SIMDArray.nuspec
index 308bc04..1c39b57 100644
--- a/src/SIMDArray/SIMDArray.nuspec
+++ b/src/SIMDArray/SIMDArray.nuspec
@@ -2,18 +2,15 @@
SIMDArray
- 0.5.1-alpha
+ 1.0.0
SIMDArray
- Jack Mott
+ Jack Mott, delneg
Jack Mott
- https://github.com/jackmott/SIMDArray
+ https://github.com/fsprojetcs/SIMDArray
false
SIMD enhanced Array operations for F#
- Initial Alpha Build
- Copyright 2016
+ New NetStandard build
+ Copyright 2022
F# SIMD
-
-
-
\ No newline at end of file
diff --git a/src/SIMDArray/paket.references b/src/SIMDArray/paket.references
deleted file mode 100644
index dc0d9e9..0000000
--- a/src/SIMDArray/paket.references
+++ /dev/null
@@ -1,2 +0,0 @@
-System.Numerics.Vectors
-FSharp.Core
\ No newline at end of file
diff --git a/tests/SIMDArray.Benchmarks/App.config b/tests/SIMDArray.Benchmarks/App.config
deleted file mode 100644
index 5ff4811..0000000
--- a/tests/SIMDArray.Benchmarks/App.config
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
- True
-
-
-
-
- True
-
-
-
-
- True
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/SIMDArray.Benchmarks/AssemblyInfo.fs b/tests/SIMDArray.Benchmarks/AssemblyInfo.fs
deleted file mode 100644
index 528853a..0000000
--- a/tests/SIMDArray.Benchmarks/AssemblyInfo.fs
+++ /dev/null
@@ -1,41 +0,0 @@
-namespace SIMDArray.Benchmarks.AssemblyInfo
-
-open System.Reflection
-open System.Runtime.CompilerServices
-open System.Runtime.InteropServices
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[]
-[]
-[]
-[]
-[]
-[]
-[]
-[]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// []
-[]
-[]
-
-do
- ()
\ No newline at end of file
diff --git a/tests/SIMDArray.Benchmarks/Program.fs b/tests/SIMDArray.Benchmarks/Program.fs
index 1c37e1f..e6aaab6 100644
--- a/tests/SIMDArray.Benchmarks/Program.fs
+++ b/tests/SIMDArray.Benchmarks/Program.fs
@@ -11,14 +11,8 @@ open BenchmarkDotNet.Running
open BenchmarkDotNet.Configs
open BenchmarkDotNet.Jobs
open SIMDArrayUtils
-
-
-#if MONO
-#else
open BenchmarkDotNet.Diagnostics.Windows
open System.Collections.Generic
-
-#endif
module Array =
let inline zeroCreateUnchecked (count:int) =
@@ -64,18 +58,7 @@ let partition f (array: _[]) =
-type CoreConfig () =
- inherit ManualConfig()
- do
- //base.Add (Job.RyuJitX64.WithTargetCount(Count(100)))
- base.Add Job.RyuJitX64
-
- #if MONO
- #else
- base.Add(new MemoryDiagnoser())
- #endif
-
-[)>]
+[]
type CoreBenchmark () =
let mutable list = []
@@ -93,7 +76,7 @@ type CoreBenchmark () =
- []
+ []
member self.SetupData () =
//let r = Random(self.Length)
@@ -175,14 +158,9 @@ let main argv =
let result = array |> filterOldPlusPlus (fun x-> x < 100)
printf "*******\n"*)
-
- let switch =
- BenchmarkSwitcher [|
- typeof
- |]
-
- switch.Run [|"CoreBenchmark"|] |> ignore
+ let _ = BenchmarkRunner.Run()
0
+
\ No newline at end of file
diff --git a/tests/SIMDArray.Benchmarks/SIMDArray.Benchmarks.fsproj b/tests/SIMDArray.Benchmarks/SIMDArray.Benchmarks.fsproj
index 3ab2e2d..cca7b28 100644
--- a/tests/SIMDArray.Benchmarks/SIMDArray.Benchmarks.fsproj
+++ b/tests/SIMDArray.Benchmarks/SIMDArray.Benchmarks.fsproj
@@ -1,258 +1,22 @@
-
-
-
+
- Debug
- AnyCPU
- 2.0
- 0ff8b18d-ca9a-453a-9275-2a6136b1b984
Exe
+ net7.0
SIMDArray.Benchmarks
SIMDArray.Benchmarks
- v4.6.1
- 4.4.0.0
true
SIMDArray.Benchmarks
- bin\$(Configuration)
- bin\$(Configuration)\$(AssemblyName).XML
-
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
-
-
- pdbonly
- true
- true
-
-
- 3
- false
- x64
-
-
- 11
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
- x64
-
-
- pdbonly
- true
- true
- TRACE
- 3
- x64
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
- x86
-
-
- pdbonly
- true
- true
- TRACE
- 3
- x86
+ 2.0
+ 0ff8b18d-ca9a-453a-9275-2a6136b1b984
-
-
-
- $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
-
-
-
-
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
-
-
-
-
-
-
-
- <__paket__MathNet_Numerics_MKL_Win-x64_targets>MathNet.Numerics.MKL.Win-x64
-
-
-
-
-
-
- <__paket__Microsoft_Diagnostics_Tracing_TraceEvent_targets>Microsoft.Diagnostics.Tracing.TraceEvent
-
-
-
-
-
- Always
-
-
- True
-
-
- True
-
-
- True
-
-
-
-
-
- True
-
-
-
-
-
- SIMDArray
- {aed427e4-ce8c-47fc-8918-2bac5d4d3d35}
- True
-
+
+
+
+
+
-
-
-
-
- ..\..\packages\BenchmarkDotNet\lib\net45\BenchmarkDotNet.dll
- True
- True
-
-
- True
-
-
- True
-
-
-
-
-
-
-
-
- ..\..\packages\BenchmarkDotNet.Diagnostics.Windows\lib\net45\BenchmarkDotNet.Diagnostics.Windows.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\Microsoft.CodeAnalysis.Common\lib\net45\Microsoft.CodeAnalysis.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\Microsoft.CodeAnalysis.CSharp\lib\net45\Microsoft.CodeAnalysis.CSharp.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\Microsoft.Diagnostics.Tracing.TraceEvent\lib\net40\Microsoft.Diagnostics.Tracing.TraceEvent.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\System.Numerics.Vectors\ref\net46\System.Numerics.Vectors.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\MathNet.Numerics\lib\net40\MathNet.Numerics.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\MathNet.Numerics.FSharp\lib\net40\MathNet.Numerics.FSharp.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\System.Collections.Immutable\lib\netstandard1.0\System.Collections.Immutable.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\System.Reflection.Metadata\lib\netstandard1.1\System.Reflection.Metadata.dll
- True
- True
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/SIMDArray.Benchmarks/Script.fsx b/tests/SIMDArray.Benchmarks/Script.fsx
deleted file mode 100644
index 6c9b83e..0000000
--- a/tests/SIMDArray.Benchmarks/Script.fsx
+++ /dev/null
@@ -1,8 +0,0 @@
-// Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project
-// for more guidance on F# programming.
-
-#load "Library1.fs"
-open SIMDArray.Benchmarks
-
-// Define your library scripting code here
-
diff --git a/tests/SIMDArray.Benchmarks/TraceEvent.ReadMe.txt b/tests/SIMDArray.Benchmarks/TraceEvent.ReadMe.txt
deleted file mode 100644
index f37f579..0000000
--- a/tests/SIMDArray.Benchmarks/TraceEvent.ReadMe.txt
+++ /dev/null
@@ -1,79 +0,0 @@
-
-************* Welcome to the Microsoft.Diagnostics.Tracing.TraceEvent library! ***************
-
-This library is designed to make controlling and parsing Event Tracing for Windows (ETW) events easy.
-In particular if you are generating events with System.Diagnostics.Tracing.EventSource, this library
-makes it easy to process that data.
-
-******** PROGRAMMERS GUIDE ********
-
-If you are new to TraceEvent, see the _TraceEventProgammersGuide.docx that was installed as part of
-your solution when this NuGet package was installed.
-
-************ FEEDBACK *************
-
-If you have problems, wish to report a bug, or have a suggestion please log your comments on the
-.NET Runtime Framework Blog http://blogs.msdn.com/b/dotnet/ under the TraceEvent announcement.
-
-********** RELEASE NOTES ***********
-
-If you are interested what particular features/bug fixes are in this particular version please
-see the TraceEvent.RelaseNotes.txt file that is part of this package. It also contains
-information about breaking changes (If you use the bcl.codeplex version in the past).
-
-************* SAMPLES *************
-
-There is a companion NUGET package called Microsoft.Diagnostics.Tracing.TraceEvent.Samples. These
-are simple but well commented examples of how to use this library. To get the samples, it is best
-to simply create a new Console application, and then reference the Samples package from that App.
-The package's README.TXT file tell you how to run the samples.
-
-************** BLOGS **************
-
-See http://blogs.msdn.com/b/vancem/archive/tags/traceevent/ for useful blog entries on using this
-package.
-
-*********** QUICK STARTS ***********
-
-The quick-starts below will get you going in a minimum of typing, but please see the WELL COMMENTED
-samples in the Samples NUGET package that describe important background and other common scenarios.
-
-**************************************************************************************************
-******* Quick Start: Turning on the 'MyEventSource' EventSource and log to MyEventsFile.etl:
-
- using (var session = new TraceEventSession("SimpleMontitorSession", "MyEventsFile.etl")) // Sessions collect and control event providers. Here we send data to a file
- {
- var eventSourceGuid = TraceEventProviders.GetEventSourceGuidFromName("MyEventSource"); // Get the unique ID for the eventSouce.
- session.EnableProvider(eventSourceGuid); // Turn it on.
- Thread.Sleep(10000); // Collect for 10 seconds then stop.
- }
-
-**************************************************************************************************
-******** Quick Start: Reading MyEventsFile.etl file and printing the events.
-
- using (var source = new ETWTraceEventSource("MyEtlFile.etl")) // Open the file
- {
- var parser = new DynamicTraceEventParser(source); // DynamicTraceEventParser knows about EventSourceEvents
- parser.All += delegate(TraceEvent data) // Set up a callback for every event that prints the event
- {
- Console.WriteLine("GOT EVENT: " + data.ToString()); // Print the event.
- };
- source.Process(); // Read the file, processing the callbacks.
- } // Close the file.
-
-
-*************************************************************************************************************
-******** Quick Start: Turning on the 'MyEventSource', get callbacks in real time (no files involved).
-
- using (var session = new TraceEventSession("MyRealTimeSession")) // Create a session to listen for events
- {
- session.Source.Dynamic.All += delegate(TraceEvent data) // Set Source (stream of events) from session.
- { // Get dynamic parser (knows about EventSources)
- // Subscribe to all EventSource events
- Console.WriteLine("GOT Event " + data); // Print each message as it comes in
- };
-
- var eventSourceGuid = TraceEventProviders.GetEventSourceGuidFromName("MyEventSource"); // Get the unique ID for the eventSouce.
- session.EnableProvider(eventSourceGuid); // Enable MyEventSource.
- session.Source.Process(); // Wait for incoming events (forever).
- }
diff --git a/tests/SIMDArray.Benchmarks/TraceEvent.ReleaseNotes.txt b/tests/SIMDArray.Benchmarks/TraceEvent.ReleaseNotes.txt
deleted file mode 100644
index 21fcb5d..0000000
--- a/tests/SIMDArray.Benchmarks/TraceEvent.ReleaseNotes.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-Version 1.0.0.3 - Initial release to NuGet, pre-release.
-
- TraceEvent has been available from the site http://bcl.codeplex.com/wikipage?title=TraceEvent for some time now
- this NuGet Version of the library supersedes that one. WHile the 'core' part of the library is unchanged,
- we did change lesser used features, and change the namespace and DLL name, which will cause break. We anticipate
- it will take an hour or so to 'port' to this version from the old one. Below are specific details on what
- has changed to help in this port.
-
- * The DLL has been renamed from TraceEvent.dll to Microsoft.Diagnostics.Tracing.TraceEvent.dll
- * The name spaces for all classes have been changed. The easiest way to port is to simply place
- the following using clauses at the top of any file that uses TraceEvent classes
- using Microsoft.Diagnostics.Symbols;
- using Microsoft.Diagnostics.Tracing;
- using Microsoft.Diagnostics.Tracing.Etlx;
- using Microsoft.Diagnostics.Tracing.Parsers.Clr;
- using Microsoft.Diagnostics.Tracing.Parsers.Kernel;
- using Microsoft.Diagnostics.Tracing.Session;
- using Microsoft.Diagnostics.Tracing.Stacks;
- * Any method with the name RelMSec in it has been changed to be RelativeMSec. The easiest port is to
- simply globally rename RelMSec to RelativeMSec
- * Any property in the Trace* classes that has the form Max*Index has been renamed to Count.
- * A number of methods have been declared obsolete, these are mostly renames and the warning will tell you
- how to update them.
- * The following classes have been rename
- SymPath -> SymbolPath
- SymPathElement -> SymbolPathElement
- SymbolReaderFlags -> SymbolReaderOptions
- * TraceEventSession is now StopOnDispose (it will stop the session when TraceEventSesssion dies), by default
- If you were relying on the kernel session living past the process that started it, you must now set
- the StopOnDispose explicitly
- * There used to be XmlAttrib extensions methods on StringBuilder for use in manifest generated TraceEventParsers
- These have been moved to protected members of TraceEvent. The result is that in stead of writing
- sb.XmlAttrib(...) you write XmlAttrib(sb, ...)
- * References to Pdb in names have been replaced with 'Symbol' to conform to naming guidelines.
-
- ***********************************************************************************************
-Version 1.0.0.4 - Initial stable release
-
- Mostly this was insuring that the library was cleaned up in preparation
- for release the TraceParserGen tool
-
- Improved the docs, removed old code, fixed some naming convention stuff
-
- * Additional changes from the PreRelease copy to the first Stable release
-
- * The arguments to AddCallbackForProviderEvent were reversed!!!! (now provider than event)
- * The arguments to Observe(string, string)!!!! (now provider than event)
- * Event names for these APIs must include a / between the Task and Opcode names
-
- * Many Events in KernelTraceEventParser were harmonized to be consistent with other conventions
- * Events of the form PageFault* were typically renamed to Memory*
- * The 'End' suffix was renamed to 'Stop' (its official name)
- * PerfInfoSampleProf -> PerfInfoSample
- * PerfInfoSampleProf -> PerfInfoSample
- * ReadyThread -> DispatcherReadyThread
- * StackWalkTraceData -> StackWalkStackTraceData
- * FileIo -> FileIO
- * DiskIo -> DiskIO
-
- * Many Events in SymbolTraceEventParser were harmonized to be consistent with other conventions
- * names with Symbol -> ImageID
diff --git a/tests/SIMDArray.Benchmarks/_TraceEventProgrammersGuide.docx b/tests/SIMDArray.Benchmarks/_TraceEventProgrammersGuide.docx
deleted file mode 100644
index 360c820..0000000
Binary files a/tests/SIMDArray.Benchmarks/_TraceEventProgrammersGuide.docx and /dev/null differ
diff --git a/tests/SIMDArray.Benchmarks/paket.references b/tests/SIMDArray.Benchmarks/paket.references
deleted file mode 100644
index b11c50c..0000000
--- a/tests/SIMDArray.Benchmarks/paket.references
+++ /dev/null
@@ -1,8 +0,0 @@
-System.Numerics.Vectors
-BenchmarkDotNet.Diagnostics.Windows
-group Test
-BenchmarkDotnet
-System.Reflection.Metadata
-MathNET.Numerics
-MathNET.Numerics.FSharp
-MathNET.Numerics.MKL.Win-X64
diff --git a/tests/SIMDArray.Tests/AssemblyInfo.fs b/tests/SIMDArray.Tests/AssemblyInfo.fs
deleted file mode 100644
index f40864a..0000000
--- a/tests/SIMDArray.Tests/AssemblyInfo.fs
+++ /dev/null
@@ -1,41 +0,0 @@
-namespace TestSimd.AssemblyInfo
-
-open System.Reflection
-open System.Runtime.CompilerServices
-open System.Runtime.InteropServices
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[]
-[]
-[]
-[]
-[]
-[]
-[]
-[]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// []
-[]
-[]
-
-do
- ()
\ No newline at end of file
diff --git a/tests/SIMDArray.Tests/Program.fs b/tests/SIMDArray.Tests/Program.fs
new file mode 100644
index 0000000..0695f84
--- /dev/null
+++ b/tests/SIMDArray.Tests/Program.fs
@@ -0,0 +1 @@
+module Program = let [] main _ = 0
diff --git a/tests/SIMDArray.Tests/SIMDArray.Tests.fsproj b/tests/SIMDArray.Tests/SIMDArray.Tests.fsproj
index 43e22f4..5831d8c 100644
--- a/tests/SIMDArray.Tests/SIMDArray.Tests.fsproj
+++ b/tests/SIMDArray.Tests/SIMDArray.Tests.fsproj
@@ -1,193 +1,37 @@
-
-
-
+
+
- Debug
- AnyCPU
- 2.0
- 01b550a9-f5ac-49ab-9b62-2838119339f9
- Library
+ netcoreapp3.1
+ Major
+ false
+ false
SIMDArray.Tests
SIMDArray.Tests
- v4.6.1
true
- 4.4.0.0
SIMDArray.Tests
- bin\$(Configuration)
+ 2.0
+ 01b550a9-f5ac-49ab-9b62-2838119339f9
bin\$(Configuration)\$(AssemblyName).XML
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
- AnyCPU
- true
-
-
- pdbonly
- true
- true
- 3
- x64
- false
-
-
-
- 11
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
- true
- x64
-
-
- pdbonly
- true
- true
- 3
- false
- x64
-
-
- true
- full
- false
- false
- DEBUG;TRACE
- 3
- true
- x86
-
-
- pdbonly
- true
- true
- 3
- false
- x86
-
-
-
-
- $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
-
-
-
-
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
-
-
-
-
+
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
- SIMDArray
- {aed427e4-ce8c-47fc-8918-2bac5d4d3d35}
- True
-
+
-
-
-
-
-
- ..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\System.Numerics.Vectors\ref\net46\System.Numerics.Vectors.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\FsCheck\lib\net45\FsCheck.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\NUnit\lib\net45\nunit.framework.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\Streams\lib\net45\Streams.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\Streams.CSharp\lib\net45\Streams.CSharp.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\packages\test\Unquote\lib\net45\Unquote.dll
- True
- True
-
-
-
-
\ No newline at end of file
diff --git a/tests/SIMDArray.Tests/Test.fs b/tests/SIMDArray.Tests/Test.fs
index c8082c6..7084a4a 100644
--- a/tests/SIMDArray.Tests/Test.fs
+++ b/tests/SIMDArray.Tests/Test.fs
@@ -2,9 +2,7 @@
open System.Numerics
open System
-open System.Diagnostics
open FsCheck
-open NUnit
open NUnit.Framework
open Swensen.Unquote
@@ -38,17 +36,16 @@ let inline areEqual (xs: 'T []) (ys: 'T []) =
i <- i + 1
result
-open FsCheck.Gen
let inline lenAbove num = Gen.where (fun a -> (^a:(member Length:int)a) > num)
let inline lenBelow num = Gen.where (fun a -> (^a:(member Length:int)a) < num)
let inline between a b = lenAbove a >> lenBelow b
-let arrayArb<'a> =
+let arrayArb<'a> =
Gen.arrayOf Arb.generate<'a>
|> between 1 10000 |> Arb.fromGen
-let config testCount =
+let config testCount =
{ Config.QuickThrowOnFailure with
MaxTest = testCount
StartSize = 1
diff --git a/tests/SIMDArray.Tests/app.config b/tests/SIMDArray.Tests/app.config
deleted file mode 100644
index 6920ee5..0000000
--- a/tests/SIMDArray.Tests/app.config
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
- True
-
-
-
-
\ No newline at end of file
diff --git a/tests/SIMDArray.Tests/paket.references b/tests/SIMDArray.Tests/paket.references
deleted file mode 100644
index 18dd850..0000000
--- a/tests/SIMDArray.Tests/paket.references
+++ /dev/null
@@ -1,9 +0,0 @@
-FSharp.Core
-System.Numerics.Vectors
-group Test
-FsCheck
-Streams
-Streams.CSharp
-NUnit
-NUnit.Runners
-Unquote
\ No newline at end of file