本文整理汇总了C#中System.Collections.BitArray.NextClearBit方法的典型用法代码示例。如果您正苦于以下问题:C# BitArray.NextClearBit方法的具体用法?C# BitArray.NextClearBit怎么用?C# BitArray.NextClearBit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.BitArray
的用法示例。
在下文中一共展示了BitArray.NextClearBit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoNestedTermConjunctions
public virtual int DoNestedTermConjunctions(IndexSearcher s, int termsInIndex, int maxOuterClauses, int maxClauses, int iter)
{
int ret = 0;
long nMatches = 0;
for (int i = 0; i < iter; i++)
{
int oClauses = Random().Next(maxOuterClauses - 1) + 2;
BooleanQuery oq = new BooleanQuery();
for (int o = 0; o < oClauses; o++)
{
int nClauses = Random().Next(maxClauses - 1) + 2; // min 2 clauses
BooleanQuery bq = new BooleanQuery();
BitArray termflag = new BitArray(termsInIndex);
for (int j = 0; j < nClauses; j++)
{
int tnum;
// don't pick same clause twice
tnum = Random().Next(termsInIndex);
if (termflag.Get(tnum))
{
tnum = termflag.NextClearBit(tnum);
}
if (tnum < 0 || tnum >= 25)
{
tnum = termflag.NextClearBit(0);
}
termflag.Set(tnum, true);
Query tq = new TermQuery(Terms[tnum]);
bq.Add(tq, BooleanClause.Occur.MUST);
} // inner
oq.Add(bq, BooleanClause.Occur.MUST);
} // outer
CountingHitCollector hc = new CountingHitCollector();
s.Search(oq, hc);
nMatches += hc.Count;
ret += hc.Sum;
}
if (VERBOSE)
{
Console.WriteLine("Average number of matches=" + (nMatches / iter));
}
return ret;
}