1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Added INumeric

This commit is contained in:
Brian Fiete 2020-01-28 10:58:52 -08:00
parent 0b71897461
commit f874535a13
3 changed files with 20 additions and 5 deletions

View file

@ -18,11 +18,16 @@ namespace System
}
}
interface IInteger
interface INumeric
{
static Self operator+(Self lhs, Self rhs);
}
interface IInteger : INumeric
{
}
interface IUnsigned
interface IUnsigned : INumeric
{
}

View file

@ -17,12 +17,17 @@ namespace System
public static int operator<=>(Int64 a, Int64 b)
{
return (int64)a <=> (int64)b;
return (SelfBase)a <=> (SelfBase)b;
}
public static Self operator+(Self lhs, Self rhs)
{
return (SelfBase)lhs + (SelfBase)rhs;
}
public static Int64 operator-(Int64 value)
{
return (int64)value;
return -(SelfBase)value;
}
int IHashable.GetHashCode()

View file

@ -16,7 +16,12 @@ namespace System
public static int operator<=>(UInt64 a, UInt64 b)
{
return (uint64)a <=> (uint64)b;
return (SelfBase)a <=> (SelfBase)b;
}
public static Self operator+(Self lhs, Self rhs)
{
return (SelfBase)lhs + (SelfBase)rhs;
}
int IHashable.GetHashCode()