public static void CreateNonEqualFilter(this TreeContext context, 
            INode node1,
            INode node2, 
            IFilterGroup parentGroup,
            IDiagInfo diagInfo)
        {
            if (node1.Token.Type != node2.Token.Type)
            {
                return;
            }

            var tuple = new Tuple<IToken, IToken>(node1.Token, node2.Token);
            var reverseTuple = new Tuple<IToken, IToken>(node2.Token, node1.Token);
            if (context.NonEqualFilters.Contains(tuple) || context.NonEqualFilters.Contains(reverseTuple))
            {
                return;
            }

            context.NonEqualFilters.Add(tuple);
            var dep1 = new SingleDependency(node1.Token);
            var dep2 = new SingleDependency(node2.Token);

            var newInfo = new FilterInfo(context.Store.NextId, diagInfo, parentGroup?.FilterInfo.FilterToken);
            var filter = new Filter2<IResolutionContext, IResolutionContext>(dep1, dep2, (x, y) => !x.Equals(y), newInfo);
            context.Filters.Add(filter);
        }
        public static void CreateNonEqualFilter(this TreeContext context,
                                                INode node1,
                                                INode node2,
                                                IFilterGroup parentGroup,
                                                IDiagInfo diagInfo)
        {
            if (node1.Token.Type != node2.Token.Type)
            {
                return;
            }

            var tuple        = new Tuple <IToken, IToken>(node1.Token, node2.Token);
            var reverseTuple = new Tuple <IToken, IToken>(node2.Token, node1.Token);

            if (context.NonEqualFilters.Contains(tuple) || context.NonEqualFilters.Contains(reverseTuple))
            {
                return;
            }

            context.NonEqualFilters.Add(tuple);
            var dep1 = new SingleDependency(node1.Token);
            var dep2 = new SingleDependency(node2.Token);

            var newInfo = new FilterInfo(context.Store.NextId, diagInfo, parentGroup?.FilterInfo.FilterToken);
            var filter  = new Filter2 <IResolutionContext, IResolutionContext>(dep1, dep2, (x, y) => !x.Equals(y), newInfo);

            context.Filters.Add(filter);
        }
Beispiel #3
0
        public void WrongTypeParameterAccess()
        {
            var f = new Filter2();
            var b = new Bitmap(100, 100);

            Assert.ThrowsException <ParameterTypeException>(() => f.Process(b));
        }
Beispiel #4
0
        protected virtual void ReadSampleData()
        {
            bool readReady  = false;
            bool writeReady = false;
            int  hdrMode    = Header.Mode();

            do
            {
                int i;
                for (i = 0; i < NuSubbands; ++i)
                {
                    readReady = Subbands[i].ReadSampleData(Stream);
                }
                do
                {
                    for (i = 0; i < NuSubbands; ++i)
                    {
                        writeReady = Subbands[i].PutNextSample(WhichChannels, Filter1, Filter2);
                    }

                    Filter1.calculate_pc_samples(Buffer);
                    if (WhichChannels == OutputChannels.BOTH_CHANNELS && hdrMode != Header.SINGLE_CHANNEL)
                    {
                        Filter2.calculate_pc_samples(Buffer);
                    }
                } while (!writeReady);
            } while (!readReady);
        }
        public override string ToString()
        {
            StringBuilder filterDescription = new StringBuilder();

            switch (FilterType)
            {
            case FilterType.APPROVED_SOFTWARE_LIST:
                filterDescription.Append("software is ");
                if (IsNegated)
                {
                    filterDescription.Append("not in ");
                }
                else
                {
                    filterDescription.Append("in ");
                }
                filterDescription.Append("the list '");
                filterDescription.Append(ApprovedSoftwareListName);
                filterDescription.Append("'");
                break;

            case FilterType.LOGICAL_AND:
                if (IsNegated)
                {
                    filterDescription.Append("neither ");
                    filterDescription.Append(Filter1.ToString());
                    filterDescription.Append(" nor ");
                    filterDescription.Append(Filter2.ToString());
                }
                else
                {
                    filterDescription.Append("both ");
                    filterDescription.Append(Filter1.ToString());
                    filterDescription.Append(" and ");
                    filterDescription.Append(Filter2.ToString());
                }
                break;

            case FilterType.LOGICAL_OR:
                if (IsNegated)
                {
                    filterDescription.Append("not ");
                    filterDescription.Append(Filter1.ToString());
                    filterDescription.Append(" and not ");
                    filterDescription.Append(Filter2.ToString());
                }
                else
                {
                    filterDescription.Append("either ");
                    filterDescription.Append(Filter1.ToString());
                    filterDescription.Append(" or ");
                    filterDescription.Append(Filter2.ToString());
                }
                break;
            }
            return(filterDescription.ToString());
        }
        // GET: Students
        public IActionResult Index(string searchIme, string searchStudentId)
        {
            IEnumerable <Student> students = _context.Student.AsEnumerable();

            if (!string.IsNullOrEmpty(searchIme))
            {
                students = students.Where(s => s.FullName.ToLower().Contains(searchIme.ToLower()));
            }
            if (!string.IsNullOrEmpty(searchStudentId))
            {
                students = students.Where(s => s.StudentId.Contains(searchStudentId));
            }

            var VM2 = new Filter2
            {
                Students = students
            };


            return(View(VM2));
        }
Beispiel #7
0
        static void Main(string[] args)
        {
            Console.WriteLine("IN console.  Will make the pipe class");
            APipeProcess pp  = new APipeProcess();
            MyMsg        msg = new MyMsg();

            //msg.AMessage = "I wrote a message";
            pp.msg = msg;

            Filter1 f1 = new Filter1();

            pp.Register(f1);
            Filter2 f2 = new Filter2();

            pp.Register(f2);
            Filter3 f3 = new Filter3();

            pp.Register(f3);
            pp.ExecutePipeLine();

            Console.ReadKey();
        }
        public bool isFiltered(Software item, InventoryProject projectContext)
        {
            bool result = false;

            switch (FilterType)
            {
            case FilterType.LOGICAL_AND:
                result = (Filter1.isFiltered(item, projectContext) && Filter2.isFiltered(item, projectContext));
                break;

            case FilterType.LOGICAL_OR:
                result = (Filter1.isFiltered(item, projectContext) || Filter2.isFiltered(item, projectContext));
                break;

            case FilterType.APPROVED_SOFTWARE_LIST:
                ApprovedSoftwareList           listToApply     = projectContext.getApprovedSoftwareListByName(ApprovedSoftwareListName);
                IEnumerable <ApprovedSoftware> matchingEntries =
                    from approvedSoftware in listToApply.ApprovedSoftwares
                    where approvedSoftware.SoftwareExample.SoftwareCode.Equals(item.SoftwareCode)
                    select approvedSoftware;
                foreach (ApprovedSoftware checkingEntry in matchingEntries)
                {
                    if (checkingEntry.softwareMatches(item))
                    {
                        result = true;
                        break;
                    }
                }
                break;
            }
            if (IsNegated)
            {
                result = !result;
            }
            return(result);
        }
Beispiel #9
0
        public static void Main(string[] args)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            //设置执行的DEMO
            string switchOn = "update";
            IDemos demo     = null;

            switch (switchOn)
            {
            /****************************基本功能**************************************/
            //查询
            case "select": demo = new Select(); break;

            //删除
            case "delete": demo = new Delete(); break;

            //插入
            case "insert": demo = new Insert(); break;

            //更新
            case "update": demo = new Update(); break;

            //基层函数的用法
            case "ado": demo = new Ado(); break;

            //事务
            case "tran": demo = new Tran(); break;

            //创建实体函数
            case "createclass": demo = new CreateClass(); break;
            //T4生成 http://www.cnblogs.com/sunkaixuan/p/5751503.html

            //日志记录
            case "log": demo = new Log(); break;

            //枚举支持
            case "enum": demo = new EnumDemo(); break;



            /****************************实体映射**************************************/
            //自动排除非数据库列
            case "ignoreerrorcolumns": demo = new IgnoreErrorColumns(); break;

            //别名表
            case "mappingtable": demo = new MappingTable(); break;

            //别名列
            case "mappingcolumns": demo = new MappingColumns(); break;

            //通过属性的方法设置别名表和别名字段
            case "attributesmapping": demo = new AttributesMapping(); break;



            /****************************业务应用**************************************/
            //过滤器
            case "filter": demo = new Filter(); break;

            //过滤器2
            case "filter2": demo = new Filter2(); break;

            //流水号功能
            case "serialnumber": demo = new SerialNumber(); break;

            //配置与实例的用法
            case "initconfig": demo = new InitConfig(); break;



            /****************************支持**************************************/
            //公开函数数
            case "pubmethod": demo = new PubMethod(); break;

            //设置ToJson的日期格式
            case "serializerdateformat": demo = new SerializerDateFormat(); break;



            /****************************测试用例**************************************/
            case "test": demo = new Test(); break;

            default: Console.WriteLine("switchOn的值错误,请输入正确的 case"); break;
            }
            //执行DEMO
            demo.Init();

            //更多例子请查看API
            //http://www.cnblogs.com/sunkaixuan/p/5654695.html
            Console.WriteLine("执行成功请关闭窗口");
            Console.ReadKey();
        }
Beispiel #10
0
 private void checkBoxFilter2_CheckedChanged(object sender, EventArgs e)
 {
     Filter2?.Invoke();
 }
Beispiel #11
0
        public void Process(int length)
        {
            lock (lockObject)
            {
                if (OutputBuffer[0].Length < length)
                {
                    OutputBuffer[0] = new double[2 * length];
                    OutputBuffer[1] = new double[2 * length];
                }

                for (int i = 0; i < length; i += bufsize)
                {
                    var f1Env = ModMatrix.Filter1EnvMod;
                    var f2Env = ModMatrix.Filter2EnvMod;
                    for (int n = 0; n < bufsize; n++)
                    {
                        ampEnvBuffer[n]     = AmpEnv.Process(1);
                        filter1EnvBuffer[n] = Filter1Env.Process(1) * f1Env;
                        filter2EnvBuffer[n] = Filter2Env.Process(1) * f2Env;
                    }

                    // Process modulation
                    Mod1.Process(bufsize);
                    Mod2.Process(bufsize);
                    Mod3.Process(bufsize);
                    Mod4.Process(bufsize);
                    Mod5.Process(bufsize);
                    Mod6.Process(bufsize);
                    ModMatrix.Process();

                    Osc1.Process(bufsize);
                    Osc2.Process(bufsize);
                    Osc3.Process(bufsize);
                    Osc4.Process(bufsize);

                    for (int n = 0; n < bufsize; n++)
                    {
                        path1Buffer[n] = Osc1.OutputBuffer[n] * Mixer.Osc1Vol * (1.0 - Mixer.Osc1Mix)
                                         + Osc2.OutputBuffer[n] * Mixer.Osc2Vol * (1.0 - Mixer.Osc2Mix)
                                         + Osc3.OutputBuffer[n] * Mixer.Osc3Vol * (1.0 - Mixer.Osc3Mix)
                                         + Osc4.OutputBuffer[n] * Mixer.Osc4Vol * (1.0 - Mixer.Osc4Mix);

                        path2Buffer[n] = Osc1.OutputBuffer[n] * Mixer.Osc1Vol * Mixer.Osc1Mix
                                         + Osc2.OutputBuffer[n] * Mixer.Osc2Vol * Mixer.Osc2Mix
                                         + Osc3.OutputBuffer[n] * Mixer.Osc3Vol * Mixer.Osc3Mix
                                         + Osc4.OutputBuffer[n] * Mixer.Osc4Vol * Mixer.Osc4Mix;
                    }

                    path1Buffer = Ins1.Process(path1Buffer);
                    path2Buffer = Ins2.Process(path2Buffer);

                    Filter1.Process(path1Buffer, filter1EnvBuffer);
                    Filter2.Process(path2Buffer, filter2EnvBuffer);

                    for (int n = 0; n < bufsize; n++)
                    {
                        processBuffer[n]  = Filter1.OutputBuffer[n] * Mixer.F1Vol + Filter2.OutputBuffer[n] * Mixer.F2Vol;
                        processBuffer[n] *= Mixer.OutputVolume * ampEnvBuffer[n];

                        OutputBuffer[0][i + n] = processBuffer[n];
                        OutputBuffer[1][i + n] = processBuffer[n];
                    }
                }
            }
        }
Beispiel #12
0
 public override Complex GetTransmissionCoefficient(double f) => Filter1.GetTransmissionCoefficient(f) * Filter2.GetTransmissionCoefficient(f);
Beispiel #13
0
 public override void Reset()
 {
     Filter1.Reset();
     Filter2.Reset();
 }
Beispiel #14
0
 public override double Process(double Sample) => Filter2.Process(Filter1.Process(Sample));
Beispiel #15
0
        /// <summary>
        /// Validates all properties
        /// </summary>
        public override void Validate()
        {
            base.Validate();

            Filter2?.Validate();
        }
Beispiel #16
0
        public static void Main(string[] args)
        {
            //解决Core输出中文乱码
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);


            //设置执行的DEMO
            string switchOn = "select";
            IDemos demo     = null;

            switch (switchOn)
            {
            //查询
            case "select": demo = new Select(); break;

            //删除
            case "delete": demo = new Delete(); break;

            //插入
            case "insert": demo = new Insert(); break;

            //更新
            case "update": demo = new Update(); break;

            //基层函数的用法
            case "ado": demo = new Ado(); break;

            //事务
            case "tran": demo = new Tran(); break;

            //创建实体函数
            case "createclass": demo = new CreateClass(); break;

            //日志记录
            case "log": demo = new Log(); break;

            //枚举支持
            case "enum": demo = new EnumDemo(); break;

            //别名表
            case "mappingtable": demo = new MappingTable(); break;

            //过滤器
            case "filter": demo = new Filter(); break;

            //过滤器2
            case "filter2": demo = new Filter2(); break;

            //自动排除非数据库列
            case "ignoreerrorcolumns": demo = new IgnoreErrorColumns(); break;

            //流水号功能
            case "serialnumber": demo = new SerialNumber(); break;

            //公开含数
            case "pubmethod": demo = new PubMethod(); break;

            //Sql2012分页的支持
            case "sqlpagemodel": demo = new SqlPageModel(); break;

            //设置ToJson的日期格式
            case "serializerdateformat": demo = new SerializerDateFormat(); break;

            default: Console.WriteLine("switchOn的值错误,请输入正确的 case"); break;
            }
            //执行DEMO
            demo.Init();

            //更多例子请查看API
            //http://www.cnblogs.com/sunkaixuan/p/5654695.html
            Console.WriteLine("执行成功请关闭窗口");
            Console.ReadKey();
        }