Exemple #1
0
/**Funcão interpretar*/
int interpretar(string linha){
	istringstream ss(linha);
	string token;
	int cont = 0;
	vector<string> playerInfoVector;

	while (std::getline(ss, token, ' ')) {
			token = removeSpaces(token);
			if (token.compare("") != 0){
				playerInfoVector.push_back(token);
				cont++;
			}
	}

	// Comando gerar
	if (playerInfoVector.at(0).compare("gerador") == 0 && cont != 0){
		return gerador(playerInfoVector);
	}
	else if (playerInfoVector.at(0).compare("desenhar") == 0 && cont != 0){
		return gerar_cena(playerInfoVector);
	}
	else if (playerInfoVector.at(0).compare("help") == 0 && cont != 0){
		cout << MESSAGE_HELP;
	}
	else if (playerInfoVector.at(0).compare("exit") == 0 && cont != 0){
		return 0;
	}
	else {
		// Como o comando invocado não é nenhum dos anteriores, devolve o erro correspondente
		cout << ERROR_COMMAND_NO_EXISTS;
		return -1;
	}
}
    void Ordenacao<T>::benchmark(void (*sort)(T *vet, int n), int n, int seed) {
        unsigned long int *vet = new unsigned long int[n];
        RandomCL<unsigned long int> gerador(seed);

        for(int i=0; i<n; i++)
            vet[i] = gerador.nextr();

        Ordenacao<unsigned long int>::writeFile(Ordenacao<unsigned long int>::Time(sort, vet, n), n, seed);
        //std::cout << isOrdered(vet, n);
        delete vet;
    }
Exemple #3
0
int main() {
    int i, j, tam = 1;
    struct timeval tv;
    long long aft, bef;
    long long timeASM[6][10], timeC[6][10], timeDIF[6][10];
    
    fflush(stderr);
    for( i = 0; i < 6; i++ ) {
        tam *= 10;
        gerador( tam, "TEMPENTRADA.txt" );
        for( j = 0; j < 10; j++ ) {
            printf("Calculando o tempo para entrada de tamanho n^%d... %d de 10 feitos. [ASM]\r", i + 1, j);
            fflush(stdout);
            _GETTIME(bef, tv)
            system("./filtra 1 65535 TEMPENTRADA.txt TEMPSAIDA.txt > TEMPSAIDAEX.txt");
            _GETTIME(aft, tv);
            timeASM[i][j] = aft - bef;

            printf("Calculando o tempo para entrada de tamanho n^%d... %d de 10 feitos. [C]  \r", i + 1, j);
            fflush(stdout);
            _GETTIME(bef, tv)
            system("./cfiltra 1 65535 TEMPENTRADA.txt TEMPSAIDA.txt > TEMPSAIDAEX.txt");
            _GETTIME(aft, tv);
            timeC[i][j] = aft - bef;
            
            timeDIF[i][j] = timeC[i][j] - timeASM[i][j];
        }
    }
    printf("Calculando o tempo para entrada de tamanho n^6... 10 de 10 feitos.\nResultados (em milisegundos):\n\nAssembly\n");
    printResults(timeASM);
    printf("C\n");
    printResults(timeC);
    printf("Dif\n");
    printResults(timeDIF    );
    return 0;
}