Enhanced C#
Language of your choice: library documentation
Classes | Typedefs
Loyc.Math Namespace Reference

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
 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
 Provides additional bit-oriented integer operations. More...
 
interface  IBitwise
 Provides the standard set of bitwise operators. More...
 
interface  IComplexMath
 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
 Provides methods for converting common numeric types to another numeric type "T". More...
 
interface  IExp
 Provides power, logarithm, raise-e-to-exponent (Exp) and logarithm-of-e (Log) operations. More...
 
interface  IField
 This defines a Field with the operations +,-,*,/ More...
 
interface  IFloatMath
 Provides operations available on floating-point types (float and double), including trigonometry and exponentiation. More...
 
interface  IHasRoot
 Provides the Sqrt operation and its inverse, Square. More...
 
interface  IIncrementer
 Provides increment, decrement, and next/previous-representable- value operations. More...
 
interface  IIntMath
 Provides operations available on all unsigned integer types (byte, uint, etc.); see also IMath<T>, IIntMath<T>, and IFloatMath<T>. More...
 
interface  IMath
 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
 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
 Provides the multiplication operation and the multiplicative identity, one. More...
 
interface  INumTraits
 This interface provides information about a numeric type T. More...
 
interface  IOneProvider
 Provides the value of "one" for type T. More...
 
interface  IOrdered
 Provides comparison function for type T along with absolute value (Abs), and the minimum or maximum of two values (Min, Max). More...
 
interface  IRationalMath
 Use this interface for floating-point, fixed-point, and rational types. Rational types support reciprocal and negation. More...
 
interface  IRing
 This defines a Ring with the operations +,* More...
 
interface  ISignedMath
 Provides operations available on all signed numeric types (int, double, etc.); see also IUIntMath<T>, IIntMath<T> and IFloatMath<T>. More...
 
interface  ITrigonometry
 Provides trigonometry operations. More...
 
interface  IUIntMath
 Provides operations available on all unsigned integer types (byte, uint, etc.); see also IMath<T>, IIntMath<T>, and IFloatMath<T>. More...
 
interface  IZeroProvider
 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
 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.