-
Nerd_STF v2.1.2 Stable
released this
2022-05-02 13:19:51 -04:00 | 47 commits to main since this releaseThis update just replaces instances of
doublewithfloatinstead.I know, this isn't the update you wanted. More stuff coming soon.
* Nerd_STF = Replace all instances of `double` with `float` * Mathematics = Renamed `Double2` to `Float2` = Renamed `Double3` to `Float3` = Renamed `Double4` to `Float4`Downloads
-
released this
2022-05-02 13:19:51 -04:00 | 47 commits to main since this releaseThis update adds many types of graphics-based objects, as well as some math functions and constants.
* Nerd_STF + delegate Fill2D<T>(int, int) * Exceptions + FileParsingException + FileType + Graphics + ColorChannel + CMYKA + CMYKAByte + HSVA + HSVAByte + IColor + IColorByte + IlluminationFlags + IlluminationModel + Image + Material + RGBA + RGBAByte * Mathematics * Angle + Normalized = Made fancier `ToString()` formatting * Type + Normalized + Constants * Float2 + static SplitArray(params Float2[]) = Renamed `static Multiply(params Float2[])` to `Product` * Float3 + static SplitArray(params Float3[]) + explicit operator Float3(RGBA) + explicit operator Float3(HSVA) + explicit operator Float3(RGBAByte) + explicit operator Float3(HSVAByte) = Renamed `static Multiply(params Float3[])` to `Product` * Float4 + static SplitArray(params Float4[]) + implicit operator Float4(RGBA) + explicit operator Float4(CMYKA) + implicit operator Float4(HSVA) + implicit operator Float4(RGBAByte) + explicit operator Float4(CMYKAByte) + implicit operator Float4(HSVAByte) = Renamed `static Multiply(params Float4[])` to `Product` * Geometry * Line + Midpoint = Renamed `ToDoubleArray()` to `ToFloatArray` = Renamed `ToDoubleList()` to `ToFloatList` * Polygon + Midpoint = Renamed `ToDoubleArray()` to `ToFloatArray` = Renamed `ToDoubleList()` to `ToFloatList` = Renamed `static ToDoubleArrayAll(params Triangle[])` to `ToFloatArrayAll` = Renamed `static ToDoubleListAll(params Triangle[])` to `ToFloatListAll` * Quadrilateral + Midpoint = Renamed `ToDoubleArray()` to `ToFloatArray` = Renamed `ToDoubleList()` to `ToFloatList` = Renamed `static ToDoubleArrayAll(params Triangle[])` to `ToFloatArrayAll` = Renamed `static ToDoubleListAll(params Triangle[])` to `ToFloatListAll` * Triangle + Midpoint = Renamed `ToDoubleArray()` to `ToFloatArray` = Renamed `ToDoubleList()` to `ToFloatList` = Renamed `static ToDoubleArrayAll(params Triangle[])` to `ToFloatArrayAll` = Renamed `static ToDoubleListAll(params Triangle[])` to `ToFloatListAll` * Vert = Renamed `static ToDouble3Array(params Vert[])` to `ToFloat3Array` = Renamed `static ToDouble3List(params Vert[])` to `ToFloat3List` * Int2 + static SplitArray(params Int[]) = Renamed `static Multiply(params Int2[])` to `Product` * Int3 + static SplitArray(params Int3[]) + explicit operator Int3(RGBA) + explicit operator Int3(HSVA) + explicit operator Int3(RGBAByte) + explicit operator Int3(HSVAByte) = Renamed `static Multiply(params Int3[])` to `Product` * Int4 + static SplitArray(params Int4[]) + explicit operator Int4(RGBA) + explicit operator Int4(CMYKA) + explicit operator Int4(HSVA) + implicit operator Int4(RGBAByte) + explicit operator Int4(CMYKAByte) + implicit operator Int4(HSVAByte) = Renamed `static Multiply(params Int4[])` to `Product` * Mathf + static Combinations(int, int) + static GreatestCommonFactor(params int[]) + static InverseSqrt(float) + static LeastCommonMultiple(params int[]) + static Mode<T>(params T[]) where T : IEquatable<T> + static Permutations(int, int) + static Pow(float, int) + static Product(Equation, float, float, float) + static Sum(Equation, float, float, float) + static UniqueItems<T>(params T[]) where T : IEquatable<T> + static ZScore(float, params float[]) + static ZScore(float, float, float) - const RadToDeg - const E - const GoldenRatio - const HalfPi - const Pi - const DegToRad - const Tau = GreatestCommonFactor actually works now = Pow has been fixed = Mode actually works * static Average(params int[]) = Replaced its `int` return type with `float` * Miscellaneous * GlobalUsings.cs + global using Nerd_STF.Graphics;Downloads
-
Nerd_STF v2.1.1 Stable
released this
2022-04-17 13:46:15 -04:00 | 52 commits to main since this releaseThis update doesn't add any new features, simply a code simplification, using some of the .net 6 tools, such as global usings and file-scoped namespace declarations.
* Nerd_STF = Removed unused or unrequired usings in all files. = Replaced all namespace declarations with file-scoped declarations. * Miscellaneous * GlobalUsings + global using System.Diagnostics.CodeAnalysisDownloads
-
released this
2022-04-17 13:43:38 -04:00 | 54 commits to main since this releaseThis update adds some operations from calculus, as well as many new geometry structures.
* Nerd_STF + Exceptions + Nerd_STFException + DifferingVertCountException + DisconnectedLinesException + Miscellaneous + `GlobalUsings.cs` + IClosest<T> + IContainer<T> * Logger * DefaultLogHandler(LogMessage) = Replaced a `throw new Exception` with a `throw new ArgumentException` * Mathematics + Angle + Calculus + delegate double Equation(double) * Double2 = Made `CompareTo(Double2)` better * Double3 = Made `CompareTo(Double3)` better * Double4 = Made `CompareTo(Double4)` better * Int2 + operator &(Int2, Int2) + operator |(Int2, Int2) + operator ^(Int2, Int2) = Made `CompareTo(Int2)` better * Int3 + operator &(Int3, Int3) + operator |(Int3, Int3) + operator ^(Int3, Int3) = Made `CompareTo(Int3)` better * Int4 + operator &(Int4, Int4) + operator |(Int4, Int4) + operator ^(Int4, Int4) = Made `CompareTo(Int4)` better * Mathf + Average(Equation, double, double, double) + GetValues(Equation) + MakeEquation(Dictionary<double, double>) + Max(Equation, double, double, double) + Min(Equation, double, double, double) = Swapped the names of "RadToDeg" and "DegToRad" * Geometry + Box2D + Box3D + Polygon + Quadrilateral + Sphere + ISubdividable * ITriangulatable + Triangle[] TriangulateAll(params ITriangulatable[]) * Line + : IComparable<Line> + : IContainer<Vert> + : IClosest<Vert> + : ISubdividable<Line[]> + ClosestTo(Vert) + ClosestTo(Vert, double) + CompareTo(Line) + Contains(Vert) + Subdivide() + operator -(Line) + operator >(Line) + operator <(Line) + operator >=(Line) + operator <=(Line) = Renamed all instances of "start" to "a" = Renamed all instances of "end" to "b" * Triangle + operator -(Triangle) + ToDoubleArrayAll(params Triangle[]) = Replaced the variable assignings in the Triangle to not re-assign the lines. = Now uses custom exception in line constructor = Renamed "L1" to "AB" = Renamed "L2" to "BC" = Renamed "L3" to "CA"Downloads
-
Nerd_STF v2.0.1 Stable
released this
2022-04-03 09:58:10 -04:00 | 55 commits to main since this releaseChangelog:
* Nerd_STF * Mathematics * Geometry * Line + ToDoubleArray() + ToDoubleList() * Triangle + ToDoubleArray() + ToDoubleList() * Vert + : IGroup\<Vert> + GetEnumerator() + ToArray() + ToList()Downloads
-
Nerd_STF v2.0 Stable
released this
2022-04-02 12:57:06 -04:00 | 59 commits to main since this releaseNerd_STF
What is it?
Nerd_STF is a C# library that runs on .Net 6.0, and contains added structures and classes I feel would help the default C# library package. Feel free to do with it what you would like.
Nerd_STF has recently been remade, completely rebuilding many of its topics.
What does it include?
Nerd_STF will include math structures as well as other computer science topics. Right now, it is mainly focused on mathematics, but will branch out in the future. It currently contains things like lists of 3 doubles or ints, or
Vert,Line, andTriangleclasses, that are rich in implementation.What about Nerd_STF Versions
2021?Nerd_STF
2021used an different version scheme, based on the year, as you might have guessed (it is not the year2right now), and while I will be keeping the2021versions up, I wouldn't recommend using them, and the code is old code, written by a more naive me. Hell, I wrote an entireList<T>class there before I knew of theSystem.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?
Well, unfortunately I don't have a nuget package for this library yet (maybe in the future), so here, I'll walk you through installing it in Visual Studio.
Step 1: Find the
.dllfor this library, found in/Nerd_STF/Nerd_STF/bin/Release/net6.0/ref/Nerd_STF.dll. You can either move it, or simply remember where it is.
Step 2: Search for "Add Project Reference" in the Visual Studio 2019 or 2022 search bar.
Step 3: Click the "Browse" tab on the left, then click the "Browse" button on the bottom-right.
Step 4: Select the.dllwe found earlier.
Step 5: Click OK.This is what happens the first time you import it. Any other times, simply go to the "Add Project Reference" Window, then the "Browse" tab, and the
.dllwill already be in the list in the middle. Find it, and click the box on its left. Then click OK.
I hope you enjoy using Nerd_STF!
Downloads
-
Nerd_STF Release 2021.2 Stable
released this
2021-06-17 13:59:27 -04:00 | 1 commits to v2021.2 since this releaseChangelog
* Nerd_STF: * public static class Hashes: + public static string SHA1(string) + public static string SHA256(string) + public static string SHA384(string) + public static string SHA512(string) + public static byte[] MD5(byte[]) + public static byte[] SHA1(byte[]) + public static byte[] SHA256(byte[]) + public static byte[] SHA384(byte[]) + public static byte[] SHA512(byte[]) = Made `public static string MD5(string)` include more of my own scripting * Nerd_STF.File: = Nerd_STF.Filesaving: Moved to Nerd_STF.File.Saving * Nerd_STF.File.Saving: + public class BinaryFile<T> * public class ByteFile: + public override bool TryLoad(out File<List<byte>>) = Made `public static ByteFile Load(string)` load files faster = Made `public override void Load(bool)` load files faster = Made `public override void Save()` save files faster = Made `public override void Write(byte, bool)` save files faster = Made `public override void Write(List<byte>, bool)` save files faster * public abstract class File<T>: + public bool Exists; + public abstract bool TryLoad(out File<T>) * public class TextFile: + public override bool TryLoad(out File<string>) = Made `public static TextFile Load(string)` load files faster = Made `public override void Load(bool)` load files faster = Made `public override Save()` save files faster = Made `public override void Write(char, bool)` save files faster = Made `public override void Write(string, bool)` save files faster - Nerd_STF.Interfaces: = Moved `public interface INegatives<T>` to `Nerd_STF.Mathematics.Interfaces` * Nerd_STF.Lists: + public class ReadOnlyList<T> = public class List<T>: Completely reworked everything in `List<T>` + public int this[T] { get; set; } + public List(IEnumerable) + public bool IsEmpty { get; } + public bool IsNull { get; } + public bool IsNullOrEmpty { get; } + public bool Contains(Predicate<T>) + public int Count (Predicate<T>) + public void AddRange(IEnumerable) + public bool Any(Predicate<T>) + public bool Any(T) + public T Find(Predicate<T>) + public T Find(Predicate<T>, int) + public T Find(Predicate<T>, int, int) + public T FindOrDefault(Predicate<T>) + public T FindOrDefault(T) + public T FindOrDefault(Predicate<T>, int) + public T FindOrDefault(T, int) + public T FindOrDefault(Predicate<T>, int, int) + public T FindOrDefault(T, int, int) + public List<T> FindAll(Predicate<T>) + public List<T> FindAll(Predicate<T>, int) + public List<T> FindAll(Predicate<T>, int, int) + public List<T> FindLast(Predicate<T>) + public List<T> FindLast(Predicate<T>, int) + public List<T> FindLast(Predicate<T>, int, int) + public T FindLastOrDefault(Predicate<T>) + public T FindLastOrDefault(T) + public T FindLastOrDefault(Predicate<T>, int) + public T FindLastOrDefault(T, int) + public T FindLastOrDefault(Predicate<T>, int, int) + public T FindLastOrDefault(T, int, int) + public int FindIndex(Predicate<T>) + public int FindIndex(Predicate<T>, int) + public int FindIndex(Predicate<T>, int, int) + public List<int> FindAllIndex(Predicate<T>) + public List<int> FindAllIndex(Predicate<T>, int) + public List<int> FindAllIndex(Predicate<T>, int, int) + public int FindLastIndex(Predicate<T>) + public int FindLastIndex(Predicate<T>, int) + public int FindLastIndex(Predicate<T>, int, int) + public bool MatchesAll(Predicate<T>) + public void Remove(Predicate<T>) + public void RemoveAll(Predicate<T>) + public void RemoveAll(T) + public void RemoveLast(Predicate<T>) + public void RemoveLast(T) + IEnumerator<T> IEnumerable<T>.GetEnumerator() + public void Randomize() + public List<int> FindAllIndex() + public void Shuffle() + public List<int> FindAllIndex(int) + public List<int> FindAllIndex(int, int) + public ReadOnlyList<T> ToReadOnly() = Made `public List<T> Duplicate()` a readonly variable and better (`public List<T> Duplicate { get; }`) = Renamed the internal array to `array,` as opposed to `list` = Renamed `public void Add(T[])` to `public void AddRange(T[])` = Renamed `public void Add(List<T>)` to `public void AddRange(List<T>)` = Renamed `public bool Compare(T)` to `public bool Contains(T)` = Renamed `public void Remove(int, bool)` to `public void Remove(int)` = Renamed `public void SetAll(T)` to `public void Fill(T)` = Made `public string ToString(bool)` count up from zero instead of one when the bool is set to true. = Renamed `public ReadOnlyCollection<T> AsReadOnly()` to `public ReadOnlyCollection<T> ToSystemReadOnly()` - public bool Check(int) - public void Convert(T) - public void Convert(T[]) - public void Convert(List<T>) - public T Get(int) - public void Get(int, out T) - public T[] GetAll() - public void Set(int, T) - public void Set(T[]) - public void Set(List<T>) - public static List<T> AllDefault(int) - public static List<T> operator +(T[], List<T>) - public static List<T> operator +(List<T>, int) - public static List<T> operator +(T, List<T>) - public static List<T> operator *(List<T>, int) - public static explicit operator T[](List<T>) - public static explicit operator List<T>(T[]) = Marked `public class Nerd_STF.Lists.Matrix<T>` as deprecated. This class will be removed or heavily modified in a future release. Also removed all instances of removed List<T> methods and replaced them with work-arounds. * Nerd_STF.Mathematics: = Marked `public struct Angle` as serializable = Marked `public struct Color` as serializable = Marked `public struct ColorByte` as serializable = Marked `public struct Percent` as serializable = Marked `public struct Vector` as serializable = Marked `public struct Vector2` as serializable = Marked `public struct Vector3` as serializable = Marked `public struct Vector4` as serializable + public static class Misc + public static string PlaceMaker(int)Downloads
-
Nerd_STF Release 2021.1 Stable
released this
2021-05-06 10:54:57 -04:00 | 70 commits to main since this releaseDownloads
-
Nerd_STF Release 2021.0 Stable
released this
2021-04-12 19:51:56 -04:00 | 73 commits to main since this releaseThis is the original release of Nerd_STF. This Library is currently very small, and will be improved on in the future.
Downloads