private void InitializeUnicodeCategoryDefinitions() { if (encoding == BitWidth.BV7) { for (int i = 0; i < 30; i++) { if (UnicodeCategoryRanges.ASCIIBdd[i] == null) { catConditionsBDD[i] = solverBDD.False; } else { catConditionsBDD[i] = solverBDD.DeserializeCompact(UnicodeCategoryRanges.ASCIIBdd[i]); } } whiteSpaceConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.ASCIIWhitespaceBdd); wordLetterConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.ASCIIWordCharacterBdd); } else if (encoding == BitWidth.BV8) { for (int i = 0; i < 30; i++) { if (UnicodeCategoryRanges.CP437Bdd[i] == null) { catConditionsBDD[i] = solverBDD.False; } else { catConditionsBDD[i] = solverBDD.DeserializeCompact(UnicodeCategoryRanges.CP437Bdd[i]); } } whiteSpaceConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.CP437WhitespaceBdd); wordLetterConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.CP437WordCharacterBdd); } else { for (int i = 0; i < 30; i++) { catConditionsBDD[i] = solverBDD.DeserializeCompact(UnicodeCategoryRanges.UnicodeBdd[i]); } whiteSpaceConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.UnicodeWhitespaceBdd); wordLetterConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.UnicodeWordCharacterBdd); } #region create corresponding ranges for (int i = 0; i < 30; i++) { catConditions[i] = new HashSet <char>(solverBDD.GenerateAllCharacters(catConditionsBDD[i], false)); } whiteSpaceCondition = new HashSet <char>(solverBDD.GenerateAllCharacters(whiteSpaceConditionBDD, false)); wordLetterCondition = new HashSet <char>(solverBDD.GenerateAllCharacters(wordLetterConditionBDD, false)); #endregion }
private void InitializeUnicodeCategoryDefinitions() { if (solver.Encoding == BitWidth.BV7) { for (int i = 0; i < 30; i++) { if (UnicodeCategoryRanges.ASCIIBdd[i] == null) { catConditions[i] = solver.False; } else { catConditions[i] = solver.DeserializeCompact(UnicodeCategoryRanges.ASCIIBdd[i]); } } whiteSpaceCondition = solver.DeserializeCompact(UnicodeCategoryRanges.ASCIIWhitespaceBdd); wordLetterCondition = solver.DeserializeCompact(UnicodeCategoryRanges.ASCIIWordCharacterBdd); } else if (solver.Encoding == BitWidth.BV8) { for (int i = 0; i < 30; i++) { if (UnicodeCategoryRanges.CP437Bdd[i] == null) { catConditions[i] = solver.False; } else { catConditions[i] = solver.DeserializeCompact(UnicodeCategoryRanges.CP437Bdd[i]); } } whiteSpaceCondition = solver.DeserializeCompact(UnicodeCategoryRanges.CP437WhitespaceBdd); wordLetterCondition = solver.DeserializeCompact(UnicodeCategoryRanges.CP437WordCharacterBdd); } else { for (int i = 0; i < 30; i++) { catConditions[i] = solver.DeserializeCompact(UnicodeCategoryRanges.UnicodeBdd[i]); } whiteSpaceCondition = solver.DeserializeCompact(UnicodeCategoryRanges.UnicodeWhitespaceBdd); wordLetterCondition = solver.DeserializeCompact(UnicodeCategoryRanges.UnicodeWordCharacterBdd); } }
private void InitializeUnicodeCategoryDefinitions() { if (encoding == BitWidth.BV7) { for (int i = 0; i < 30; i++) { if (UnicodeCategoryRanges.ASCIIBdd[i] == null) { catConditionsBDD[i] = solverBDD.False; } else { catConditionsBDD[i] = solverBDD.DeserializeCompact(UnicodeCategoryRanges.ASCIIBdd[i]); } } whiteSpaceConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.ASCIIWhitespaceBdd); wordLetterConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.ASCIIWordCharacterBdd); } else if (encoding == BitWidth.BV8) { for (int i = 0; i < 30; i++) { if (UnicodeCategoryRanges.CP437Bdd[i] == null) { catConditionsBDD[i] = solverBDD.False; } else { catConditionsBDD[i] = solverBDD.DeserializeCompact(UnicodeCategoryRanges.CP437Bdd[i]); } } whiteSpaceConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.CP437WhitespaceBdd); wordLetterConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.CP437WordCharacterBdd); } else { for (int i = 0; i < 30; i++) { catConditionsBDD[i] = solverBDD.DeserializeCompact(UnicodeCategoryRanges.UnicodeBdd[i]); } whiteSpaceConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.UnicodeWhitespaceBdd); wordLetterConditionBDD = solverBDD.DeserializeCompact(UnicodeCategoryRanges.UnicodeWordCharacterBdd); } #region create corresponding ranges for (int i = 0; i < 30; i++) { var ranges = solverBDD.ToRanges(catConditionsBDD[i]); catConditions[i] = new HashSet <Pair <char, char> >(); foreach (var range in ranges) { catConditions[i].Add(new Pair <char, char>((char)range.First, (char)range.Second)); } } var ranges1 = solverBDD.ToRanges(whiteSpaceConditionBDD); whiteSpaceCondition = new HashSet <Pair <char, char> >(); foreach (var range in ranges1) { whiteSpaceCondition.Add(new Pair <char, char>((char)range.First, (char)range.Second)); } ranges1 = solverBDD.ToRanges(wordLetterConditionBDD); //new Utilities.UnicodeCategoryRangesGenerator.Ranges(); wordLetterCondition = new HashSet <Pair <char, char> >(); foreach (var range in ranges1) { wordLetterCondition.Add(new Pair <char, char>((char)range.First, (char)range.Second)); } #endregion }