/**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; }
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; }