feat(09): Finishing the main for usage in correction
This commit is contained in:
parent
dd8c8debde
commit
98eae2bd0e
1 changed files with 27 additions and 15 deletions
|
|
@ -6,11 +6,12 @@
|
|||
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/05/01 14:45:40 by rparodi #+# #+# */
|
||||
/* Updated: 2025/05/07 12:04:00 by rparodi ### ########.fr */
|
||||
/* Updated: 2025/05/07 14:51:45 by rparodi ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "PmergeMe.hpp"
|
||||
#include <ctime>
|
||||
|
||||
int check_input(int argc, char **argv) {
|
||||
for (size_t i = 1; i < static_cast<size_t>(argc); i++) {
|
||||
|
|
@ -22,19 +23,6 @@ int check_input(int argc, char **argv) {
|
|||
return (0);
|
||||
}
|
||||
|
||||
std::vector<int> convert_in_vector(int argc, char **argv) {
|
||||
std::vector<int> vec;
|
||||
for (size_t i = 1 ; i < static_cast<size_t>(argc); i++) {
|
||||
errno = 0;
|
||||
int value = std::strtol(argv[i], nullptr, 10);
|
||||
if (errno == ERANGE || value < 0) {
|
||||
std::cerr << CLR_RED << "Error: I don't accept number over INT_MAX" << CLR_RESET << std::endl;
|
||||
std::exit(1);
|
||||
}
|
||||
vec.push_back(value);
|
||||
}
|
||||
return vec;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
if (DEBUG)
|
||||
|
|
@ -53,6 +41,30 @@ int main(int argc, char **argv) {
|
|||
std::cerr << CLR_BLUE << "\tValue of args: [" << argv[check] << "]" << CLR_RESET << std::endl;
|
||||
return 1;
|
||||
}
|
||||
convert_in_vector(argc, argv);
|
||||
struct timeval start, end;
|
||||
|
||||
std::cout << CLR_YELLOW << "\tUsing std::" << CLR_GOLD << "vector" << CLR_RESET << std::endl;
|
||||
std::vector<int> vec = convert<std::vector<int> >(argc, argv);
|
||||
print_container(vec, false);
|
||||
gettimeofday(&start, NULL);
|
||||
FordJohnson(vec);
|
||||
gettimeofday(&end, NULL);
|
||||
print_container(vec, false);
|
||||
long vecTime = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec);
|
||||
|
||||
std::cout << std::endl << std::endl;
|
||||
std::cout << CLR_YELLOW << "\tUsing std::" << CLR_GOLD << "deque" << CLR_RESET << std::endl;
|
||||
std::deque<int> deq = convert<std::deque<int> >(argc, argv);
|
||||
print_container(deq, false);
|
||||
gettimeofday(&start, NULL);
|
||||
FordJohnson(deq);
|
||||
gettimeofday(&end, NULL);
|
||||
print_container(deq, true);
|
||||
long deqTime = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec);
|
||||
|
||||
std::cout << std::endl << CLR_YELLOW << "\tTime for Ford-Johnson" << CLR_RESET << std::endl;
|
||||
std::cout << CLR_YELLOW << "Time for vector" << " : " << CLR_GOLD << vecTime << CLR_YELLOW << " us" << CLR_RESET << std::endl;
|
||||
std::cout << CLR_YELLOW << "Time for deque"<< " : " << CLR_GOLD << deqTime << CLR_YELLOW << " us" << CLR_RESET << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue