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

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

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

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

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

示例1: Pl_Current_Mirror_Alt_0

/*-------------------------------------------------------------------------* * PL_CURRENT_MIRROR_ALT_0                                                 * *                                                                         * *-------------------------------------------------------------------------*/BoolPl_Current_Mirror_Alt_0(void){  /*  int stm; */  WamWord m_stm_word;  StmLst *m;  Pl_Update_Choice_Point((CodePtr) Prolog_Predicate(CURRENT_MIRROR_ALT, 0), 0);  /*  stm = AB(B, 0); */  m_stm_word = AB(B, 1);  m = (StmLst *) AB(B, 2);  if (m->next)			/* non deterministic case */    {#if 0				/* the following data is unchanged */      AB(B, 0) = stm;      AB(B, 1) = m_stm_word;#endif      AB(B, 2) = (WamWord) m->next;    }  else    Delete_Last_Choice_Point();  return Pl_Get_Integer(m->stm, m_stm_word);}
开发者ID:armaanbindra,项目名称:SudokuSolver,代码行数:30,


示例2: Pl_Current_Stream_Alt_0

/*-------------------------------------------------------------------------* * PL_CURRENT_STREAM_ALT_0                                                 * *                                                                         * *-------------------------------------------------------------------------*/BoolPl_Current_Stream_Alt_0(void){  WamWord stm_word;  int stm;  Pl_Update_Choice_Point((CodePtr) Prolog_Predicate(CURRENT_STREAM_ALT, 0), 0);  stm_word = AB(B, 0);  stm = AB(B, 1);  for (; stm <= pl_stm_last_used; stm++)    if (pl_stm_tbl[stm])      break;  if (stm >= pl_stm_last_used)    {      Delete_Last_Choice_Point();      if (stm > pl_stm_last_used)	return FALSE;    }  else				/* non deterministic case */    {#if 0 /* the following data is unchanged */      AB(B, 0) = stm_word;#endif      AB(B, 1) = stm + 1;    }  return Pl_Get_Integer(stm, stm_word);}
开发者ID:armaanbindra,项目名称:SudokuSolver,代码行数:35,


示例3: Pl_Foreign_Update_Choice

/*-------------------------------------------------------------------------* * PL_FOREIGN_UPDATE_CHOICE                                                * *                                                                         * *-------------------------------------------------------------------------*/voidPl_Foreign_Update_Choice(CodePtr codep_alt, int arity, int choice_size){  pl_foreign_bkt_counter = AB(B, arity) + 1;  AB(B, arity) = pl_foreign_bkt_counter;  pl_foreign_bkt_buffer = (char *) (&(AB(B, arity + choice_size)));  if (pl_foreign_bkt_counter > 0)    {      Pl_Update_Choice_Point(codep_alt, arity);    }}
开发者ID:mnd,项目名称:gprolog-cx,代码行数:17,


示例4: PushCallStack

inline voidSingularValuesUpper( DistMatrix<Complex<Real> >& A,  DistMatrix<Real,VR,STAR>& s,  double heightRatio=1.2 ){#ifndef RELEASE    PushCallStack("svd::SingularValuesUpper");    if( heightRatio <= 1.0 )        throw std::logic_error("Nonsensical switchpoint for SingularValues");#endif    typedef Complex<Real> C;    const Grid& g = A.Grid();    const int m = A.Height();    const int n = A.Width();    if( m >= heightRatio*n )    {        DistMatrix<C,MD,STAR> t(g);        QR( A, t );        DistMatrix<C> AT(g),                      AB(g);        PartitionDown        ( A, AT,             AB, n );        MakeTrapezoidal( LEFT, UPPER, 0, AT );        SimpleSingularValuesUpper( AT, s );    }    else    {        SimpleSingularValuesUpper( A, s );    }#ifndef RELEASE    PopCallStack();#endif}
开发者ID:certik,项目名称:Elemental,代码行数:35,


示例5: includePointTriangle

  // Checks whether 3D points p lies inside or outside of the triangle ABC  bool includePointTriangle(Vec3r& P,			    Vec3r& A,			    Vec3r& B,			    Vec3r& C) {    Vec3r AB(B - A);    Vec3r BC(C - B);    Vec3r CA(A - C);    Vec3r AP(P - A);    Vec3r BP(P - B);    Vec3r CP(P - C);    Vec3r N(AB ^ BC); // triangle's normal    N.normalize();    Vec3r J(AB ^ AP), K(BC ^ BP), L(CA ^ CP);    J.normalize();    K.normalize();    L.normalize();    if(J * N < 0)      return false; // on the right of AB    if(K * N < 0)      return false; // on the right of BC    if(L * N < 0)      return false; // on the right of CA    return true;  }
开发者ID:GodZza,项目名称:contours,代码行数:32,


示例6: Tetra

	Tetra(Point3 A,Point3 B,Point3 C,Point3 D) :		m_A(A),m_B(B),m_C(C),m_D(D)	{		Vector3 AB(B-A);		Vector3 AC{ C[0]-A[0], C[1]-A[1], C[2]-A[2] };		Vector3 AD{ D[0]-A[0], D[1]-A[1], D[2]-A[2] };		Vector3 BC{ C[0]-B[0], C[1]-B[1], C[2]-B[2] };		Vector3 BD{ D[0]-B[0], D[1]-B[1], D[2]-B[2] };		m_fABC = ImplicitPlane<float,3>(cross(AB,AC),A);		if (m_fABC(D) < 0)			m_fABC.flip();		m_fABD = ImplicitPlane<float,3>(cross(AB,AD),A);		if (m_fABD(C) < 0)			m_fABD.flip();		m_fACD = ImplicitPlane<float,3>(cross(AC,AD),A);		if (m_fACD(B) < 0)			m_fACD.flip();		m_fBCD = ImplicitPlane<float,3>(cross(BC,BD),B);		if (m_fBCD(A) < 0)			m_fBCD.flip();	}
开发者ID:jeffreycassidy,项目名称:FullMonteSW,代码行数:25,


示例7: AB

void UInputAxisKeyDelegateBinding::BindToInputComponent(UInputComponent* InputComponent) const{	TArray<FInputAxisKeyBinding> BindsToAdd;	for (int32 BindIndex=0; BindIndex<InputAxisKeyDelegateBindings.Num(); ++BindIndex)	{		const FBlueprintInputAxisKeyDelegateBinding& Binding = InputAxisKeyDelegateBindings[BindIndex];		FInputAxisKeyBinding AB( Binding.AxisKey );		AB.bConsumeInput = Binding.bConsumeInput;		AB.bExecuteWhenPaused = Binding.bExecuteWhenPaused;		AB.AxisDelegate.BindDelegate(InputComponent->GetOwner(), Binding.FunctionNameToBind);		if (Binding.bOverrideParentBinding)		{			for (int32 ExistingIndex = InputComponent->AxisKeyBindings.Num() - 1; ExistingIndex >= 0; --ExistingIndex)			{				const FInputAxisKeyBinding& ExistingBind = InputComponent->AxisKeyBindings[ExistingIndex];				if (ExistingBind.AxisKey == AB.AxisKey)				{					InputComponent->AxisKeyBindings.RemoveAt(ExistingIndex);				}			}		}		// To avoid binds in the same layer being removed by the parent override temporarily put them in this array and add later		BindsToAdd.Add(AB);	}	for (int32 Index=0; Index < BindsToAdd.Num(); ++Index)	{		InputComponent->AxisKeyBindings.Add(BindsToAdd[Index]);	}}
开发者ID:Foreven,项目名称:Unreal4-1,代码行数:34,


示例8: AB

    /// Assign this matrix to a product of three other matrices    /// @param mult3 :: Matrix multiplication helper object.    GSLMatrix& GSLMatrix::operator=(const GSLMatrixMult3& mult3)    {      // sizes of the result matrix      size_t n1 = mult3.tr1 ? mult3.m_1.size2() : mult3.m_1.size1();      size_t n2 = mult3.tr3 ? mult3.m_3.size1() : mult3.m_3.size2();      this->resize(n1,n2);      // intermediate matrix       GSLMatrix AB( n1, mult3.m_2.size2() );      CBLAS_TRANSPOSE tr1 = mult3.tr1? CblasTrans : CblasNoTrans;      CBLAS_TRANSPOSE tr2 = mult3.tr2? CblasTrans : CblasNoTrans;      CBLAS_TRANSPOSE tr3 = mult3.tr3? CblasTrans : CblasNoTrans;      // AB = m_1 * m_2      gsl_blas_dgemm (tr1, tr2,                      1.0, mult3.m_1.gsl(), mult3.m_2.gsl(),                      0.0, AB.gsl());      // this = AB * m_3      gsl_blas_dgemm (CblasNoTrans, tr3,                      1.0, AB.gsl(), mult3.m_3.gsl(),                      0.0, gsl());      return *this;    }
开发者ID:AlistairMills,项目名称:mantid,代码行数:29,


示例9: Explicit

inline voidExplicit( DistMatrix<F>& A, DistMatrix<F>& R, bool colPiv=false ){#ifndef RELEASE    CallStackEntry cse("qr::Explicit");#endif    const Grid& g = A.Grid();    DistMatrix<F,MD,STAR> t(g);    if( colPiv )    {        DistMatrix<Int,VR,STAR> p(g);        QR( A, t, p );    }    else    {        QR( A, t );    }    DistMatrix<F> AT(g),                  AB(g);    PartitionDown    ( A, AT,         AB, Min(A.Height(),A.Width()) );    R = AT;    MakeTriangular( UPPER, R );    ExpandPackedReflectors( LOWER, VERTICAL, UNCONJUGATED, 0, A, t );}
开发者ID:khalid-hasanov,项目名称:Elemental,代码行数:26,


示例10: B

  Vec3f VertexOrientation3DF0D::operator()(Interface0DIterator& iter) {    Vec3r A,C;    Vec3r B(iter->getX(), iter->getY(), iter->getZ());    if(iter.isBegin())      A = Vec3r(iter->getX(), iter->getY(), iter->getZ());    else      {	Interface0DIterator previous = iter;	--previous ;	A = Vec3r(previous->getX(), previous->getY(), previous->getZ());      }    Interface0DIterator next = iter;    ++next ;    if(next.isEnd())      C = Vec3r(iter->getX(), iter->getY(), iter->getZ());    else      C = Vec3r(next->getX(), next->getY(), next->getZ());    Vec3r AB(B-A);    if(AB.norm() != 0)      AB.normalize();    Vec3r BC(C-B);    if(BC.norm() != 0)      BC.normalize();    Vec3f res (AB + BC);    if(res.norm() != 0)      res.normalize();    return res;  }
开发者ID:GodZza,项目名称:contours,代码行数:29,


示例11: QuadQuality

double QuadQuality(const Vertex & a,const Vertex &b,const Vertex &c,const Vertex &d){  // calcul de 4 angles --  R2 A((R2)a),B((R2)b),C((R2)c),D((R2)d);  R2 AB(B-A),BC(C-B),CD(D-C),DA(A-D);  //  Move(A),Line(B),Line(C),Line(D),Line(A);  const Metric & Ma  = a;  const Metric & Mb  = b;  const Metric & Mc  = c;  const Metric & Md  = d;      double lAB=Norme2(AB);  double lBC=Norme2(BC);  double lCD=Norme2(CD);  double lDA=Norme2(DA);  AB /= lAB;  BC /= lBC;  CD /= lCD;  DA /= lDA;  // version aniso   double cosDAB= Ma(DA,AB)/(Ma(DA)*Ma(AB)),sinDAB= Det(DA,AB);  double cosABC= Mb(AB,BC)/(Mb(AB)*Mb(BC)),sinABC= Det(AB,BC);  double cosBCD= Mc(BC,CD)/(Mc(BC)*Mc(CD)),sinBCD= Det(BC,CD);  double cosCDA= Md(CD,DA)/(Md(CD)*Md(DA)),sinCDA= Det(CD,DA);  double sinmin=Min(Min(sinDAB,sinABC),Min(sinBCD,sinCDA));  // cout << A << B << C << D ;  // cout << " sinmin " << sinmin << " " << cosDAB << " " << cosABC << " " << cosBCD << " " << cosCDA << endl;  // rattente(1);  if (sinmin<=0) return sinmin;  return 1.0-Max(Max(Abs(cosDAB),Abs(cosABC)),Max(Abs(cosBCD),Abs(cosCDA)));}
开发者ID:cpraveen,项目名称:taxis,代码行数:28,


示例12: B

int VertexOrientation2DF0D::operator()(Interface0DIterator& iter){	Vec2f A, C;	Vec2f B(iter->getProjectedX(), iter->getProjectedY());	if (iter.isBegin()) {		A = Vec2f(iter->getProjectedX(), iter->getProjectedY());	}	else {		Interface0DIterator previous = iter;		--previous ;		A = Vec2f(previous->getProjectedX(), previous->getProjectedY());	}	Interface0DIterator next = iter;	++next;	if (next.isEnd())		C = Vec2f(iter->getProjectedX(), iter->getProjectedY());	else		C = Vec2f(next->getProjectedX(), next->getProjectedY());	Vec2f AB(B - A);	if (AB.norm() != 0)		AB.normalize();	Vec2f BC(C - B);	if (BC.norm() != 0)		BC.normalize();	result = AB + BC;	if (result.norm() != 0)		result.normalize();	return 0;}
开发者ID:Andrewson3D,项目名称:blender-for-vray,代码行数:30,


示例13: Intersect

bool Intersect(CVector A, CVector B, CVector C, CVector D, CVector *M){//ABCD are assumed to lie in the xy plane	//returns true and intersection point M if AB and CD intersect inside	//returns false and intersection point M if AB and CD intersect outside	M->x = 0.0;	M->y = 0.0;	M->z = 0.0;	CVector AB(B.x-A.x, B.y-A.y, B.z-A.z); 	CVector CD(D.x-C.x, D.y-C.y, D.z-C.z); 	//Cramer's rule	double Det  = -AB.x * CD.y + CD.x * AB.y;	if(Det==0.0) 	{		//vectors are parallel, no intersection		return false;	}	double Det1 = -(C.x-A.x)*CD.y + (C.y-A.y)*CD.x;	double Det2 = -(C.x-A.x)*AB.y + (C.y-A.y)*AB.x;	double t = Det1/Det;	double u = Det2/Det;	M->x = A.x + t*AB.x;	M->y = A.y + t*AB.y;	if (0.0<=t && t<=1.0 && 0.0<=u && u<=1.0)	return true;//M is between A and B	else										return false;//M is outside}
开发者ID:machinaut,项目名称:xflr5,代码行数:30,


示例14: ClosestIn

///////////////////////////////////////////////////////////////////// CLOSEST IN///////////////////////////////////////////////////////////////////Vec3f ClosestIn(Simplex& P){	assert(P.GetSize() > 0);	if(P.GetSize() == 1) return P.at(0);	else if(P.GetSize() == 2){ //We have a line.		Vector3f AO(-P.at(1)[0], -P.at(1)[1], -P.at(1)[2]);		Vector3f AB(P.at(0)[0] - P.at(1)[0], P.at(0)[1] - P.at(1)[1], P.at(0)[2] - P.at(1)[2]);		Vector3f BO(-P.at(0)[0], -P.at(0)[1], -P.at(0)[2]);		float v = (AB.dot(AO))/(AB.dot(AO) + (-AB).dot(BO));		return (P.at(1)*(1-v) + (P.at(0))*v);	}else{//We have a triangle		Vector3f A(P.at(2)[0], P.at(2)[1], P.at(2)[2]);		Vector3f B(P.at(1)[0], P.at(1)[1], P.at(1)[2]);		Vector3f C (P.at(0)[0], P.at(0)[1], P.at(0)[2]);		Vector3f AB = B-A;		Vector3f AC = C-A;		Vector3f N = AB.cross(AC);		Vector3f Nab = N.cross(AB);		Vector3f Nac = N.cross(AC);		float v = (-A).dot(Nac)/((AB).dot(Nac));		float w = (-A).dot(Nab)/((AC).dot(Nab));		float u = 1-v-w;		return (P.at(2)*u + P.at(1)*v + P.at(0)*w);	}}
开发者ID:scottc52,项目名称:SpaceGame,代码行数:29,


示例15: kroen_product

MatrixXd kroen_product(MatrixXd A, MatrixXd B){    unsigned int Ar = A.rows(), Ac = A.cols(), Br = B.rows(), Bc = B.cols();    MatrixXd AB(Ar*Br,Ac*Bc);    for (unsigned int i=0; i<Ar; ++i)        for (unsigned int j=0; j<Ac; ++j)            AB.block(i*Br,j*Bc,Br,Bc) = A(i,j)*B;    return AB;}
开发者ID:rubengooj,项目名称:StVO-PL,代码行数:8,


示例16: while

int Curvature2DAngleF0D::operator()(Interface0DIterator& iter){	Interface0DIterator tmp1 = iter, tmp2 = iter;	++tmp2;	unsigned count = 1;	while ((!tmp1.isBegin()) && (count < 3)) {		--tmp1;		++count;	}	while ((!tmp2.isEnd()) && (count < 3)) {		++tmp2;		++count;	}	if (count < 3) {		// if we only have 2 vertices		result = 0;		return 0;	}	Interface0DIterator v = iter;	if (iter.isBegin())		++v;	Interface0DIterator next = v;	++next;	if (next.isEnd()) {		next = v;		--v;	}	Interface0DIterator prev = v;	--prev;	Vec2r A(prev->getProjectedX(), prev->getProjectedY());	Vec2r B(v->getProjectedX(), v->getProjectedY());	Vec2r C(next->getProjectedX(), next->getProjectedY());	Vec2r AB(B - A);	Vec2r BC(C - B);	Vec2r N1(-AB[1], AB[0]);	if (N1.norm() != 0)		N1.normalize();	Vec2r N2(-BC[1], BC[0]);	if (N2.norm() != 0)		N2.normalize();	if ((N1.norm() == 0) && (N2.norm() == 0)) {		Exception::raiseException();		result = 0;		return -1; 	}	double cosin = N1 * N2;	if (cosin > 1)		cosin = 1;	if (cosin < -1)		cosin = -1;	result = acos(cosin);	return 0;}
开发者ID:Andrewson3D,项目名称:blender-for-vray,代码行数:55,


示例17: PushCallStack

inline voidLocalTrrkKernel( UpperOrLower uplo,  Orientation orientationOfB,  T alpha, const DistMatrix<T,MC,STAR>& A,           const DistMatrix<T,MR,STAR>& B,  T beta,        DistMatrix<T,MC,MR  >& C ){#ifndef RELEASE    PushCallStack("LocalTrrkKernel");    CheckInput( orientationOfB, A, B, C );#endif    const Grid& g = C.Grid();    DistMatrix<T,MC,STAR> AT(g),                          AB(g);    DistMatrix<T,MR,STAR> BT(g),                           BB(g);    DistMatrix<T,MC,MR> CTL(g), CTR(g),                        CBL(g), CBR(g);    DistMatrix<T,MC,MR> DTL(g), DBR(g);    const int half = C.Height()/2;    ScaleTrapezoid( beta, LEFT, uplo, 0, C );    LockedPartitionDown    ( A, AT,         AB, half );    LockedPartitionDown    ( B, BT,          BB, half );    PartitionDownDiagonal    ( C, CTL, CTR,         CBL, CBR, half );    DTL.AlignWith( CTL );    DBR.AlignWith( CBR );    DTL.ResizeTo( CTL.Height(), CTL.Width() );    DBR.ResizeTo( CBR.Height(), CBR.Width() );    //------------------------------------------------------------------------//    if( uplo == LOWER )        internal::LocalGemm( NORMAL, orientationOfB, alpha, AB, BT, T(1), CBL );    else        internal::LocalGemm( NORMAL, orientationOfB, alpha, AT, BB, T(1), CTR );    internal::LocalGemm( NORMAL, orientationOfB, alpha, AT, BT, T(0), DTL );    AxpyTriangle( uplo, T(1), DTL, CTL );    internal::LocalGemm( NORMAL, orientationOfB, alpha, AB, BB, T(0), DBR );    AxpyTriangle( uplo, T(1), DBR, CBR );    //------------------------------------------------------------------------//#ifndef RELEASE    PopCallStack();#endif}
开发者ID:certik,项目名称:Elemental,代码行数:54,


示例18: AO

const CXXCoord CXXCircle::accPlaneIntersect(const CXXCoord &A, const CXXCoord &B) const{	CXXCoord AO(getCentreOfCircle() - A);	CXXCoord AB(B - A);	double frac = (AO*getNormal()) / (AB*getNormal());	AB *= frac;	CXXCoord result(A + AB);	CXXCoord OC = result - getCentreOfCircle();	double radialLength = OC.get3DLength();	OC *= getRadiusOfCircle()/radialLength;	return getCentreOfCircle() + OC;}
开发者ID:benmwebb,项目名称:coot,代码行数:11,


示例19: matchHis

static int matchHis(Num n){  int i, A, B;  for(i=0;i<hisNum;i++)  {    AB(n,hisList[i].n,&A,&B);    if(A != hisList[i].A || B != hisList[i].B)      return 0;  }  return 1;}
开发者ID:jcppkkk,项目名称:MapleBBS-3.00,代码行数:11,


示例20: PGL

PGL_USING_NAMESPACETOOLS_USING_NAMESPACEbool PGL(intersectSegment)(const Vector3& seg1, const Vector3& seg2 , 		      const Vector3& pt1){  Vector3 AB( pt1 - seg1);  Vector3 dir( seg2 - seg1);  if (normLinf(AB ^ dir) < GEOM_EPSILON) return false;  real_t u = norm(AB) / norm(dir);  return ( (u > - GEOM_EPSILON) && (u < 1 - GEOM_EPSILON)); }
开发者ID:kkremitzki,项目名称:plantgl,代码行数:11,


示例21: getClusterForTrack

  void getClusterForTrack(unsigned int trackPos, CvID *close, unsigned int nBlobs, unsigned int nTracks, CvBlobs const &blobs, CvTracks const &tracks, list<CvBlob*> &bb, list<CvTrack*> &tt)  {    for (unsigned int i=0; i<nBlobs; i++)    {      if (C(i, trackPos))      {	bb.push_back(B(i));	unsigned int c = AB(i);	C(i, trackPos) = 0;	AB(i)--;	AT(trackPos)--;	if (c>1)	{	  getClusterForBlob(i, close, nBlobs, nTracks, blobs, tracks, bb, tt);	}      }    }  }
开发者ID:chcbaram,项目名称:BeagleBone,代码行数:21,


示例22: Pl_Between_Alt_0

/*-------------------------------------------------------------------------* * PL_BETWEEN_ALT_0                                                        * *                                                                         * *-------------------------------------------------------------------------*/voidPl_Between_Alt_0(void){  PlLong l, u;  WamWord i_word;  Pl_Update_Choice_Point((CodePtr) Prolog_Predicate(BETWEEN_ALT, 0), 0);  l = AB(B, 0);  u = AB(B, 1);  i_word = AB(B, 2);  /* here i_word is a variable */  if (l == u)    Delete_Last_Choice_Point();  else				/* non deterministic case */    {      AB(B, 0) = l + 1;#if 0 /* the following data is unchanged */      AB(B, 1) = u;      AB(B, 2) = i_word;#endif    }  Pl_Get_Integer(l, i_word);	/* always TRUE */}
开发者ID:mnd,项目名称:gprolog-cx,代码行数:30,


示例23: Pl_Group_Solutions_Alt_0

/*-------------------------------------------------------------------------* * PL_GROUP_SOLUTIONS_ALT_0                                                * *                                                                         * *-------------------------------------------------------------------------*/BoolPl_Group_Solutions_Alt_0(void){  WamWord all_sol_word, gl_key_word, sol_word;  WamWord word;  WamWord key_word;  Pl_Update_Choice_Point((CodePtr) Prolog_Predicate(GROUP_SOLUTIONS_ALT, 0),		      0);  all_sol_word = AB(B, 0);  gl_key_word = AB(B, 1);  sol_word = AB(B, 2);  word = Group(all_sol_word, gl_key_word, &key_word);  if (word == NOT_A_WAM_WORD)    Delete_Last_Choice_Point();  else				/* non deterministic case */    {      AB(B, 0) = word;#if 0 /* the following data is unchanged */      AB(B, 1) = gl_key_word;      AB(B, 2) = sol_word;#endif    }  Pl_Unify(key_word, gl_key_word);  return Pl_Unify(sol_word, all_sol_word);}
开发者ID:adinho,项目名称:Testing,代码行数:33,


示例24: Pl_Current_Atom_Alt_0

/*-------------------------------------------------------------------------* * PL_CURRENT_ATOM_ALT_0                                                   * *                                                                         * *-------------------------------------------------------------------------*/BoolPl_Current_Atom_Alt_0(void){  WamWord atom_word;  Bool hide;  int atom;  Pl_Update_Choice_Point((CodePtr) Prolog_Predicate(CURRENT_ATOM_ALT, 0), 0);  atom_word = AB(B, 0);  hide = AB(B, 1);  atom = AB(B, 2);  for (;;)    {      atom = Pl_Find_Next_Atom(atom);      if (atom == -1)	{	  Delete_Last_Choice_Point();	  return FALSE;	}      if (!hide || pl_atom_tbl[atom].name[0] != '$')	break;    }				/* non deterministic case */#if 0				/* the following data is unchanged */  AB(B, 0) = atom_word;  AB(B, 1) = hide;#endif  AB(B, 2) = atom;  return Pl_Get_Atom(atom, atom_word);}
开发者ID:armaanbindra,项目名称:SudokuSolver,代码行数:39,


示例25: pixel

void Surface_Selection_Plugin::mouseMove(View* view, QMouseEvent* event){	if(m_selecting)	{		MapHandlerGen* mh = m_schnapps->getSelectedMap();		const MapParameters& p = h_parameterSet[mh];		if(p.positionAttribute.isValid())		{			unsigned int orbit = m_schnapps->getCurrentOrbit();			CellSelectorGen* selector = m_schnapps->getSelectedSelector(orbit);			if(selector)			{				QPoint pixel(event->x(), event->y());				qglviewer::Vec orig;				qglviewer::Vec dir;				view->camera()->convertClickToLine(pixel, orig, dir);				// compute coordinates of ray in map Frame				qglviewer::Vec orig_inv = mh->getFrame()->coordinatesOf(orig);				qglviewer::Vec dir_inv = mh->getFrame()->transformOf(dir);				// apply inverse local map transfo				glm::vec4 glmRayA = mh->getInverseTransfoMatrix()*glm::vec4(orig_inv.x, orig_inv.y, orig_inv.z, 1.0f);				glm::vec4 glmAB = glm::transpose(mh->getInverseTransfoMatrix())*glm::vec4(dir_inv.x, dir_inv.y, dir_inv.z, 1.0f);				// put in PFP::VEC3 format				PFP2::VEC3 rayA(glmRayA.x, glmRayA.y, glmRayA.z);				PFP2::VEC3 AB(glmAB.x, glmAB.y, glmAB.z);				PFP2::MAP* map = static_cast<MapHandler<PFP2>*>(mh)->getMap();				switch(orbit)				{					case VERTEX : {						Algo::Selection::vertexRaySelection<PFP2>(*map, p.positionAttribute, rayA, AB, m_selectingVertex);						break;					}					case EDGE : {						Algo::Selection::edgeRaySelection<PFP2>(*map, p.positionAttribute, rayA, AB, m_selectingEdge);						break;					}					case FACE : {						Algo::Selection::faceRaySelection<PFP2>(*map, p.positionAttribute, rayA, AB, m_selectingFace);						break;					}				}				view->updateGL();			}		}	}}
开发者ID:gitter-badger,项目名称:CGoGN,代码行数:50,


示例26: overlay_ass_image

static void overlay_ass_image(AssContext *ass, AVFrame *picref,                              const ASS_Image *image){    for (; image; image = image->next) {        uint8_t rgba_color[] = {AR(image->color), AG(image->color), AB(image->color), AA(image->color)};        FFDrawColor color;        ff_draw_color(&ass->draw, &color, rgba_color);        ff_blend_mask(&ass->draw, &color,                      picref->data, picref->linesize,                      picref->width, picref->height,                      image->bitmap, image->stride, image->w, image->h,                      3, 0, image->dst_x, image->dst_y);    }}
开发者ID:USBhost,项目名称:FFmpeg,代码行数:14,


示例27: main

int main(){    typedef std::unique_ptr<SingleCharPrinter> charptr;    charptr A(new ACharPrinter);    charptr AB(new BCharPrinter(new ACharPrinter));    charptr ABCD(new DCharPrinter(new CCharPrinter(new BCharPrinter(new ACharPrinter))));    A->draw();    std::cout << '/n';    AB->draw();    std::cout << '/n';    ABCD->draw();    std::cout << '/n';    return 0;}
开发者ID:s-kramer,项目名称:cpp_tests,代码行数:15,


示例28: AB

void Plane3D::SetPlane(const Point3D& A, const Point3D& B, const Point3D& C) {  Vector3D AB(B, A);  Vector3D CA(C, A);  normal = AB.CrossProduct(CA);  A_ = normal.x_;  B_ = normal.y_;  C_ = normal.z_;  D_ = -(A_ * A.x_ + B_ * A.y_ + C_ * A.z_);  //D_ = -(A_ * B.x + B_ * B.y + C_ * B.z);  //D_ = -(A_ * C.x + B_ * C.y + C_ * C.z);  if (fcmp(D_, 0.0, EPSILON) == 0)    D_ = 0.0;}
开发者ID:cleaner653,项目名称:atometria,代码行数:16,


示例29: AB

void Math::Line::closestPointToPoint(const Point2D& p, Point2D& r){    Vector2D AB(_b.x - _a.x, _b.y - _a.y);    Vector2D AP(p.x - _a.x, p.y - _a.y);    float abTimes2 = AB.x * AB.x + AB.y * AB.y;    float apTimesAb = AP.x * AB.x + AP.y * AB.y;    float t = apTimesAb / abTimes2;    if (t < 0) t = 0;    else if (t > 1) t = 1;    r.x = _a.x + AB.x * t;    r.y = _a.y + AB.y * t;}
开发者ID:MartinHaimberger,项目名称:Homegear,代码行数:16,


示例30: Pl_Atom_Concat_Alt_0

/*-------------------------------------------------------------------------* * PL_ATOM_CONCAT_ALT_0                                                    * *                                                                         * *-------------------------------------------------------------------------*/BoolPl_Atom_Concat_Alt_0(void){  WamWord atom1_word, atom2_word;  AtomInf *patom3;  char *name;  char *p;  char *str;  int l;  Pl_Update_Choice_Point((CodePtr) Prolog_Predicate(ATOM_CONCAT_ALT, 0), 0);  atom1_word = AB(B, 0);  atom2_word = AB(B, 1);  patom3 = (AtomInf *) AB(B, 2);  p = (char *) AB(B, 3);  if (*p == '/0')    Delete_Last_Choice_Point();  else				/* non deterministic case */    {#if 0 /* the following data is unchanged */      AB(B, 0) = atom1_word;      AB(B, 1) = atom2_word;      AB(B, 2) = (WamWord) patom3;#endif      AB(B, 3) = (WamWord) (p + 1);    }  name = patom3->name;  l = p - name;  MALLOC_STR(l);  strncpy(str, name, l + 1);  str[l] = '/0';  if (!Pl_Get_Atom(Create_Malloc_Atom(str), atom1_word))    return FALSE;  l = patom3->prop.length - l;  MALLOC_STR(l);  strcpy(str, p);  return Pl_Get_Atom(Create_Malloc_Atom(str), atom2_word);}
开发者ID:armaanbindra,项目名称:SudokuSolver,代码行数:47,



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


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