dotnet add package Nerd_STF --version 2.4.1
NuGet\Install-Package Nerd_STF -Version 2.4.1
<PackageReference Include="Nerd_STF" Version="2.4.1" />
paket add Nerd_STF --version 2.4.1
#r "nuget: Nerd_STF, 2.4.1"
// Install Nerd_STF as a Cake Addin #addin nuget:?package=Nerd_STF&version=2.4.1 // Install Nerd_STF as a Cake Tool #tool nuget:?package=Nerd_STF&version=2.4.1
Table of Contents
- What is it?
- What about Nerd_STF Versions
- How do I install it?
- I've found a bug!
- I'd like to contribute.
What is it?
Nerd_STF is a multi-purpose .NET 7.0 library that contains many objects I feel would help the default C# library package. Feel free to do with it what you'd like.
Nerd_STF includes some math as well as many other computer science topics. It contains types like groups of floats/ints, geometry types like
Triangle, and color types like
HSVA, and their byte equivalents, all of which can convert seamlessly between each other.
What about Nerd_STF Versions
2021 used an different version scheme, based on the year, as you might have guessed (it is not the year
2 right now), and while I will be keeping the
2021 versions up, I wouldn't recommend using them, and the code is old code, written by a more naive me. Hell, I wrote an entire
List<T> class there before I knew of the
System.Collections.Generic.List<T> class that did literally everything for me already. Oh well. So, keep that in mind when you check out those versions of the library.
How do I install it?
The NuGet package for this library is here, so you could always install it that way using the .NET CLI:
- Open your terminal in your project directory.
- Enter this command:
dotnet add package Nerd_STF
- There is no step 3.
You can also include the NuGet package via a package reference in your project file:
- Open your project file.
- Add this to the XML data:
<PackageReference Include="Nerd_STF" />
- There is no step 3.
Alternatively, you can install it via a project reference in Visual Studio 2019 and 2022. Here's how:
- Download the latest library release from the GitHub repository, extract the files, and save them somewhere you can find later. The files must all be in the same direcrtory/folder together.
- Open Visual Studio 2019 or 2022.
- Right-click your .NET project in the Solution Explorer.
- Hover over "Add >" list and then click "Project Reference..."
- Click "Browse," and locate the
.dllfile you previously extracted (the full name is "Nerd_STF.dll").
- Click "Add," then "OK," and the library is now imported!
I've found a bug!
I'm not suprised, there are definitely a bunch of undiscovered bugs in Nerd_STF simply because I'm just one person. If you've found one, please do me a favor and create an issue about it in the GitHub repository. They likely aren't difficult fixes, they are just hard to spot even with some level of testing.
I'd like to contribute.
I would love some contributions! I probably won't accept drastic pull requests or merges with the library, but small changes are quite welcome! I'm just one person and I can only do so much work by myself. If you want to contribute, please only edit the current version branch (eg. if we are on version
2.3.1, edit the
v2.3 branch). Please do not edit the main branch. I will merge the changes with main myself.
Try to follow a similar style to the current library, but otherwise I'm open to changes. Thank you to those who contribute!
|Product||Versions Compatible and additional computed target framework versions.|
|.NET||net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed.|
- No dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
Hey everyone! This is one of the larger small updates, and I'm pretty proud of what I got done in a week.
Along with adding setters to parts like `Float3.XY` and fixing a few bugs, almost all improvements in this update are related to matricies. First of all, I've added a bunch of new items to the `IMatrix` interface. Now, any deriving matrix has more requirements that fit the regular `Matrix` type. I don't know why one would use the `IMatrix` interface rather than a specific matrix type, but now the options are more sophisticated.
I've added some new stuff to all the matrix types, including row operations. You can now scale a row, add a row to another, and swap two rows. If I become aware of any more commonly-used row operations, I'll add then in a `2.4.2` update. But I think I've got all the good ones. There is also a mutable version of each operation which, rather than returning a new matrix with changes made, instead applies the changes to itself.
Did you know I made two seperate blunders in the `Cofactor()` method? For the `Matrix2x2` version of the `Cofactor()` method, I had the diagonal elements swapped. Whoops. For the `Matrix` version of the `Cofactor()` method, matricies with even column count would break because of the alternating sign pattern I was using. Now, as far as I know, that bug is fixed.
The last thing I did was add the ability to turn a matrix into its equivalent row-echelon form. This is applicable only to the `Matrix` type (the dynamic one), and works with some levels of success. It's a little weird and tends to give results with lots of negative zeroes, but overall it's fine, I think. As far as I know there aren't any obvious bugs. We'll see though.
Anyway, that's everything in this update. Again, pretty small, but meaningful nonetheless. Unless I haven't screwed anything up, the next update I work on will be `2.5`, so I'll see you then!