Darabonba/Utils/MathUtils.cs (57 lines of code) (raw):
using System;
using Darabonba.Exceptions;
namespace Darabonba.Utils
{
public class MathUtils
{
public static int Floor(double? num)
{
return (int)Math.Floor(num.Value);
}
public static int Round(double? num)
{
return (int)Math.Round(num.Value, MidpointRounding.AwayFromZero);
}
public static int ParseInt<T>(T data)
{
if (data == null)
{
throw new DaraException
{
Message = "Data is null."
};
}
return (int)double.Parse(data.ToString());
}
public static long ParseLong<T>(T data)
{
if (data == null)
{
throw new DaraException
{
Message = "Data is null."
};
}
return (long)double.Parse(data.ToString());
}
public static float ParseFloat<T>(T data)
{
if (data == null)
{
throw new DaraException
{
Message = "Data is null."
};
}
return (float)double.Parse(data.ToString());
}
public static T Min<T>(T num1, T num2) where T : IComparable<T>
{
return num1.CompareTo(num2) <= 0 ? num1 : num2;
}
public static T Max<T>(T num1, T num2) where T : IComparable<T>
{
return num1.CompareTo(num2) <= 0 ? num2 : num1;
}
}
}