diff --git a/README.md b/README.md index a06a52676..64971fd4c 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Note: The WPF application (xFunc UI) was migrated to a separate repository [xFun * statistical: `sum(a, b, c)`, `avg(a, b, c)`, etc. * bitwise operators: `x or y`, `x and y`, etc. * units: `90 'deg'` - angles, `10 'm'` - length, `10 'min'` - time, etc. - * lambdas: `f := (x) => x ^ 2`, `(f := (x) => x ^ 2)(3)`, `curry(f)`, etc. + * lambdas: `f := (x) => x ^ 2`, `((x) => x ^ 2)(3)`, `curry(f)`, etc. * Derivative calculation; * Simplify expressions ([simplification rules](https://sys27.github.io/xFunc/articles/simplification-rules.html)); * Supported Framework: .NET 6+; diff --git a/docs/articles/supported-functions-and-operations.md b/docs/articles/supported-functions-and-operations.md index 855f498dc..99efecfb3 100644 --- a/docs/articles/supported-functions-and-operations.md +++ b/docs/articles/supported-functions-and-operations.md @@ -1,179 +1,178 @@ ### Common -| Function (Operation) | Class | Alternative input | Remarks | -|-----------------------|---------------------------------------------------------------------------------------------------|-----------------------------------------|-----------------------------------------------------------------| -| abs(x) | [Abs.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Abs.cs) | | | -| x + y | [Add.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Add.cs) | add(x, y) | | -| ceil(x) | [Ceil.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Ceil.cs) | | | -| name := value | [Assign.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Assign.cs) | f := (x) => sin(x), assign(name, value) | | -| deriv(f*, var, point) | [Derivate.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Derivate.cs) | derivative(f*, var, point) | * - is required parameter. Defaults: var = "x", point = null. | -| x / y | [Div.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Div.cs) | div(x, y) | | -| exp(x) | [Exp.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Exp.cs) | e^x | | -| x! | [Fact.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Fact.cs) | fact(x) | | -| floor(x) | [Floor.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Floor.cs) | | | -| frac(x) | [Frac.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Frac.cs) | | | -| gcd(x, y) | [GCD.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/GCD.cs) | gcf(x, y); hcf(x, y) | Also you can use more than 2 parameters. Example: gcd(4, 8, 16) | -| lb(x) | [Lb.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Lb.cs) | log2(x) | | -| lcm(x, y) | [LCM.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/LCM.cs) | scm(x, y) | Also you can use more than 2 parameters. Example: lcm(4, 8, 16) | -| lg(x) | [Lg.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Lg.cs) | | | -| ln(x) | [Ln.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Ln.cs) | | | -| log(base, x) | [Log.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Log.cs) | | | -| x % y | [Mod.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Mod.cs) | mod(x, y) | | -| x * y | [Mul.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Mul.cs) | mul(x, y) | | -| x ^ y | [Pow.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Pow.cs) | pow(x, y) | | -| root(x) | [Root.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Root.cs) | | | -| round(x, y) | [Round.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Round.cs) | | y - is optional | -| simplify(exp) | [Simplify.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Simplify.cs) | | | -| sqrt(x) | [Sqrt.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Sqrt.cs) | | | -| trunc(x) | [Trunc.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trunc.cs) | truncate(x) | | -| x - y | [Sub.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Sub.cs) | sub(x, y) | | -| -x | [UnaryMinus.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/UnaryMinus.cs) | | | -| unassign(name) | [Unassign.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Unassign.cs) | | | -| sign(x) | [Sign.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Sign.cs) | | | -| tobin(x) | [ToBin.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ToBin.cs) | | | -| tooct(x) | [ToOct.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ToOct.cs) | | | -| tohex(x) | [ToHex.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ToHex.cs) | | | -| convert(x, 'unit') | [Convert.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Units/Convert.cs) | | | -| tonumber(x) | [ToNumber.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Angles/ToNumber.cs) | | converts any unit to a number | -| a // b | [Rational.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Rational.cs) | | | +| Function (Operation) | Class | Alternative input | Remarks | +| --------------------- | -------------------------------------------------------------- | --------------------------------------- | --------------------------------------------------------------- | +| abs(x) | [Abs.cs](../api/xFunc.Maths.Expressions.Abs.yml) | | | +| x + y | [Add.cs](../api/xFunc.Maths.Expressions.Add.yml) | add(x, y) | | +| ceil(x) | [Ceil.cs](../api/xFunc.Maths.Expressions.Ceil.yml) | | | +| name := value | [Assign.cs](../api/xFunc.Maths.Expressions.Assign.yml) | f := (x) => sin(x), assign(name, value) | | +| deriv(f*, var, point) | [Derivate.cs](../api/xFunc.Maths.Expressions.Derivative.yml) | derivative(f*, var, point) | * - is required parameter. Defaults: var = "x", point = null. | +| x / y | [Div.cs](../api/xFunc.Maths.Expressions.Div.yml) | div(x, y) | | +| exp(x) | [Exp.cs](../api/xFunc.Maths.Expressions.Exp.yml) | e^x | | +| x! | [Fact.cs](../api/xFunc.Maths.Expressions.Frac.yml) | fact(x) | | +| floor(x) | [Floor.cs](../api/xFunc.Maths.Expressions.Floor.yml) | | | +| frac(x) | [Frac.cs](../api/xFunc.Maths.Expressions.Frac.yml) | | | +| gcd(x, y) | [GCD.cs](../api/xFunc.Maths.Expressions.GCD.yml) | gcf(x, y); hcf(x, y) | Also you can use more than 2 parameters. Example: gcd(4, 8, 16) | +| lb(x) | [Lb.cs](../api/xFunc.Maths.Expressions.Lb.yml) | log2(x) | | +| lcm(x, y) | [LCM.cs](../api/xFunc.Maths.Expressions.LCM.yml) | scm(x, y) | Also you can use more than 2 parameters. Example: lcm(4, 8, 16) | +| lg(x) | [Lg.cs](../api/xFunc.Maths.Expressions.Lg.yml) | | | +| ln(x) | [Ln.cs](../api/xFunc.Maths.Expressions.Ln.yml) | | | +| log(base, x) | [Log.cs](../api/xFunc.Maths.Expressions.Log.yml) | | | +| x % y | [Mod.cs](../api/xFunc.Maths.Expressions.Mod.yml) | mod(x, y) | | +| x * y | [Mul.cs](../api/xFunc.Maths.Expressions.Mul.yml) | mul(x, y) | | +| x ^ y | [Pow.cs](../api/xFunc.Maths.Expressions.Pow.yml) | pow(x, y) | | +| root(x) | [Root.cs](../api/xFunc.Maths.Expressions.Root.yml) | | | +| round(x, y) | [Round.cs](../api/xFunc.Maths.Expressions.Round.yml) | | y - is optional | +| simplify(exp) | [Simplify.cs](../api/xFunc.Maths.Expressions.Simplify.yml) | | | +| sqrt(x) | [Sqrt.cs](../api/xFunc.Maths.Expressions.Sqrt.yml) | | | +| trunc(x) | [Trunc.cs](../api/xFunc.Maths.Expressions.Trunc.yml) | truncate(x) | | +| x - y | [Sub.cs](../api/xFunc.Maths.Expressions.Sub.yml) | sub(x, y) | | +| -x | [UnaryMinus.cs](../api/xFunc.Maths.Expressions.UnaryMinus.yml) | | | +| unassign(name) | [Unassign.cs](../api/xFunc.Maths.Expressions.Unassign.yml) | | | +| sign(x) | [Sign.cs](../api/xFunc.Maths.Expressions.Sign.yml) | | | +| tobin(x) | [ToBin.cs](../api/xFunc.Maths.Expressions.ToBin.yml) | | | +| tooct(x) | [ToOct.cs](../api/xFunc.Maths.Expressions.ToOct.yml) | | | +| tohex(x) | [ToHex.cs](../api/xFunc.Maths.Expressions.ToHex.yml) | | | +| tonumber(x) | [ToNumber.cs](../api/xFunc.Maths.Expressions.ToNumber.yml) | | converts any unit to a number | +| a // b | [Rational.cs](../api/xFunc.Maths.Expressions.ToRational.yml) | | | ### Angle -| Function | Class | Alternative input | -|-----------|---------------------------------------------------------------------------------------------------------|---------------------------| -| x 'rad' | [AngleNumber.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Angles/AngleNumber.cs) | x 'radian', x 'radians' | -| x 'deg' | [AngleNumber.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Angles/AngleNumber.cs) | x 'degree', x 'degrees' | -| x 'grad' | [AngleNumber.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Angles/AngleNumber.cs) | x 'gradian', x 'gradians' | -| todeg(x) | [ToDegree.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Angles/ToDegree.cs) | todegree(x) | -| torad(x) | [ToRadian.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Angles/ToRadian.cs) | toradian(x) | -| tograd(x) | [ToGradian.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Angles/ToGradian.cs) | togradian(x) | +| Function | Class | Alternative input | +| --------- | ------------------------------------------------------------------------------- | ------------------------- | +| x 'rad' | [AngleValue.cs](../api/xFunc.Maths.Expressions.Units.AngleUnits.AngleValue.yml) | x 'radian', x 'radians' | +| x 'deg' | [AngleValue.cs](../api/xFunc.Maths.Expressions.Units.AngleUnits.AngleValue.yml) | x 'degree', x 'degrees' | +| x 'grad' | [AngleValue.cs](../api/xFunc.Maths.Expressions.Units.AngleUnits.AngleValue.yml) | x 'gradian', x 'gradians' | +| todeg(x) | [ToDegree.cs](../api/xFunc.Maths.Expressions.Units.AngleUnits.ToDegree.yml) | todegree(x) | +| torad(x) | [ToRadian.cs](../api/xFunc.Maths.Expressions.Units.AngleUnits.ToRadian.yml) | toradian(x) | +| tograd(x) | [ToGradian.cs](../api/xFunc.Maths.Expressions.Units.AngleUnits.ToGradian.yml) | togradian(x) | ### Trigonometric and inverse -| Function | Class | Alternative input | -|-----------|------------------------------------------------------------------------------------------------------|-------------------| -| sin(x) | [Sin.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Sin.cs) | | -| cos(x) | [Cos.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Cos.cs) | | -| tan(x) | [Tan.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Tan.cs) | tg(x) | -| cot(x) | [Cot.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Cot.cs) | ctg(x) | -| sec(x) | [Sec.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Sec.cs) | | -| csc(x) | [Csc.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Csc.cs) | cosec(x) | -| arcsin(x) | [Arcsin.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Arcsin.cs) | | -| arccos(x) | [Arccos.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Arccos.cs) | | -| arctan(x) | [Arctan.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Arctan.cs) | arctg(x) | -| arccot(x) | [Arccot.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Arccot.cs) | arcctg(x) | -| arcsec(x) | [Arcsec.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Arcsec.cs) | | -| arccsc(x) | [Arccsc.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Trigonometric/Arccsc.cs) | arccosec(x) | +| Function | Class | Alternative input | +| --------- | -------------------------------------------------------------------- | ----------------- | +| sin(x) | [Sin.cs](../api/xFunc.Maths.Expressions.Trigonometric.Sin.yml) | | +| cos(x) | [Cos.cs](../api/xFunc.Maths.Expressions.Trigonometric.Cos.yml) | | +| tan(x) | [Tan.cs](../api/xFunc.Maths.Expressions.Trigonometric.Tan.yml) | tg(x) | +| cot(x) | [Cot.cs](../api/xFunc.Maths.Expressions.Trigonometric.Cot.yml) | ctg(x) | +| sec(x) | [Sec.cs](../api/xFunc.Maths.Expressions.Trigonometric.Sec.yml) | | +| csc(x) | [Csc.cs](../api/xFunc.Maths.Expressions.Trigonometric.Csc.yml) | cosec(x) | +| arcsin(x) | [Arcsin.cs](../api/xFunc.Maths.Expressions.Trigonometric.Arcsin.yml) | | +| arccos(x) | [Arccos.cs](../api/xFunc.Maths.Expressions.Trigonometric.Arccos.yml) | | +| arctan(x) | [Arctan.cs](../api/xFunc.Maths.Expressions.Trigonometric.Arctan.yml) | arctg(x) | +| arccot(x) | [Arccot.cs](../api/xFunc.Maths.Expressions.Trigonometric.Arccot.yml) | arcctg(x) | +| arcsec(x) | [Arcsec.cs](../api/xFunc.Maths.Expressions.Trigonometric.Arcsec.yml) | | +| arccsc(x) | [Arccsc.cs](../api/xFunc.Maths.Expressions.Trigonometric.Arccsc.yml) | arccosec(x) | ### Hyperbolic and inverse -| Function | Class | Alternative input | -|-----------|----------------------------------------------------------------------------------------------------|-------------------| -| sinh(x) | [Sinh.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Sinh.cs) | sh(x) | -| cosh(x) | [Cosh.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Cosh.cs) | ch(x) | -| tanh(x) | [Tanh.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Tanh.cs) | th(x) | -| coth(x) | [Coth.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Coth.cs) | cth(x) | -| sech(x) | [Sech.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Sech.cs) | | -| csch(x) | [Csch.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Csch.cs) | | -| arsinh(x) | [Arcsinh.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Arsinh.cs) | arsh(x) | -| arcosh(x) | [Arccosh.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Arcosh.cs) | arch(x) | -| artanh(x) | [Arctanh.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Artanh.cs) | arth(x) | -| arcoth(x) | [Arccoth.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Arcoth.cs) | arcth(x) | -| arsech(x) | [Arcsech.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Arsech.cs) | | -| arcsch(x) | [Arccsch.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Hyperbolic/Arcsch.cs) | | +| Function | Class | Alternative input | +| --------- | ----------------------------------------------------------------- | ----------------- | +| sinh(x) | [Sinh.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Sinh.yml) | sh(x) | +| cosh(x) | [Cosh.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Cosh.yml) | ch(x) | +| tanh(x) | [Tanh.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Tanh.yml) | th(x) | +| coth(x) | [Coth.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Coth.yml) | cth(x) | +| sech(x) | [Sech.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Sech.yml) | | +| csch(x) | [Csch.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Csch.yml) | | +| arsinh(x) | [Arsinh.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Arsinh.yml) | arsh(x) | +| arcosh(x) | [Arcosh.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Arcosh.yml) | arch(x) | +| artanh(x) | [Artanh.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Artanh.yml) | arth(x) | +| arcoth(x) | [Arcoth.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Arcoth.yml) | arcth(x) | +| arsech(x) | [Arsech.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Arsech.yml) | | +| arcsch(x) | [Arcsch.cs](../api/xFunc.Maths.Expressions.Hyperbolic.Arcsch.yml) | | ### Complex Numbers -| Function (Operation) | Class | Alternative input | -|----------------------|---------------------------------------------------------------------------------------------------------------|-------------------| -| a + bi | [ComplexNumber.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/ComplexNumbers/ComplexNumber.cs) | ∠a + b° | -| conjugate(x) | [Conjugate.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ComplexNumbers/Conjugate.cs) | | -| im(x) | [Im.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ComplexNumbers/Im.cs) | imaginary(x) | -| phase(x) | [Phase.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ComplexNumbers/Phase.cs) | | -| re(x) | [Re.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ComplexNumbers/Re.cs) | real(x) | -| reciprocal(x) | [Reciprocal.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ComplexNumbers/Reciprocal.cs) | | -| tocomplex(x) | [ToComplex.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/ComplexNumbers/ToComplex.cs) | | +| Function (Operation) | Class | Alternative input | +| -------------------- | ----------------------------------------------------------------------------------- | ----------------- | +| a + bi | [ComplexNumber.cs](../api/xFunc.Maths.Expressions.ComplexNumbers.ComplexNumber.yml) | ∠a + b° | +| conjugate(x) | [Conjugate.cs](../api/xFunc.Maths.Expressions.ComplexNumbers.Conjugate.yml) | | +| im(x) | [Im.cs](../api/xFunc.Maths.Expressions.ComplexNumbers.Im.yml) | imaginary(x) | +| phase(x) | [Phase.cs](../api/xFunc.Maths.Expressions.ComplexNumbers.Phase.yml) | | +| re(x) | [Re.cs](../api/xFunc.Maths.Expressions.ComplexNumbers.Re.yml) | real(x) | +| reciprocal(x) | [Reciprocal.cs](../api/xFunc.Maths.Expressions.ComplexNumbers.Reciprocal.yml) | | +| tocomplex(x) | [ToComplex.cs](../api/xFunc.Maths.Expressions.ComplexNumbers.ToComplex.yml) | | ### Matrix -| Function | Class | Alternative input | -|--------------------------|-----------------------------------------------------------------------------------------------------------|-------------------| -| {exp, exp} | [Vector.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Matrices/Vector.cs) | | -| {{exp, exp}, {exp, exp}} | [Matrix.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Matrices/Matrix.cs) | | -| determinant(matrix) | [Determinant.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Matrices/Determinant.cs) | det(matrix) | -| transpose(matrix/vector) | [Transpose.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Matrices/Transpose.cs) | | -| inverse(matrix) | [Inverse.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Matrices/Inverse.cs) | | +| Function | Class | Alternative input | +| ------------------------ | ------------------------------------------------------------------------- | ----------------- | +| {exp, exp} | [Vector.cs](../api/xFunc.Maths.Expressions.Matrices.Vector.yml) | | +| {{exp, exp}, {exp, exp}} | [Matrix.cs](../api/xFunc.Maths.Expressions.Matrices.Matrix.yml) | | +| determinant(matrix) | [Determinant.cs](../api/xFunc.Maths.Expressions.Matrices.Determinant.yml) | det(matrix) | +| transpose(matrix/vector) | [Transpose.cs](../api/xFunc.Maths.Expressions.Matrices.Transpose.yml) | | +| inverse(matrix) | [Inverse.cs](../api/xFunc.Maths.Expressions.Matrices.Inverse.yml) | | ### Statistical -| Function (Operation) | Class | Alternative input | -|----------------------|------------------------------------------------------------------------------------------------------|-------------------| -| avg(params...) | [Avg.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Avg.cs) | avg({vector}) | -| min(params...) | [Min.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Min.cs) | min({vector}) | -| max(params...) | [Max.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Max.cs) | max({vector}) | -| product(params...) | [Product.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Product.cs) | product({vector}) | -| stdev(params...) | [Stdev.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Stdev.cs) | stdev({vector}) | -| stdevp(params...) | [Stdevp.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Stdevp.cs) | stdevp({vector}) | -| sum(params...) | [Sum.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Sum.cs) | sum({vector}) | -| var(params...) | [Var.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Var.cs) | var({vector}) | -| varp(params...) | [Varp.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Statistical/Varp.cs) | varp({vector}) | +| Function (Operation) | Class | Alternative input | +| -------------------- | -------------------------------------------------------------------- | ----------------- | +| avg(params...) | [Avg.cs](../api/xFunc.Maths.Expressions.Statistical.Avg.yml) | avg({vector}) | +| min(params...) | [Min.cs](../api/xFunc.Maths.Expressions.Statistical.Min.yml) | min({vector}) | +| max(params...) | [Max.cs](../api/xFunc.Maths.Expressions.Statistical.Max.yml) | max({vector}) | +| product(params...) | [Product.cs](../api/xFunc.Maths.Expressions.Statistical.Product.yml) | product({vector}) | +| stdev(params...) | [Stdev.cs](../api/xFunc.Maths.Expressions.Statistical.Stdev.yml) | stdev({vector}) | +| stdevp(params...) | [Stdevp.cs](../api/xFunc.Maths.Expressions.Statistical.Stdevp.yml) | stdevp({vector}) | +| sum(params...) | [Sum.cs](../api/xFunc.Maths.Expressions.Statistical.Sum.yml) | sum({vector}) | +| var(params...) | [Var.cs](../api/xFunc.Maths.Expressions.Statistical.Var.yml) | var({vector}) | +| varp(params...) | [Varp.cs](../api/xFunc.Maths.Expressions.Statistical.Varp.yml) | varp({vector}) | ### Bitwise And Logical -| Function (Operation) | Class | Alternative input | -|----------------------|---------------------------------------------------------------------------------------------------|-------------------| -| not(x) | [Not.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Bitwise/Not.cs) | ~x | -| x and y | [And.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Bitwise/And.cs) | x & y | -| x or y | [Or.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Bitwise/Or.cs) | x | y | -| x xor y | [XOr.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Bitwise/XOr.cs) | | -| x eq y | [Equality.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Logics/Expressions/Equality.cs) | | -| x impl y | [Implication.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Logics/Expressions/Implication.cs) | | -| x nand y | [NAnd.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Logics/Expressions/NAnd.cs) | | -| x nor y | [NOr.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Logics/Expressions/NOr.cs) | | +| Function (Operation) | Class | Alternative input | +| -------------------- | ---------------------------------------------------------------------------------- | ----------------- | +| not(x) | [Not.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.Not.yml) | ~x | +| x and y | [And.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.And.yml) | x & y | +| x or y | [Or.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.Or.yml) | x | y | +| x xor y | [XOr.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.XOr.yml) | | +| x eq y | [Equality.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.Equality.yml) | | +| x impl y | [Implication.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.Implication.yml) | | +| x nand y | [NAnd.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.NAnd.yml) | | +| x nor y | [NOr.cs](../api/xFunc.Maths.Expressions.LogicalAndBitwise.NOr.yml) | | ### Programming -| Function (Operation) | Class | Alternative input | -|-----------------------------|---------------------------------------------------------------------------------------------------------------------------|-------------------| -| += | [AddAssign.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/AddAssign.cs) | | -| && | [And.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/And.cs) | | -| -- | [Dec.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/Dec.cs) | | -| /= | [DivAssign.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/DivAssign.cs) | | -| == | [Equal.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/Equal.cs) | | -| for(body, init, cond, iter) | [For.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/For.cs) | | -| >= | [GreaterOrEqual.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/GreaterOrEqual.cs) | | -| > | [GreaterThan.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/GreaterThan.cs) | | -| if(cond, than, else) | [If.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/If.cs) | if(cond, than) | -| ++ | [Inc.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/Inc.cs) | | -| <= | [LessOrEqual.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/LessOrEqual.cs) | | -| < | [LessThan.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/LessThan.cs) | | -| *= | [MulAssign.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/MulAssign.cs) | | -| != | [NotEqual.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/NotEqual.cs) | | -| || | [Or.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/Or.cs) | | -| -= | [SubAssign.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/SubAssign.cs) | | -| while(body, cond) | [While.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/While.cs) | | -| x << y | [LeftShift.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/LeftShift.cs) | | -| x >> y | [RightShift.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/RightShift.cs) | | -| x <<= y | [LeftShiftAssign.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/LeftShiftAssign.cs) | | -| x >>= y | [RightShiftAssign.cs](https://github.com/sys27/xFunc/tree/master/xFunc.Maths/Expressions/Programming/RightShiftAssign.cs) | | +| Function (Operation) | Class | Alternative input | +| --------------------------- | -------------------------------------------------------------------------------------- | ----------------- | +| += | [AddAssign.cs](../api/xFunc.Maths.Expressions.Programming.AddAssign.yml) | | +| && | [ConditionalAnd.cs](../api/xFunc.Maths.Expressions.Programming.ConditionalAnd.yml) | | +| -- | [Dec.cs](../api/xFunc.Maths.Expressions.Programming.Dec.yml) | | +| /= | [DivAssign.cs](../api/xFunc.Maths.Expressions.Programming.DivAssign.yml) | | +| == | [Equal.cs](../api/xFunc.Maths.Expressions.Programming.Equal.yml) | | +| for(body, init, cond, iter) | [For.cs](../api/xFunc.Maths.Expressions.Programming.For.yml) | | +| >= | [GreaterOrEqual.cs](../api/xFunc.Maths.Expressions.Programming.GreaterOrEqual.yml) | | +| > | [GreaterThan.cs](../api/xFunc.Maths.Expressions.Programming.GreaterThan.yml) | | +| if(cond, than, else) | [If.cs](../api/xFunc.Maths.Expressions.Programming.If.yml) | if(cond, than) | +| ++ | [Inc.cs](../api/xFunc.Maths.Expressions.Programming.Inc.yml) | | +| <= | [LessOrEqual.cs](../api/xFunc.Maths.Expressions.Programming.LessOrEqual.yml) | | +| < | [LessThan.cs](../api/xFunc.Maths.Expressions.Programming.LessThan.yml) | | +| *= | [MulAssign.cs](../api/xFunc.Maths.Expressions.Programming.MulAssign.yml) | | +| != | [NotEqual.cs](../api/xFunc.Maths.Expressions.Programming.NotEqual.yml) | | +| || | [ConditionalOr.cs](../api/xFunc.Maths.Expressions.Programming.ConditionalOr.yml) | | +| -= | [SubAssign.cs](../api/xFunc.Maths.Expressions.Programming.SubAssign.yml) | | +| while(body, cond) | [While.cs](../api/xFunc.Maths.Expressions.Programming.While.yml) | | +| x << y | [LeftShift.cs](../api/xFunc.Maths.Expressions.Programming.LeftShift.yml) | | +| x >> y | [RightShift.cs](../api/xFunc.Maths.Expressions.Programming.RightShift.yml) | | +| x <<= y | [LeftShiftAssign.cs](../api/xFunc.Maths.Expressions.Programming.LeftShiftAssign.yml) | | +| x >>= y | [RightShiftAssign.cs](../api/xFunc.Maths.Expressions.Programming.RightShiftAssign.yml) | | ### Units -| Name | Class | Example | -|-------------|--------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------| -| length | [LengthUnits/*](https://github.com/sys27/xFunc/tree/dev/xFunc.Maths/Expressions/Units/LengthUnits) | `nm`, `µm`, `mm`, `cm`, `m`, `km`, `in`, `ft`, `yd`, `mi`, `nmi`, `chains`, `rods`, `au`, `ly`, `pc` | -| area | [AreaUnits/*](https://github.com/sys27/xFunc/tree/dev/xFunc.Maths/Expressions/Units/AreaUnits) | `1 mm^2`, `1 cm^2`, `1 m^2`, `1 km^2`, `1 ha`, `1 in^2`, `1 ft^2`, `1 yd^2`, `1 ac^2`, `1 mi^2` | -| volume | [VolumeUnits/*](https://github.com/sys27/xFunc/tree/dev/xFunc.Maths/Expressions/Units/VolumeUnits) | `cm³`, `m³`, `l`, `in³`, `gal`, `ft³`, `yd³` | -| mass | [MassUnits/*](https://github.com/sys27/xFunc/tree/dev/xFunc.Maths/Expressions/Units/MassUnits) | `mg`, `g`, `kg`, `lb`, `t`, `oz` | -| power | [PowerUnits/*](https://github.com/sys27/xFunc/tree/dev/xFunc.Maths/Expressions/Units/PowerUnits) | `W`, `kW`, `hp` | -| time | [TimeUnits/*](https://github.com/sys27/xFunc/tree/dev/xFunc.Maths/Expressions/Units/TimeUnits) | `μs`, `ms`, `s`, `min`, `hr`, `days`, `weeks`, `years`, `ns` | -| temperature | [TemperatureUnits/*](https://github.com/sys27/xFunc/tree/dev/xFunc.Maths/Expressions/Units/TemperatureUnits) | `°C`, `°F`, `K` | -| convert | [Convert.cs](https://github.com/sys27/xFunc/blob/dev/xFunc.Maths/Expressions/Units/Convert.cs) | `convert(10km, 'm')` | +| Name | Class | Example | +| ----------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| length | [LengthUnits/*](../api/xFunc.Maths.Expressions.Units.LengthUnits.yml) | `nm`, `µm`, `mm`, `cm`, `m`, `km`, `in`, `ft`, `yd`, `mi`, `nmi`, `chains`, `rods`, `au`, `ly`, `pc` | +| area | [AreaUnits/*](../api/xFunc.Maths.Expressions.Units.AreaUnits.yml) | `1 mm^2`, `1 cm^2`, `1 m^2`, `1 km^2`, `1 ha`, `1 in^2`, `1 ft^2`, `1 yd^2`, `1 ac^2`, `1 mi^2` | +| volume | [VolumeUnits/*](../api/xFunc.Maths.Expressions.Units.VolumeUnits.yml) | `cm³`, `m³`, `l`, `in³`, `gal`, `ft³`, `yd³` | +| mass | [MassUnits/*](../api/xFunc.Maths.Expressions.Units.MassUnits.yml) | `mg`, `g`, `kg`, `lb`, `t`, `oz` | +| power | [PowerUnits/*](../api/xFunc.Maths.Expressions.Units.PowerUnits.yml) | `W`, `kW`, `hp` | +| time | [TimeUnits/*](../api/xFunc.Maths.Expressions.Units.TimeUnits.yml) | `μs`, `ms`, `s`, `min`, `hr`, `days`, `weeks`, `years`, `ns` | +| temperature | [TemperatureUnits/*](../api/xFunc.Maths.Expressions.Units.TemperatureUnits.yml) | `°C`, `°F`, `K` | +| convert | [Convert.cs](../api/xFunc.Maths.Expressions.Units.Convert.yml) | `convert(10km, 'm')` | ### Constants -| Name | Value | Alternative name | -|------|---------------------------|------------------| -| pi | Math.Pi | π | -| e | Math.E | exp(x) | -| i | Complex.ImaginaryOne | | \ No newline at end of file +| Name | Value | Alternative name | +| ---- | -------------------- | ---------------- | +| pi | Math.Pi | π | +| e | Math.E | exp(x) | +| i | Complex.ImaginaryOne | | \ No newline at end of file