当前位置: 首页>>代码示例>>C++>>正文


C++ BitSet::isMember方法代码示例

本文整理汇总了C++中BitSet::isMember方法的典型用法代码示例。如果您正苦于以下问题:C++ BitSet::isMember方法的具体用法?C++ BitSet::isMember怎么用?C++ BitSet::isMember使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BitSet的用法示例。


在下文中一共展示了BitSet::isMember方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: processInternalChild

  double processInternalChild(Symbol parentSymbol,int parentID,int child,
			      NthOrdSubstMatrix &noPt) {
    AlignmentSeq &track=A.getIthTrack(parentID);
    AlignmentSeq &childTrack=A.getIthTrack(child);
    int contextBegin=column-order;
    if(contextBegin<0) contextBegin=0;
    int contextLen=column-contextBegin;
    Sequence context;
    track.getSeq().getSubsequence(contextBegin,contextLen,context);//ACO
    //A.getIthTrack(root->getID()).getSeq().getSubsequence(contextBegin,contextLen,context);//TRCO
    int pos=MultSeqAlignment::rightmostGapPos(context,gapSymbols);
    if(pos>=0) {
      throw "this should not happen (FitchFelsenstein)::processInternalChild";
      Sequence temp;
      context.getSubsequence(pos+1,contextLen-pos-1,temp);
      context=temp;
    }
    SubstitutionMatrix &Pt=*noPt.lookup(context,0,-1);
    Array2D<double>::RowIn2DArray<double> row=L[child];
    Symbol childSym=childTrack.getSeq()[column];
    double ll;
    if(gapSymbols.isMember(childSym)){
      V.setAllTo(NEGATIVE_INFINITY);
      for(Symbol a=0 ; a<numAlpha ; ++a) {
	if(!gapSymbols.isMember(a)) {
	  V[(int)a]=safeAdd(row[a],Pt(parentSymbol,a));
	}
      }
      ll=sumLogProbs(V);
    }
    else {
      ll=safeAdd(row[childSym],Pt(parentSymbol,childSym));
    }
    return ll;
  }
开发者ID:bmajoros,项目名称:PhyLib,代码行数:35,代码来源:FitchFelsenstein.C

示例2: processNode

  virtual void processNode(RootNode &u) {
    int id=u.getID();
    Symbol a=A.getIthTrack(id)[column];
    int childID=u.getChild()->getID();
    NthOrdSubstMatrix &Pt=*u.getSubstMatrix();
    if(gapSymbols.isMember(a))
      likelihood=0; // shouldn't happen...
    else
      likelihood=processInternalChild(a,childID,Pt,rootContextCode,
				      rootContextLength);
  }
开发者ID:bmajoros,项目名称:PhyLib,代码行数:11,代码来源:RCO_Felsenstein.C

示例3: processInternalChild

  double processInternalChild(Symbol parentSymbol,int child,
			      NthOrdSubstMatrix &noPt,
			      int contextCode,int contextLength) {
    SubstitutionMatrix &Pt=*noPt.lookup(contextCode,contextLength);
    Array2D<double>::RowIn2DArray<double> row=L[child];
    Vector<double> V;
    for(Symbol b=0 ; b<numAlpha ; ++b)
      if(!gapSymbols.isMember(b))
	V.push_back(row[b]+Pt(parentSymbol,b)); // Pt already in log space
    double ll=sumLogProbs(V);
    return ll;
  }
开发者ID:bmajoros,项目名称:PhyLib,代码行数:12,代码来源:RCO_Felsenstein.C

示例4: processNode

  virtual void processNode(InternalNode &u) {
    int id=u.getID();
    NthOrdSubstMatrix &leftPt=*u.getLeftSubstMatrix();
    NthOrdSubstMatrix &rightPt=*u.getRightSubstMatrix();
    int left=u.getLeft()->getID(), right=u.getRight()->getID();
    Array2D<double>::RowIn2DArray<double> row=L[id];
    Symbol a=A.getIthTrack(id)[column];
    if(gapSymbols.isMember(a))
      for(a=0 ; a<numAlpha ; ++a) {
	if(gapSymbols.isMember(a)) continue;
	row[a]=
	  processInternalChild(a,id,left,leftPt)+
	  processInternalChild(a,id,right,rightPt);
      }
    else {
      for(Symbol b=0 ; b<numAlpha ; ++b) row[b]=NEGATIVE_INFINITY;
      double l=processInternalChild(a,id,left,leftPt);
      double r=processInternalChild(a,id,right,rightPt);
      row[a]=l+r;
    }
  }
开发者ID:bmajoros,项目名称:PhyLib,代码行数:21,代码来源:FitchFelsenstein.C


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