public void InitOptions(ISynchronizedLinks <TLink> links) { if (UseSequenceMarker) { if (_equalityComparer.Equals(SequenceMarkerLink, links.Constants.Null)) { SequenceMarkerLink = links.CreatePoint(); } else { if (!links.Exists(SequenceMarkerLink)) { var link = links.CreatePoint(); if (!_equalityComparer.Equals(link, SequenceMarkerLink)) { throw new InvalidOperationException("Cannot recreate sequence marker link."); } } } if (MarkedSequenceMatcher == null) { MarkedSequenceMatcher = new MarkedSequenceCriterionMatcher <TLink>(links, SequenceMarkerLink); } } var balancedVariantConverter = new BalancedVariantConverter <TLink>(links); if (UseCompression) { if (LinksToSequenceConverter == null) { ICounter <TLink, TLink> totalSequenceSymbolFrequencyCounter; if (UseSequenceMarker) { totalSequenceSymbolFrequencyCounter = new TotalMarkedSequenceSymbolFrequencyCounter <TLink>(links, MarkedSequenceMatcher); } else { totalSequenceSymbolFrequencyCounter = new TotalSequenceSymbolFrequencyCounter <TLink>(links); } var doubletFrequenciesCache = new LinkFrequenciesCache <TLink>(links, totalSequenceSymbolFrequencyCounter); var compressingConverter = new CompressingConverter <TLink>(links, balancedVariantConverter, doubletFrequenciesCache); LinksToSequenceConverter = compressingConverter; } } else { if (LinksToSequenceConverter == null) { LinksToSequenceConverter = balancedVariantConverter; } } if (UseIndex && Index == null) { Index = new SequenceIndex <TLink>(links); } if (Walker == null) { Walker = new RightSequenceWalker <TLink>(links, new DefaultStack <TLink>()); } }
bool IRIFReportScope.TextboxInScope(int sequenceIndex) { return(SequenceIndex.GetBit(this.m_textboxesInScope, sequenceIndex, true)); }
bool IRIFReportScope.VariableInScope(int sequenceIndex) { return(SequenceIndex.GetBit(this.m_variablesInScope, sequenceIndex, true)); }
public bool VariableInScope(int sequenceIndex) { return(SequenceIndex.GetBit(this.m_variablesInScope, sequenceIndex, true)); }
public bool TextboxInScope(int sequenceIndex) { return(SequenceIndex.GetBit(this.m_textboxesInScope, sequenceIndex, true)); }
public bool VariableInScope(int sequenceIndex) { return(SequenceIndex.GetBit(m_variablesInScope, sequenceIndex, returnValueIfSequenceNull: true)); }
public bool TextboxInScope(int sequenceIndex) { return(SequenceIndex.GetBit(m_textboxesInScope, sequenceIndex, returnValueIfSequenceNull: true)); }
bool IRIFReportScope.TextboxInScope(int sequenceIndex) { return(SequenceIndex.GetBit(m_textboxesInScope, sequenceIndex, returnValueIfSequenceNull: true)); }
bool IRIFReportScope.VariableInScope(int sequenceIndex) { return(SequenceIndex.GetBit(m_variablesInScope, sequenceIndex, returnValueIfSequenceNull: true)); }
static void Main(string[] args) { var constants = new LinksConstants <ulong>((1, long.MaxValue), (long.MaxValue + 1UL, ulong.MaxValue)); using var memory = new UInt64ResizableDirectMemoryLinks(new HeapResizableDirectMemory()); var links = memory.DecorateWithAutomaticUniquenessAndUsagesResolution(); var addressToRawNumberConverter = new AddressToRawNumberConverter <ulong>(); var rawNumberToAddressConverter = new RawNumberToAddressConverter <ulong>(); var root = links.GetOrCreate(1UL, 1UL); var unicodeSymbolMarker = links.GetOrCreate(root, addressToRawNumberConverter.Convert(1)); var patternRootMarker = links.GetOrCreate(root, addressToRawNumberConverter.Convert(2)); var charToUnicodeSymbolConverter = new Platform.Data.Doublets.Unicode.CharToUnicodeSymbolConverter <ulong>(links, addressToRawNumberConverter, unicodeSymbolMarker); var strings = new[] { "href", "target", "rel", "media", "hreflang", "type", "sizes", "content", "name", "src", "charset", "text", "cite", "ping", "alt", "sandbox", "width", "height", "data", "value", "poster", "coords", "shape", "scope", "action", "enctype", "method", "accept", "max", "min", "pattern", "placeholder", "step", "label", "wrap", "icon", "radiogroup" }; var patternRootMarkerArray = new[] { patternRootMarker }; var sequences = strings.Select((s, i) => patternRootMarkerArray.Concat(BuildSequence(s, i, links, addressToRawNumberConverter, charToUnicodeSymbolConverter)).Concat(patternRootMarkerArray).ToArray()).ToArray(); var index = new SequenceIndex <ulong>(links); var any = links.Constants.Any; var @continue = links.Constants.Continue; for (int i = 0; i < sequences.Length; i++) { index.Add(sequences[i]); } var chars = new Dictionary <ulong, char>(); links.Each(linkParts => { var link = new UInt64Link(linkParts); if (link.Target == unicodeSymbolMarker) { var symbol = (char)rawNumberToAddressConverter.Convert(link.Source); chars.Add(link.Index, symbol); Console.WriteLine($"({link.Index}: '{symbol}'->{link.Target})"); } else { var sourceString = LinkToString(links, constants, link.Source, chars, rawNumberToAddressConverter); var targetString = LinkToString(links, constants, link.Target, chars, rawNumberToAddressConverter); Console.WriteLine($"({link.Index}: {sourceString}->{targetString})"); } return(@continue); }, new UInt64Link(any, any, any)); StringBuilder sb = new StringBuilder(); sb.Append('^'); AppendPattern(links, constants, patternRootMarker, patternRootMarker, chars, any, @continue, sb, 0UL, rawNumberToAddressConverter); sb.Append('$'); var result = sb.ToString(); var simplificationRegex = new Regex(@"\(([a-z\?]*)\)", RegexOptions.Compiled); while (simplificationRegex.IsMatch(result)) { result = simplificationRegex.Replace(result, "$1"); } // (|t) // t? var simplificationRegex2 = new Regex(@"\(\|([a-z])\)", RegexOptions.Compiled); while (simplificationRegex2.IsMatch(result)) { result = simplificationRegex2.Replace(result, "$1?"); } // Repeat while (simplificationRegex.IsMatch(result)) { result = simplificationRegex.Replace(result, "$1"); } var regex = new Regex(result); for (int i = 0; i < strings.Length; i++) { if (!regex.IsMatch(strings[i])) { Console.WriteLine($"Error: {strings[i]} does not match the pattern."); } } Console.WriteLine(result); Console.WriteLine(links.Count()); Console.WriteLine("Hello World!"); }
public bool TagCategoriesSequence(int ID, SequenceIndex Index) { return this.dal.TagCategoriesSequence(ID, Index); }
public int CompareTo(Segment other) => SequenceIndex.CompareTo(other.SequenceIndex);
public bool TagCategoriesSequence(int ID, SequenceIndex Index) { int rowsAffected = 0; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ID", SqlDbType.Int), new SqlParameter("@Index", SqlDbType.Int) }; parameters[0].Value = ID; parameters[1].Value = (int) Index; DbHelperSQL.RunProcedure("sp_Shop_TagCategories_SwapSequence", parameters, out rowsAffected); return (rowsAffected > 0); }