コード例 #1
0
void printDecl(Node* n)
{
  printf("    ");
  if (n->storage == srgStatic) printf ("static ");
  printf("volatile ");
  switch (n->sign)
  {
  case sgnSigned: printf("signed "); break;
  case sgnUnsigned: printf("unsigned "); break;
  }
  switch (n->base)
  {
  case bsChar: printf("char "); break;
  case bsShort: printf("short "); break;
  case bsInt: printf("int "); break;
  }
  printf("v%d", n->varNum);
  if (n->struc == strArrEl)
    printf ("[3]");
  printf(" = ");
  if (n->struc == strArrEl)
    printf("{ 0, "), printVal(n), printf(", 0 }");
  else
    printVal(n);
  printf(";\n");
}
コード例 #2
0
void FullGateWriterImpl::write(GatePtr pGate, std::ostream& outputStream) {
	std::string delimeter = "*";
	outputStream << "Gate:";

	unsigned int nbSeq = pGate->getLabelSeq().size();
	for(unsigned int i = 0; i < nbSeq; i++) {
		outputStream  << pGate->getLabelSeq()[i];
		if(i < nbSeq - 1) {
			outputStream << delimeter;
		}
	}

	outputStream << std::endl;
	outputStream << "--Gate cost:" << pGate->getCost();
	outputStream << std::endl;
	outputStream << "--Gate matrix:" << std::endl;

	MatrixPtr pMatrix = pGate->getMatrix();
	int nbRows, nbColumns;
	pMatrix->getSize(nbRows, nbColumns);
	for(int i = 0; i < nbRows; i++) {
		for(int j = 0; j < nbColumns; j++) {
			char printfBuffer[PRINT_BUFFER_LENGTH];
			ComplexVal val = pMatrix->getValue(i,j);
			printVal(printfBuffer, val);
			outputStream << printfBuffer;
		}
		outputStream << std::endl;
	}
}
コード例 #3
0
ファイル: v4.c プロジェクト: Chinmay-at-git/M1UPS
void incremente(int nbre, int shmid){
    int i=0;
    ValPartage* valSon=NULL;
    printf("Salut, je suis le fils %d, j'incremente le compteur\n"
        "Je commence par m'attacher le segment de memoire\n",getpid());

    if((valSon=(ValPartage*)shmat(shmid, NULL, 0)) < 0){
        error("Attache segment memoire partage", ERR_ATT);
    }
    for(i=0; i < nbre; i++){
        valSon->cpt+=1;
        printVal("incremente % d\n", valSon->cpt);
    }
    printf("je vais ecrire un reel 125.5 que mon pere va afficher\n") ;
    valSon->valeur = 125.5;
    /* on arrete le fils pour ne pas qu'il execute le code du pere,
     car ce code est duplique a la creation du fils */
    printf("Bon, proc_fils il est temps de mourrir\n"
        "avant tout detachons le segment partagee\n");
    if(shmdt(valSon) < 0){
        error("detachement impossible", ERR_DET);
    }
    printf("Le fils se suicide\n");
    exit(EXIT_FILS);
}
コード例 #4
0
kern_return_t smcPrintAll(void)
{
    kern_return_t result;
    SMCKeyData_t  inputStructure;
    SMCKeyData_t  outputStructure;
    
    int           totalKeys, i;
    UInt32Char_t  key;
    SMCVal_t      val;
    
    totalKeys = smcReadIndexCount();
    totalKeys = 500;
    for (i = 0; i < totalKeys; i++)
    {
        memset(&inputStructure, 0, sizeof(SMCKeyData_t));
        memset(&outputStructure, 0, sizeof(SMCKeyData_t));
        memset(&val, 0, sizeof(SMCVal_t));
        
        inputStructure.data8 = SMC_CMD_READ_INDEX;
        inputStructure.data32 = i;
        
        result = smcCall(KERNEL_INDEX_SMC, &inputStructure, &outputStructure);
        if (result != kIOReturnSuccess)
            continue;
        
        _ultostr(key, outputStructure.key);
        
        result = smcReadKey(key, &val);
        printVal(val);
    }
    
    return kIOReturnSuccess;
}
コード例 #5
0
void printSubExpr(Node* n)
{
  switch (n->type)
  {
  case ntVal:
    printVal(n);
    break;
  case ntVar:
    printVarName(n);
    break;
  case ntOperator:
    printf("(");
    if (n->op == opCond)
    {
      printSubExpr(n->child[2]);
      printf("?");
      printSubExpr(n->child[0]);
      printf(":");
      printSubExpr(n->child[1]);
    }
    else if (operatorIsBinary(n->op))
    {
      printSubExpr(n->child[0]);
      printOperator(n->op);
      printSubExpr(n->child[1]);
    }
    else
    {
      if (operatorIsPostUnary(n->op))
      {
        printSubExpr(n->child[0]);
        printOperator(n->op);
      }
      else
      {
        printOperator(n->op);
        if (n->op == opSizeOf) printf(" ");
        printSubExpr(n->child[0]);
      }
    }
    printf(")");
    break;
  }
}
コード例 #6
0
int main(int argc,char * argv[])
{
	int row=rowCount(argv[1]);
	int col=colCount(argv[1]);
	printf("%d %d\n",row,col);
	int speed;
	FILE * action=fopen(argv[2],"r");
	char * dir=(char*)malloc(sizeof(char)*100);
	char ** arr;
	arr=init(row,col);
	scanVal(argv[1],arr,row,col);
	while(!(feof(action)))
	{
		fscanf(action,"%s",dir);
		if(feof(action)) break;
		speed=nextMove(arr,row,col,dir);
	}
	printVal(arr,row,col);
	return 1;
}
コード例 #7
0
void reviveVars(Node* n)
{
  switch (n->type)
  {
  case ntVar:
    printf("    ");
    printVarName(n);
    printf(" = ");
    printVal(n);
    printf(";\n");
    break;
  case ntOperator:
    if (n->child[2])
      reviveVars(n->child[2]);
    reviveVars(n->child[0]);
    if (n->child[1])
      reviveVars(n->child[1]);
    break;
  default:;
  }
}
コード例 #8
0
ファイル: v4.c プロジェクト: Chinmay-at-git/M1UPS
void decremente(int nbre, int shmid){
    int i=0;
    ValPartage* valFather=NULL;
    printf("Je suis le pere, je decremente le compteur\n"
        "Je commence par m'attacher le segment de memoire\n");

    if((valFather=(ValPartage*)shmat(shmid, NULL, 0)) < 0){
        error("Attache segment memoire partage", ERR_ATT);
    }
    for(i=0;i < nbre; i++){
        valFather->cpt-=1;
        printVal("decremente % d\n", valFather->cpt);
    }

    printf("je vais afficher un reel que mon fils a ecrit\n"
        "valeur lut par le pere = %f\n"
        "Bon, proc_pere il est temps de mourrir\n"
        "avant tout detachons le segment partagee\n", valFather->valeur);

    if(shmdt(valFather) < 0){
        error("detachement impossible", ERR_DET);
    }
}