Oliver Booth
76810408f2
[ci skip] style(test): suppress IteratorNeverReturns warning
2023-03-30 20:18:17 +01:00
Oliver Booth
3ce8d281b7
feat: add TextReader.EnumerateLines/Async
2023-03-30 17:55:41 +01:00
Oliver Booth
4f3f791948
[ci skip] test: assert ArgumentNullException from Grep
2023-03-30 17:49:00 +01:00
Oliver Booth
d0f94a6493
feat: add IEnumerable<string>.Grep()
2023-03-30 17:29:54 +01:00
Oliver Booth
f49188b428
feat: add string.EnsureEndsWith and string.EnsureStartsWith
2023-03-30 02:09:04 +01:00
Oliver Booth
f5b53cd3f6
[ci skip] test: remove netstandard2.1 from test csproj
2023-03-29 17:55:00 +01:00
Oliver Booth
4dd31ec1b6
[ci skip] style: reformat & cleanup solution
2023-03-29 17:46:56 +01:00
Oliver Booth
436f56d912
feat: add Saturate for floating point types ( #60 )
2023-03-29 16:21:16 +01:00
Oliver Booth
121c3a388a
test: 100% coverage on EnumerableExtensions
2023-03-28 16:28:38 +01:00
Oliver Booth
9bb9c9692a
tests: 100% coverage on Circle and CircleF
2023-03-28 16:09:35 +01:00
Oliver Booth
3e4d9603c0
test: cover Color.Deconstruct
2023-03-28 15:54:06 +01:00
Oliver Booth
3121b23732
fix(tests): fix incorrect timezone offset for DST
2023-03-28 14:54:11 +01:00
Oliver Booth
55cae2f454
test: update test project dependencies
...
- Microsoft.NET.Test.Sdk 17.5.0
- MSTest.* 3.0.2
- coverlet.collector 3.2.0
2023-03-28 14:54:11 +01:00
Oliver Booth
3b85419da3
Add MinMax and MinMaxBy ( resolves #72 )
2023-03-26 17:03:40 +01:00
RealityProgrammer
77b0a8ca39
Move some intrinsic methods around, reimplement RuneExtensions.Repeat(Rune, Int32)
2023-03-14 21:18:01 +07:00
Oliver Booth
a685d6ec39
Merge branch 'develop' into main
2023-03-07 17:30:15 +00:00
RealityProgrammer
e176f65e97
Commit git's untracked files
2023-03-07 16:50:04 +07:00
RealityProgrammer
6f343cd393
Fast Int16 packing
2023-03-07 08:58:53 +07:00
RealityProgrammer
5e4044f965
Code fixup, fast Int8 packing
2023-03-06 10:39:58 +07:00
Oliver Booth
799bc77ec8
Add IsEmpty/IsWhiteSpace and IsNullOrEmpty/WhiteSpace for string
2023-02-28 19:05:03 +00:00
Oliver Booth
041181cc5a
Add IEnumerable<T?>.WhereNotNull()
2023-02-27 21:11:37 +00:00
Oliver Booth
d1959f4ba6
[ci skip] Add unit tests for IsOnLine
2023-02-27 17:05:59 +00:00
Oliver Booth
3fc2e7259e
Add Random.NextFrom([ReadOnly]Span<T>)
2023-02-27 13:15:20 +00:00
Oliver Booth
d1454a1170
[ci skip] Add unit tests for ScaleRange
...
Add Aggressive implementations, and annotate as Pure
2023-02-26 13:33:01 +00:00
Oliver Booth
795d696eca
Add GammaToLinear and LinearToGamma ( #60 )
2023-02-26 13:10:59 +00:00
Oliver Booth
ca1b1ccbf2
Add GreatestCommonFactor for built-in integer types
2023-02-26 12:25:50 +00:00
Oliver Booth
d461c464df
Rewrite TimeSpanParserTests
...
The tests previously worked on the assumption that TryParse would throw an exception on null argument. This was changed with 94a841b2fc
but the tests were not updated to reflect that
2023-02-26 00:46:01 +00:00
Oliver Booth
d9cf9c8db5
Add Nullable<T>.TryGetValue ( resolves #61 )
2023-02-26 00:35:22 +00:00
Oliver Booth
35591b05e2
Add ReadOnlySpan<char> overload for TimeSpanParser
...
Also tidies up the code here to reduce complexity
2022-12-22 20:19:52 +00:00
Oliver Booth
9d6dbaaa23
Add Quaternion.ToAxisAngle and Quaternion.ToVector3
2022-12-06 01:08:35 +00:00
Oliver Booth
b60fdc495b
Add IReadOnlyList<T>.Slice
2022-12-01 13:51:30 +00:00
Oliver Booth
e02fd3b1b4
Add IReadOnlyList<T>.IndexOf
2022-12-01 12:28:33 +00:00
Oliver Booth
9c2f77b203
Remove invalid DirectoryInfo.Clear test
2022-12-01 12:28:05 +00:00
Oliver Booth
7776138909
Remove calls to no-longer-existing Clear(bool)
2022-11-29 17:27:33 +00:00
Oliver Booth
271305b056
Add .NET 7 target
2022-11-29 15:51:22 +00:00
Oliver Booth
53e8b2ff64
Repurpose Span<T>.Split to accept generic
2022-11-29 12:39:34 +00:00
Oliver Booth
ed8651172b
Add [ReadOnly]Span<char>.Split
...
This commit also migrates CountSubstring from StringExtensions to CharSpanExtensions
2022-11-28 02:59:46 +00:00
Oliver Booth
9cce13727d
Add CountSubstring
2022-11-26 09:31:36 +00:00
Oliver Booth
3847d53120
Add more LINQ-esque methods
...
* IEnumerable<T>.CountWhereNot(Func<T, bool>)
* IEnumerable<T>.FirstWhereNot(Func<T, bool>)
* IEnumerable<T>.FirstWhereNotOrDefault(Func<T, bool>)
* IEnumerable<T>.LastWhereNot(Func<T, bool>)
* IEnumerable<T>.LastWhereNotOrDefault(Func<T, bool>)
* IEnumerable<T>.WhereNot(Func<T, bool>)
2022-07-30 23:53:35 +01:00
Oliver Booth
02765b8b19
Add IList<T>.Swap ( #62 )
2022-07-14 10:22:37 +01:00
Oliver Booth
c0395feba3
Add GetClosestConsoleColor ( #66 )
2022-07-13 14:18:12 +01:00
Oliver Booth
46bfa17b93
Add vector and point component rounding ( #65 )
2022-07-13 12:09:37 +01:00
Oliver Booth
b1eadf61f4
Add PopCount for built-in integer types
2022-07-08 13:09:34 +01:00
Oliver Booth
2e8626a32b
Add DirectoryInfo.Clear ( #63 )
2022-06-21 13:57:20 +01:00
Oliver Booth
3d896ea5d1
Add IList<T>.RemoveRange(Range)
2022-06-03 11:53:40 +01:00
Oliver Booth
3b78235957
Add tests for 3D shapes
2022-06-01 19:43:52 +01:00
Oliver Booth
f02de2ad14
Refer to points as vertices in unit tests
2022-06-01 19:43:24 +01:00
Oliver Booth
0b3bf01fa0
Convert Polygon/F to class
...
This change also now refers to "Points" as "Vertices"
2022-06-01 18:30:48 +01:00
Oliver Booth
b0cce087b3
Add additional ctor overloads for Ellipse/F
2022-06-01 17:05:25 +01:00
Oliver Booth
ea56f2be48
Add Line3D
2022-06-01 16:47:03 +01:00