示例#1
0
sqrmat * sm_transpose( sqrmat *A )
{
   sqrmat *B ; int n=A->n , i,j ; double *mat,*nat ;
   INIT_SQRMAT(B,n) ;
   mat = A->mat ; nat = B->mat ;
   for( i=0 ; i < n ; i++ ){
     NAT(i,i) = MAT(i,i) ;
     for( j=0 ; j < i ; j++ ){
       NAT(i,j) = MAT(j,i) ; NAT(j,i) = MAT(i,j) ;
     }
   }
   return B ;
}
/*******************************************************************************************
 * NAME :             int main(argc, argv)
 *
 * DESCRIPTION :      Parses arguments to construct a set of points representing a triangle.
 *                    Prints to the console the classification of the triangle or an error.
 *
 * INPUTS :
 *      PARAMETERS :   
 *          int       argc            number of arguments in argv
 *          char      * argv[]        strings containing program name, (x,y) pairs
 */
int main (int argc, char *argv[]) {
  if (check_arg_count(argc)) { ERROR(); }
  if (create_triangle(argv)) { ERROR(); }
  if (check_colinearity())   { NAT(); }
  
  compute_triangle_sides();
  print_classification();

  return 0;
}
示例#3
0
sqrmat * sm_iktk( sqrmat *K )
{
   int n , i,j,p ;
   double *mat , *nat , sum ;
   sqrmat *N ;

   n = K->n ;
   INIT_SQRMAT(N,n) ;
   mat = K->mat ; nat = N->mat ;
   for( j=0 ; j < n ; j++ ){
     for( i=0 ; i <= j ; i++ ){
       sum = -MAT(i,j) - MAT(j,i) ;
       for( p=0 ; p < n ; p++ ) sum += MAT(p,i)*MAT(p,j) ;
       NAT(i,j) = sum ;
     }
     for( i=0 ; i < j ; i++ ) NAT(j,i) = NAT(i,j) ;
     NAT(j,j) += 1.0 ;
   }
   return N ;
}
示例#4
0
sqrmat * sm_add( sqrmat *A , sqrmat *B )
{
   sqrmat *C ; int n=A->n , i,j,k ; double *mat,*nat,*pat;
   INIT_SQRMAT(C,n) ;
   mat = A->mat ; nat = B->mat ; pat = C->mat ;
   for( i=0 ; i < n ; i++ ){
     for( j=0 ; j < n ; j++ ){
       PAT(i,j) = MAT(i,j) + NAT(i,j) ;
     }
   }
   return C ;
}
示例#5
0
/* equals the trace of the product */
double sm_dot(sqrmat *A, sqrmat *B)
{
   int n=A->n , i,j; 
   double *mat,*nat;
   double sum = 0.0;
   mat = A->mat ; nat = B->mat ;
   for( i=0 ; i < n ; i++ ){
     for( j=0 ; j < n ; j++ ){
       sum += MAT(i,j) * NAT(i,j) ;
     }
   }
   return(sum) ;
}
示例#6
0
sqrmat * sm_mult( sqrmat *A , sqrmat *B )
{
   sqrmat *C ; int n=A->n , i,j,k ; double *mat,*nat,*pat , sum ;
   INIT_SQRMAT(C,n) ;
   mat = A->mat ; nat = B->mat ; pat = C->mat ;
   for( i=0 ; i < n ; i++ ){
     for( j=0 ; j < n ; j++ ){
       sum = 0.0 ;
       for( k=0 ; k < n ; k++ ) sum += MAT(i,k)*NAT(k,j) ;
       PAT(i,j) = sum ;
     }
   }
   return C ;
}
示例#7
0
/* elements */
sqrmat * sm_scale(sqrmat *A, double sc_factor, int newmatrix)
{
   int n=A->n, i, j;
   double *mat, *nat;
   sqrmat *B = NULL;
   
   mat = A->mat;
   if(newmatrix) {
       INIT_SQRMAT(B,n);
       nat = B->mat;
   }   
   else
       nat = mat;
   for(i=0;i<n;i++)
      for(j=0;j<n;j++)
          NAT(i,j) = sc_factor * MAT(i,j);
 
   return(B);
}
示例#8
0
	TstVoicePath_t stVoicePath;
	TstLedCtl stLedCtl;
	TstMiscCtl_t stMiscCtl;
#endif
} argsu_t;

unsigned long aBufferSize = sizeof( argsu_t );
unsigned char aBuffer[ sizeof( argsu_t ) ];

/* ================================================================ */
/* Internal node */
/* ================================================================ */


static const node_t nProtocolRTP[] = {
	{ NID( VOIP_MGR_SET_SESSION ), NTYPE_LEAF, NULL, NAT( TstVoipMgrSession ) },
	{ NID( VOIP_MGR_UNSET_SESSION ), NTYPE_LEAF, NULL, NAT( TstVoipCfg ) },
	{ NID( VOIP_MGR_SETRTPSESSIONSTATE ), NTYPE_LEAF, NULL, NAT( TstVoipRtpSessionState ) },
	{ NID( VOIP_MGR_RTP_CFG ), NTYPE_LEAF, NULL, NAT( TstVoipCfg ) },
	{ NID( VOIP_MGR_HOLD ), NTYPE_LEAF, NULL, NAT( TstVoipCfg ) },
	{ NID( VOIP_MGR_CTRL_RTPSESSION ), NTYPE_LEAF, NULL, NAT( TstVoipCfg ) },
	{ NID( VOIP_MGR_CTRL_TRANSESSION_ID ), NTYPE_LEAF, NULL, NAT( TstVoipCfg ) },
	//{ NID( VOIP_MGR_SETCONFERENCE ), NTYPE_LEAF, NULL, NAT( TstVoipMgr3WayCfg ) },
	{ NID( VOIP_MGR_GET_RTP_STATISTICS ), NTYPE_LEAF, NULL, NAT( TstVoipRtpStatistics ) },
	{ NID( VOIP_MGR_GET_SESSION_STATISTICS ), NTYPE_LEAF, NULL, NAT( TstVoipSessionStatistics ) },
	{ NID( 0 ), NTYPE_NONE, NULL, NULL, 0 },
};

static const node_t nProtocolRTCP[] = {
	{ NID( VOIP_MGR_SET_RTCP_SESSION ), NTYPE_LEAF, NULL, NAT( TstVoipCfg ) },
	{ NID( VOIP_MGR_UNSET_RTCP_SESSION ), NTYPE_LEAF, NULL, NAT( TstVoipRtcpSession ) },
示例#9
0
//NAT端口转发
void XenServer::natServer(char *data,DbServer* dbServer)
{
   NAT(data,dbServer);
}