Enhanced C#
Language of your choice: library documentation

Documentation moved to ecsharp.net

GitHub doesn't support HTTP redirects, so you'll be redirected in 3 seconds.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Classes | Typedefs
Package Loyc.Math

Contains general-purpose math algorithms beyond what is provided in the .NET BCL (Base Class Library). Notable class: Math.MathEx. More...

Classes

struct  FPI16
 Fixed-point type based on Int32 with 16 fractional bits More...
 
struct  FPI23
 Fixed-point type based on Int32 with 23 fractional bits More...
 
struct  FPI8
 Fixed-point type based on Int32 with 8 fractional bits More...
 
struct  FPL16
 Fixed-point type based on Int64 with 16 fractional bits More...
 
struct  FPL32
 Fixed-point type based on Int64 with 32 fractional bits More...
 
interface  IAdditionGroup< T >
 This defines a Group with the operation +, the neutral element Zero, and an operation - that is defined in terms of the inverse. A Negate operation is not provided so that this interface makes more sense for use with unsigned types. More...
 
interface  IBinaryMath< T >
 Provides additional bit-oriented integer operations. More...
 
interface  IBitwise< T >
 Provides the standard set of bitwise operators. More...
 
interface  IComplexMath< T >
 Use this interface for types such as complex numbers that satisfy the field axioms but do not have a natural order. complex numbers of course do support IHasRoot. More...
 
interface  IConvertTo< T >
 Provides methods for converting common numeric types to another numeric type "T". More...
 
interface  IExp< T >
 Provides power, logarithm, raise-e-to-exponent (Exp) and logarithm-of-e (Log) operations. More...
 
interface  IField< T >
 This defines a Field with the operations +,-,*,/ More...
 
interface  IFloatMath< T >
 Provides operations available on floating-point types (float and double), including trigonometry and exponentiation. More...
 
interface  IHasRoot< T >
 Provides the Sqrt operation and its inverse, Square. More...
 
interface  IIncrementer< T >
 Provides increment, decrement, and next/previous-representable- value operations. More...
 
interface  IIntMath< T >
 Provides operations available on all unsigned integer types (byte, uint, etc.); see also IMath{T}, IIntMath{T}, and IFloatMath{T}. More...
 
interface  IMath< T >
 Provides operations available on all system numeric types (int, uint, double, etc.); see also ISignedMath{T}, IUIntMath{T}, IIntMath{T} and IFloatMath{T}. More...
 
interface  IMultiplicationGroup< T >
 This defines a Group with the operation *, the neutral element One, the inverse Inverse and an operation / that is defined in terms of the inverse. More...
 
interface  IMultiply< T >
 Provides the multiplication operation and the multiplicative identity, one. More...
 
interface  INumTraits< T >
 This interface provides information about a numeric type T. More...
 
interface  IOneProvider< T >
 Provides the value of "one" for type T. More...
 
interface  IOrdered< T >
 Provides comparison function for type T along with absolute value (Abs), and the minimum or maximum of two values (Min, Max). More...
 
interface  IRationalMath< T >
 Use this interface for floating-point, fixed-point, and rational types. Rational types support reciprocal and negation. More...
 
interface  IRing< T >
 This defines a Ring with the operations +,* More...
 
interface  ISignedMath< T >
 Provides operations available on all signed numeric types (int, double, etc.); see also IUIntMath{T}, IIntMath{T} and IFloatMath{T}. More...
 
interface  ITrigonometry< T >
 Provides trigonometry operations. More...
 
interface  IUIntMath< T >
 Provides operations available on all unsigned integer types (byte, uint, etc.); see also IMath{T}, IIntMath{T}, and IFloatMath{T}. More...
 
interface  IZeroProvider< T >
 Provides the value of "zero" for type T. More...
 
class  Math128
 Contains methods for manipulating 128-bit numbers, multiplying 64-bit numbers to produce 128-bit results, and dividing 128-bit numbers by 64-bit numbers. More...
 
struct  MathD
 Implements IFloatMath{T} for numbers of type System.Double. More...
 
class  MathEx
 Provides additional math functions that are not available in System.Math. More...
 
class  MathExtensions
 Standard extension methods for generic math interfaces such as IOrdered{T}. More...
 
struct  MathF
 Implements IFloatMath{T} for numbers of type System.Single. More...
 
struct  MathF16
 Implements IRationalMath{T} for numbers of type FPI16. More...
 
struct  MathF23
 Implements IRationalMath{T} for numbers of type FPI23. More...
 
struct  MathF8
 Implements IRationalMath{T} for numbers of type FPI8. More...
 
struct  MathFL16
 Implements IRationalMath{T} for numbers of type FPL16. More...
 
struct  MathFL32
 Implements IRationalMath{T} for numbers of type FPL32. More...
 
struct  MathI
 Implements IIntMath{T} for numbers of type System.Int32. More...
 
struct  MathI16
 Implements IIntMath{T} for numbers of type System.Int16. More...
 
struct  MathI8
 Implements IIntMath{T} for numbers of type System.SByte. More...
 
struct  MathL
 Implements IIntMath{T} for numbers of type System.Int64. More...
 
class  Maths< T >
 This class helps generic code to perform calculations on numbers of unknown type, by providing access to various math interfaces. More...
 
struct  MathU
 Implements IUIntMath{T} for numbers of type System.UInt32. More...
 
struct  MathU16
 Implements IUIntMath{T} for numbers of type System.UInt16. More...
 
struct  MathU8
 Implements IUIntMath{T} for numbers of type System.Byte. More...
 
struct  MathUL
 Implements IUIntMath{T} for numbers of type System.UInt64. More...
 

Typedefs

using T = System.SByte
 

Detailed Description

Contains general-purpose math algorithms beyond what is provided in the .NET BCL (Base Class Library). Notable class: Math.MathEx.