Enhanced C#
Language of your choice: library documentation
Public fields | Public static fields | Public Member Functions | Static Public Member Functions | List of all members
Loyc.Math.FPI23 Struct Reference

Fixed-point type based on Int32 with 23 fractional bits More...


Source file:
Inheritance diagram for Loyc.Math.FPI23:

Remarks

Fixed-point type based on Int32 with 23 fractional bits

Public fields

const int Frac = 23
 
const Int32 Unit = 1 << Frac
 
const Int32 MaxInt = Int32.MaxValue >> Frac
 
const Int32 MinInt = Int32.MinValue >> Frac
 
const double MaxDouble = Int32.MaxValue / (double)(1 << Frac)
 
const double MinDouble = Int32.MinValue / (double)(1 << Frac)
 
const Int32 Mask = (1 << Frac) - 1
 
Int32 N
 

Public static fields

static readonly FPI23 Zero = new FPI23()
 
static readonly FPI23 One = new FPI23(1)
 
static readonly FPI23 Epsilon = Prescaled(1)
 
static readonly FPI23 MaxValue = Prescaled(Int32.MaxValue)
 
static readonly FPI23 MinValue = Prescaled(Int32.MinValue)
 

Public Member Functions

 FPI23 (int num)
 
 FPI23 (uint num)
 
 FPI23 (long num)
 
 FPI23 (ulong num)
 
 FPI23 (double num)
 
FPI23 Abs ()
 
FPI23 Floor ()
 
FPI23 Ceiling ()
 
int CountOnes ()
 
int Log2Floor ()
 
FPI23 Sqrt ()
 
FPI23 MulDiv (FPI23 mul, FPI23 div)
 
FPI23 MulShift (FPI23 mul, int shift)
 
override bool Equals (object obj)
 
override int GetHashCode ()
 
override string ToString ()
 
int CompareTo (FPI23 other)
 
bool Equals (FPI23 other)
 
TypeCode IConvertible. GetTypeCode ()
 
bool ToBoolean (IFormatProvider provider)
 
sbyte ToSByte (IFormatProvider provider)
 
short ToInt16 (IFormatProvider provider)
 
int ToInt32 (IFormatProvider provider)
 
long ToInt64 (IFormatProvider provider)
 
byte ToByte (IFormatProvider provider)
 
ushort ToUInt16 (IFormatProvider provider)
 
uint ToUInt32 (IFormatProvider provider)
 
ulong ToUInt64 (IFormatProvider provider)
 
char ToChar (IFormatProvider provider)
 
double ToDouble (IFormatProvider provider)
 
DateTime IConvertible. ToDateTime (IFormatProvider provider)
 
decimal ToDecimal (IFormatProvider provider)
 
float ToSingle (IFormatProvider provider)
 
string IConvertible. ToString (IFormatProvider provider)
 
object IConvertible. ToType (Type conversionType, IFormatProvider provider)
 

Static Public Member Functions

static FPI23 Prescaled (Int32 n)
 
static operator FPI23 (int value)
 
static implicit operator FPI23 (sbyte value)
 
static operator FPI23 (uint value)
 
static operator FPI23 (long value)
 
static operator FPI23 (ulong value)
 
static operator FPI23 (float value)
 
static operator FPI23 (double value)
 
static operator int (FPI23 value)
 
static operator long (FPI23 value)
 
static operator uint (FPI23 value)
 
static operator ulong (FPI23 value)
 
static operator float (FPI23 value)
 
static operator double (FPI23 value)
 
static operator FPI8 (FPI23 value)
 
static operator FPI16 (FPI23 value)
 
static operator FPL16 (FPI23 value)
 
static operator FPL32 (FPI23 value)
 
static FPI23 CheckedCast (int num)
 
static FPI23 CheckedCast (uint num)
 
static FPI23 CheckedCast (long num)
 
static FPI23 CheckedCast (ulong num)
 
static FPI23 CheckedCast (double num)
 
static FPI23 FastCast (int num)
 
static FPI23 FastCast (uint num)
 
static FPI23 FastCast (long num)
 
static FPI23 FastCast (double num)
 
static FPI23 operator+ (FPI23 a, Int32 b)
 
static FPI23 operator- (FPI23 a, Int32 b)
 
static FPI23 operator* (FPI23 a, Int32 b)
 
static FPI23 operator/ (FPI23 a, Int32 b)
 
static FPI23 operator% (FPI23 a, Int32 b)
 
static FPI23 operator+ (FPI23 a, FPI23 b)
 
static FPI23 operator- (FPI23 a, FPI23 b)
 
static FPI23 operator- (FPI23 a)
 
static FPI23 operator* (FPI23 a, FPI23 b)
 
static FPI23 operator/ (FPI23 a, FPI23 b)
 
static FPI23 operator% (FPI23 a, FPI23 b)
 
static FPI23 operator<< (FPI23 a, int b)
 
static FPI23 operator>> (FPI23 a, int b)
 
static bool operator== (FPI23 a, FPI23 b)
 
static bool operator!= (FPI23 a, FPI23 b)
 
static bool operator>= (FPI23 a, FPI23 b)
 
static bool operator<= (FPI23 a, FPI23 b)
 
static bool operator> (FPI23 a, FPI23 b)
 
static bool operator< (FPI23 a, FPI23 b)
 
static bool operator== (FPI23 a, Int32 b)
 
static bool operator!= (FPI23 a, Int32 b)
 
static bool operator>= (FPI23 a, Int32 b)
 
static bool operator<= (FPI23 a, Int32 b)
 
static bool operator> (FPI23 a, Int32 b)
 
static bool operator< (FPI23 a, Int32 b)
 
static FPI23 operator& (FPI23 a, FPI23 b)
 
static FPI23 operator| (FPI23 a, FPI23 b)
 
static FPI23 operator^ (FPI23 a, FPI23 b)
 
static FPI23 operator~ (FPI23 a)
 
static FPI23 operator++ (FPI23 a)
 
static FPI23 operator-- (FPI23 a)