public F64 Sqrt() { return(FromRaw(Fixed64.Sqrt(raw))); }
public F64 Round() { return(FromRaw(Fixed64.Round(raw))); }
public F64 Fract() { return(FromRaw(Fixed64.Fract(raw))); }
public F64 Ceil() { return(FromRaw(Fixed64.Ceil(raw))); }
public F64 Floor() { return(FromRaw(Fixed64.Floor(raw))); }
// \todo [petri] make static? public F64 Abs() { return(FromRaw(Fixed64.Abs(raw))); }
public F64 Nabs() { return(FromRaw(Fixed64.Nabs(raw))); }
public F64(float v) { raw = Fixed64.FromFloat(v); }
public F64(double v) { raw = Fixed64.FromDouble(v); }
public static bool operator >=(F64 v1, int v2) { return(v1.raw >= Fixed64.FromInt(v2)); }
public F64(int v) { raw = Fixed64.FromInt(v); }
public static bool operator >=(int v1, F64 v2) { return(Fixed64.FromInt(v1) >= v2.raw); }
public static F64 operator %(int v1, F64 v2) { return(FromRaw(Fixed64.Mod(Fixed64.FromInt(v1), v2.raw))); }
public static F64 operator %(F64 v1, int v2) { return(FromRaw(Fixed64.Mod(v1.raw, Fixed64.FromInt(v2)))); }
public static F64 operator -(F64 v1, int v2) { return(FromRaw(v1.raw - Fixed64.FromInt(v2))); }
public static F64 operator %(F64 v1, F64 v2) { return(FromRaw(Fixed64.Mod(v1.raw, v2.raw))); }