Beispiel #1
0
        private void InitNameEdit(bool readOnly = false)
        {
            var prop = graph.GetType().GetProperty("Name");

            FuncName.Placeholder = "Function Name";
            FuncName.Set(prop, graph, readOnly);
        }
Beispiel #2
0
        public MathExpr(FuncName name, U a, Expr <U> expr)
        {
            foreach (var e in expr.Parameters)
            {
                if (!Parameters.ContainsKey(e.Key))
                {
                    Parameters[e.Key] = e.Value;
                }
            }

            var infos = MathFunc.Infos(name, a);

            if (expr is MathExpr <U> mf)
            {
                (Name, Fnc) = MathFunc.Compose((mf.Name, mf.Fnc), infos);
                this.expr   = mf.expr;
            }
            else
            {
                (Name, Fnc) = infos;
                this.expr   = expr;
            }

            this.expr.IsRoot = false;
        }
Beispiel #3
0
 private void FuncCombo_TextUpdate(object sender, EventArgs e)
 {
     FuncCombo.Items.Clear();
     FunctionIndexer.Clear();
     if (FunctionInfo.TryGetValue(ClassCombo.SelectedIndex, out StructureSelector) && StructureSelector.TryGetValue(StructCombo.Text, out FunctionSelector))
     {
         string FuncName;
         foreach (KeyValuePair <int, string> func in FunctionSelector)
         {
             if (func.Value.Contains(" { "))
             {
                 FuncName = Regex.Split(func.Value, " { ")[0].Replace(" * ", "* ");
                 if (FuncName.ToLower().Contains(FuncCombo.Text.ToLower()))
                 {
                     FunctionIndexer.Add(FuncCombo.Items.Count, func.Key);
                     FuncCombo.Items.Add(FuncName);
                 }
             }
             else
             {
                 FuncName = func.Value.Replace(" * ", "* ");
                 if (FuncName.ToLower().Contains(FuncCombo.Text.ToLower()))
                 {
                     FunctionIndexer.Add(FuncCombo.Items.Count, func.Key);
                     FuncCombo.Items.Add(FuncName);
                 }
             }
         }
     }
     FuncCombo.SelectionStart  = FuncCombo.Text.Length;
     FuncCombo.SelectionLength = 0;
 }
Beispiel #4
0
        public async Task <Model> GetModel(FuncName func, double xVal)
        {
            var request = Url.SetQueryParams(new {
                funcName = func.ToString(),
                xVal,
            }).AllowHttpStatus(HttpStatusCode.NotFound);

            Model resp;

            try {
                resp = await request
                       .GetJsonAsync <Model>();
            } catch (FlurlHttpTimeoutException) {
                throw new TimeoutException("Špatné připojení k internetu");
            } catch (FlurlHttpException) {
                await Task.Delay(20);

                return(await GetModel(func, xVal));
            }

            if (resp.Status == "error")
            {
                throw new InvalidCastException("Neplatné parametry");
            }

            resp.Func = func;
            resp.xVal = xVal;

            return(resp);
        }
Beispiel #5
0
 static void TestFunc(FuncName func)
 {
     if (func != null)
     {
         var res = func(123, 234);
         Console.WriteLine(res);
     }
     else
     {
         Console.WriteLine("No Func is associated with this delegate object");
     }
 }
Beispiel #6
0
        static void Main(string[] args)
        {
            FuncName fn = new FuncName(addFunc);

            TestFunc(fn);        //calling addfunc
            TestFunc((v1, v2) => //Lambda Expressions.....
            {
                return(v1 - v2);
            });                            //calling a func that is created internally

            TestFunc((v1, v3) => v3 / v1); //Lambda Expression
            TestFunc(null);                //for calling the else condition....
        }
        public override void WriteToStream(IndentStream stream)
        {
            stream.Write("CREATE PARTITION SCHEME ");
            SchemeName.WriteToStream(stream);
            stream.WriteLine();

            stream.Write("AS PARTITION ");
            FuncName.WriteToStream(stream);
            stream.WriteLine();

            if (!string.IsNullOrEmpty(AllToken))
            {
                stream.Write(AllToken);
            }

            stream.Write(" TO");
            stream.Write("(");
            GroupNameList.WriteToStreamWithComma(stream);
            stream.Write(")");
        }
Beispiel #8
0
        internal static string GetErrorDescription(FuncName funcName, MMErrors errorCode)
        {
            string errorDesc = "";

            switch (funcName)
            {
            case FuncName.fnWaveOutOpen:
            case FuncName.fnWaveInOpen:
                switch (errorCode)
                {
                case MMErrors.MMSYSERR_ALLOCATED:
                    errorDesc = "Specified resource is already allocated.";
                    break;

                case MMErrors.MMSYSERR_BADDEVICEID:
                    errorDesc = "Specified device identifier is out of range.";
                    break;

                case MMErrors.MMSYSERR_NODRIVER:
                    errorDesc = "No device driver is present.";
                    break;

                case MMErrors.MMSYSERR_NOMEM:
                    errorDesc = "Unable to allocate or lock memory.";
                    break;

                case MMErrors.WAVERR_BADFORMAT:
                    errorDesc = "Attempted to open with an unsupported waveform-audio format.";
                    break;

                case MMErrors.WAVERR_SYNC:
                    errorDesc = "The device is synchronous but waveOutOpen was called without using the WAVE_ALLOWSYNC flag.";
                    break;
                }
                break;

            case FuncName.fnMixerOpen:
                switch (errorCode)
                {
                case MMErrors.MMSYSERR_ALLOCATED:
                    errorDesc = "The specified resource is already allocated by the maximum number of clients possible.";
                    break;

                case MMErrors.MMSYSERR_BADDEVICEID:
                    errorDesc = "The uMxId parameter specifies an invalid device identifier.";
                    break;

                case MMErrors.MMSYSERR_INVALFLAG:
                    errorDesc = "One or more flags are invalid.";
                    break;

                case MMErrors.MMSYSERR_INVALHANDLE:
                    errorDesc = "The uMxId parameter specifies an invalid handle.";
                    break;

                case MMErrors.MMSYSERR_INVALPARAM:
                    errorDesc = "One or more parameters are invalid.";
                    break;

                case MMErrors.MMSYSERR_NODRIVER:
                    errorDesc = "No device driver is present.";
                    break;

                case MMErrors.MMSYSERR_NOMEM:
                    errorDesc = "Unable to allocate or lock memory.";
                    break;
                }
                break;

            case FuncName.fnMixerGetID:
            case FuncName.fnMixerGetLineInfo:
            case FuncName.fnMixerGetLineControls:
            case FuncName.fnMixerGetControlDetails:
            case FuncName.fnMixerSetControlDetails:
                switch (errorCode)
                {
                case MMErrors.MIXERR_INVALCONTROL:
                    errorDesc = "The control reference is invalid.";
                    break;

                case MMErrors.MIXERR_INVALLINE:
                    errorDesc = "The audio line reference is invalid.";
                    break;

                case MMErrors.MMSYSERR_BADDEVICEID:
                    errorDesc = "The hmxobj parameter specifies an invalid device identifier.";
                    break;

                case MMErrors.MMSYSERR_INVALFLAG:
                    errorDesc = "One or more flags are invalid.";
                    break;

                case MMErrors.MMSYSERR_INVALHANDLE:
                    errorDesc = "The hmxobj parameter specifies an invalid handle.";
                    break;

                case MMErrors.MMSYSERR_INVALPARAM:
                    errorDesc = "One or more parameters are invalid.";
                    break;

                case MMErrors.MMSYSERR_NODRIVER:
                    errorDesc = "No device driver is present.";
                    break;
                }
                break;

            case FuncName.fnMixerClose:
                switch (errorCode)
                {
                case MMErrors.MMSYSERR_INVALHANDLE:
                    errorDesc = "Specified device handle is invalid.";
                    break;
                }
                break;

            case FuncName.fnWaveOutClose:
            case FuncName.fnWaveInClose:
            case FuncName.fnWaveInGetDevCaps:
            case FuncName.fnWaveOutGetDevCaps:
            case FuncName.fnMixerGetDevCaps:
                switch (errorCode)
                {
                case MMErrors.MMSYSERR_BADDEVICEID:
                    errorDesc = "Specified device identifier is out of range.";
                    break;

                case MMErrors.MMSYSERR_INVALHANDLE:
                    errorDesc = "Specified device handle is invalid.";
                    break;

                case MMErrors.MMSYSERR_NODRIVER:
                    errorDesc = "No device driver is present.";
                    break;

                case MMErrors.MMSYSERR_NOMEM:
                    errorDesc = "Unable to allocate or lock memory.";
                    break;

                case MMErrors.WAVERR_STILLPLAYING:
                    errorDesc = "There are still buffers in the queue.";
                    break;
                }
                break;

            case FuncName.fnCustom:
                switch (errorCode)
                {
                case (MMErrors)1000:
                    errorDesc = "Device Not Found.";
                    break;
                }
                break;
            }
            return(errorDesc);
        }
Beispiel #9
0
 public override int GetHashCode()
 {
     return(-860317020 + FuncName.GetHashCode());
 }
Beispiel #10
0
 public MathExpr(FuncName name, double a, Expr <U> expr) : this(name, NDarray <U> .OpsT.Cast(a), expr)
 {
 }
Beispiel #11
0
 public MathExpr(FuncName name, Expr <U> expr) : this(name, 0, expr)
 {
 }
Beispiel #12
0
        static void MyFunctions()
        {
            /*
             *
             * [source, function]
             * ----
             *
             * regular function, postion args, keyword args;
             * overloading; note: function signatures in C#;
             * using Tuple as return type;
             * params
             * val or ref as args; note: reference in C#
             * delegate type: generic; like function template in C++;
             * Func<>
             * Action<>
             * Predict<>; == Funct<, Boolean>
             * anonymouse function
             * lambda expr
             * keywords
             ** in   --> args with in cant be modified;
             ** out  --> args with out MUST be modified;
             ** ref  --> args with ref can be modified;
             **
             **----
             **
             */
            // regular
            Console.WriteLine("Add function: {0}", Add(3, 4));  // 7
            Console.WriteLine("fibonacci: {0}", Fibonacci(4));  // 5
            Console.WriteLine("factorial: {0}", Factorial(5));  // 120
            // tuple as return value
            Console.WriteLine(TupleAsReturnValue().Item1);
            // passing as val or ref
            int x = 42;

            AddOne(x);
            Console.WriteLine(x);   // 42
            AddOne(ref x);
            Console.WriteLine(x);   // 43;
            // params
            int[] arr = { 1, 2, 3, 4 };
            Console.WriteLine(MySum(arr));  // 10

            // delegate
            FuncName f = new FuncName(Add);

            //f += Sub;
            //f += Mul;
            Console.WriteLine(f(3, 4));

            // generic function
            Console.WriteLine("\nFunc<>:");
            Func <int, int> g = new Func <int, int>(Factorial);

            g += Fibonacci;
            Console.WriteLine(g(6));    // 720,

            // out kw
            Console.WriteLine("\nout keyword:");
            Person p = new Person("LL", 30, "female", 31412, 31.00);

            OutKeyword(p, out int a);
            Console.WriteLine(p.Age); // 50
            Console.WriteLine(a);     // 42
        }
Beispiel #13
0
        internal static string GetErrorDescription(FuncName funcName, MMErrors errorCode)
        {
            string errorDesc = "";

            switch(funcName)
            {
                case FuncName.fnWaveOutOpen:
                case FuncName.fnWaveInOpen:
                switch(errorCode)
                {
                    case MMErrors.MMSYSERR_ALLOCATED:
                        errorDesc = "Specified resource is already allocated.";
                        break;
                    case MMErrors.MMSYSERR_BADDEVICEID:
                        errorDesc = "Specified device identifier is out of range.";
                        break;
                    case MMErrors.MMSYSERR_NODRIVER:
                        errorDesc = "No device driver is present.";
                        break;
                    case MMErrors.MMSYSERR_NOMEM:
                        errorDesc = "Unable to allocate or lock memory.";
                        break;
                    case MMErrors.WAVERR_BADFORMAT:
                        errorDesc = "Attempted to open with an unsupported waveform-audio format.";
                        break;
                    case MMErrors.WAVERR_SYNC:
                        errorDesc = "The device is synchronous but waveOutOpen was called without using the WAVE_ALLOWSYNC flag.";
                        break;
                }
                    break;
                case FuncName.fnMixerOpen:
                switch(errorCode)
                {
                    case MMErrors.MMSYSERR_ALLOCATED:
                        errorDesc = "The specified resource is already allocated by the maximum number of clients possible.";
                        break;
                    case MMErrors.MMSYSERR_BADDEVICEID:
                        errorDesc = "The uMxId parameter specifies an invalid device identifier.";
                        break;
                    case MMErrors.MMSYSERR_INVALFLAG:
                        errorDesc = "One or more flags are invalid.";
                        break;
                    case MMErrors.MMSYSERR_INVALHANDLE:
                        errorDesc = "The uMxId parameter specifies an invalid handle.";
                        break;
                    case MMErrors.MMSYSERR_INVALPARAM:
                        errorDesc = "One or more parameters are invalid.";
                        break;
                    case MMErrors.MMSYSERR_NODRIVER:
                        errorDesc = "No device driver is present.";
                        break;
                    case MMErrors.MMSYSERR_NOMEM:
                        errorDesc = "Unable to allocate or lock memory.";
                        break;
                }
                    break;
                case FuncName.fnMixerGetID:
                case FuncName.fnMixerGetLineInfo:
                case FuncName.fnMixerGetLineControls:
                case FuncName.fnMixerGetControlDetails:
                case FuncName.fnMixerSetControlDetails:
                switch(errorCode)
                {
                    case MMErrors.MIXERR_INVALCONTROL:
                        errorDesc = "The control reference is invalid.";
                        break;
                    case MMErrors.MIXERR_INVALLINE:
                        errorDesc = "The audio line reference is invalid.";
                        break;
                    case MMErrors.MMSYSERR_BADDEVICEID:
                        errorDesc = "The hmxobj parameter specifies an invalid device identifier.";
                        break;
                    case MMErrors.MMSYSERR_INVALFLAG:
                        errorDesc = "One or more flags are invalid.";
                        break;
                    case MMErrors.MMSYSERR_INVALHANDLE:
                        errorDesc = "The hmxobj parameter specifies an invalid handle.";
                        break;
                    case MMErrors.MMSYSERR_INVALPARAM:
                        errorDesc = "One or more parameters are invalid.";
                        break;
                    case MMErrors.MMSYSERR_NODRIVER:
                        errorDesc = "No device driver is present.";
                        break;
                }
                    break;
                case FuncName.fnMixerClose:
                switch(errorCode)
                {
                    case MMErrors.MMSYSERR_INVALHANDLE:
                        errorDesc = "Specified device handle is invalid.";
                        break;
                }
                    break;
                case FuncName.fnWaveOutClose:
                case FuncName.fnWaveInClose:
                case FuncName.fnWaveInGetDevCaps:
                case FuncName.fnWaveOutGetDevCaps:
                case FuncName.fnMixerGetDevCaps:
                switch(errorCode)
                {
                    case MMErrors.MMSYSERR_BADDEVICEID:
                        errorDesc = "Specified device identifier is out of range.";
                        break;
                    case MMErrors.MMSYSERR_INVALHANDLE:
                        errorDesc = "Specified device handle is invalid.";
                        break;
                    case MMErrors.MMSYSERR_NODRIVER:
                        errorDesc = "No device driver is present.";
                        break;
                    case MMErrors.MMSYSERR_NOMEM:
                        errorDesc = "Unable to allocate or lock memory.";
                        break;
                    case MMErrors.WAVERR_STILLPLAYING:
                        errorDesc = "There are still buffers in the queue.";
                        break;
                }
                    break;
                case FuncName.fnCustom:
                switch(errorCode)
                {
                    case (MMErrors) 1000:
                        errorDesc = "Device Not Found.";
                        break;
                }
                    break;
            }
            return errorDesc;
        }
        public static void AddEventHandler(FuncName type, int trigger, string[] args)
        {
            var argStr = string.Join("|", args);

            DllImports.AddEventHandler(type, trigger, argStr);
        }