Exemplo n.º 1
0
        public double BaseMath(BaseMathOperation operationId, int numOfArguments, List <double> args) // sorta shitty basic math function
        {
            int    count  = 1;                                                                        // start at 1
            double result = args[0];                                                                  // bug fix
            int    opId   = Convert.ToInt32(operationId);

            for (int i = 0; i < numOfArguments; i++) // loop
            {
                try
                {
                    switch (opId)
                    {
                    case 0:     // can't use a switch statement, sadly
                        result = result + args[count];
                        continue;

                    case 1:
                        result = result - args[count];
                        continue;

                    case 2:
                        result = result * args[count];
                        continue;

                    case 3:
                        result = result / args[count];
                        continue;

                    case 4:
                        result = result % args[count];
                        continue;

                    case 5:
                        result = Math.Sqrt(args[count]);
                        continue;

                    case 6:
                        result = Math.Sin(args[count]);
                        continue;

                    case 7:
                        result = Math.Cos(args[count]);
                        continue;

                    case 8:
                        result = Math.Tan(args[count]);
                        continue;

                    case 9:
                        result = Math.Asin(args[count]);
                        continue;

                    case 10:
                        result = Math.Acos(args[count]);
                        continue;

                    case 11:
                        result = Math.Atan(args[count]);
                        continue;

                    default:
                        ElmThrowException(44);
                        return(-0xd15ea5e);
                    }
                }
                catch (IndexOutOfRangeException)
                {
                    ElmThrowException(45);
                }
            }
            return(result);
        }
Exemplo n.º 2
0
        public double BaseMath(BaseMathOperation operationId, double num, double num2) // 2-numbers only overload
        {
            double result = num;                                                       // bug fix
            int    opId   = Convert.ToInt32(operationId);

            try
            {
                switch (opId)
                {
                case 0:         // can't use a switch statement, sadly
                    result = num + num2;
                    return(result);

                case 1:
                    result = num - num2;
                    return(result);

                case 2:
                    result = num * num2;
                    return(result);

                case 3:
                    result = num / num2;
                    return(result);

                case 4:
                    result = num % num2;
                    return(result);

                case 5:
                    result = Math.Sqrt(num);
                    return(result);

                case 6:
                    result = Math.Sin(num);
                    return(result);

                case 7:
                    result = Math.Cos(num);
                    return(result);

                case 8:
                    result = Math.Tan(num);
                    return(result);

                case 9:
                    result = Math.Asin(num);
                    return(result);

                case 10:
                    result = Math.Acos(num);
                    return(result);

                case 11:
                    result = Math.Atan(num);
                    return(result);

                default:
                    ElmThrowException(44);
                    return(-0xd15ea5e);
                }
            }
            catch (IndexOutOfRangeException)
            {
                ElmThrowException(45);
            }
            return(result);
        }