Implementation of rational number arithmetics for .NET, written in C#
- implicit conversions - rationals integrate seamlessly with other number types
- unlimited precision - rationals use BigInteger inside
- canonical form - each rational can have its canonical form (irreducible fraction where denominator is always positive)
- separate whole and fractional part - any rational number can be separated into a whole part (integer quotient aka result of integer division) and fractional part (reminder of the integral division aka result of modulo operation)
- comparison & equality
- multiple formatting options - ToString("C") (canonical form), ToString("W") (whole + fractional part), or normal fraction format
- continued fraction expansion - expand rational numbers to continued fraction (sequence of coefficients), construct rational numbers from sequence of continued fraction coefficients
- rational number approximation - approximate floating point numbers (decimal, double, float) as rational numbers with customizable tolerance
Rational left = (Rational) 1 / 2;
Rational right = (Rational) 1 / 4;
Rational sum = left + right; // equals to: 3 / 4
See the version list below for details.
Install-Package Rationals -Version 1.2.0
dotnet add package Rationals --version 1.2.0
<PackageReference Include="Rationals" Version="1.2.0" />
paket add Rationals --version 1.2.0
#r "nuget: Rationals, 1.2.0"
This package has no dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Rationals:
Peachpie PHP language library functions.
Clients for multiple cryptocurrency exchanges. All clients have a shared interface for common actions.
.NET implementation of radical expressions enabling radical expression arithmetic.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Rationals:
PeachPie - the PHP compiler and runtime for .NET and .NET Core