Commit Graph

667 Commits

Author SHA1 Message Date
Oliver Booth ff6b8d5465
feat: add Span overloads to complement char.Repeat/string.Repeat 2023-08-27 13:58:15 +01:00
Oliver Booth 579a1d8c89
style(docs): one-line <returns> element 2023-08-27 04:13:53 +01:00
Oliver Booth 41ba8b5aad
fix: include WriteBits to !NET5_0_OR_GREATER 2023-08-27 03:39:53 +01:00
Oliver Booth 5d936b5385
feat: add markdown formatting methods 2023-08-27 03:37:01 +01:00
Oliver Booth bd823ba818
perf: stackalloc single char span, instead of using ToString, for .NET 7
This removes the allocations caused by ToString(). Unfortunately, the ReadOnlySpan<char> overload is only available from .NET 7, and so this is a conditional performance gain. Shame.
2023-08-27 01:26:37 +01:00
Oliver Booth cfe70a7923
refactor: discard GetBits return 2023-08-26 18:50:49 +01:00
Oliver Booth 799e635577
style: mark WriteBits conditional 2023-08-26 18:50:37 +01:00
Oliver Booth b843d155f6
[ci skip] style: cap line length at 130 2023-08-26 18:40:23 +01:00
Oliver Booth 9caa0acb7b
style: remove UTF8 BOM 2023-08-26 18:11:29 +01:00
Oliver Booth 129cbfb51f
refactor: revert 50d9cad2f3 2023-08-24 02:29:59 +01:00
Oliver Booth 50d9cad2f3
perf: optimise subsequent GetHash and TryWriteHash calls 2023-08-23 17:06:44 +01:00
Oliver Booth 1157e36eff
refactor: separate stream Read/Write methods to partials 2023-08-23 17:00:55 +01:00
Oliver Booth 30b7a465a7
fix: fix marshal of decimal for netstandard 2.1 2023-08-23 16:54:20 +01:00
Oliver Booth caa0070458
fix: fix incorrect endian swap 2023-08-23 16:43:33 +01:00
Oliver Booth 0bf89bb82a
refactor!: change exception thrown by GetHash and TryWriteHash
The methods no longer throw TypeInitializationException, and instead now throw ArgumentException.
2023-08-23 14:17:42 +01:00
Oliver Booth 5c21c86a52
refactor!: replace Endianness enum with explicit Big/Little methods 2023-08-23 14:15:52 +01:00
Oliver Booth 15107ea90f
docs: fix xmldoc for Line3D 2023-08-22 23:53:13 +01:00
Oliver Booth 5b2c83e2eb
chore: define TargetFrameworks in shared props 2023-08-22 22:40:49 +01:00
Oliver Booth e8a331ff96
chore: use shared Build.props for all projects 2023-08-22 17:11:20 +01:00
Oliver Booth d8be858359
refactor: remove IEnumerable.ConcatOne 2023-05-14 16:27:42 +01:00
Oliver Booth 23dee3d2b8
feat: add value-passthru overloads for ConcatIf 2023-04-14 14:17:33 +01:00
Oliver Booth 6f3a667e37
feat: add string.ConcatIf 2023-04-14 13:55:52 +01:00
Oliver Booth bb3659c047
refactor: remove throw helpers (#80) 2023-04-13 22:52:46 +01:00
Oliver Booth 0ae377250c
feat: add IEnumerable<T>.Except(T)
LINQ-provided Except method filters by array, but there's no way to filter a single value. This method introduces single-value filtering.
2023-04-13 20:55:24 +01:00
Oliver Booth 847af30945
docs: properly document ArgumentNullException 2023-04-13 20:54:07 +01:00
Oliver Booth b8a63c0d5c
feat: add float/double support for WriteNoAlloc and WriteLineNoAlloc 2023-04-11 22:27:31 +01:00
Oliver Booth f13907a4d0
style: move Write/WriteLine overloads to files
This change should help to organise this entire class a bit better, due to the number of overloads that exist.
2023-04-11 22:23:12 +01:00
Oliver Booth 844f697754
style: remove unused using directives 2023-04-10 12:45:18 +01:00
Oliver Booth f6847315a1
feat: add Progress<T>.OnProgressChanged
Provides a mechanism to wrap the ProgressChanged event of a Progress<T> as an IObservable<T>.
2023-04-10 12:44:53 +01:00
Oliver Booth 9d26f3da60
feat: add TextWriter.WriteNoAlloc/WriteLineNoAlloc
Allows writing of integer types without allocating a string.
2023-04-06 19:11:54 +01:00
Oliver Booth 172380c57d
[ci skip] chore: add meta services
This class library will contain attributes for future source generation.
2023-04-06 16:58:38 +01:00
Oliver Booth 5289bd2595
chore: move SourceGenerator to tools folder 2023-04-06 16:03:20 +01:00
Oliver Booth 9791fd23bb
feat: add CountDigit for integer types 2023-04-06 14:40:27 +01:00
Oliver Booth 0621c246a0
feat: add Span<T>.Replace 2023-04-06 02:31:22 +01:00
Oliver Booth 8e6796607c
docs: explain use of ref return 2023-04-05 23:19:08 +01:00
Oliver Booth b819e6a418
refactor: revert 47f3a138aa
Generic math features will be built in a feature branch to avoid merge conflicts with develop.
2023-04-05 15:13:21 +01:00
Oliver Booth 47f3a138aa
feat: add Unpack for IBinaryInteger<T>
This introduces an experiment, to add support for generic math in X10D. So far, build and tests remain passing - this is a good sign. There is potential here.

This API is subject to change and may be removed without warning.
2023-04-05 15:06:02 +01:00
Oliver Booth 3ab1ab0b41
style: remove redundant CLSCompliant on internal methods 2023-04-05 13:42:02 +01:00
Oliver Booth dc1b9d6c04
feat: add math extensions for BigInteger 2023-04-05 11:05:53 +01:00
Oliver Booth 5e4af9a9e1
style: move MethodImplOptions to resource file
Prevents repetition through #if directives in every file
2023-04-04 10:34:16 +01:00
Oliver Booth b8c3a5121a
feat: add DateOnly extensions 2023-04-04 10:10:55 +01:00
Oliver Booth a717976229
style!: rename parameter for DateTime.Age and DateTimeOffset.Age
BREAKING CHANGE: "asOf" has been renamed to "referenceDate". Consumers using named parameters beware.
2023-04-03 18:20:21 +01:00
Oliver Booth 86f72b9d43
build: bump to 4.0.0 2023-04-03 18:14:03 +01:00
Oliver Booth 514e5b12b0
feat: add MathUtility.Pulse (resolves #60) 2023-04-03 17:26:03 +01:00
Oliver Booth 1939bbe4ba
feat: add MathUtility.Sawtooth (#60) 2023-04-03 17:15:11 +01:00
Oliver Booth c7370c39fd
feat: add MathUtility.Sigmoid (#60) 2023-04-03 16:38:58 +01:00
Oliver Booth 654d5b5b08
feat: Add MathUtility.ExponentialDecay (#60) 2023-04-03 16:21:43 +01:00
Oliver Booth 9cf003481c
refactor: move exception messages to resource file (#27) 2023-04-03 15:57:31 +01:00
Oliver Booth 3c85ae6f64
refactor: move old exception messages from Resources.resx (#27) 2023-04-03 15:50:35 +01:00
Oliver Booth d27f4caef7
feat: add MathUtility.SmoothStep (#60) 2023-04-03 15:47:18 +01:00