您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CPPUNIT_METRIC_START_TIMING函数代码示例

51自学网 2021-06-01 20:05:03
  C++
这篇教程C++ CPPUNIT_METRIC_START_TIMING函数代码示例写得很实用,希望能帮到您。

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

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

示例1: iters

   void QuatGenMetricTest::testGenTimingMakeNormalQuat()   {      gmtl::Quat<double> q1;      const long iters(25000);      CPPUNIT_METRIC_START_TIMING();      for (long iter = 0; iter < iters; ++iter)      {         q1 = gmtl::makeNormal( q1 );      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE( "QuatGenTest/makeNormal(quatd)", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      gmtl::Quat<float> q2;      CPPUNIT_METRIC_START_TIMING();      for (long iter = 0; iter < iters; ++iter)      {         q2 = gmtl::makeNormal( q2 );      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE( "QuatGenTest/makeNormal(quatf)", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      // force intelligent compilers to do all the iterations (ie. to not optimize them out),      // by using the variables computed...      CPPUNIT_ASSERT( q2[0] != 10000.0f );      CPPUNIT_ASSERT( q1[0] != 10000.0f );   }
开发者ID:ClairaLyrae,项目名称:ECE576-UAV-Project,代码行数:27,


示例2: iters

   void PointMetricTest::testTimingCopyConstruct()   {      // Test copy construction overhead      const long iters(400000);      gmtl::Point<float, 2> test_point2;      test_point2[0] = 2.0f;      gmtl::Point<float, 3> test_point3;      test_point2[0] = 3.0f;      gmtl::Point<float, 4> test_point4;      test_point2[0] = 4.0f;      float use_value(0);     // A temp just here to use the objs so the copiler (hopefully) does not opt them out      CPPUNIT_METRIC_START_TIMING();      for( long iter=0;iter<iters; ++iter)      {         gmtl::Point<float, 2> test_point2_copy(test_point2);         use_value += test_point2_copy[0];         gmtl::Point<float, 3> test_point3_copy(test_point3);         use_value += test_point3_copy[0];         gmtl::Point<float, 4> test_point4_copy(test_point4);         use_value += test_point4_copy[0];      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("PointTest/CopyConstructOverhead", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%   }
开发者ID:ClairaLyrae,项目名称:ECE576-UAV-Project,代码行数:27,


示例3: test_point1

   void PointMetricTest::testTimingIsEqual()   {      gmtl::Point<float, 4> test_point1(1.0f, 2.0f, 3.0f, 4.0f);      gmtl::Point<float, 4> test_point2(test_point1);      // Test comparison performance      // Test constructor      const float iters(400000);      unsigned true_count(0);      // -- Equality      CPPUNIT_METRIC_START_TIMING();      test_point1.set(0.0f, 0.0f, 0.0f, 2000.0f);      test_point2.set(0.0f, 0.0f, 0.0f, 1000.0f);      for( float iter=0;iter<iters; ++iter)      {         test_point1[3] += 1.0f;         test_point2[3] += 2.0f;         if(gmtl::isEqual(test_point1, test_point2, 1.0f) )            true_count++;         if(gmtl::isEqual(test_point1, test_point2, 0.1f) )            true_count++;         if(gmtl::isEqual(test_point1, test_point2, 100000.0f) )            true_count++;      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("PointTest/isEqualOverhead", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%   }
开发者ID:ClairaLyrae,项目名称:ECE576-UAV-Project,代码行数:31,


示例4: box1

   void AABoxOpsMetricTest::testTimingEqualityCompare()   {      {         // Equality         gmtl::AABoxf box1(gmtl::Point3f(-1,-1,-1), gmtl::Point3f(1,1,1));         gmtl::AABoxf box2(gmtl::Point3f(-1,-1,-1), gmtl::Point3f(2,2,2));         const long iters(400000);         unsigned true_count(0);         CPPUNIT_METRIC_START_TIMING();         for(long iter=0;iter<iters; ++iter)         {            if (box1 == box2)            {               ++true_count;            }         }         CPPUNIT_METRIC_STOP_TIMING();         CPPUNIT_ASSERT_METRIC_TIMING_LE("AABoxOpsTest/EqualityCompareOverhead", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%         CPPUNIT_ASSERT(true_count == 0);      }      {         // Inequality         gmtl::AABoxf box1(gmtl::Point3f(-1,-1,-1), gmtl::Point3f(1,1,1));         gmtl::AABoxf box2(gmtl::Point3f(-1,-1,-1), gmtl::Point3f(2,2,2));         const long iters(400000);         unsigned true_count(0);         CPPUNIT_METRIC_START_TIMING();         for(long iter=0;iter<iters; ++iter)         {            if (box1 != box2)            {               ++true_count;            }         }         CPPUNIT_METRIC_STOP_TIMING();         CPPUNIT_ASSERT_METRIC_TIMING_LE("AABoxOpsTest/InequalityCompareOverhead", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%         CPPUNIT_ASSERT(true_count > 0);      }   }
开发者ID:CosmicPirate,项目名称:RayTracingRenderer,代码行数:45,


示例5: iters

   void AxisAngleCompareMetricTest::testAxisAngleTimingIsEqualTest()   {      // Test overhead of creation      const long iters(400000);      gmtl::AxisAnglef src_quat11;      gmtl::AxisAnglef src_quat22;      gmtl::AxisAnglef src_quat33;      gmtl::AxisAnglef src_quat34;      gmtl::AxisAnglef src_quat44;      gmtl::AxisAngled src_quat101;      // half will be equal      src_quat11[0] = 1.0f;      src_quat22[1] = 1.0f;      src_quat33[2] = 2.0f;      gmtl::AxisAnglef test_quat11( src_quat11 );      gmtl::AxisAnglef test_quat22( src_quat22 );      gmtl::AxisAnglef test_quat33( src_quat33 );      gmtl::AxisAnglef test_quat34( src_quat34 );      gmtl::AxisAnglef test_quat44( src_quat44 );      gmtl::AxisAngled test_quat101( src_quat101 );      // half will be not equal      src_quat34[0] = 23.0f;      src_quat44[2] = 234.0f;      src_quat101[3] = 1234.0f;      unsigned true_count(0);      CPPUNIT_METRIC_START_TIMING();      for( long iter=0;iter<iters; ++iter)      {         if (gmtl::isEqual( src_quat11,  test_quat11, 0.0f ))            ++true_count;         if (gmtl::isEqual( src_quat22,  test_quat22, 0.2f ))            ++true_count;         if (gmtl::isEqual( src_quat33,  test_quat33, 0.3f ))            ++true_count;         if (gmtl::isEqual( src_quat34,  test_quat34, 0.6f ))            ++true_count;         if (gmtl::isEqual( src_quat44,  test_quat44, 0.8f ))            ++true_count;         /*         if (gmtl::isEqual( src_quat101, test_quat101, 111.1f ))            ++true_count;            */      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("AxisAngleCompareTest/isEqual(...)", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      // Make sure the compiler doesn't optimize out true_count      CPPUNIT_ASSERT( true_count > 0 );   }
开发者ID:casallas,项目名称:gmtl,代码行数:56,


示例6: iters

   void QuatCompareMetricTest::testQuatTimingOpNotEqualityTest()   {      // Test overhead of creation      const long iters(400000);      gmtl::Quat<float> src_quat11;      gmtl::Quat<float> src_quat22;      gmtl::Quat<float> src_quat33;      gmtl::Quat<float> src_quat34;      gmtl::Quat<float> src_quat44;      gmtl::Quat<double> src_quat101;      // half will be equal      src_quat11[0] = 1.0f;      src_quat22[2] = 1.0f;      src_quat33[3] = 2.0f;      gmtl::Quat<float> test_quat11( src_quat11 );      gmtl::Quat<float> test_quat22( src_quat22 );      gmtl::Quat<float> test_quat33( src_quat33 );      gmtl::Quat<float> test_quat34( src_quat34 );      gmtl::Quat<float> test_quat44( src_quat44 );      gmtl::Quat<double> test_quat101( src_quat101 );      // half will be not equal      src_quat34[0] = 2.0f;      src_quat44[1] = 3.0f;      src_quat101[3] = 1.0f;      unsigned true_count(0);      CPPUNIT_METRIC_START_TIMING();      for( long iter=0;iter<iters; ++iter)      {         if (src_quat11 != test_quat11)            ++true_count;         if (src_quat22 != test_quat22)            ++true_count;         if (src_quat33 != test_quat33)            ++true_count;         if (src_quat34 != test_quat34)            ++true_count;         if (src_quat44 != test_quat44)            ++true_count;         if (src_quat101 != test_quat101)            ++true_count;      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("QuatCompareTest/operator!=", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      // Make sure the compiler doesn't optimize out true_count      CPPUNIT_ASSERT( true_count > 0 );   }
开发者ID:jpvanoosten,项目名称:illusionsengine_old,代码行数:54,


示例7: iters

   void CoordCompareMetricTest::testCoordTimingIsEqualTest()   {      // Test overhead of creation      const long iters(400000);      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > src_coord11;      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > src_coord22;      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > src_coord33;      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > src_coord34;      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > src_coord44;      gmtl::Coord<gmtl::Vec<double,3>, gmtl::EulerAngle<double, gmtl::XYZ> > src_coord101;      // half will be equal      src_coord11.pos()[0] = 1.0f;      src_coord22.pos()[1] = 1.0f;      src_coord33.pos()[2] = 2.0f;      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > test_coord11( src_coord11 );      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > test_coord22( src_coord22 );      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > test_coord33( src_coord33 );      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > test_coord34( src_coord34 );      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > test_coord44( src_coord44 );      gmtl::Coord<gmtl::Vec<double,3>, gmtl::EulerAngle<double, gmtl::XYZ> > test_coord101( src_coord101 );      // half will be not equal      src_coord34.pos()[0] = 23.0f;      src_coord44.pos()[2] = 234.0f;      src_coord101.pos()[1] = 1234.0f;      unsigned true_count(0);      CPPUNIT_METRIC_START_TIMING();      for( long iter=0;iter<iters; ++iter)      {         if (gmtl::isEqual( src_coord11,  test_coord11, 0.0f ))            ++true_count;         if (gmtl::isEqual( src_coord22,  test_coord22, 0.2f ))            ++true_count;         if (gmtl::isEqual( src_coord33,  test_coord33, 0.3f ))            ++true_count;         if (gmtl::isEqual( src_coord34,  test_coord34, 0.6f ))            ++true_count;         if (gmtl::isEqual( src_coord44,  test_coord44, 0.8f ))            ++true_count;         if (gmtl::isEqual( src_coord101, test_coord101, 111.1 ))            ++true_count;      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("CoordCompareTest/isEqual(...)", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      // Make sure the compiler doesn't optimize out true_count      CPPUNIT_ASSERT( true_count > 0 );   }
开发者ID:ClairaLyrae,项目名称:ECE576-UAV-Project,代码行数:54,


示例8: iters

   void EulerAngleCompareMetricTest::testEulerAngleTimingOpEqualityTest()   {      // Test overhead of creation      const long iters(400000);      gmtl::EulerAngleXYZf src_quat11;      gmtl::EulerAngleXYZf src_quat22;      gmtl::EulerAngleXYZf src_quat33;      gmtl::EulerAngleXYZf src_quat34;      gmtl::EulerAngleXYZf src_quat44;      gmtl::EulerAngleXYZd src_quat101;      // half of them will be equal      src_quat11[0] = 1.0f;      src_quat22[2] = 1.0f;      src_quat33[1] = 2.0f;      gmtl::EulerAngleXYZf test_quat11( src_quat11 );      gmtl::EulerAngleXYZf test_quat22( src_quat22 );      gmtl::EulerAngleXYZf test_quat33( src_quat33 );      gmtl::EulerAngleXYZf test_quat34( src_quat34 );      gmtl::EulerAngleXYZf test_quat44( src_quat44 );      gmtl::EulerAngleXYZd test_quat101( src_quat101 );      // half will be not equal      src_quat34[0] = 2.0f;      src_quat44[1] = 3.0f;      src_quat101[2] = 1.0;      unsigned true_count(0);      CPPUNIT_METRIC_START_TIMING();      for (long iter = 0; iter < iters; ++iter)      {         if (src_quat11 == test_quat11)            ++true_count;         if (src_quat22 == test_quat22)            ++true_count;         if (src_quat33 == test_quat33)            ++true_count;         if (src_quat34 == test_quat34)            ++true_count;         if (src_quat44 == test_quat44)            ++true_count;         if (src_quat101 == test_quat101)            ++true_count;      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("EulerAngleCompareTest/operator==", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      // Make sure the compiler doesn't optimize out true_count      CPPUNIT_ASSERT( true_count > 0 );   }
开发者ID:casallas,项目名称:gmtl,代码行数:54,


示例9: iters

   void MatrixCompareMetricTest::testMatTimingOpNotEqualityTest()   {      // Test overhead of creation      const long iters(25000);      gmtl::Matrix<float, 1, 1> src_mat11;      gmtl::Matrix<float, 2, 2> src_mat22;      gmtl::Matrix<float, 3, 3> src_mat33;      gmtl::Matrix<float, 3, 4> src_mat34;      gmtl::Matrix<float, 4, 4> src_mat44;      gmtl::Matrix<double, 10, 1> src_mat101;      // half will be equal      src_mat11.mData[0] = 1.0f;      src_mat22.mData[0] = 1.0f;      src_mat33.mData[4] = 2.0f;      gmtl::Matrix<float, 1, 1> test_mat11( src_mat11 );      gmtl::Matrix<float, 2, 2> test_mat22( src_mat22 );      gmtl::Matrix<float, 3, 3> test_mat33( src_mat33 );      gmtl::Matrix<float, 3, 4> test_mat34( src_mat34 );      gmtl::Matrix<float, 4, 4> test_mat44( src_mat44 );      gmtl::Matrix<double, 10, 1> test_mat101( src_mat101 );      // half will be not equal      src_mat34.mData[5] = 2.0f;      src_mat44.mData[15] = 3.0f;      src_mat101.mData[9] = 1.0f;      unsigned true_count(0);      CPPUNIT_METRIC_START_TIMING();      for( long iter=0;iter<iters; ++iter)      {         if (src_mat11 != test_mat11)            ++true_count;         if (src_mat22 != test_mat22)            ++true_count;         if (src_mat33 != test_mat33)            ++true_count;         if (src_mat34 != test_mat34)            ++true_count;         if (src_mat44 != test_mat44)            ++true_count;         if (src_mat101 != test_mat101)            ++true_count;      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("MatrixCompareTest/OpNotEqualityTest", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      // make sure compiler uses true_count      CPPUNIT_ASSERT( true_count > 0 );   }
开发者ID:ClairaLyrae,项目名称:ECE576-UAV-Project,代码行数:53,


示例10: iters

 void QuatOpsMetricTest::testQuatTimingDiv() {    gmtl::Quat<float> q3, q4;    const long iters(10000);    CPPUNIT_METRIC_START_TIMING();    for (long iter = 0; iter < iters; ++iter)    {       gmtl::div( q4, q4, q3 );    }    CPPUNIT_METRIC_STOP_TIMING();    CPPUNIT_ASSERT_METRIC_TIMING_LE("QuatOpsTest/invert()", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%    // Make sure the compiler doesn't optimize out    CPPUNIT_ASSERT( q4[2] != 1234.5f ); }
开发者ID:CosmicPirate,项目名称:RayTracingRenderer,代码行数:14,


示例11: iters

 void CoordClassMetricTest::testCoordTimingOpEqual() {    const long iters( 400000 );    gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > q4, q2;    CPPUNIT_METRIC_START_TIMING();    for (long iter = 0; iter < iters; ++iter)    {       // performance of operator=() function       q4 = q2;       q2.pos()[2] += q4.pos()[1];    }    CPPUNIT_METRIC_STOP_TIMING();    CPPUNIT_ASSERT_METRIC_TIMING_LE("CoordTest/operator=()", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%    CPPUNIT_ASSERT( q4.pos()[0] != 3498.0f ); }
开发者ID:jpvanoosten,项目名称:illusionsengine_old,代码行数:15,


示例12: iters

   void EulerAngleClassMetricTest::testEulerAngleTimingOpEqual()   {      const long iters( 400000 );      gmtl::EulerAngleXYZf q4, q2( 0.0f, 2.0f, 1.0f );      CPPUNIT_METRIC_START_TIMING();      for (long iter = 0; iter < iters; ++iter)      {         // performance of operator=() function         q4 = q2;         q2[0] += q4[2];      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("EulerAngleTest/operator=()", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      CPPUNIT_ASSERT( q4[0] != 3498.0f );   }
开发者ID:CosmicPirate,项目名称:RayTracingRenderer,代码行数:16,


示例13: iters

   void QuatClassMetricTest::testQuatTimingOpEqual()   {      const long iters( 400000 );      gmtl::Quat<float> q4, q2( 0, 2, 1, 3 );      CPPUNIT_METRIC_START_TIMING();      for (long iter = 0; iter < iters; ++iter)      {         // performance of operator=() function         q4 = q2;         q2[0] += q4[2];      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("QuatTest/operator=()", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      CPPUNIT_ASSERT( q4[0] != 3498.0f );   }
开发者ID:casallas,项目名称:gmtl,代码行数:16,


示例14: iters

   void CoordGenMetricTest::testGenTimingSetCoord()   {      gmtl::Matrix44f mat;      gmtl::Coord<gmtl::Vec<float,3>, gmtl::EulerAngle<float, gmtl::XYZ> > q1;      const long iters(25000);      CPPUNIT_METRIC_START_TIMING();      for (long iter = 0; iter < iters; ++iter)      {         gmtl::set( q1, mat );         mat[3][3] += q1.getPos()[2];      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE( "CoordGenTest/set(coord,mat)", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      CPPUNIT_ASSERT( q1.pos()[1] != 10000.0f );   }
开发者ID:jpvanoosten,项目名称:illusionsengine_old,代码行数:17,


示例15: iters

   void AxisAngleClassMetricTest::testAxisAngleTimingDefaultConstructor()   {      const long iters( 400000 );      float use_value(1);      CPPUNIT_METRIC_START_TIMING();      for (long iter = 0; iter < iters; ++iter)      {         // performance of def constructor         gmtl::AxisAnglef q;         use_value += q.mData[0];      }      CPPUNIT_METRIC_STOP_TIMING();      CPPUNIT_ASSERT_METRIC_TIMING_LE("AxisAngleTest/DefaultConstructor", iters, 0.075f, 0.1f);  // warn at 7.5%, error at 10%      CPPUNIT_ASSERT( use_value != 0 );   }
开发者ID:jpvanoosten,项目名称:illusionsengine_old,代码行数:17,



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


C++ CPP_ENTER函数代码示例
C++ CPPUNIT_FAIL函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。