Enhanced C#
Language of your choice: library documentation
Properties | Public Member Functions | List of all members
Loyc.Math.INumTraits< T > Interface Template Reference

This interface provides information about a numeric type T. More...


Source file:
Inheritance diagram for Loyc.Math.INumTraits< T >:
Loyc.Math.IZeroProvider< T > Loyc.Math.IOneProvider< T > Loyc.Math.IComplexMath< T > Loyc.Math.IMath< T > Loyc.Math.ISignedMath< T > Loyc.Math.IUIntMath< T > Loyc.Math.IIntMath< T > Loyc.Math.IRationalMath< T > Loyc.Math.IFloatMath< T > Loyc.Math.MathF16 Loyc.Math.MathF23 Loyc.Math.MathF8 Loyc.Math.MathFL16 Loyc.Math.MathFL32

Remarks

This interface provides information about a numeric type T.

Template Parameters
TA numeric type

Properties

MinValue [get]
 Minimum value of this type above negative infinity. More...
 
MaxValue [get]
 Maximum value of this type below infinity. More...
 
Epsilon [get]
 Smallest representable positive value of T (1 for integer types). More...
 
PositiveInfinity [get]
 Returns positive infinity, or MaxValue for types that cannot represent infinity. More...
 
NegativeInfinity [get]
 Returns negative infinity, or throws NotSupportedException if T is unsigned. More...
 
NaN [get]
 Not-a-number or null representation for this type. More...
 
bool IsSigned [get]
 Returns true if T can represent negative values. More...
 
bool IsFloatingPoint [get]
 Returns true if T is floating-point, meaning that it can represent very large and very small numbers, despite possibly limited precision. Returns false for fixed-point and integer-rational types. More...
 
bool IsInteger [get]
 Returns true if the type represents only whole numbers. More...
 
bool IsOrdered [get]
 Returns true for "normal" numbers, false for ones that aren't necessarily comparable (notably complex numbers). More...
 
int SignificantBits [get]
 Returns the normal maximum number of significant (mantissa) bits for this type (not counting the sign bit), or int.MaxValue for unlimited-size types. More...
 
int MaxIntPowerOf2 [get]
 Returns the maximum power-of-two-minus-one that can be represented by this type, e.g. for Int32 it's 31, and for UInt32 it's 32. More...
 
ulong MaxInt [get]
 Returns the maximum integer that this type can represent. More...
 
long MinInt [get]
 Returns the minimum integer that this type can represent. More...
 
- Properties inherited from Loyc.Math.IZeroProvider< T >
Zero [get]
 Returns the "zero" or additive identity of this type. More...
 
- Properties inherited from Loyc.Math.IOneProvider< T >
One [get]
 Returns the "one" or identity value of this type. More...
 

Public Member Functions

bool IsInfinity (T value)
 Returns true if the given value is infinite. More...
 
bool IsNaN (T value)
 Returns true if the given value is not a number (can only be true for floats). More...
 
Floor (T value)
 Gets the closest integer equal to or lower than the specified number. More...
 
Ceiling (T value)
 Gets the closest integer equal to or higher than the specified number. More...
 

Member Function Documentation

T Loyc.Math.INumTraits< T >.Ceiling ( value)

Gets the closest integer equal to or higher than the specified number.

For integer types, this has no effect.

Implemented in Loyc.Math.MathFL32, Loyc.Math.MathFL16, Loyc.Math.MathF23, Loyc.Math.MathF16, and Loyc.Math.MathF8.

T Loyc.Math.INumTraits< T >.Floor ( value)

Gets the closest integer equal to or lower than the specified number.

For integer types, this has no effect.

Implemented in Loyc.Math.MathFL32, Loyc.Math.MathFL16, Loyc.Math.MathF23, Loyc.Math.MathF16, and Loyc.Math.MathF8.

bool Loyc.Math.INumTraits< T >.IsInfinity ( value)

Returns true if the given value is infinite.

Types that do not have an infinity value always return false from this method.

Implemented in Loyc.Math.MathFL32, Loyc.Math.MathFL16, Loyc.Math.MathF23, Loyc.Math.MathF16, and Loyc.Math.MathF8.

bool Loyc.Math.INumTraits< T >.IsNaN ( value)

Returns true if the given value is not a number (can only be true for floats).

Implemented in Loyc.Math.MathFL32, Loyc.Math.MathFL16, Loyc.Math.MathF23, Loyc.Math.MathF16, and Loyc.Math.MathF8.

Property Documentation

T Loyc.Math.INumTraits< T >.Epsilon
get

Smallest representable positive value of T (1 for integer types).

bool Loyc.Math.INumTraits< T >.IsFloatingPoint
get

Returns true if T is floating-point, meaning that it can represent very large and very small numbers, despite possibly limited precision. Returns false for fixed-point and integer-rational types.

bool Loyc.Math.INumTraits< T >.IsInteger
get

Returns true if the type represents only whole numbers.

bool Loyc.Math.INumTraits< T >.IsOrdered
get

Returns true for "normal" numbers, false for ones that aren't necessarily comparable (notably complex numbers).

bool Loyc.Math.INumTraits< T >.IsSigned
get

Returns true if T can represent negative values.

ulong Loyc.Math.INumTraits< T >.MaxInt
get

Returns the maximum integer that this type can represent.

If the maximum integer exceeds ulong.MaxValue, this returns ulong.MaxValue.

int Loyc.Math.INumTraits< T >.MaxIntPowerOf2
get

Returns the maximum power-of-two-minus-one that can be represented by this type, e.g. for Int32 it's 31, and for UInt32 it's 32.

T Loyc.Math.INumTraits< T >.MaxValue
get

Maximum value of this type below infinity.

long Loyc.Math.INumTraits< T >.MinInt
get

Returns the minimum integer that this type can represent.

If the minimum is less than long.MinValue, this returns long.MinValue.

T Loyc.Math.INumTraits< T >.MinValue
get

Minimum value of this type above negative infinity.

T Loyc.Math.INumTraits< T >.NaN
get

Not-a-number or null representation for this type.

Exceptions
NotSupportedExceptionThere is no null or NaN value for type T.
T Loyc.Math.INumTraits< T >.NegativeInfinity
get

Returns negative infinity, or throws NotSupportedException if T is unsigned.

Exceptions
NotSupportedExceptionT is unsigned.
T Loyc.Math.INumTraits< T >.PositiveInfinity
get

Returns positive infinity, or MaxValue for types that cannot represent infinity.

int Loyc.Math.INumTraits< T >.SignificantBits
get

Returns the normal maximum number of significant (mantissa) bits for this type (not counting the sign bit), or int.MaxValue for unlimited-size types.