A small .NET math library.
Math.E
, Math.PI
, ...) were not parsed correctly. Now they are handled differently to ensure that the interpretation is working properly.Algorithms.ShuntingYard
, if the terms don't satisfy formal, mathematical conditions. Expressions like e3
, pi2
or sin(3)cos(3)
do not evaluate any longer.Canvas2D
for representing functions and vectors graphically (Alpha, may still contain bugs) - (thanks to NikxDa)FunctionWrapper
for representing functions using Lambda-expressionsISquareMatrix<T>
interface for implementing type-specific ISquareMatrix
-propertiesMatrix.GetCore
feature and some other functionsSharpMath.Geometry
classes to structs and consequently, revise the whole architectureVector.ScalarProduct
to VectorUtils.DotProduct<T>
Vector2.CrossProduct
to Vector2.Perpendicular
-propertyVector3.CrossProduct
to Vector3.VectorProduct
Vector.IsParallelTo
to VectorUtils.CheckForParallelism<T>
Vector.IsOrthogonalTo
to VectorUtils.CheckForOrthogonality<T>
Vector.IsOrthonormalTo
to VectorUtils.CheckForOrthonormality<T>
IMatrix
in MatrixUtils
IMatrix
and/or ISquareMatrix
Polygon.ContainsPoint
not working properlyIEquatable<T>
in Vector
, Point
and Matrix
Clone
-method instead of the one that ICloneable
provides+
, -
, *
, ...) in the available base classesAdd
and Subtract
to Matrix
and therefore abstracted the operators in the derived classesAlgorithm
to Algorithms
and made it staticFloatingNumber
staticFloatingNumberExtensions
that contains extensions for float
and double
to compare valuesFirst release of SharpMath (commits d053268
- cc96b7a
). The basic stuff is implemented and working, it supports vectors, matrices, linear equation systems and expression parsing.
Additions, new UnitTests and other stuff will follow soon...