• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript fastbitset.add函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中fastbitset.add函数的典型用法代码示例。如果您正苦于以下问题:TypeScript add函数的具体用法?TypeScript add怎么用?TypeScript add使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了add函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1:

 .forEach(index => {
   const from = this.courseOffsets[index];
   const to = this.courseOffsets[index + 1];
   for (let i = from; i < to; i++) {
     result.add(i);
   }
 });
开发者ID:kevmo314,项目名称:canigraduate.uchicago.edu,代码行数:7,代码来源:indexes.ts


示例2: unpackTermIndex

 private unpackTermIndex(data: string): TypedFastBitSet {
   const terms = new Set<number>(unpack(data));
   const result = new TypedFastBitSet();
   let index = 0;
   for (let i = 0; i < this.courses.length; i++) {
     for (let j = 0; j < this.terms.length; j++) {
       const included = terms.has(j);
       for (let k = 0; k < this.cardinalityTable[i][j]; k++, index++) {
         if (included) {
           result.add(index);
         }
       }
     }
   }
   return result;
 }
开发者ID:kevmo314,项目名称:canigraduate.uchicago.edu,代码行数:16,代码来源:indexes.ts


示例3: search

function search(
  institution: InstitutionData,
  algolia: algoliasearch.Index,
  indexes: Indexes,
  transcript: { course: string }[],
  filter: FilterState
): Observable<SerializedMap> {
  function filterAny(values, getter) {
    return of(...values).pipe(
      map(x => getter(x)),
      reduce((a, b) => a.union(b), new TypedFastBitSet()),
      map(mask => results => results.intersection(mask))
    );
  }

  const subsetters = [];
  if (filter.query && filter.query.length > 0) {
    subsetters.push(
      defer(() =>
        algolia.search({
          query: filter.query,
          attributesToRetrieve: [],
          attributesToHighlight: [],
          allowTyposOnNumericTokens: false,
          hitsPerPage: 1000
        })
      ).pipe(
        map(results => results.hits.map(result => result.objectID)),
        // Map the list of course identifiers to the corresponding bitset.
        map(courses => indexes.getBitSetForCourses(courses)),
        // Apply the exact query match mask.
        map(mask =>
          mask.union(
            indexes.getBitSetForCourses(
              indexes
                .getCourses()
                .filter(x => x.includes(filter.query.toUpperCase()))
            )
          )
        ),
        map(mask => results => results.intersection(mask)),
        first() // Complete the observable.
      )
    );
  }

  if (!filter.full) {
    subsetters.push(
      defer(() => of(indexes.enrollment("full"))).pipe(
        map(mask => results => results.difference(mask))
      )
    );
  }

  if (!filter.taken) {
    subsetters.push(
      of(transcript.map(record => record.course)).pipe(
        map(courses => indexes.getBitSetForCourses(courses)),
        map(mask => results => results.difference(mask))
      )
    );
  }

  if (!filter.old) {
    subsetters.push(
      defer(() => of(indexes.getTerms())).pipe(
        map(terms => terms.slice(0, terms.length - 16)),
        map(terms => indexes.getBitSetForTerms(terms)),
        map(mask => results => results.difference(mask))
      )
    );
  }

  if (filter.departments.length) {
    subsetters.push(filterAny(filter.departments, x => indexes.department(x)));
  }
  if (filter.instructors.length) {
    subsetters.push(filterAny(filter.instructors, x => indexes.instructor(x)));
  }
  subsetters.push(
    filterAny(filter.periods.filter(x => x < institution.periods.length), x =>
      indexes.period(institution.periods[x].name)
    )
  );

  // This is a rather expensive filter...
  if (filter.days) {
    const it = filter.days
      .map(day => [1440 * day, 1440 * (day + 1)])
      .reduce((tree, interval) => tree.add(interval), new IntervalTree());
  }

  // Generate a full state.
  const state = new TypedFastBitSet();
  state.resize(indexes.getTotalCardinality());
  for (let i = 0; i < indexes.getTotalCardinality(); i++) {
    state.add(i);
  }

  return combineLatest(...subsetters).pipe(
//.........这里部分代码省略.........
开发者ID:kevmo314,项目名称:canigraduate.uchicago.edu,代码行数:101,代码来源:indexes-worker.ts



注:本文中的fastbitset.add函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript fastify.FastifyInstance类代码示例发布时间:2022-05-25
下一篇:
TypeScript fast-levenshtein.get函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap