コード例 #1
0
    internal static int[] smethod_1(ShapeObject A_0)
    {
        Class456[] formulas = A_0.Formulas;
        if ((formulas == null) || (formulas.Length == 0))
        {
            return(null);
        }
        int[] numArray = new int[formulas.Length];
        for (int i = 0; i < formulas.Length; i++)
        {
            int      num3;
            Class456 class2 = formulas[i];
            int      num2   = class2.method_0() ? smethod_0(A_0, numArray, class2.int_1) : class2.int_1;
            int      num    = class2.method_1() ? smethod_0(A_0, numArray, class2.int_2) : class2.int_2;
            int      num4   = class2.method_2() ? smethod_0(A_0, numArray, class2.int_3) : class2.int_3;
            switch (class2.operation_0)
            {
            case Operation.Sum:
                num3 = (num2 + num) - num4;
                break;

            case Operation.Prod:
                num3 = num2 * num;
                if (num4 != 0)
                {
                    num3 /= num4;
                }
                break;

            case Operation.Mid:
                num3 = (num2 + num) / 2;
                break;

            case Operation.Abs:
                num3 = Math.Abs(num2);
                break;

            case Operation.Min:
                num3 = Math.Min(num2, num);
                break;

            case Operation.Max:
                num3 = Math.Max(num2, num);
                break;

            case Operation.If:
                num3 = (num2 > 0) ? num : num4;
                break;

            case Operation.Mod:
                num3 = (int)Math.Sqrt((double)(((num2 * num2) + (num * num)) + (num4 * num4)));
                break;

            case Operation.Atan2:
                num3 = (int)(Class1133.smethod_1(Math.Atan2((double)num, (double)num2)) * 65536.0);
                break;

            case Operation.Sin:
                num3 = (int)(num2 * Math.Sin(Class1133.smethod_0((double)(((float)num) / 65536f))));
                break;

            case Operation.Cos:
                num3 = (int)(num2 * Math.Cos(Class1133.smethod_0((double)(((float)num) / 65536f))));
                break;

            case Operation.CosAtan2:
                num3 = (int)(num2 * Math.Cos(Math.Atan2((double)num4, (double)num)));
                break;

            case Operation.SinAtan2:
                num3 = (int)(num2 * Math.Sin(Math.Atan2((double)num4, (double)num)));
                break;

            case Operation.Sqrt:
                num3 = (int)Math.Floor(Math.Sqrt((double)num2));
                break;

            case Operation.SumAngle:
                num3 = (num2 + (num * 0x10000)) - (num4 * 0x10000);
                break;

            case Operation.Ellipse:
                num3 = (int)(num4 * Math.Sqrt(1.0 - Math.Pow(((double)num2) / ((double)num), 2.0)));
                break;

            case Operation.Tan:
                num3 = (int)(num2 * Math.Tan(Class1133.smethod_0((double)(((float)num) / 65536f))));
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            numArray[i] = num3;
        }
        return(numArray);
    }
コード例 #2
0
 public static double smethod_72(double A_0)
 {
     return(Class1133.smethod_0(A_0 / 60000.0));
 }