예제 #1
0
            private void HandleFacets(string field, string value, Dictionary <string, Dictionary <string, FacetValue> > facetsByName, int doc)
            {
                var facets = Facets.Values.Where(facet => facet.Name == field);

                foreach (var facet in facets)
                {
                    switch (facet.Mode)
                    {
                    case FacetMode.Default:
                        var        facetValues = facetsByName.GetOrAdd(facet.DisplayName);
                        FacetValue existing;
                        if (facetValues.TryGetValue(value, out existing) == false)
                        {
                            existing = new FacetValue
                            {
                                Range = GetRangeName(field, value)
                            };
                            facetValues[value] = existing;
                        }
                        ApplyFacetValueHit(existing, facet, doc, null);
                        break;

                    case FacetMode.Ranges:
                        List <ParsedRange> list;
                        if (Ranges.TryGetValue(field, out list))
                        {
                            for (int i = 0; i < list.Count; i++)
                            {
                                var parsedRange = list[i];
                                if (parsedRange.IsMatch(value))
                                {
                                    var facetValue = Results.Results[field].Values[i];
                                    ApplyFacetValueHit(facetValue, facet, doc, parsedRange);
                                }
                            }
                        }
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }
            }
 private EnvCarRace.Action check_actions(EnvCarRace.Action action, Ranges range)
 {
     if (values[range.value_idx, 3] == 0)
     {
         if (values[range.value_idx, 0] >= range.start && values[range.value_idx, 0] <= range.end)
         {
             action = apply_action(action, range.acition);
         }
     }
     else
     {
         if ((range.end > 0.5f && range.start > values[range.value_idx, 0]) ||
             (range.end <= 0.5 && range.start <= values[range.value_idx, 0]))
         {
             action = apply_action(action, range.acition);
         }
     }
     return(action);
 }
        private void AddToList()
        {
            Range range = new Range(RangeStart, RangeEnd);

            if (Ranges.Contains(range))
            {
                ShowDialog("Information!", "Range has already been entered into the list");
            }
            else
            {
                Ranges.Add(range);
            }

            RangeStart = String.Empty;
            RangeEnd   = String.Empty;

            IsRangeStartFocussed = true;
            IsRangeEndFocussed   = false;
        }
예제 #4
0
            public void Execute()
            {
                //We only want to run the base query once, so we capture all of the facet-ing terms then run the query
                //	once through the collector and pull out all of the terms in one shot
                var allCollector = new GatherAllCollector();
                var facetsByName = new Dictionary <string, Dictionary <string, FacetValue> >();


                using (var currentState = Database.IndexStorage.GetCurrentStateHolder(Index))
                {
                    var currentIndexSearcher = currentState.IndexSearcher;

                    var baseQuery = Database.IndexStorage.GetLuceneQuery(Index, IndexQuery, Database.IndexQueryTriggers);
                    currentIndexSearcher.Search(baseQuery, allCollector);
                    var fields = Facets.Values.Select(x => x.Name)
                                 .Concat(Ranges.Select(x => x.Key));
                    var fieldsToRead = new HashSet <string>(fields);

                    FieldTermVector fieldTermVector;
                    var             allVectoredTerms =
                        fieldsToRead.All(s => indexDefinition.TermVectors.TryGetValue(s, out fieldTermVector) && fieldTermVector != FieldTermVector.No);

                    if (allVectoredTerms)
                    {
                        IndexedTerms.ReadEntriesForFieldsFromTermVectors(currentState,
                                                                         fieldsToRead,
                                                                         allCollector.Documents,
                                                                         (field, value, doc) => HandleFacets(field, value, facetsByName, doc));
                    }
                    else
                    {
                        IndexedTerms.ReadEntriesForFields(currentState,
                                                          fieldsToRead,
                                                          allCollector.Documents,
                                                          (field, value, doc) => HandleFacets(field, value, facetsByName, doc));
                    }
                    UpdateFacetResults(facetsByName);

                    CompleteFacetCalculationsStage1(currentState, allVectoredTerms);
                    CompleteFacetCalculationsStage2();
                }
            }
예제 #5
0
        private void InitRangesFor1_2()//1.2. Основания для признания налогоплательщика контролирующим лицом контролируемой иностранной компании
        {
            if (Company.ControlGrounds.Contains(ControlGround._101))
            {
                Ranges.Add(new SheetRange(Sheet.OneCell(19, 10))
                {
                    Value = "1"
                });                                                                //101
            }

            if (Company.ControlGrounds.Contains(ControlGround._102))
            {
                Ranges.Add(new SheetRange(Sheet.OneCell(19, 21))
                {
                    Value = "1"
                });                                                                //102
            }

            if (Company.ControlGrounds.Contains(ControlGround._103))
            {
                Ranges.Add(new SheetRange(Sheet.OneCell(19, 31))
                {
                    Value = "1"
                });                                                                //103
            }

            if (Company.ControlGrounds.Contains(ControlGround._104))
            {
                Ranges.Add(new SheetRange(Sheet.OneCell(19, 42))
                {
                    Value = "1"
                });                                                                //104
            }

            if (Company.ControlGrounds.Contains(ControlGround._105))
            {
                Ranges.Add(new SheetRange(Sheet.OneCell(19, 53))
                {
                    Value = "1"
                });                                                                //105
            }
        }
예제 #6
0
        public void Verify_that_third_range(decimal sale)
        {
            //Arrange
            var range1     = new Ranges(15, 30, "0.10");
            var range2     = new Ranges(31, 40, "0.15");
            var range3     = new Ranges(41, 49, "0.20");
            var range4     = new Ranges(50, 0, "0.25");
            var ListArange = new List <Ranges>()
            {
                range1, range2, range3, range4
            };
            var TableCommision = new CommissionTable(1, "GERENTE DE PRODUCTO PLAN CORPORTATIVO", "DECCRIPTION 1", TYPETABE_COMMISION.PRODUCT_MANAGER, TYPRANGE.PERCENTAGE, ListArange);


            //Act
            var percentage = TableCommision.getValueFromRanges(sale);

            //Assert
            percentage.Should().Be("0.20");
        }
예제 #7
0
        internal override void InitRanges()
        {
            base.InitRanges();

            Ranges.AddRange(new List <SheetRange>()
            {
                new SheetRange(Sheet.Cells[18, 1, 24, 118])
                {
                    Value = Name
                },                                                            //Наименование организации / ФИО
                new SheetRange(Sheet.Cells[12, 75, 12, 84])
                {
                    Value = year.ToString("D4")
                },                                                                           //Налоговый период
                new SheetRange(Sheet.Cells[30, 37, 30, 43])
                {
                    Value = totalPagesCount.ToString("D3")
                },                                                                                      //Количество страниц
            });
        }
예제 #8
0
        public void UpdateEquityData()
        {
            var ranges = Ranges?.OfType <EquityRangeSelectorItemViewModel>().ToArray();

            var totalCombos     = 0;
            var foldCheckCombos = 0;
            var callCombos      = 0;
            var bluffCombos     = 0;
            var valueBetCombos  = 0;

            if (ranges.Length != 0)
            {
                foreach (var range in ranges)
                {
                    foldCheckCombos += range.FoldCheckCombos;
                    callCombos      += range.CallCombos;
                    bluffCombos     += range.BluffCombos;
                    valueBetCombos  += range.ValueBetCombos;
                    totalCombos     += range.Combos;
                }
            }
            // known cards are equal to 1 combo
            else if (Cards.All(x => x.Validate()))
            {
                totalCombos = 1;
            }

            TotalCombos     = totalCombos;
            FoldCheckCombos = foldCheckCombos;
            CallCombos      = callCombos;
            BluffCombos     = bluffCombos;
            ValueBetCombos  = valueBetCombos;

            IsTotalCombosVisible = FoldCheckCombos == CallCombos &&
                                   CallCombos == BluffCombos && BluffCombos == ValueBetCombos && ValueBetCombos == 0;

            FoldCheckPercentage = GetEquityRangePercentage(foldCheckCombos, totalCombos);
            CallPercentage      = GetEquityRangePercentage(callCombos, totalCombos);
            BluffPercentage     = GetEquityRangePercentage(bluffCombos, totalCombos);
            ValueBetPercentage  = GetEquityRangePercentage(valueBetCombos, totalCombos);
        }
예제 #9
0
 private void InitRangesFor2_5()// 2.5. Дата возникновения основания
 {
     if (Company.Share?.ControlEmergenceDate.HasValue == true)
     {
         Ranges.AddRange(new List <SheetRange>()
         {
             new SheetRange(Sheet.TwoCells(40, 46))
             {
                 Value = Company.Share.ControlEmergenceDate.Value.Day.ToString("D2")
             },                                                                                                              //2.5.
             new SheetRange(Sheet.TwoCells(40, 55))
             {
                 Value = Company.Share.ControlEmergenceDate.Value.Month.ToString("D2")
             },                                                                                                                //2.5.
             new SheetRange(Sheet.CellsInRow(40, 64, 4))
             {
                 Value = Company.Share.ControlEmergenceDate.Value.Year.ToString("D4")
             },                                                                                                                    //2.5.
         });
     }
 }
예제 #10
0
        public IpFilter
        (
            string specification
        )
        {
            if (string.IsNullOrEmpty(specification) ||
                (specification == "*"))
            {
                AllowAnyAddress = true;
                return;
            }

            string[] parts = specification.Split(';', ',');
            foreach (string part in parts)
            {
                if (!string.IsNullOrEmpty(part))
                {
                    Ranges.Add(new IpRange(part));
                }
            }
        }
예제 #11
0
        /// <summary>
        /// </summary>
        public void CompactRanges()
        {
            for (int i = 0; i < Ranges.Count - 1; i++)
            {
                Range Range     = Ranges[i];
                Range NextRange = Ranges[i + 1];

                if (Range.State == NextRange.State)
                {
                    Range.End = NextRange.End;
                    Ranges[i] = Range;

                    Ranges.RemoveAt(i + 1);
                    i--;
                }
            }

#if DO_VALIDATION
            Validate();
#endif
        }
예제 #12
0
        private bool[][] GetMapFromBitmap(Bitmap bitmap, int colorLevel = 200)
        {
            var n = bitmap.Width;
            var m = bitmap.Height;

            bool IsPoint((int i, int j) v)
            {
                if (v.i < 0 || v.i >= m || v.j < 0 || v.j >= n)
                {
                    return(false);
                }

                var c = bitmap.GetPixel(v.j, v.i);

                return(c.R < colorLevel && c.G < colorLevel && c.B < colorLevel);
            }

            var map = Ranges.Range(m + 2).Select(i => Ranges.Range(n + 2).Select(j => IsPoint((i - 1, j - 1))).ToArray()).ToArray();

            return(map);
        }
 private Task MergePartialFiles()
 {
     return(Task.Run(() =>
     {
         using (var fs = File.Create(FilePath))
         {
             foreach (var fileChunk in Ranges.Where(x => x.TotalBytesReceived > 0).OrderBy(x => x.Start)
                      .Select(x => x.FilePath))
             {
                 var buffer = new byte[5 * 1024];
                 FileStream chunkStrem;
                 while (!TryOpen(fileChunk, out chunkStrem))
                 {
                     Thread.Sleep(500);
                 }
                 WriteFile(chunkStrem, fs);
             }
             MergeCompleted.Raise(this, EventArgs.Empty, aop);
         }
     }));
 }
예제 #14
0
        internal override void InitRanges()
        {
            base.InitRanges();

            Ranges.AddRange(new List <SheetRange>()
            {
                new SheetRange(Sheet.CellsInRows(19, 4))
                {
                    Value = Company.FullName
                },                                                                      //1.2. Полное наименование (в русской транскрипции)
                new SheetRange(Sheet.CellsInRow(27, 61, 3))
                {
                    Value = TotalIndirectSharePart.ToString("D3")
                },                                                                                                  //1.3. Доля косвенного участия - итого, %
                new SheetRange(Sheet.CellsInRow(27, 73, 5))
                {
                    Value = TotalIndirectSharePart.GetNumbersAfterDot(5)
                },                                                                                                        //1.3. Доля косвенного участия - итого, %
                new SheetRange(Sheet.CellsInRow(31, 61, 5))
                {
                    Value = chain.Number.ToString("D5")
                },                                                                                       //2.1. Номер последовательности участия
                new SheetRange(Sheet.CellsInRow(33, 61, 3))
                {
                    Value = chain.IndirectSharePart.ToString("D3")
                },                                                                                                   //2.2. Доля косвенного участия в последовательности - итого, %
                new SheetRange(Sheet.CellsInRow(33, 73, 5))
                {
                    Value = chain.IndirectSharePart.GetNumbersAfterDot(5)
                },                                                                                                         //2.2. Доля косвенного участия в последовательности - итого, %
            });

            var index = 0;

            foreach (var participant in chain)
            {
                Ranges.AddRange(GetParticipantRanges(index, participant));// 2.3. Участники последовательности
                index++;
            }
        }
예제 #15
0
        public static SelectList AmountRange()
        {
            // Create a list of ranges
            List <Ranges> RangesList = new List <Ranges>();

            Ranges None = new Ranges {
                Name = "None", RangeID = 0
            };
            Ranges _100 = new Ranges {
                Name = "$0-100", RangeID = 1
            };
            Ranges _100_200 = new Ranges {
                Name = "$100-200", RangeID = 2
            };
            Ranges _200_300 = new Ranges {
                Name = "$200-300", RangeID = 3
            };
            Ranges _300 = new Ranges {
                Name = "$300+", RangeID = 4
            };
            Ranges Custom = new Ranges {
                Name = "Custom", RangeID = 5
            };

            // Add to the list
            RangesList.Add(None);
            RangesList.Add(_100);
            RangesList.Add(_100_200);
            RangesList.Add(_200_300);
            RangesList.Add(_300);
            RangesList.Add(Custom);


            // Convert to Select List

            SelectList RangesSelect = new SelectList(RangesList, "RangeID", "Name");

            return(RangesSelect);
        }
        /// <summary>
        /// Show picker popup
        /// </summary>
        public async Task Open()
        {
            if (Visible)
            {
                return;
            }

            var selectedRange = Ranges?.FirstOrDefault(r =>
                                                       r.Value.Start.Date == TStartDate?.Date &&
                                                       r.Value.End.Date == TEndDate?.Date);

            if (selectedRange?.Value != null)
            {
                ChosenLabel = selectedRange.Value.Key;
                if (AlwaysShowCalendars != true)
                {
                    CalendarsVisible = false;
                }
            }
            else if (CalendarsVisible || AlwaysShowCalendars == true)
            {
                ChosenLabel      = CustomRangeLabel;
                CalendarsVisible = true;
            }

            await JSRuntime.InvokeAsync <object>("clickAndPositionHandler.addClickOutsideEvent", Id, ParentId, DotNetObjectReference.Create(this));

            await JSRuntime.InvokeAsync <object>("clickAndPositionHandler.getPickerPosition", Id, ParentId,
                                                 Enum.GetName(typeof(DropsType), Drops).ToLower(), Enum.GetName(typeof(SideType), Opens).ToLower());

            Visible = true;
            await OnOpened.InvokeAsync(null);

            if (AutoAdjustCalendars == true)
            {
                await AdjustCalendars();
            }
        }
        private void cd_ResponseReceived(object sender, ResponseReceivedEventArgs e)
        {
            var cd = (HttpRangeDownloader)sender;

            if (Info == null)
            {
                Info     = HttpDownloadInfo.GetFromResponse(e.Response, Url);
                LastInfo = Info.Clone();
                cd.Info  = Info.Clone();
                cd.Wait  = Info.AcceptRanges;
                var chunkedHeader = e.Response.Headers[HttpResponseHeader.TransferEncoding];
                UseChunk = Info.AcceptRanges && chunkedHeader != null && chunkedHeader.ToLower() == "chunked";
                Ranges.First().End = Info.ContentSize - 1;
                //NofThread = Info.AcceptRanges ? NofThread : 1;
                DownloadInfoReceived.Raise(this, EventArgs.Empty);
            }
            if (NofActiveThreads > 1 && Info.AcceptRanges && Info.ResumeCapability != Resumeability.Yes)
            {
                Info.ResumeCapability = Resumeability.Yes;
                foreach (var a in cdList)
                {
                    Info.AcceptRanges   = true;
                    a.Info.AcceptRanges = true;
                }
                foreach (var item in cdList.Where(x => x.Wait))
                {
                    item.Wait = false;
                }
            }
            if (Info.ContentSize < 10 * 1024 + 1)
            {
                foreach (var item in cdList.Where(x => x.Wait))
                {
                    item.Wait = false;
                }
            }
            createNewThreadIfRequired();
        }
예제 #18
0
        /// <summary>
        /// FileVersion.Current - 104 bytes
        /// </summary>
        /// <returns></returns>
        public byte[] ToBytes()
        {
            var bytes = new List <byte>();

            switch (FileVersion)
            {
            case FileVersion.Current:
                bytes.AddRange(Label.ToBytes(9));
                for (var i = 0; i < 14; ++i)
                {
                    var input = Inputs.ElementAtOrDefault(i) ?? new NetPoint();
                    input.FileVersion = FileVersion;

                    bytes.AddRange(input.ToBytes());
                }
                for (var i = 0; i < 14; ++i)
                {
                    var range = Ranges.ElementAtOrDefault(i);
                    bytes.Add((byte)range);
                }
                bytes.Add((byte)Second);
                bytes.Add((byte)Minute);
                bytes.Add((byte)Hour);
                bytes.Add((byte)MaxTimeLength);
                bytes.Add((byte)InputsCount);
                bytes.Add((byte)AnalogInputsCount);
                bytes.Add((byte)Status);
                bytes.AddRange(((int)NextSampleTime).ToBytes());
                break;

            default:
                throw new FileVersionNotImplementedException(FileVersion);
            }

            CheckSize(bytes.Count, GetSize(FileVersion));

            return(bytes.ToArray());
        }
예제 #19
0
        public bool IsValid(long sequenceNumber, bool isLast)
        {
            if (_reliableMessagingVersion == ReliableMessagingVersion.WSReliableMessagingFebruary2005)
            {
                if (isLast)
                {
                    if (Last == 0)
                    {
                        if (Ranges.Count > 0)
                        {
                            return(sequenceNumber > Ranges[Ranges.Count - 1].Upper);
                        }
                        else
                        {
                            return(true);
                        }
                    }
                    else
                    {
                        return(sequenceNumber == Last);
                    }
                }
                else if (Last > 0)
                {
                    return(sequenceNumber < Last);
                }
            }
            else
            {
                if (_isLastKnown)
                {
                    return(Ranges.Contains(sequenceNumber));
                }
            }

            return(true);
        }
예제 #20
0
        /// <summary>
        /// </summary>
        /// <param name="Array"></param>
        public void FromArray(bool[] Array, int ArrayLength)
        {
            if (Size != ArrayLength)
            {
                Resize(ArrayLength);
            }

            Ranges.Clear();

            for (int RangeStart = 0; RangeStart < ArrayLength;)
            {
                int RangeEnd = RangeStart;

                for (; RangeEnd < Size; RangeEnd++)
                {
                    if (Array[RangeStart] != Array[RangeEnd])
                    {
                        break;
                    }
                }

                Range Range = new Range
                {
                    Start = RangeStart,
                    End   = RangeEnd - 1,
                    State = Array[RangeStart]
                };

                Ranges.Add(Range);

                RangeStart = RangeEnd;
            }

#if DO_VALIDATION
            Validate();
#endif
        }
예제 #21
0
 public string GetIp()
 {
     if (current <= to)
     {
         current++;
         return(LongToIP(current));
     }
     else
     {
         if (Ranges.Count != 0)
         {
             Ranges.RemoveAt(0);
         }
         if (Ranges.Count != 0)
         {
             CurrentRange = Ranges[0];
             from         = IP2Long(CurrentRange.from);
             to           = IP2Long(CurrentRange.to);
             current      = from;
             return(LongToIP(current));
         }
     }
     return(null);
 }
예제 #22
0
        /// <summary>
        /// Tests for an overlap of given date ranges
        /// </summary>
        /// <param name="TestEndPoints">Set to true if you want to count the date range end points as an overlap and false if you don't care if the end points overlap.</param>
        /// <param name="Ranges">The set of date ranges that you want to test.</param>
        /// <returns>A list of pairs of date ranges that overlap each other. The list will be empty if there is no overlaps.</returns>
        public static IEnumerable <OverlapPairs> OverlapingRanges(bool TestEndPoints, params DateOverlap[] Ranges)
        {
            if (Ranges.Count() < 2)
            {
                throw new Exception("Ranges count must be greater than 1");
            }
            List <OverlapPairs> ret = new List <OverlapPairs>();

            if (!HasOverlap(TestEndPoints, Ranges))
            {
                return(ret);
            }
            Parallel.For(0, Ranges.Count() - 1, i =>
            {
                Parallel.For(i + 1, Ranges.Count(), j =>
                {
                    if (HasOverlap(TestEndPoints, Ranges[i], Ranges[j]))
                    {
                        ret.Add(new OverlapPairs(Ranges[i], Ranges[j]));
                    }
                });
            });
            return(ret);
        }
        private static Ranges<int> FindMatches(Regex rx, string s, ref Ranges<int> TokenRange)
        {
            Ranges<int> ranges = new Ranges<int>();
            MatchCollection mc = rx.Matches(s);

            foreach (Match m in mc)
            {
                int sToken = m.Groups[1].Index;
                int match = m.Groups[2].Index;
                int eToken = m.Groups[3].Index;
                int endStr = m.Groups[3].Index + m.Groups[3].Length;

                TokenRange.add(new Range<int>()
                {
                    Minimum = sToken,
                    Maximum = match - 1
                });

                ranges.add(new Range<int>()
                {
                    Minimum = match,
                    Maximum = eToken - 1
                });

                TokenRange.add(new Range<int>()
                {
                    Minimum = eToken,
                    Maximum = endStr - 1
                });
            }

            return ranges;
        }
        private static Paragraph GenerateRuns(Paragraph p, string Buffer)
        {
            // Calculate positions of all tokens and use this to set
            // run styles when iterating through the string

            // in the same calculation note down location of tokens
            // so they can be ignored when loading strings into the buffer

            // Is this really needed?
            Regex pBold, pItalic, pUnderline, pHyperlink_description, pHyperlink;

            if (!CustomMode)
                pItalic = Patterns[rExKey.Asterisk];
            else
                pItalic = Patterns[rExKey.Grave];

            pUnderline = Patterns[rExKey.Underscore];
            pBold = Patterns[rExKey.DblAsterisk];

            pHyperlink = Patterns[rExKey.Hyperlink];
            pHyperlink_description = Patterns[rExKey.Hyperlink_description];

            Ranges<int> Tokens = new Ranges<int>();
            Ranges<int> Bold = FindMatches(pBold, Buffer, ref Tokens);
            Ranges<int> Italic = FindMatches(pItalic, Buffer, ref Tokens);
            Ranges<int> Underline = FindMatches(pUnderline, Buffer, ref Tokens);

            Ranges<int> Tabs = FindTabs(new Regex(@"(\\t|[\\ ]{4})"), Buffer, ref Tokens);

            // TODO: make this a boolean , overload FindMatches or something.
            Ranges<int> Hyperlinks_description = FindMatches(pHyperlink_description, Buffer, ref Tokens);
            Ranges<int> Hyperlinks = FindMatches(pHyperlink, Buffer, ref Tokens);

            if ((Bold.Count()
                + Italic.Count()
                + Underline.Count()
                + Tabs.Count()
                + Hyperlinks_description.Count()
                + Hyperlinks.Count()) == 0)
            {
                Run run = new Run();
                run.Append(new Text(Buffer)
                {
                    Space = SpaceProcessingModeValues.Preserve
                });
                p.Append(run);
            }
            else
            {
                int CurrentPosition = 0;
                Run run;

                // This needs optimizing so it builds a string buffer before adding the run itself
                // might need to make this into a Switch statement also
                if (Hyperlinks_description.Count() == 1)
                {
                    AppendHyperlink(Buffer, ref p, true);
                }
                else if (Hyperlinks.Count() == 1)
                {
                    AppendHyperlink(Buffer, ref p, false);
                }
                else
                {
                    while (CurrentPosition < Buffer.Length)
                    {
                        if (!Tokens.ContainsValue(CurrentPosition) || Tabs.ContainsValue(CurrentPosition))
                        {
                            run = new Run();

                            if (Tabs.ContainsValue(CurrentPosition))
                            {
                                run.Append(new TabChar());
                            }
                            else
                            {
                                RunProperties rPr = new RunProperties();
                                if (Bold.ContainsValue(CurrentPosition)) rPr.Append(new Bold() { Val = new OnOffValue(true) });
                                if (Italic.ContainsValue(CurrentPosition)) rPr.Append(new Italic());
                                if (Underline.ContainsValue(CurrentPosition)) rPr.Append(new Underline() { Val = DocumentFormat.OpenXml.Wordprocessing.UnderlineValues.Single });
                                run.Append(rPr);

                                string TextBuffer = Buffer.Substring(CurrentPosition, 1);
                                run.Append(new Text(TextBuffer)
                                {
                                    Space = SpaceProcessingModeValues.Preserve
                                });
                            }
                            p.Append(run);
                        }
                        CurrentPosition++;
                    };
                }
            }
            return p;
        }
        private static Ranges<int> FindTabs(Regex rx, string s, ref Ranges<int> TokenRange)
        {
            Ranges<int> ranges = new Ranges<int>();
            MatchCollection mc = rx.Matches(s);

            foreach (Match m in mc)
            {
                ranges.add(new Range<int>()
                {
                    Minimum = m.Index,
                    Maximum = m.Index
                });

                TokenRange.add(new Range<int>()
                {
                    Minimum = m.Index,
                    Maximum = m.Index + m.Length - 1
                });
            }
            return ranges;
        }
 private void reinitialize()
 {
     byte[] ROMData = new byte[MAX_SIZE]; //32MB
      MetadataManager metadata;
      string ROMName = null;
      string ROMPath = null;
      bool ROMOpen = false;
      bool ROMChanged = false;
      int ROMSize = 0;
      List<EditorModule> myModules = new List<EditorModule>();
      object myLock = new object();
      List<Tuple<EditorModule, int, byte[]>> accessedData = new List<Tuple<EditorModule,int, byte[]>>();
      List<Tuple<int, byte[]>> xorDiffs = new List<Tuple<int,byte[]>>();
      List<Tuple<int, byte[]>> condensedDiffs = new List<Tuple<int, byte[]>>();
      Ranges freeSpace = new Ranges();
 }
 private void PushIntervalToRanges(ref Ranges[] intervals,int pivot, int end)
 {
     Array.Resize(ref intervals, intervals.Length + 1);
         intervals[intervals.Length - 1] = new Ranges(pivot, end);
 }
 public Ranges PopIntervalFromRanges(ref Ranges[] intervals)
 {
     Ranges interval = intervals[intervals.Length - 1];
     Array.Resize(ref intervals, intervals.Length-1);
     return interval;
 }
예제 #29
0
        private void GenerateRanges()
        {
            double totalWidth = 0;
            ColumnDefinition colDef;
            ColRanges = new Ranges();
            Range ColRange = new Range();
            ColRange.From = 0;
            double pagewidth = ticket.PageMediaSize.Width.Value - margins.Left - margins.Right;
            if (PageOrientation == 1)
                pagewidth = ticket.PageMediaSize.Height.Value - margins.Top - margins.Bottom;

            DisplayColumns = 0;
            for (int i = 0; i < Columns.Count; i++)
            {
                colDef = Columns[i];
                double width = colDef.Width;
                totalWidth += width;
                DisplayColumns++;
                if (Configuration.FixedColumnWidths)
                {
                    if (i < Columns.Count - 1)
                        if (totalWidth + Columns[i + 1].Width > pagewidth)
                        {
                            width = ticket.PageMediaSize.Width.Value - margins.Left - margins.Right - totalWidth + width;
                            ColRange.Until = i;
                            ColRanges.Add(ColRange);
                            ColRange = new Range();
                            ColRange.From = i + 1;
                            totalWidth = 0;
                        }
                }
            }
            ColRange.Until = Columns.Count - 1;
            ColRanges.Add(ColRange);
        }
        private int[] SortNumbersQuickMethodNotRecursive(int[] numbers)
        {
            Ranges[] intervals = new Ranges[0];
            int start = 0;
            int end = numbers.Length-1;
            int pivot = 0;
            while (start <end || intervals.Length>0)
            {
                if (start>end)
                {

                    Ranges tempInterval = PopIntervalFromRanges(ref intervals);
                    start = tempInterval.start;
                    end = tempInterval.end;
                    Partition(numbers, start, end);
                }
                pivot = Partition(numbers, start, end);
                if (pivot + 1 < end)
                    PushIntervalToRanges(ref intervals, pivot + 1, end);
                end = pivot - 1;
            }
            return numbers;
        }
 // method checks if target value falls within range
 // if argument is out of range, throw argument exception, caught in main
 protected void TestRange(Ranges floor, Ranges ceiling, int target)
 {
     if (target < (int)floor || target > (int)ceiling)
         throw new ArgumentException(string.Format("Warning: {0} is not a valid entry.", target));
 }