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> +#+ +:+ +#+ */
|
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/01 14:45:40 by rparodi #+# #+# */
|
/* 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 "PmergeMe.hpp"
|
||||||
|
#include <ctime>
|
||||||
|
|
||||||
int check_input(int argc, char **argv) {
|
int check_input(int argc, char **argv) {
|
||||||
for (size_t i = 1; i < static_cast<size_t>(argc); i++) {
|
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);
|
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) {
|
int main(int argc, char **argv) {
|
||||||
if (DEBUG)
|
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;
|
std::cerr << CLR_BLUE << "\tValue of args: [" << argv[check] << "]" << CLR_RESET << std::endl;
|
||||||
return 1;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue