NumberParser Code >
Custom mathematical functionalities
includes all the mathematical functionalities of NumberParser, divided into the following two main groups:
- Non-natively-supported implementations, which I developed from scratch and are analysed below. All this code is stored in the files and folders including "New" in their names.
NumberD-adapted versions of the .NET native
System.Math methods, which are discussed in the next section. These implementations are included in the "Existing" files and folder.
contains the following custom methods:
decimal-based methods are more accurate and support higher precisions/ranges (i.e., up to 26 decimal digits and over ±10^2147483647) than their native floating-point counterparts (i.e.,
Project 10 analyses both algorithms and the underlying calculation approach in detail.
TruncateExact. They extend
Truncate functionalities by bringing into account new scenarios (e.g., rounding/truncating before/after the decimal point via
RoundSeparator) or by complementing existing ones (e.g.,
RoundType.MidpointToZero, an eventuality not accounted by the native
Note that the structure of these two methods was an output of one of my CoreFX issues.
ApplyPolynomialFit. These methods calculate (least squares) and apply the coefficients of a second degree polynomial fit.
GetPolynomialFit returns a
Polynomial variable with the coefficients best fitting the training x/y arrays. This output, together with the dependent value associated with the result to be calculated, is taken by
ApplyPolynomial to perform the corresponding calculations (i.e., A + B*x + C*x^2).
Factorial. It calculates the factorial of any positive integer number up to 99999.