Skip to content

Commit 9ce4f69

Browse files
committed
releasing v3.0.0
1 parent 94b1a96 commit 9ce4f69

File tree

5 files changed

+13
-30
lines changed

5 files changed

+13
-30
lines changed

.nuget/NuGet.exe.old

-5.43 MB
Binary file not shown.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
[![license](https://img.shields.io/github/license/dadhi/ImTools.svg)](http://opensource.org/licenses/MIT)
44

5-
- Windows, Linux, MacOS [![Windows build](https://ci.appveyor.com/api/projects/status/el9echuqfnl86u53?svg=true)](https://ci.appveyor.com/project/MaksimVolkau/imtools/branch/master)
6-
5+
- Windows, Linux, MacOS [![CI build](https://ci.appveyor.com/api/projects/status/el9echuqfnl86u53?svg=true)](https://ci.appveyor.com/project/MaksimVolkau/imtools/branch/master)
76
- Lib package [![NuGet Badge](https://buildstats.info/nuget/ImTools.dll)](https://www.nuget.org/packages/ImTools.dll)
87
- Code package [![NuGet Badge](https://buildstats.info/nuget/ImTools)](https://www.nuget.org/packages/ImTools)
8+
- Latest release [![latest release](https://img.shields.io/badge/latest%20release%20notes-v3.0.0-blue)](https://github.com/dadhi/ImTools/releases/tag/v3.0.0)
99

1010
Fast and memory-efficient immutable collections and helper data structures.
1111

nuspecs/ImTools.nuspec

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata minClientVersion="3.3.0">
44
<id>ImTools</id>
5-
<version>3.0.0-preview-01</version>
5+
<version>3.0.0</version>
66
<authors>Maksim Volkau</authors>
77
<copyright>Copyright © 2016-2021 Maksim Volkau</copyright>
88
<projectUrl>https://github.com/dadhi/ImTools</projectUrl>
@@ -20,7 +20,8 @@
2020
## v3.0.0 Major feature release
2121
2222
- Minimizing the target frameworks to the net45 and netstandard2.0
23-
- Added fast and more memory efficient ImMap and ImHashMap based on 2-3-4 tree (#32, #35)
23+
- Added fast and more memory efficient ImMap and ImHashMap based on 2-3 tree (#32, #35)
24+
- Extended the map API with AddOrGetEntry, Count, ToArray, and ToDictionary methods, and more
2425
2526
]]>
2627
</releaseNotes>

src/ImTools/ImTools.cs

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5119,20 +5119,9 @@ public static class ImHashMap
51195119
[MethodImpl((MethodImplOptions)256)]
51205120
public static ImHashMap<K, V> Entry<K, V>(K key, V value) => new ImHashMapEntry<K, V>(key.GetHashCode(), key, value);
51215121

5122-
/// <summary>Creates the map out of the entries in the final shape without wasting the memory</summary>
5123-
[MethodImpl((MethodImplOptions)256)]
5124-
public static ImHashMap<K, V> Create<K, V>(ImHashMapEntry<K, V> e0, ImHashMapEntry<K, V> e1) =>
5125-
e0.Hash < e1.Hash ? new ImHashMap<K, V>.Leaf2(e0, e1) : new ImHashMap<K, V>.Leaf2(e0, e1);
5126-
5127-
/// <summary>Creates the map out of the entries in the final shape without wasting the memory</summary>
5128-
[MethodImpl((MethodImplOptions)256)]
5129-
public static ImHashMap<K, V> Create<K, V>(ImHashMapEntry<K, V> e0, ImHashMapEntry<K, V> e1, ImHashMapEntry<K, V> e2) =>
5130-
new ImHashMap<K, V>.Leaf2Plus1(e2, (ImHashMap<K, V>.Leaf2)Create(e0, e1));
5131-
5132-
/// <summary>Creates the map out of the entries in the final shape without wasting the memory</summary>
5122+
/// <summary>Creates the entry to help with inference</summary>
51335123
[MethodImpl((MethodImplOptions)256)]
5134-
public static ImHashMap<K, V> Create<K, V>(ImHashMapEntry<K, V> e0, ImHashMapEntry<K, V> e1, ImHashMapEntry<K, V> e2, ImHashMapEntry<K, V> e3) =>
5135-
new ImHashMap<K, V>.Leaf2Plus1Plus1(e3, new ImHashMap<K, V>.Leaf2Plus1(e2, (ImHashMap<K, V>.Leaf2)Create(e0, e1)));
5124+
public static ImHashMap<K, V> Entry<K, V>(int hash, K key, V value) => new ImHashMapEntry<K, V>(hash, key, value);
51365125

51375126
private sealed class GoRightInBranch3<K, V>
51385127
{
@@ -6167,17 +6156,9 @@ public static ImHashMap<K, V> Remove<K, V>(this ImHashMap<K, V> map, K key) =>
61676156
/// <summary>The map methods</summary>
61686157
public static class ImMap
61696158
{
6170-
/// <summary>Creates the map out of the entries in the final shape without wasting the memory</summary>
6171-
public static ImMap<V> Create<V>(ImMapEntry<V> e0, ImMapEntry<V> e1) =>
6172-
e0.Hash < e1.Hash ? new ImMap<V>.Leaf2(e0, e1) : new ImMap<V>.Leaf2(e0, e1);
6173-
6174-
/// <summary>Creates the map out of the entries in the final shape without wasting the memory</summary>
6175-
public static ImMap<V> Create<V>(ImMapEntry<V> e0, ImMapEntry<V> e1, ImMapEntry<V> e2) =>
6176-
new ImMap<V>.Leaf2Plus1(e2, (ImMap<V>.Leaf2)Create(e0, e1));
6177-
6178-
/// <summary>Creates the map out of the entries in the final shape without wasting the memory</summary>
6179-
public static ImMap<V> Create<V>(ImMapEntry<V> e0, ImMapEntry<V> e1, ImMapEntry<V> e2, ImMapEntry<V> e3) =>
6180-
new ImMap<V>.Leaf2Plus1Plus1(e3, new ImMap<V>.Leaf2Plus1(e2, (ImMap<V>.Leaf2)Create(e0, e1)));
6159+
/// <summary>Creates the entry to help with inference</summary>
6160+
[MethodImpl((MethodImplOptions)256)]
6161+
public static ImMap<V> Entry<V>(int hash, V value) => new ImMapEntry<V>(hash, value);
61816162

61826163
private sealed class GoRightInBranch3<V>
61836164
{

src/ImTools/ImTools.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<Product>ImTools</Product>
66
<VersionPrefix>3.0.0</VersionPrefix>
7-
<VersionSuffix>preview-01</VersionSuffix>
7+
<VersionSuffix></VersionSuffix>
88

99
<AssemblyName>$(Product)</AssemblyName>
1010
<AssemblyTitle>$(AssemblyName) $(TargetFramework)</AssemblyTitle>
@@ -23,7 +23,8 @@
2323
## v3.0.0 Major feature release
2424
2525
- Minimizing the target frameworks to the net45 and netstandard2.0
26-
- Added fast and more memory efficient ImMap and ImHashMap based on 2-3-4 tree (#32, #35)
26+
- Added fast and more memory efficient ImMap and ImHashMap based on 2-3 tree (#32, #35)
27+
- Extended the map API with AddOrGetEntry, Count, ToArray, and ToDictionary methods, and more
2728
2829
]]>
2930
</PackageReleaseNotes>

0 commit comments

Comments
 (0)