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


C++ Segment::AddFirstToken方法代码示例

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


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

示例1: testIsFirstOrLastTokenMethod

/**
 * Test the is First Token methods behavior.
 * Test the is Last Token methods behavior.
 */
void TestSegment::testIsFirstOrLastTokenMethod()
{
  Segment* seg = Segment::CreateWithEndTime(0, 20000, NULL);
  Token* tok1 = Token::CreateWithEndTime(0, 4000, seg);
  Token* tok2 = Token::CreateWithEndTime(1000, 4500, seg);
  Token* tok3 = Token::CreateWithEndTime(3000, 5000, seg);
  
  Token* tok4 = Token::CreateWithEndTime(5000, 10000, seg);
  
  Token* tok5 = Token::CreateWithEndTime(10000, 19000, seg);
  Token* tok6 = Token::CreateWithEndTime(11000, 20000, seg);
  Token* tok7 = Token::CreateWithEndTime(10000, 18000, seg);
  
  seg->AddFirstToken(tok1);
  seg->AddFirstToken(tok2);
  seg->AddFirstToken(tok3);
  seg->AddLastToken(tok5);
  seg->AddLastToken(tok6);
  seg->AddLastToken(tok7);
  
  tok1->AddNextToken(tok4);
  tok2->AddNextToken(tok4);
  tok3->AddNextToken(tok4);
  tok4->AddPrecToken(tok1);
  tok4->AddPrecToken(tok2);
  tok4->AddPrecToken(tok3);
  
  tok5->AddPrecToken(tok4);
  tok6->AddPrecToken(tok4);
  tok7->AddPrecToken(tok4);
  tok4->AddNextToken(tok5);
  tok4->AddNextToken(tok6);
  tok4->AddNextToken(tok7);
  
  assert(seg->isFirstToken(tok1));
  assert(seg->isFirstToken(tok2));
  assert(seg->isFirstToken(tok3));
  
  assert(seg->isLastToken(tok5));
  assert(seg->isLastToken(tok6));
  assert(seg->isLastToken(tok7));
}
开发者ID:AIDman,项目名称:Kaldi,代码行数:46,代码来源:test_segment.cpp

示例2: testToTopologicalOrderedStruct

/**
 * Test the output a plan version of the segment method.
 * TODO: Need to be more tough.
 */
void TestSegment::testToTopologicalOrderedStruct()
{
  Segment* seg = Segment::CreateWithEndTime(0, 20000, NULL);
  
  /* The following graph struct is tested.
   * ->1-3-4-5->
   *      / \
   *   ->2  6->
   */
  Token* tok1 = Token::CreateWithEndTime(0, 0, seg);
  Token* tok2 = Token::CreateWithEndTime(0, 0, seg);
  Token* tok3 = Token::CreateWithEndTime(0, 0, seg);
  Token* tok4 = Token::CreateWithEndTime(0, 0, seg);
  Token* tok5 = Token::CreateWithEndTime(0, 0, seg);
  Token* tok6 = Token::CreateWithEndTime(0, 0, seg);
  seg->AddFirstToken(tok1);
  seg->AddFirstToken(tok2);
  tok1->AddNextToken(tok3);
  tok2->AddNextToken(tok4);
  tok3->AddPrecToken(tok1);
  tok3->AddNextToken(tok4);
  tok4->AddPrecToken(tok2);
  tok4->AddPrecToken(tok3);
  tok4->AddNextToken(tok5);
  tok4->AddNextToken(tok6);
  tok5->AddPrecToken(tok4);
  tok6->AddPrecToken(tok4);
  seg->AddLastToken(tok5);
  seg->AddLastToken(tok6);
  
  vector<Token*> topo_seg = seg->ToTopologicalOrderedStruct();
  
  // the size is suppose to be +1 (empty token at first)
  assert(topo_seg.size() == 6);
  //TODO put some more here  
}
开发者ID:AIDman,项目名称:Kaldi,代码行数:40,代码来源:test_segment.cpp


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