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.FPL16 Struct Reference

Fixed-point type based on Int64 with 16 fractional bits More...


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

Remarks

Fixed-point type based on Int64 with 16 fractional bits

Public fields

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

Public static fields

static readonly FPL16 Zero = new FPL16()
 
static readonly FPL16 One = new FPL16(1)
 
static readonly FPL16 Epsilon = Prescaled(1)
 
static readonly FPL16 MaxValue = Prescaled(Int64.MaxValue)
 
static readonly FPL16 MinValue = Prescaled(Int64.MinValue)
 

Public Member Functions

 FPL16 (int num)
 
 FPL16 (uint num)
 
 FPL16 (long num)
 
 FPL16 (ulong num)
 
 FPL16 (double num)
 
FPL16 Abs ()
 
FPL16 Floor ()
 
FPL16 Ceiling ()
 
int CountOnes ()
 
int Log2Floor ()
 
FPL16 Sqrt ()
 
FPL16 MulDiv (FPL16 mul, FPL16 div)
 
FPL16 MulShift (FPL16 mul, int shift)
 
override bool Equals (object obj)
 
override int GetHashCode ()
 
override string ToString ()
 
int CompareTo (FPL16 other)
 
bool Equals (FPL16 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 FPL16 Prescaled (Int64 n)
 
static implicit operator FPL16 (int value)
 
static implicit operator FPL16 (uint value)
 
static operator FPL16 (long value)
 
static operator FPL16 (ulong value)
 
static operator FPL16 (float value)
 
static operator FPL16 (double value)
 
static operator int (FPL16 value)
 
static operator long (FPL16 value)
 
static operator uint (FPL16 value)
 
static operator ulong (FPL16 value)
 
static operator float (FPL16 value)
 
static operator double (FPL16 value)
 
static operator FPI8 (FPL16 value)
 
static operator FPI16 (FPL16 value)
 
static operator FPI23 (FPL16 value)
 
static operator FPL32 (FPL16 value)
 
static FPL16 CheckedCast (long num)
 
static FPL16 CheckedCast (ulong num)
 
static FPL16 CheckedCast (double num)
 
static FPL16 FastCast (int num)
 
static FPL16 FastCast (uint num)
 
static FPL16 FastCast (long num)
 
static FPL16 FastCast (double num)
 
static FPL16 operator+ (FPL16 a, Int64 b)
 
static FPL16 operator- (FPL16 a, Int64 b)
 
static FPL16 operator* (FPL16 a, Int64 b)
 
static FPL16 operator/ (FPL16 a, Int64 b)
 
static FPL16 operator% (FPL16 a, Int64 b)
 
static FPL16 operator+ (FPL16 a, FPL16 b)
 
static FPL16 operator- (FPL16 a, FPL16 b)
 
static FPL16 operator- (FPL16 a)
 
static FPL16 operator* (FPL16 a, FPL16 b)
 
static FPL16 operator/ (FPL16 a, FPL16 b)
 
static FPL16 operator% (FPL16 a, FPL16 b)
 
static FPL16 operator<< (FPL16 a, int b)
 
static FPL16 operator>> (FPL16 a, int b)
 
static bool operator== (FPL16 a, FPL16 b)
 
static bool operator!= (FPL16 a, FPL16 b)
 
static bool operator>= (FPL16 a, FPL16 b)
 
static bool operator<= (FPL16 a, FPL16 b)
 
static bool operator> (FPL16 a, FPL16 b)
 
static bool operator< (FPL16 a, FPL16 b)
 
static bool operator== (FPL16 a, Int64 b)
 
static bool operator!= (FPL16 a, Int64 b)
 
static bool operator>= (FPL16 a, Int64 b)
 
static bool operator<= (FPL16 a, Int64 b)
 
static bool operator> (FPL16 a, Int64 b)
 
static bool operator< (FPL16 a, Int64 b)
 
static FPL16 operator& (FPL16 a, FPL16 b)
 
static FPL16 operator| (FPL16 a, FPL16 b)
 
static FPL16 operator^ (FPL16 a, FPL16 b)
 
static FPL16 operator~ (FPL16 a)
 
static FPL16 operator++ (FPL16 a)
 
static FPL16 operator-- (FPL16 a)