daily update on 20241129 by nitload youmu, frameworkDialogue added

This commit is contained in:
Nitload
2024-11-29 05:47:53 +08:00
parent 6e2f93b053
commit 7c8d462ca5
2190 changed files with 49578 additions and 72052 deletions
@@ -0,0 +1,133 @@
{
"Version": 1,
"WorkspaceRootPath": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{B33F35F1-0A92-4D72-B334-FE0565F64BF7}|StgSharpData\\StgSharpData.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u7F16\u7801\u5668\\stgsharpdataencoder\\stgsharpdata\\huffmantree.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B33F35F1-0A92-4D72-B334-FE0565F64BF7}|StgSharpData\\StgSharpData.csproj|solutionrelative:stgsharpdata\\huffmantree.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B33F35F1-0A92-4D72-B334-FE0565F64BF7}|StgSharpData\\StgSharpData.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u7F16\u7801\u5668\\stgsharpdataencoder\\stgsharpdata\\codecounter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B33F35F1-0A92-4D72-B334-FE0565F64BF7}|StgSharpData\\StgSharpData.csproj|solutionrelative:stgsharpdata\\codecounter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F89AE661-900E-40C1-9A18-930BE72754A0}|StgSharpDataEncoder\\StgSharpDataEncoder.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u7F16\u7801\u5668\\stgsharpdataencoder\\stgsharpdataencoder\\stgsharpdataencoder.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
"RelativeMoniker": "D:0:0:{F89AE661-900E-40C1-9A18-930BE72754A0}|StgSharpDataEncoder\\StgSharpDataEncoder.csproj|solutionrelative:stgsharpdataencoder\\stgsharpdataencoder.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
},
{
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Nitlo\\AppData\\Local\\SourceServer\\4b7167f88c9b9527ae2801a410766909469a3a946bb9b8ec28cc2b0d9bd17ec8\\src\\libraries\\System.Private.CoreLib\\src\\System\\Collections\\Generic\\Dictionary.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F89AE661-900E-40C1-9A18-930BE72754A0}|StgSharpDataEncoder\\StgSharpDataEncoder.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u7F16\u7801\u5668\\stgsharpdataencoder\\stgsharpdataencoder\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F89AE661-900E-40C1-9A18-930BE72754A0}|StgSharpDataEncoder\\StgSharpDataEncoder.csproj|solutionrelative:stgsharpdataencoder\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B33F35F1-0A92-4D72-B334-FE0565F64BF7}|StgSharpData\\StgSharpData.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u7F16\u7801\u5668\\stgsharpdataencoder\\stgsharpdata\\m128.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B33F35F1-0A92-4D72-B334-FE0565F64BF7}|StgSharpData\\StgSharpData.csproj|solutionrelative:stgsharpdata\\m128.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{E8A7C475-2369-4673-B299-9BFDE38B950D}|SSD_Test\\SSD_Test.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u7F16\u7801\u5668\\stgsharpdataencoder\\ssd_test\\unittest1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{E8A7C475-2369-4673-B299-9BFDE38B950D}|SSD_Test\\SSD_Test.csproj|solutionrelative:ssd_test\\unittest1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 197,
"SelectedChildIndex": 5,
"Children": [
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "Dictionary.cs",
"DocumentMoniker": "C:\\Users\\Nitlo\\AppData\\Local\\SourceServer\\4b7167f88c9b9527ae2801a410766909469a3a946bb9b8ec28cc2b0d9bd17ec8\\src\\libraries\\System.Private.CoreLib\\src\\System\\Collections\\Generic\\Dictionary.cs",
"ToolTip": "C:\\Users\\Nitlo\\AppData\\Local\\SourceServer\\4b7167f88c9b9527ae2801a410766909469a3a946bb9b8ec28cc2b0d9bd17ec8\\src\\libraries\\System.Private.CoreLib\\src\\System\\Collections\\Generic\\Dictionary.cs",
"ViewState": "AQIAABECAAAAAAAAAAAxwCcCAAAcAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-15T19:40:43.44Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "StgSharpDataEncoder",
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"RelativeDocumentMoniker": "StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"RelativeToolTip": "StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2024-04-15T17:28:44.507Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "UnitTest1.cs",
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\SSD_Test\\UnitTest1.cs",
"RelativeDocumentMoniker": "SSD_Test\\UnitTest1.cs",
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\SSD_Test\\UnitTest1.cs",
"RelativeToolTip": "SSD_Test\\UnitTest1.cs",
"ViewState": "AQIAAAYAAAAAAAAAAAAAAAoAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-15T08:44:36.91Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "CodeCounter.cs",
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpData\\CodeCounter.cs",
"RelativeDocumentMoniker": "StgSharpData\\CodeCounter.cs",
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpData\\CodeCounter.cs",
"RelativeToolTip": "StgSharpData\\CodeCounter.cs",
"ViewState": "AQIAAC0AAAAAAAAAAAA1wEEAAAA+AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-15T07:59:54.642Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "M128.cs",
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpData\\M128.cs",
"RelativeDocumentMoniker": "StgSharpData\\M128.cs",
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpData\\M128.cs",
"RelativeToolTip": "StgSharpData\\M128.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAADAAAAARAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-15T06:53:39.399Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "HuffmanTree.cs",
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpData\\HuffmanTree.cs",
"RelativeDocumentMoniker": "StgSharpData\\HuffmanTree.cs",
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpData\\HuffmanTree.cs",
"RelativeToolTip": "StgSharpData\\HuffmanTree.cs",
"ViewState": "AQIAAKgAAAAAAAAAAAAAwMEAAAAnAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-15T06:52:09.552Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "Program.cs",
"DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpDataEncoder\\Program.cs",
"RelativeDocumentMoniker": "StgSharpDataEncoder\\Program.cs",
"ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u7F16\u7801\u5668\\StgSharpDataEncoder\\StgSharpDataEncoder\\Program.cs",
"RelativeToolTip": "StgSharpDataEncoder\\Program.cs",
"ViewState": "AQIAABQAAAAAAAAAAIAzwCMAAAAMAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-15T06:51:40.74Z",
"EditorCaption": ""
}
]
}
]
}
]
}
@@ -0,0 +1,80 @@
using StgSharp.Data;
using StgSharp.Data.FileIO;
using StgSharpData;
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharpDataEncoder
{
internal class Program
{
static unsafe void Main(string[] args)
{
string test =
"aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbsddfdsfsdfdsfsdfsdfsdfsdfsdfdsfsdfdsfsdfsdfsdfsdfsfsdfsdfccccccccccccccccccccccccc";
byte[] array = CodeSeparator.SeparateCode<byte>(
Encoding.UTF8.GetBytes(test));
List<(byte, ulong)> list = CodeSeparator.CountCodeFrequency(array);
foreach (var i in list)
{
Console.WriteLine($"{i.Item1}\t{i.Item2}");
}
Console.WriteLine();
Console.WriteLine();
HuffmanTree<byte> tree = HuffmanTree<byte>.BuildHuffmanTree(list);
foreach (var i in tree.LeafList)
{
Console.WriteLine($"{i.Value}\t{i.frequency}\t" +
$"{(i.Left == null ? 0 : i.Left.frequency)}\t" +
$"{(i.Right == null ? 0 : i.Right.frequency)}");
}
Console.WriteLine();
Console.WriteLine();
Dictionary<byte, HuffmanKey<byte>> encodeDictionary
= tree.BuildHuffmanDictionary();
Console.WriteLine();
Console.WriteLine();
foreach (var item in encodeDictionary)
{
Console.WriteLine(
$"{item.Key}\t" +
$"{item.Value}"
);
}
Encode.Freeze(encodeDictionary);
EncodeStream encodeStream = new EncodeStream();
foreach (var item in array)
{
var bits = encodeDictionary[item];
encodeStream.WriteBits(bits);
}
Console.WriteLine();
Console.WriteLine();
foreach (var item in encodeStream.EncodeData)
{
Console.Write($"{item}\t");
}
Console.WriteLine();
Console.WriteLine();
Console.WriteLine($"{array.Length}\t{encodeStream.Length}");
SSDraw testRaw = new SSDraw("test");
testRaw.WriteRaw(encodeStream.EncodeData.ToArray());
testRaw.CreateRawFile("",true);
}
}
}
@@ -0,0 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\StgSharpData\StgSharpData.csproj" />
</ItemGroup>
<ItemGroup>
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
</ItemGroup>
</Project>
@@ -0,0 +1,33 @@
using StgSharp.Data;
using System.Text;
namespace SSD_Test
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestCodeSeparate()
{
byte[] array = CodeSeparator.SeparateCode<byte>(
Encoding.UTF8.GetBytes(
"aewgyfhvbjaegfvbzgfaehdfkkdgshfskfgdsbvekawhvfbskgfhvzsdhgfhvsbdfhvdszbkgvhsbzvhvfsdvsdgfvhbdhvjeagfvshvghsf"));
List<(byte, ulong)> list = CodeSeparator.CountCodeFrequency(array);
foreach (var i in list)
{
Console.WriteLine($"{i.Item1}\t{i.Item2}");
}
Console.WriteLine();
Console.WriteLine();
HuffmanTree<byte> tree = HuffmanTree<byte>.BuildHuffmanTree(list);
foreach (var i in tree.LeafList)
{
Console.WriteLine($"{i.Value}\t{i.frequency}");
}
}
}
}
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SSD_Test")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+98aa111a299366695c7ec9bbfdce90445050afa2")]
[assembly: System.Reflection.AssemblyProductAttribute("SSD_Test")]
[assembly: System.Reflection.AssemblyTitleAttribute("SSD_Test")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
@@ -0,0 +1,9 @@
// <auto-generated/>
global using global::Microsoft.VisualStudio.TestTools.UnitTesting;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
@@ -0,0 +1,115 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\CoverletSourceRootsMapping_SSD_Test
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\testhost.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\testhost.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.TestPlatform.AdapterUtilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\SSD_Test.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\SSD_Test.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\SSD_Test.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\SSD_Test.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.CodeCoverage.Shim.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.TestPlatform.CoreUtilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.TestPlatform.PlatformAbstractions.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.TestPlatform.CommunicationUtilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.TestPlatform.CrossPlatEngine.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.TestPlatform.Utilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.Common.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Newtonsoft.Json.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\NuGet.Frameworks.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\de\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\es\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\it\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\de\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\de\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\es\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\es\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\it\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\it\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\StgSharpData.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.csproj.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\refint\SSD_Test.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\SSD_Test.genruntimeconfig.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\SSD_Test\obj\Debug\net8.0\ref\SSD_Test.dll
@@ -0,0 +1,70 @@
using StgSharp.Data;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Data
{
public static class CodeSeparator
{
public static unsafe T[] SeparateCode<T>(string filePath) where T : struct
{
byte[] allByte = File.ReadAllBytes(filePath);
List<T> rawList = new List<T>();
fixed (byte* allBytePtr = allByte)
{
for (int i = 0; i < allByte.Length; i += Marshal.SizeOf<T>())
{
T t = new T();
t= *(T*)(allBytePtr + i);
rawList.Add(t);
}
}
return rawList.ToArray();
}
public static unsafe T[] SeparateCode<T>(byte[] stream) where T : struct
{
List<T> rawList = new List<T>();
fixed (byte* allBytePtr = stream)
{
for (int i = 0; i < stream.Length; i += Marshal.SizeOf<T>())
{
T t = new T();
t = *(T*)(allBytePtr + i);
rawList.Add(t);
}
}
return rawList.ToArray();
}
public static List<(T, ulong)> CountCodeFrequency<T>(T[] rawArray) where T : struct
{
Dictionary<T, ulong> frequencyCollection = new Dictionary<T, ulong>();
foreach (var item in rawArray)
{
if (frequencyCollection.ContainsKey(item))
{
frequencyCollection[item] += 1;
}
else
{
frequencyCollection.Add(item, 1);
}
}
return frequencyCollection.OrderByDescending(pair=>pair.Value)
.Select(pair=>(pair.Key, pair.Value)).ToList();
}
}
}
@@ -0,0 +1,356 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Xml;
using System.Xml.Linq;
namespace StgSharp.Data
{
public class HuffmanTree<T> where T : struct
{
HuffmanNodeList<T> leaves;
public TreeNode<T> Root
{
get => leaves.Last;
}
public HuffmanNodeList<T> LeafList
{
get => leaves;
}
internal HuffmanTree(HuffmanNodeList<T> nodeList)
{
leaves = nodeList;
}
public static HuffmanTree<T> BuildHuffmanTree(List<(T, ulong)> metaData)
{
if (metaData.Count<=3)
{
throw new Exception("Data is too little, no need to compress");
}
HuffmanNodeList<T> leaves = new HuffmanNodeList<T>();
HuffmanNodeList<T> all = new HuffmanNodeList<T>();
foreach (var item in metaData)
{
leaves.Add(new TreeNode<T>(item));
}
int count = 0;
while (leaves.Count >2)
{
TreeNode<T> node, toMove;
if (leaves.Last._frequency < leaves.BeforeLast._frequency)
{
if (leaves.BeforeLast._frequency < leaves.OverLast._frequency)
{
//第三节点最大
node = new TreeNode<T>(leaves.BeforeLast, leaves.Last);
toMove = leaves.RemoveAndGetLast; all.Add(toMove);
toMove = leaves.RemoveAndGetLast; all.Add(toMove);
leaves.Add(node);
}
else
{
//第二节点最大
node = leaves.Last._frequency < leaves.OverLast._frequency ?
new TreeNode<T>(leaves.OverLast, leaves.Last) :
new TreeNode<T>(leaves.Last, leaves.OverLast);
toMove = leaves.RemoveAndGetLast; all.Add(toMove);
toMove = leaves.RemoveAndGetBeforeLast; all.Add(toMove);
leaves.Add(node);
}
}
else
{
if (leaves.Last._frequency < leaves.OverLast._frequency)
{
//第三节点最大
node = new TreeNode<T>(leaves.Last, leaves.BeforeLast);
toMove = leaves.RemoveAndGetLast; all.Add(toMove);
toMove = leaves.RemoveAndGetLast; all.Add(toMove);
leaves.Add(node);
}
else
{
//第一节点最大
node = leaves.BeforeLast._frequency < leaves.OverLast._frequency?
new TreeNode<T>(leaves.OverLast, leaves.BeforeLast):
new TreeNode<T>(leaves.BeforeLast, leaves.OverLast);
toMove = leaves.RemoveAndGetBeforeLast; all.Add(toMove);
toMove = leaves.RemoveAndGetBeforeLast; all.Add(toMove);
leaves.Add(node);
}
}
leaves = new HuffmanNodeList<T>( leaves.OrderByDescending(pair => pair.frequency)
.Select(pair => pair).ToList());
}
TreeNode<T> lastOne = leaves[0];
TreeNode<T> lastTwo = leaves[1];
TreeNode<T> root = lastOne.frequency>lastTwo.frequency?
new TreeNode<T>(lastOne,lastTwo):
new TreeNode<T>(lastTwo, lastOne);
all.Add(lastOne);
all.Add(lastTwo);
all.Add(root);
leaves = all;
return new HuffmanTree<T>(all);
}
public Dictionary<T, HuffmanKey<T>> BuildHuffmanDictionary()
{
Dictionary<T, HuffmanKey<T>> ret = new Dictionary<T, HuffmanKey<T>>();
TreeNode<T> root = Root;
HuffmanKey<T> key = new HuffmanKey<T>();
key = key.SetSide(KeySide.Right);
InternalBuildDictionary(ret, root, key);
return ret;
}
public void InternalBuildDictionary(
Dictionary<T, HuffmanKey<T>> dict,
TreeNode<T> node,
HuffmanKey<T> valueTemp
)
{
valueTemp.AddIndexLevel();
//检查左节点
if (node._left.Value==null)
{
//左节点不是叶子节点,继续搜索
InternalBuildDictionary(
dict,
node._left,
valueTemp.SetSide(KeySide.Left));
}
else
{
//左节点是叶子节点,添加值
dict.Add(node._left.Value.Value,valueTemp.SetSide(KeySide.Left));
}
//检查右节点
if (node._right.Value == null)
{
//右节点不是叶子节点,继续搜索
InternalBuildDictionary(
dict,
node._right,
valueTemp.SetSide(KeySide.Left));
}
else
{
//右节点是叶子节点,添加值
dict.TryAdd(node._right.Value.Value, valueTemp.SetSide(KeySide.Right));
}
//这里检查自己是不是叶子节点
//但是上面已经检查过了,不需要被检查
}
}
public struct HuffmanKey<T>where T : struct
{
internal T value;
public T Value
{
get { return value; }
}
internal HuffmanKey(T value)
{
this.value= value;
}
public unsafe HuffmanKey<T> SetSide(KeySide side)
{
HuffmanKey<T> ret = new HuffmanKey<T>(value);
T* p = &ret.value;
switch (side)
{
case KeySide.Left:
byte* ptrLeft = (byte*)p;
*ptrLeft &= 0xfe;
break;
case KeySide.Right:
byte* ptrRight = (byte*)p;
*ptrRight |= 1;
break;
default:
break;
}
Console.WriteLine(*(byte*)p);
return ret;
}
public unsafe void AddIndexLevel()
{
fixed (T* p = &value)
{
switch (Marshal.SizeOf<T>())
{
case 1:
*(byte*)p <<= 1;
break;
case 2:
*(ushort*)p <<= 1;
break;
case 4:
*(uint*)p <<= 1;
break;
case 8:
*(ulong*)p <<= 1;
break;
case 16:
#if NET7_0_OR_GREATER
*(UInt128*)p <<= 1;
#else
ulong* hp = (ulong*)p;
if (*hp != 0)
{
*hp <<= 1;
}
*hp += ((*(ulong*)p) & 0x80_00_00_00_00_00_00_00) == 0 ? (ulong)0 : 1;
*(ulong*)p <<= 1;
#endif
break;
default:
break;
}
}
}
public bool IsSupported
{
get
{
return
typeof(T) == typeof(byte) ||
typeof(T) == typeof(uint) ||
typeof(T) == typeof(ushort) ||
typeof(T) == typeof(ulong) ||
#if NET7_0_OR_GREATER
typeof(T) == typeof(UInt128) ||
#endif
typeof(T) == typeof(M128);
}
}
}
public enum KeySide
{
Left,
Right
}
public class HuffmanNodeList<T> : List<TreeNode<T>> where T : struct
{
public HuffmanNodeList():base()
{
}
public HuffmanNodeList(IEnumerable<TreeNode<T>> values):base(values)
{}
public void Add(T element, ulong f)
{
base.Add(new TreeNode<T>(element,f));
}
public TreeNode<T> Last
{
get => this[Count-1 ];
}
public TreeNode<T> RemoveAndGetLast
{
get
{
TreeNode<T> ret = this[Count-1];
RemoveAt(Count-1);
return ret;
}
}
public TreeNode<T> BeforeLast
{
get => this[Count - 2];
}
public TreeNode<T> RemoveAndGetBeforeLast
{
get
{
TreeNode<T> ret = this[Count - 2];
RemoveAt(Count - 2);
return ret;
}
}
public TreeNode<T> OverLast
{
get => this[Count - 3];
}
public TreeNode<T> RemoveAndGetOverLast
{
get
{
TreeNode<T> ret = this[Count - 3];
RemoveAt(Count - 3);
return ret;
}
}
}
public class TreeNode<T> where T: struct
{
internal TreeNode<T> _left;
internal TreeNode<T> _right;
internal T? _value;
internal ulong _frequency;
public ulong frequency => _frequency;
public T? Value => _value;
public TreeNode<T> Left => _left;
public TreeNode<T> Right => _right;
public TreeNode( T? value, ulong frequncy)
{
_value = value;
_frequency = frequncy;
}
internal TreeNode(TreeNode<T> left, TreeNode<T> right)
{
_left = left;
_right = right;
_value = null;
_frequency = left._frequency + right._frequency;
}
public TreeNode((T, ulong) data)
{
_value = data.Item1;
_frequency = data.Item2;
}
}
}
@@ -0,0 +1,116 @@
using System;
using System.Numerics;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
namespace StgSharp.Data
{
[StructLayout(LayoutKind.Explicit, Pack = 16)]
public unsafe struct M128
{
[FieldOffset(0)] internal Vector4 vec;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public T Read<T>(int index) where T : struct
{
fixed (Vector4* p = &vec)
{
return *(((T*)p) + index);
}
}
public override string ToString()
{
return string.Empty;
}
public string ToString(int sample)
{
string str = string.Empty;
for (int i = 15; i >= 0; i--)
{
str += $"{Convert.ToString(this.Read<byte>(i), sample)} ";
}
return str;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Write<T>(int index, T value) where T : struct
#if NET8_0_OR_GREATER
, INumber
#endif
{
fixed (Vector4* p = &vec)
{
*(((T*)p) + index) = value;
}
}
#if NET5_0_OR_GREATER
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<byte>(M128 m)
{
return Vector128.As<float, byte>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<sbyte>(M128 m)
{
return Vector128.As<float, sbyte>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<short>(M128 m)
{
return Vector128.As<float, short>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<ushort>(M128 m)
{
return Vector128.As<float, ushort>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<int>(M128 m)
{
return Vector128.As<float, int>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<uint>(M128 m)
{
return Vector128.As<float, uint>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<long>(M128 m)
{
return Vector128.As<float, long>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<ulong>(M128 m)
{
return Vector128.As<float, ulong>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<float>(M128 m)
{
return Vector128.As<float, float>(m.vec.AsVector128());
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static explicit operator Vector128<double>(M128 m)
{
return Vector128.As<float, double>(m.vec.AsVector128());
}
#endif
}
}
@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
</Project>
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpData")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+98aa111a299366695c7ec9bbfdce90445050afa2")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpData")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpData")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
@@ -0,0 +1,10 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\bin\Debug\netstandard2.1\StgSharpData.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\bin\Debug\netstandard2.1\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\bin\Debug\netstandard2.1\StgSharpData.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\obj\Debug\netstandard2.1\StgSharpData.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\obj\Debug\netstandard2.1\StgSharpData.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\obj\Debug\netstandard2.1\StgSharpData.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\obj\Debug\netstandard2.1\StgSharpData.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\obj\Debug\netstandard2.1\StgSharpData.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\obj\Debug\netstandard2.1\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpData\obj\Debug\netstandard2.1\StgSharpData.pdb
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\StgSharpData\StgSharpData.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34714.143
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StgSharpDataEncoder", "StgSharpDataEncoder\StgSharpDataEncoder.csproj", "{F89AE661-900E-40C1-9A18-930BE72754A0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StgSharpData", "StgSharpData\StgSharpData.csproj", "{B33F35F1-0A92-4D72-B334-FE0565F64BF7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSD_Test", "SSD_Test\SSD_Test.csproj", "{E8A7C475-2369-4673-B299-9BFDE38B950D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F89AE661-900E-40C1-9A18-930BE72754A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F89AE661-900E-40C1-9A18-930BE72754A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F89AE661-900E-40C1-9A18-930BE72754A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F89AE661-900E-40C1-9A18-930BE72754A0}.Release|Any CPU.Build.0 = Release|Any CPU
{B33F35F1-0A92-4D72-B334-FE0565F64BF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B33F35F1-0A92-4D72-B334-FE0565F64BF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B33F35F1-0A92-4D72-B334-FE0565F64BF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B33F35F1-0A92-4D72-B334-FE0565F64BF7}.Release|Any CPU.Build.0 = Release|Any CPU
{E8A7C475-2369-4673-B299-9BFDE38B950D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E8A7C475-2369-4673-B299-9BFDE38B950D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8A7C475-2369-4673-B299-9BFDE38B950D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8A7C475-2369-4673-B299-9BFDE38B950D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {810253B6-B7DF-41BF-B1DB-F2B55AD72F88}
EndGlobalSection
EndGlobal
@@ -0,0 +1,48 @@
using StgSharp.Data;
using System;
using System.Collections.Concurrent;
using System.Text;
namespace StgSharpDataEncoder
{
internal class Program
{
static unsafe void Main(string[] args)
{
byte[] array = CodeSeparator.SeparateCode<byte>(
Encoding.UTF8.GetBytes(
"this is an example of a huffman tree"));
List<(byte, ulong)> list = CodeSeparator.CountCodeFrequency(array);
foreach (var i in list)
{
Console.WriteLine($"{i.Item1}\t{i.Item2}");
}
Console.WriteLine();
Console.WriteLine();
HuffmanTree<byte> tree = HuffmanTree<byte>.BuildHuffmanTree(list);
foreach (var i in tree.LeafList)
{
Console.WriteLine($"{i.Value}\t{i.frequency}\t" +
$"{(i.Left == null ? 0 : i.Left.frequency)}\t" +
$"{(i.Right == null ? 0 : i.Right.frequency)}");
}
Console.WriteLine();
Console.WriteLine();
Dictionary<byte, HuffmanKey<byte>> encodeDictionary
= tree.BuildHuffmanDictionary();
foreach (var item in encodeDictionary)
{
Console.WriteLine(
$"{item.Key}\t" +
$"{item.Value.Value}"
);
}
}
}
}
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\StgSharpData\StgSharpData.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+98aa111a299366695c7ec9bbfdce90445050afa2")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
@@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
@@ -0,0 +1,19 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharp.F2927A3D.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\refint\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.genruntimeconfig.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\ref\StgSharpDataEncoder.dll
@@ -0,0 +1,36 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"StgSharpDataEncoder/1.0.0": {
"dependencies": {
"StgSharpData": "1.0.0"
},
"runtime": {
"StgSharpDataEncoder.dll": {}
}
},
"StgSharpData/1.0.0": {
"runtime": {
"StgSharpData.dll": {}
}
}
}
},
"libraries": {
"StgSharpDataEncoder/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StgSharpData/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+efeb4ba05892154579515936d827ba856937ec40")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
@@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
@@ -0,0 +1,38 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharp.F2927A3D.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\refint\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.genruntimeconfig.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\ref\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharp.F2927A3D.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\refint\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.genruntimeconfig.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\ref\StgSharpDataEncoder.dll
@@ -0,0 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/efeb4ba05892154579515936d827ba856937ec40/*"}}
@@ -0,0 +1,142 @@
{
"format": 1,
"restore": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj": {}
},
"projects": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"projectName": "StgSharpDataEncoder",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\StgSharpData.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\StgSharpData.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202/PortableRuntimeIdentifierGraph.json"
}
}
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\StgSharpData.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\StgSharpData.csproj",
"projectName": "StgSharpData",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\StgSharpData.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
}
}
}
@@ -0,0 +1,102 @@
{
"version": 3,
"targets": {
"net8.0": {
"StgSharpData/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.1",
"compile": {
"bin/placeholder/StgSharpData.dll": {}
},
"runtime": {
"bin/placeholder/StgSharpData.dll": {}
}
}
}
},
"libraries": {
"StgSharpData/1.0.0": {
"type": "project",
"path": "../StgSharpData/StgSharpData.csproj",
"msbuildProject": "../StgSharpData/StgSharpData.csproj"
}
},
"projectFileDependencyGroups": {
"net8.0": [
"StgSharpData >= 1.0.0"
]
},
"packageFolders": {
"C:\\Users\\Nitlo\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"projectName": "StgSharpDataEncoder",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\StgSharpDataEncoder.csproj",
"packagesPath": "C:\\Users\\Nitlo\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpDataEncoder\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Nitlo\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\StgSharpData.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\编码器\\StgSharpData\\StgSharpData.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202/PortableRuntimeIdentifierGraph.json"
}
}
}
}