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

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

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

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

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

示例1: BenchGaussjPrec

void BenchGaussjPrec(INT N,INT M){    GaussjPrec  GP(N,M);    for (INT y=0; y<N ; y++)    {        for (INT x=0; x<N ; x++)            GP.M()(x,y) = NRrandom3()-0.5 + 2 * N * (x==y);		{        for (INT x=0; x<M ; x++)            GP.b()(x,y) = NRrandom3();		}    }    bool OK = GP.init_rec();    BENCH_ASSERT(OK);	{    for (INT y=0; y<N ; y++)        for (INT x=0; x<N ; x++)            GP.M()(x,y) +=  (NRrandom3()-0.5) * N * 5e-2;	}    for (INT k=0 ; k<10 ; k++)    {      GP.amelior_sol();    }    BENCH_ASSERT(GP.ecart()<epsilon);}
开发者ID:jakexie,项目名称:micmac,代码行数:28,


示例2: BENCH_ASSERT

bench_tensor *tensor_compress(const bench_tensor *sz){     int i, rnk;     bench_tensor *x;     BENCH_ASSERT(BENCH_FINITE_RNK(sz->rnk));     for (i = rnk = 0; i < sz->rnk; ++i) {          BENCH_ASSERT(sz->dims[i].n > 0);          if (sz->dims[i].n != 1)               ++rnk;     }     x = mktensor(rnk);     for (i = rnk = 0; i < sz->rnk; ++i) {          if (sz->dims[i].n != 1)               x->dims[rnk++] = sz->dims[i];     }     if (rnk) {	  /* God knows how qsort() behaves if n==0 */	  qsort(x->dims, (size_t)x->rnk, sizeof(bench_iodim),		(int (*)(const void *, const void *))dimcmp);     }     return x;}
开发者ID:DougBurke,项目名称:sherpa,代码行数:26,


示例3: bench_filo

void bench_filo(){    All_Memo_counter MC_INIT;    stow_memory_counter(MC_INIT);    INT nb = 200;    {         ElFilo<III> Fi(4);		 INT i;         for ( i= 0; i<nb; i++)             Fi.pushlast(III(i));         for ( i= 0; i<nb; i++)             Fi[i].i() *= 2;         for ( i= 0; i<nb; i++)             BENCH_ASSERT(Fi[i].i() == 2*i);         for ( i= 2*(nb-1) ; i>= 2; i-= 2)             BENCH_ASSERT(Fi.poplast().i() == i);         BENCH_ASSERT(Fi.nb() == 1);    }    verif_memory_state(MC_INIT);}
开发者ID:jakexie,项目名称:micmac,代码行数:26,


示例4: stepDir2

void BenchcDbleGrid     (         Pt2dr aP0In,Pt2dr aP1In,         REAL               aStepDir,         ElDistortion22_Gen & aDist     ){     //cDbleGrid aDGr(aP0In,aP1In,aStepDir,aDist);     Pt2dr stepDir2(aStepDir,aStepDir);                // __NEW     cDbleGrid aDGr(false,aP0In,aP1In,stepDir2,aDist); // __NEW     for (REAL aX = aP0In.x ; aX<aP1In.x ; aX += aStepDir)         for (REAL aY = aP0In.y ; aY<aP1In.y ; aY += aStepDir)         {             REAL x = aX + NRrandom3() * aStepDir;             SetInRange(aP0In.x,x,aP1In.x);             REAL y = aY + NRrandom3() * aStepDir;             SetInRange(aP0In.y,y,aP1In.y);	     Pt2dr aP(x,y);	     Pt2dr aQ0 = aDist.Direct(aP);	     Pt2dr aQ1 = aDGr.Direct(aP);	     Pt2dr aR0 = aDist.Inverse(aQ0);	     Pt2dr aR1 = aDist.Inverse(aQ1);	     REAL aDQ = euclid(aQ0,aQ1);	     REAL aDR = euclid(aR0,aP) +  euclid(aR1,aP);	     aDQ /= ElSquare(aStepDir);	     aDR /= ElSquare(aStepDir);	     BENCH_ASSERT(aDQ<0.1);	     BENCH_ASSERT(aDR<0.1);         }}
开发者ID:jakexie,项目名称:micmac,代码行数:33,


示例5: mNbVar

cBenchLeastSquare::cBenchLeastSquare(    INT aNbVar,    INT aNbEq,    bool SomForm)  :   FoncNVarDer<REAL> (aNbVar),   mNbVar (aNbVar),   mNbEq  (aNbEq),   mSys (aNbVar,aNbEq),   mSol (1),   mSolEps (aNbVar),     mTmpVF  (aNbVar),   mDataTmpVF (mTmpVF.data()){   Im1D_REAL8 aFLin(aNbVar);   REAL8* aDLin = aFLin.data();   for (INT iEq = 0 ; iEq < aNbEq ; iEq++)   {       for (INT iVar=0 ; iVar<aNbVar ; iVar++)       {	    if (SomForm)	    {		if (iEq<2*aNbVar)	           aDLin[iVar] = (iVar==(iEq%mNbVar));		else	           aDLin[iVar] = NRrandC() * (NRrandC()>0);	    }	    else	       aDLin[iVar] = NRrandC();       }       mSys.PushEquation       (           aFLin,	   NRrandC() * 1e3,	   0.1 + NRrandom3()       );   }   bool Ok;   mSol = mSys.L2Solve(&Ok);   mResidu = mSys.L2SomResiduPond(mSol);   BENCH_ASSERT(Ok);   for (INT k=0 ; k< 200 ; k++)   {	ELISE_COPY	(	    mSolEps.all_pts(),	    mSol.in() + (frandr()-0.5),	    mSolEps.out()	);	REAL ResEps =  mSys.L2SomResiduPond(mSolEps);	 // cout << (ResEps-mResidu) << " " << mResidu << "/n";	BENCH_ASSERT(ResEps>mResidu);   }   // getchar();}
开发者ID:jakexie,项目名称:micmac,代码行数:59,


示例6: ImCorrFromNrFFT

     void VerifCorrelCNC          (               Pt2di aDec,               bool Pondered,               Im2D_REAL8 aCPad,               REAL anEps,               Im2D_REAL8  aCNC,               REAL aRatioSurf          )     {	      REAL aS_CorFFT = ImCorrFromNrFFT(aCPad,aDec);	      REAL aS,aS1,aS2,aS11,aS12,aS22;              Symb_FNum aP (    Pondered                                ?                                trans(mPds1.in(0),aDec)*mPds2.in(0)     :                                trans(mIm1.inside(),aDec)                           );              Symb_FNum aF1 (trans(mIm1.in(0),aDec));              Symb_FNum aF2 (mIm2.in(0));              ELISE_COPY               (                  mIm1.all_pts(),                  Virgule                 (                   1,aF1,aF2,                   aF1*aF1,aF1*aF2,aF2*aF2                 )*aP,                 Virgule                 (                       Virgule(sigma(aS)  ,sigma(aS1) ,sigma(aS2)),                       Virgule(sigma(aS11),sigma(aS12),sigma(aS22))                 )              );              if (! Pondered)	          BENCH_ASSERT(std::abs(aS12-aS_CorFFT )<epsilon);              aS = std::max(aS,anEps);              aS1 /= aS;              aS2 /= aS;              aS11 = aS11/aS - aS1 * aS1 ;              aS12 = aS12/aS - aS1 * aS2 ;              aS22 = aS22/aS - aS2 * aS2 ;              REAL aCor = aS12 / sqrt(std::max(anEps,aS11*aS22));	              if (aS<aRatioSurf)              {                   aCor = -1 + (aCor+1) * (aS/aRatioSurf);              }	      REAL aNCCorFFT = ImCorrFromNrFFT(aCNC,aDec);              BENCH_ASSERT(std::abs(aCor-aNCCorFFT)<epsilon);      }
开发者ID:jakexie,项目名称:micmac,代码行数:57,


示例7: dist_chamfer_cabl

void dist_chamfer_cabl(Im2D<U_INT1,INT> I,INT v_max){     Im2D<U_INT1,INT> I0(I.tx(),I.ty(),0);     ELISE_COPY(I0.all_pts(),I.in(),I0.out());     Chamfer::d32.im_dist(I);     INT nb_dif;     ELISE_COPY     (          I.all_pts(),          I0.in()!=(I.in()!=0),          sigma(nb_dif)     );     BENCH_ASSERT(nb_dif == 0);     INT tx = I.tx();     INT ty = I.ty();     U_INT1 ** d = I.data();     INT     vmax = I.vmax()-1;          for (int x=1; x<tx-1 ; x++)         for (int y=1; y<ty-1 ; y++)         {                            INT v;              if (d[y][x])                 v  = std::min3                       (                          std::min3(d[y+1][x-1]+3,d[y+1][x]+2,d[y+1][x+1]+3),                          std::min3(d[y][x-1]+2,vmax,d[y][x+1]+2),                          std::min3(d[y-1][x-1]+3,d[y-1][x]+2,d[y-1][x+1]+3)                      );              else                 v = 0;              BENCH_ASSERT(v == d[y][x]);         }      INT dif;      ELISE_COPY       (           I.all_pts(),           Abs           (               Min(I.in(),v_max)             - extinc_32(I0.in(0),v_max)           ),           VMax(dif)      );      BENCH_ASSERT(dif == 0);}
开发者ID:jakexie,项目名称:micmac,代码行数:53,


示例8: bench_r2d_shading

void bench_r2d_shading(){    Pt2di sz(120,50);    Im2D_REAL8       MNT(sz.x,sz.y,0.0);    Im2D_REAL8       SHAD1(sz.x,sz.y,0.0);    Im2D_REAL8       SHAD2(sz.x,sz.y,0.0);    ELISE_COPY(MNT.all_pts(),frandr(),MNT.out());    ELISE_COPY    (        MNT.all_pts(),        binary_shading(MNT.in(),1.0),        SHAD1.out()    );    ELISE_COPY    (        MNT.lmr_all_pts(Pt2di(1,0)),        binary_shading(MNT.in(),1.0),        SHAD2.out()    );    REAL dif;    ELISE_COPY (MNT.all_pts(),Abs(SHAD1.in()-SHAD2.in()),VMax(dif));    BENCH_ASSERT(dif<epsilon);    ELISE_COPY    (        MNT.all_pts(),        gray_level_shading(MNT.in()),        SHAD1.out()    );    ELISE_COPY    (        MNT.lmr_all_pts(Pt2di(1,0)),        gray_level_shading(MNT.in()),        SHAD2.out()    );    ELISE_COPY (MNT.all_pts(),Abs(SHAD1.in()-SHAD2.in()),VMax(dif));    BENCH_ASSERT(dif<epsilon);}
开发者ID:jakexie,项目名称:micmac,代码行数:49,


示例9: tensor_rowmajor_transposedp

static int tensor_rowmajor_transposedp(bench_tensor *t){     bench_iodim *d;     int i;     BENCH_ASSERT(FINITE_RNK(t->rnk));     if (t->rnk < 2)	  return 0;     d = t->dims;     if (d[0].is != d[1].is * d[1].n	 || d[0].os != d[1].is	 || d[1].os != d[0].os * d[0].n)	  return 0;     if (t->rnk > 2 && d[1].is != d[2].is * d[2].n)	  return 0;     for (i = 2; i + 1 < t->rnk; ++i) {          d = t->dims + i;          if (d[0].is != d[1].is * d[1].n	      || d[0].os != d[1].os * d[1].n)               return 0;     }     if (t->rnk > 2 && t->dims[t->rnk-1].is != t->dims[t->rnk-1].os)	  return 0;     return 1;}
开发者ID:dstuck,项目名称:tinker_integrated_PIMC,代码行数:27,


示例10: bench_dist_InerMat_seg_droite

void bench_dist_InerMat_seg_droite(){    for (int i = 0; i<100 ; i++)    {        Pt2dr p1  = Pt2dr((NRrandom3()-0.5)*1e4,(NRrandom3()-0.5)*1e4);        Pt2dr p2 = p1;        while (euclid(p1-p2) < 1e2)              p2  = Pt2dr((NRrandom3()-0.5)*1e4,(NRrandom3()-0.5)*1e4);        SegComp s(p1,p2);        int nb = (int)(50 * NRrandom3());        REAL d0 = 0.0;        RMat_Inertie m;        for (int j =0; j<nb ; j++)        {             Pt2dr q  = Pt2dr((NRrandom3()-0.5)*1e4,(NRrandom3()-0.5)*1e4);             REAL pds = NRrandom3();             m = m.plus_cple(q.x,q.y,pds);             d0 += pds * s.square_dist_droite(q);        }        REAL d1 = square_dist_droite(s,m);        BENCH_ASSERT(std::abs(d0 -d1) < BIG_epsilon);    }}
开发者ID:jakexie,项目名称:micmac,代码行数:26,


示例11: if

static const char *parseint(const char *s, int *n){     int sign = 1;     *n = 0;     if (*s == '-') { 	  sign = -1;	  ++s;     } else if (*s == '+') { 	  sign = +1; 	  ++s;      }     BENCH_ASSERT(isdigit(*s));     while (isdigit(*s)) {	  *n = *n * 10 + (*s - '0');	  ++s;     }          *n *= sign;     if (*s == 'k' || *s == 'K') {	  *n *= 1024;	  ++s;     }     if (*s == 'm' || *s == 'M') {	  *n *= 1024 * 1024;	  ++s;     }     return s;}
开发者ID:376473984,项目名称:fftw3,代码行数:34,


示例12: setup

void setup(struct problem *p){     BENCH_ASSERT(can_do(p));     /* Call FFT once to initialize things before benchmarking: */     doit(1, p);}
开发者ID:syntheticpp,项目名称:benchfft,代码行数:7,


示例13: rdwisdom

void rdwisdom(void){     FILE *f;     double tim;     int success = 0;     if (havewisdom) return;#ifdef HAVE_SMP     BENCH_ASSERT(FFTW(init_threads)());     FFTW(plan_with_nthreads)(nthreads);#endif     if (!usewisdom) return;     timer_start(USER_TIMER);     if ((f = fopen(wisdat, "r"))) {	  if (!import_wisdom(f))	       fprintf(stderr, "bench: ERROR reading wisdom/n");	  else	       success = 1;	  fclose(f);     }     tim = timer_stop(USER_TIMER);     if (success) {	  if (verbose > 1) printf("READ WISDOM (%g seconds): ", tim);	  	  if (verbose > 3)	       export_wisdom(stdout);	  if (verbose > 1)	       printf("/n");     }     havewisdom = 1;}
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:35,


示例14: tensor_real_rowmajorp

/* detect screwy real padded rowmajor... ugh */int tensor_real_rowmajorp(bench_tensor *t, int sign, int in_place){     int i;     BENCH_ASSERT(BENCH_FINITE_RNK(t->rnk));     i = t->rnk - 1;     if (--i >= 0) {          bench_iodim *d = t->dims + i;	  if (sign < 0) {	       if (d[0].is != d[1].is * (in_place ? 2*(d[1].n/2 + 1) : d[1].n))		    return 0;	       if (d[0].os != d[1].os * (d[1].n/2 + 1))		    return 0;	  }	  else {	       if (d[0].is != d[1].is * (d[1].n/2 + 1))		    return 0;	       if (d[0].os != d[1].os * (in_place ? 2*(d[1].n/2 + 1) : d[1].n))		    return 0;	  }     }     while (--i >= 0) {          bench_iodim *d = t->dims + i;          if (d[0].is != d[1].is * d[1].n)               return 0;          if (d[0].os != d[1].os * d[1].n)               return 0;     }     return 1;}
开发者ID:DougBurke,项目名称:sherpa,代码行数:34,


示例15: bench_dotens2

void bench_dotens2(const bench_tensor *sz0, const bench_tensor *sz1, dotens2_closure *k){     BENCH_ASSERT(sz0->rnk == sz1->rnk);     if (sz0->rnk == BENCH_RNK_MINFTY)          return;     recur(sz0->rnk, sz0->dims, sz1->dims, k, 0, 0, 0, 0);}
开发者ID:DougBurke,项目名称:sherpa,代码行数:7,


示例16: timer_stop

double timer_stop(int n){     mytime t1;     BENCH_ASSERT(n >= 0 && n < BENCH_NTIMERS);     t1 = get_time();     return elapsed(t1, t0[n]);}
开发者ID:DougBurke,项目名称:sherpa,代码行数:7,


示例17: bench_seg_mean_square

void bench_seg_mean_square(){    for (int i = 0; i<100 ; i++)    {        INT nx = (INT) (10 +NRrandom3()*20);        INT ny = nx  -5;        Pt2dr  tr = Pt2dr((NRrandom3()-0.5)*1e4,(NRrandom3()-0.5)*1e4);        Pt2dr  rot = Pt2dr::FromPolar(1.0,NRrandom3() *100);        RMat_Inertie m;        for (int x= -nx; x <= nx ; x++)            for (int y= -ny; y <= ny ; y++)            {                 Pt2dr Z = tr+rot*Pt2dr(x,y);                 m.add_pt_en_place(Z.x,Z.y);            }        Seg2d s = seg_mean_square(m,100.0);        Pt2dr cdg = s.p0();        Pt2dr all = (s.p1()-s.p0())/ 100.0;        BENCH_ASSERT        (                (euclid(cdg-tr) < BIG_epsilon)             && (std::abs(all^rot)   < BIG_epsilon)        );        // BENCH_ASSERT(Abs(d0 -d1) < BIG_epsilon);   }}
开发者ID:jakexie,项目名称:micmac,代码行数:31,


示例18: AnIm

void bench_im_reech     (           Fonc_Num   Fonc,           Pt2di      SzIm,           Fonc_Num   reechantX,           Fonc_Num   reechantY,           INT        sz_grid,           REAL       aMaxDif    ){    Im2D_U_INT1 AnIm(SzIm.x,SzIm.y);    ELISE_COPY(AnIm.all_pts(),Fonc,AnIm.out());    REAL dif;    ELISE_COPY    (        AnIm.interior(3),        Abs        (             AnIm.ImGridReech (reechantX,reechantY,sz_grid,-100)           - Fonc[Virgule(reechantX,reechantY)]        ),        VMax(dif)    );    BENCH_ASSERT(dif<aMaxDif);}
开发者ID:jakexie,项目名称:micmac,代码行数:28,


示例19: bench_least_square

void bench_least_square(){   BenchcSysQuadCreuse();   bench_triviale_opt_sous_contrainte();   for (INT k=0 ; k<100 ; k++)   {       bench_opt_contrainte();   }   bool Ok;   SystLinSurResolu mSys(1,1);   Im1D_REAL8  aFlin(1,"2.0");   mSys.PushEquation(aFlin,3.0,1.0);   mSys.L2Solve(&Ok);    BENCH_ASSERT(Ok);    for (INT k=0 ; k< 200 ; k++)    {       bool SomForm = (k&1 ==0);       INT aNbVar = 2 + (INT)(10 * NRrandom3());       INT aNbEq = 2+aNbVar * (1 + (INT)(10 * NRrandom3()));       if (SomForm)	  aNbEq += 10;       cBenchLeastSquare aBLS(aNbVar,aNbEq,SomForm);       aBLS.TestFoncNVar();       cout << k << "/n";    }}
开发者ID:jakexie,项目名称:micmac,代码行数:29,


示例20:

void Craig_etal_L1     (             Im2D_REAL8  A,             Im1D_REAL8  B,             REAL        TOLER,             Im1D_REAL8  SOL,             Im1D_REAL8  RESIDU     ){    INT n = SOL.tx();    INT m = B.tx();    BENCH_ASSERT    (           (A.tx() == n+2)        && (A.ty() == m+2)        && (B.tx() == m)        && (SOL.tx() == n)        && (RESIDU.tx() == m)    );    Craig_Barrodale_Roberts_l1    (        m,n,        A.data_lin(),        B.data(),        TOLER,        SOL.data(),        RESIDU.data()    );}
开发者ID:jakexie,项目名称:micmac,代码行数:30,


示例21: RandOLF

void Optim_L1FormLin::BenchRand(INT NbVar,INT NbForm,INT NbTest,bool Comb){   Optim_L1FormLin OLF = RandOLF(NbVar,NbForm);   ElMatrix<REAL>  Sol = OLF.Solve();   REAL ScS = OLF.score(Sol);   for (;NbTest>=0; NbTest --)   {      REAL eps = std::max(1e-3,0.2*ElSquare(NRrandom3()));      ElMatrix<REAL>  D = Sol;      for (INT k=0 ; k<NbVar ; k++)          D(0,k) += eps * (NRrandom3()-0.5);       REAL sd = OLF.score(D);       if (ScS> sd)        {          if (Comb)              OLF.BenchCombin(ScS);          cout << ScS << " " << sd                << " " << ((ScS-sd)/eps)                << " " << eps << "/n";          BENCH_ASSERT(std::abs((ScS-sd)/eps) < 1e-7);       }   }}
开发者ID:jakexie,项目名称:micmac,代码行数:28,


示例22: bench_inter_Hor

void bench_inter_Hor(){   for (INT k=0; k<5000 ; k++)   {       Pt2dr p0 = random_pt();       Pt2dr p1 = random_pt();       if (std::abs(p0.y-p1.y)<1e-2)          p1.y += 1;       SegComp aSp(p0,p1);       REAL anY =  NRrandom3() *100;       Pt2dr q0 (0,anY);       Pt2dr q1 (1,anY);       SegComp aSq(q0,q1);       bool OkInter;       Pt2dr aInter0 = aSp.inter(aSq,OkInter);       Pt2dr aInter2(aSp.AbsiceInterDroiteHoriz(anY),anY);       REAL DH = euclid(aInter0,aInter2) ;       BENCH_ASSERT(DH<BIG_epsilon);   }}
开发者ID:jakexie,项目名称:micmac,代码行数:25,


示例23: bench_i1_eq_i2

void bench_i1_eq_i2(Im2D_U_INT1 i1,Im2D_U_INT1 i2){    INT nb_dif;    ELISE_COPY(i1.all_pts(),Abs(i1.in()-i2.in()),sigma(nb_dif));    BENCH_ASSERT(nb_dif ==0);}
开发者ID:liminlu0314,项目名称:micmac,代码行数:8,


示例24: bench_triviale_opt_sous_contrainte

void bench_triviale_opt_sous_contrainte(){   // Miminise x2+y2, sous la contrainte x+y=2     L2SysSurResol aSys(2);     double C[2] = {1,1};     aSys.GSSR_AddContrainte(C,3);     double Fx[2] = {1,0};     aSys.GSSR_AddNewEquation(1.0,Fx,0);     double Fy[2] = {0,1};     aSys.GSSR_AddNewEquation(1.0,Fy,0);     Im1D_REAL8 aSol = aSys.GSSR_Solve(0);     BENCH_ASSERT(std::abs(aSol.data()[0] -1.5)<epsilon);     BENCH_ASSERT(std::abs(aSol.data()[1] -1.5)<epsilon);}
开发者ID:jakexie,项目名称:micmac,代码行数:17,


示例25: problem_destroy

void problem_destroy(bench_problem *p){     BENCH_ASSERT(p);     problem_free(p);     bench_free0(p->k);     bench_free0(p->pstring);     bench_free(p);}
开发者ID:376473984,项目名称:fftw3,代码行数:8,


示例26: verif_equal

       static bool verif_equal(Im2D_U_INT1 Im1,Im2D_U_INT1 Im2)       {           INT Dif;           ELISE_COPY(Im1.all_pts(),Abs(Im1.in()-Im2.in()),sigma(Dif));           BENCH_ASSERT(Dif==0);           return Dif == 0;       }
开发者ID:jakexie,项目名称:micmac,代码行数:8,


示例27: setup

void setup(struct problem *p){     int n, zero = 0;     BENCH_ASSERT(can_do(p));     switch (p->rank) {     case 1:	  {	       n = p->n[0];	       if (p->kind == PROBLEM_COMPLEX) {		    /*		     * example code says that wsave consists of 3 * n		     * locations, but the code dumps core for n == 4		     */		    WSAVE = bench_malloc((3 * n + 4) * sizeof(bench_real));		    if (SINGLE_PRECISION)			 CFFT1D(p->in, &n, &zero, WSAVE);		    else			 ZFFT1D(p->in, &n, &zero, WSAVE);	       } else {		    WSAVE = bench_malloc((4 * n) * sizeof(bench_real));		    if (p->sign == -1) {			 if (SINGLE_PRECISION)			      SCFFT1D(p->in, &n, &zero, WSAVE);			 else			      DZFFT1D(p->in, &n, &zero, WSAVE);		    } else {			 if (SINGLE_PRECISION)			      CSFFT1D(p->in, &n, &zero, WSAVE);			 else			      ZDFFT1D(p->in, &n, &zero, WSAVE);		    }	       }	       break;	  }     case 2:	  /* nothing to do */	  break;     default:	  BENCH_ASSERT(0);     }}
开发者ID:syntheticpp,项目名称:benchfft,代码行数:45,


示例28: verify_rdft2

void verify_rdft2(bench_problem *p, int rounds, double tol, errors *e){     C *inA, *inB, *inC, *outA, *outB, *outC, *tmp;     int n, vecn, N;     dofft_rdft2_closure k;     BENCH_ASSERT(p->kind == PROBLEM_REAL);     if (!FINITE_RNK(p->sz->rnk) || !FINITE_RNK(p->vecsz->rnk))	  return;      /* give up */     k.k.apply = rdft2_apply;     k.k.recopy_input = 0;     k.p = p;     if (rounds == 0)	  rounds = 20;  /* default value */     n = tensor_sz(p->sz);     vecn = tensor_sz(p->vecsz);     N = n * vecn;     inA = (C *) bench_malloc(N * sizeof(C));     inB = (C *) bench_malloc(N * sizeof(C));     inC = (C *) bench_malloc(N * sizeof(C));     outA = (C *) bench_malloc(N * sizeof(C));     outB = (C *) bench_malloc(N * sizeof(C));     outC = (C *) bench_malloc(N * sizeof(C));     tmp = (C *) bench_malloc(N * sizeof(C));     e->i = impulse(&k.k, n, vecn, inA, inB, inC, outA, outB, outC, 		    tmp, rounds, tol);     e->l = linear(&k.k, 1, N, inA, inB, inC, outA, outB, outC,		   tmp, rounds, tol);     e->s = 0.0;     if (p->sign < 0)	  e->s = dmax(e->s, tf_shift(&k.k, 1, p->sz, n, vecn, p->sign,				     inA, inB, outA, outB, 				     tmp, rounds, tol, TIME_SHIFT));     else	  e->s = dmax(e->s, tf_shift(&k.k, 1, p->sz, n, vecn, p->sign,				     inA, inB, outA, outB, 				     tmp, rounds, tol, FREQ_SHIFT));          if (!p->in_place && !p->destroy_input)	  preserves_input(&k.k, p->sign < 0 ? mkreal : mkhermitian1,			  N, inA, inB, outB, rounds);     bench_free(tmp);     bench_free(outC);     bench_free(outB);     bench_free(outA);     bench_free(inC);     bench_free(inB);     bench_free(inA);}
开发者ID:8cH9azbsFifZ,项目名称:wspr,代码行数:57,


示例29: transform_n

/* funny transformations for last dimension of PROBLEM_REAL */static int transform_n(int n, n_transform nt){     switch (nt) {	 case SAME: return n;	 case PADDED: return 2*(n/2+1);	 case HALFISH: return (n/2+1);	 default: BENCH_ASSERT(0); return 0;     }}
开发者ID:376473984,项目名称:fftw3,代码行数:10,



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


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