Files
TEngine/UnityProject/Packages/com.code-philosophy.obfuz/Runtime/ExprUtility.cs
2025-07-26 08:10:41 +08:00

248 lines
4.8 KiB
C#

using System;
namespace Obfuz
{
public static class ExprUtility
{
public static int Add(int a, int b)
{
return a + b;
}
public static long Add(long a, long b)
{
return a + b;
}
public static float Add(float a, float b)
{
return a + b;
}
public static double Add(double a, double b)
{
return a + b;
}
public static IntPtr Add(IntPtr a, IntPtr b)
{
return (IntPtr)((long)a + (long)b);
}
public static IntPtr Add(IntPtr a, int b)
{
return a + b;
}
public static int Subtract(int a, int b)
{
return a - b;
}
public static long Subtract(long a, long b)
{
return a - b;
}
public static float Subtract(float a, float b)
{
return a - b;
}
public static double Subtract(double a, double b)
{
return a - b;
}
public static IntPtr Subtract(IntPtr a, IntPtr b)
{
return (IntPtr)((long)a - (long)b);
}
public static IntPtr Subtract(IntPtr a, int b)
{
return a - b;
}
public static int Multiply(int a, int b)
{
return a * b;
}
public static long Multiply(long a, long b)
{
return a * b;
}
public static float Multiply(float a, float b)
{
return a * b;
}
public static double Multiply(double a, double b)
{
return a * b;
}
public static IntPtr Multiply(IntPtr a, IntPtr b)
{
return (IntPtr)((long)a * (long)b);
}
public static IntPtr Multiply(IntPtr a, int b)
{
return (IntPtr)((long)a * b);
}
public static int Divide(int a, int b)
{
return a / b;
}
public static long Divide(long a, long b)
{
return a / b;
}
public static float Divide(float a, float b)
{
return a / b;
}
public static double Divide(double a, double b)
{
return a / b;
}
public static int DivideUn(int a, int b)
{
return (int)((uint)a / (uint)b);
}
public static long DivideUn(long a, long b)
{
return (long)((ulong)a / (ulong)b);
}
public static int Rem(int a, int b)
{
return a % b;
}
public static long Rem(long a, long b)
{
return a % b;
}
public static float Rem(float a, float b)
{
return a % b;
}
public static double Rem(double a, double b)
{
return a % b;
}
public static int RemUn(int a, int b)
{
return (int)((uint)a % (uint)b);
}
public static long RemUn(long a, long b)
{
return (long)((ulong)a % (ulong)b);
}
public static int Negate(int a)
{
return -a;
}
public static long Negate(long a)
{
return -a;
}
public static float Negate(float a)
{
return -a;
}
public static double Negate(double a)
{
return -a;
}
public static int And(int a, int b)
{
return a & b;
}
public static long And(long a, long b)
{
return a & b;
}
public static int Or(int a, int b)
{
return a | b;
}
public static long Or(long a, long b)
{
return a | b;
}
public static int Xor(int a, int b)
{
return a ^ b;
}
public static long Xor(long a, long b)
{
return a ^ b;
}
public static int Not(int a)
{
return ~a;
}
public static long Not(long a)
{
return ~a;
}
public static int ShiftLeft(int a, int b)
{
return a << b;
}
public static long ShiftLeft(long a, int b)
{
return a << b;
}
public static int ShiftRight(int a, int b)
{
return a >> b;
}
public static long ShiftRight(long a, int b)
{
return a >> b;
}
public static int ShiftRightUn(int a, int b)
{
return (int)((uint)a >> b);
}
public static long ShiftRightUn(long a, int b)
{
return (long)((ulong)a >> b);
}
}
}