2 binary
This commit is contained in:
parent
3d078ae677
commit
f976f2194d
16
Makefile
16
Makefile
@ -6,17 +6,24 @@
|
||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2022/10/12 19:45:18 by apommier #+# #+# #
|
||||
# Updated: 2022/11/29 13:23:22 by apommier ### ########.fr #
|
||||
# Updated: 2022/11/29 15:29:09 by apommier ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
NAME = a.out
|
||||
NAME = my_tester
|
||||
NAME2 = std_tester
|
||||
SRCS = tests/map_tester.cpp\
|
||||
tests/vector_tester.cpp\
|
||||
tests/stack_tester.cpp\
|
||||
tests/main.cpp
|
||||
|
||||
SRCS2 = tests/map_tester.cpp\
|
||||
tests/vector_tester.cpp\
|
||||
tests/stack_tester.cpp\
|
||||
tests/main_real.cpp
|
||||
|
||||
OBJS = ${SRCS:.cpp=.o}
|
||||
OBJS2 = ${SRCS2:.cpp=.o}
|
||||
CC = c++
|
||||
CFLAGS = -g -Wall -Wextra -Werror -std=c++98
|
||||
RM = rm -rf
|
||||
@ -24,16 +31,19 @@ RM = rm -rf
|
||||
.cpp.o:
|
||||
$(CC) ${CFLAGS} -c $< -o $(<:.cpp=.o)
|
||||
|
||||
${NAME}: ${OBJS}
|
||||
${NAME}: ${OBJS} ${OBJS2}
|
||||
${CC} ${LIB} ${OBJS} -o ${NAME}
|
||||
${CC} ${LIB} ${OBJS2} -o ${NAME2}
|
||||
|
||||
all: ${NAME}
|
||||
|
||||
clean:
|
||||
@${RM} ${OBJS}
|
||||
@${RM} ${OBJS2}
|
||||
|
||||
fclean: clean
|
||||
@${RM} ${NAME}
|
||||
@${RM} ${NAME2}
|
||||
|
||||
re: fclean all
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/19 14:04:37 by apommier #+# #+# */
|
||||
/* Updated: 2022/11/29 13:25:14 by apommier ### ########.fr */
|
||||
/* Updated: 2022/11/29 15:19:04 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -20,48 +20,11 @@ long get_time(void)
|
||||
gettimeofday(&time, NULL);
|
||||
return (time.tv_sec * 1000 + time.tv_usec / 1000);
|
||||
}
|
||||
// void print_vector(ft::vector<int> x)
|
||||
// {
|
||||
|
||||
// std::cout << "-----print vector----\n";
|
||||
// for (size_t i = 0; i < x.size(); i++)
|
||||
// std::cout << x[i] << std::endl;
|
||||
// }
|
||||
|
||||
// void stack_tester()
|
||||
// {
|
||||
// ft::stack<int> first;
|
||||
// std::cout << "------empty------\n";
|
||||
// std::cout << first.empty() << std::endl;
|
||||
// std::cout << "------size------\n";
|
||||
// std::cout << first.size() << std::endl;
|
||||
// }
|
||||
|
||||
// void vector_tester()
|
||||
// {
|
||||
// ft::vector<int> first(5, 3);
|
||||
// ft::vector<int> second;
|
||||
// ft::vector<int>::iterator it = first.begin();
|
||||
// std::cout << "------empty------\n";
|
||||
// std::cout << first.empty() << std::endl;
|
||||
// std::cout << second.empty() << std::endl;
|
||||
// std::cout << "------size------\n";
|
||||
// std::cout << first.size() << std::endl;
|
||||
// std::cout << "------pushback then size------\n";
|
||||
// first.push_back(5);
|
||||
// std::cout << first.size() << std::endl;
|
||||
// std::cout << "------for------\n";
|
||||
// print_vector(first);
|
||||
// std::cout << "-------0-----\n";
|
||||
// std::cout << first.at(5) << std::endl;
|
||||
|
||||
// }
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
long real_time;
|
||||
long my_time;
|
||||
long time;
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
@ -73,44 +36,29 @@ int main()
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
std::cout << " ---------------------------STACK----------------------------\n";
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
my_time = get_time();
|
||||
time = get_time();
|
||||
stack_tester();
|
||||
my_time = get_time() - my_time;
|
||||
std::cout << " --------------------------REAL STACK------------------------\n";
|
||||
real_time = get_time();
|
||||
real_stack_tester();
|
||||
real_time = get_time() - real_time;
|
||||
std::cout << " --------------------------TIME DIFF-------------------------\n";
|
||||
std::cout << " homemade ft containers = " << my_time << "ms\n";
|
||||
std::cout << " real std containers = " << real_time << "ms\n";
|
||||
time = get_time() - time;
|
||||
std::cout << " --------------------------TIME-------------------------\n";
|
||||
std::cout << " time = " << time << "ms\n";
|
||||
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
std::cout << " ---------------------------VECTOR---------------------------\n";
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
my_time = get_time();
|
||||
time = get_time();
|
||||
vector_tester();
|
||||
my_time = get_time() - my_time;
|
||||
std::cout << " --------------------------REAL VECTOR------------------------\n";
|
||||
real_time = get_time();
|
||||
real_vector_tester();
|
||||
real_time = get_time() - real_time;
|
||||
std::cout << " --------------------------TIME DIFF-------------------------\n";
|
||||
std::cout << " homemade ft containers = " << my_time << "ms\n";
|
||||
std::cout << " real std containers = " << real_time << "ms\n";
|
||||
time = get_time() - time;
|
||||
std::cout << " --------------------------TIME-------------------------\n";
|
||||
std::cout << " time = " << time << "ms\n";
|
||||
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
std::cout << " -----------------------------MAP----------------------------\n";
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
my_time = get_time();
|
||||
time = get_time();
|
||||
map_tester();
|
||||
my_time = get_time() - my_time;
|
||||
std::cout << " ---------------------------REAL MAP-------------------------\n";
|
||||
real_time = get_time();
|
||||
real_map_tester();
|
||||
real_time = get_time() - real_time;
|
||||
std::cout << " --------------------------TIME DIFF-------------------------\n";
|
||||
std::cout << " homemade ft containers = " << my_time << "ms\n";
|
||||
std::cout << " real std containers = " << real_time << "ms\n";
|
||||
time = get_time() - time;
|
||||
std::cout << " --------------------------TIME-------------------------\n";
|
||||
std::cout << " time = " << time << "ms\n";
|
||||
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ******************************END OF TESTER******************************* */\n";
|
||||
|
||||
67
tests/main_real.cpp
Normal file
67
tests/main_real.cpp
Normal file
@ -0,0 +1,67 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* main_real.cpp :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/11/29 15:14:45 by apommier #+# #+# */
|
||||
/* Updated: 2022/11/29 15:18:33 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../ft_containers.hpp"
|
||||
#include <sys/time.h>
|
||||
|
||||
long get_time(void)
|
||||
{
|
||||
struct timeval time;
|
||||
|
||||
gettimeofday(&time, NULL);
|
||||
return (time.tv_sec * 1000 + time.tv_usec / 1000);
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
long real_time;
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* *****************************FT_CONTAINERS TESTER************************* */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
std::cout << " ---------------------------STACK----------------------------\n";
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
real_time = get_time();
|
||||
real_stack_tester();
|
||||
real_time = get_time() - real_time;
|
||||
std::cout << " --------------------------TIME-------------------------\n";
|
||||
std::cout << " time = " << real_time << "ms\n";
|
||||
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
std::cout << " ---------------------------VECTOR---------------------------\n";
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
real_time = get_time();
|
||||
real_vector_tester();
|
||||
real_time = get_time() - real_time;
|
||||
std::cout << " --------------------------TIME-------------------------\n";
|
||||
std::cout << " time = " << real_time << "ms\n";
|
||||
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
std::cout << " -----------------------------MAP----------------------------\n";
|
||||
std::cout << " ------------------------------------------------------------\n";
|
||||
real_time = get_time();
|
||||
real_map_tester();
|
||||
real_time = get_time() - real_time;
|
||||
std::cout << " --------------------------TIME-------------------------\n";
|
||||
std::cout << " time = " << real_time << "ms\n";
|
||||
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
std::cout << "/* ******************************END OF TESTER******************************* */\n";
|
||||
std::cout << "/* ************************************************************************** */\n";
|
||||
return (0);
|
||||
}
|
||||
@ -6,15 +6,94 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/11/29 12:55:17 by apommier #+# #+# */
|
||||
/* Updated: 2022/11/29 13:23:51 by apommier ### ########.fr */
|
||||
/* Updated: 2022/11/29 15:12:31 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../ft_containers.hpp"
|
||||
|
||||
template <typename T>
|
||||
std::string printPair(const T &iterator, bool nl = true, std::ostream &o = std::cout)
|
||||
{
|
||||
o << "key: " << iterator->first << " | value: " << iterator->second;
|
||||
if (nl)
|
||||
o << std::endl;
|
||||
return ("");
|
||||
}
|
||||
|
||||
template <typename T_MAP>
|
||||
void printSize(T_MAP const &mp, bool print_content = 1)
|
||||
{
|
||||
std::cout << "size: " << mp.size() << std::endl;
|
||||
std::cout << "max_size: " << mp.max_size() << std::endl;
|
||||
if (print_content)
|
||||
{
|
||||
typename T_MAP::const_iterator it = mp.begin(), ite = mp.end();
|
||||
std::cout << std::endl << "Content is:" << std::endl;
|
||||
for (; it != ite; ++it)
|
||||
std::cout << "- " << printPair(it, false) << std::endl;
|
||||
}
|
||||
std::cout << "###############################################" << std::endl;
|
||||
}
|
||||
|
||||
void map_tester()
|
||||
{
|
||||
// std::cout << "----default constructor----" << std::endl;
|
||||
// ft::map<int, int> ctnr;
|
||||
// printSize(ctnr);
|
||||
|
||||
// std::cout << "----copy constructor----" << std::endl;
|
||||
// ft::map<int, int> ctnr_copy(ctnr);
|
||||
// printSize(ctnr_copy);
|
||||
|
||||
// std::cout << "----range constructor----" << std::endl;
|
||||
// ft::map<int, int> ctnr2(ctnr.begin(), ctnr.end());
|
||||
// printSize(ctnr2);
|
||||
|
||||
// ////////////////////////////////////
|
||||
// std::cout << "----insert at position + assign constrcutor----" << std::endl;
|
||||
// ft::map<int, int> ctnr4(5, 5);
|
||||
// printSize(ctnr4);
|
||||
|
||||
// std::cout << "----insert----\n";
|
||||
// ctnr4.insert(ctnr4.begin() + 3, 100);
|
||||
// printSize(ctnr4);
|
||||
|
||||
// std::cout << "----insert fill----\n";
|
||||
// ctnr4.insert(ctnr4.begin() + 3, 5, 100);
|
||||
// printSize(ctnr4);
|
||||
|
||||
// std::cout << "----operator equal----\n";
|
||||
// ft::map<int, int> ctnr5;
|
||||
// ctnr5 = ctnr4;
|
||||
// printSize(ctnr5);
|
||||
|
||||
// std::cout << "----insert range----\n";
|
||||
// ctnr5.insert(ctnr5.begin() + 2, ctnr.begin()++, ctnr.end()--);
|
||||
// printSize(ctnr5);
|
||||
|
||||
// std::cout << "----erase----\n";
|
||||
// ctnr5.erase(ctnr5.end() - 5);
|
||||
// printSize(ctnr5);
|
||||
|
||||
// std::cout << "----erase range----\n";
|
||||
// ctnr5.erase(ctnr5.begin(), ctnr5.end() - 5);
|
||||
// printSize(ctnr5);
|
||||
|
||||
// std::cout << "----swap----\n";
|
||||
// ctnr5.swap(ctnr);
|
||||
// std::cout << "----ctnr----\n";
|
||||
// printSize(ctnr);
|
||||
// std::cout << "----ctnr5----\n";
|
||||
// printSize(ctnr5);
|
||||
|
||||
// std::cout << "----clear----\n";
|
||||
// ctnr.clear();
|
||||
// printSize(ctnr);
|
||||
// ///////////////
|
||||
|
||||
// std::cout << "----relationnal ope----\n";
|
||||
// cmp(ctnr, ctnr4);
|
||||
}
|
||||
|
||||
void real_map_tester()
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/11/29 12:55:23 by apommier #+# #+# */
|
||||
/* Updated: 2022/11/29 15:06:00 by apommier ### ########.fr */
|
||||
/* Updated: 2022/11/29 15:30:18 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -152,6 +152,10 @@ void real_vector_tester()
|
||||
ctnr.assign(10, 1);
|
||||
printSize_real(ctnr);
|
||||
|
||||
std::cout << "----copy constructor----" << std::endl;
|
||||
std::vector<int> ctnr_copy(ctnr);
|
||||
printSize_real(ctnr_copy);
|
||||
|
||||
std::cout << "----range constructor----" << std::endl;
|
||||
std::vector<int> ctnr2(ctnr.begin(), ctnr.end());
|
||||
printSize_real(ctnr2);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user