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
Public fields | Public static fields | Public Member Functions | Static Public Member Functions | List of all members
Loyc.Math.FPL32 Struct Reference

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


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

Remarks

Fixed-point type based on Int64 with 32 fractional bits

Public fields

const int Frac = 32
 
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 FPL32 Zero = new FPL32()
 
static readonly FPL32 One = new FPL32(1)
 
static readonly FPL32 Epsilon = Prescaled(1)
 
static readonly FPL32 MaxValue = Prescaled(Int64.MaxValue)
 
static readonly FPL32 MinValue = Prescaled(Int64.MinValue)
 

Public Member Functions

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