2 binary
This commit is contained in:
parent
3d078ae677
commit
f976f2194d
18
Makefile
18
Makefile
@ -6,17 +6,24 @@
|
|||||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2022/10/12 19:45:18 by apommier #+# #+# #
|
# 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\
|
SRCS = tests/map_tester.cpp\
|
||||||
tests/vector_tester.cpp\
|
tests/vector_tester.cpp\
|
||||||
tests/stack_tester.cpp\
|
tests/stack_tester.cpp\
|
||||||
tests/main.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}
|
OBJS = ${SRCS:.cpp=.o}
|
||||||
|
OBJS2 = ${SRCS2:.cpp=.o}
|
||||||
CC = c++
|
CC = c++
|
||||||
CFLAGS = -g -Wall -Wextra -Werror -std=c++98
|
CFLAGS = -g -Wall -Wextra -Werror -std=c++98
|
||||||
RM = rm -rf
|
RM = rm -rf
|
||||||
@ -24,16 +31,19 @@ RM = rm -rf
|
|||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(CC) ${CFLAGS} -c $< -o $(<:.cpp=.o)
|
$(CC) ${CFLAGS} -c $< -o $(<:.cpp=.o)
|
||||||
|
|
||||||
${NAME}: ${OBJS}
|
${NAME}: ${OBJS} ${OBJS2}
|
||||||
${CC} ${LIB} ${OBJS} -o ${NAME}
|
${CC} ${LIB} ${OBJS} -o ${NAME}
|
||||||
|
${CC} ${LIB} ${OBJS2} -o ${NAME2}
|
||||||
|
|
||||||
all: ${NAME}
|
all: ${NAME}
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@${RM} ${OBJS}
|
@${RM} ${OBJS}
|
||||||
|
@${RM} ${OBJS2}
|
||||||
|
|
||||||
fclean: clean
|
fclean: clean
|
||||||
@${RM} ${NAME}
|
@${RM} ${NAME}
|
||||||
|
@${RM} ${NAME2}
|
||||||
|
|
||||||
re: fclean all
|
re: fclean all
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/19 14:04:37 by apommier #+# #+# */
|
/* 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);
|
gettimeofday(&time, NULL);
|
||||||
return (time.tv_sec * 1000 + time.tv_usec / 1000);
|
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()
|
int main()
|
||||||
{
|
{
|
||||||
long real_time;
|
long time;
|
||||||
long my_time;
|
|
||||||
std::cout << "/* ************************************************************************** */\n";
|
std::cout << "/* ************************************************************************** */\n";
|
||||||
std::cout << "/* ************************************************************************** */\n";
|
std::cout << "/* ************************************************************************** */\n";
|
||||||
std::cout << "/* ************************************************************************** */\n";
|
std::cout << "/* ************************************************************************** */\n";
|
||||||
@ -73,44 +36,29 @@ int main()
|
|||||||
std::cout << " ------------------------------------------------------------\n";
|
std::cout << " ------------------------------------------------------------\n";
|
||||||
std::cout << " ---------------------------STACK----------------------------\n";
|
std::cout << " ---------------------------STACK----------------------------\n";
|
||||||
std::cout << " ------------------------------------------------------------\n";
|
std::cout << " ------------------------------------------------------------\n";
|
||||||
my_time = get_time();
|
time = get_time();
|
||||||
stack_tester();
|
stack_tester();
|
||||||
my_time = get_time() - my_time;
|
time = get_time() - time;
|
||||||
std::cout << " --------------------------REAL STACK------------------------\n";
|
std::cout << " --------------------------TIME-------------------------\n";
|
||||||
real_time = get_time();
|
std::cout << " time = " << time << "ms\n";
|
||||||
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";
|
|
||||||
|
|
||||||
std::cout << " ------------------------------------------------------------\n";
|
std::cout << " ------------------------------------------------------------\n";
|
||||||
std::cout << " ---------------------------VECTOR---------------------------\n";
|
std::cout << " ---------------------------VECTOR---------------------------\n";
|
||||||
std::cout << " ------------------------------------------------------------\n";
|
std::cout << " ------------------------------------------------------------\n";
|
||||||
my_time = get_time();
|
time = get_time();
|
||||||
vector_tester();
|
vector_tester();
|
||||||
my_time = get_time() - my_time;
|
time = get_time() - time;
|
||||||
std::cout << " --------------------------REAL VECTOR------------------------\n";
|
std::cout << " --------------------------TIME-------------------------\n";
|
||||||
real_time = get_time();
|
std::cout << " time = " << time << "ms\n";
|
||||||
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";
|
|
||||||
|
|
||||||
std::cout << " ------------------------------------------------------------\n";
|
std::cout << " ------------------------------------------------------------\n";
|
||||||
std::cout << " -----------------------------MAP----------------------------\n";
|
std::cout << " -----------------------------MAP----------------------------\n";
|
||||||
std::cout << " ------------------------------------------------------------\n";
|
std::cout << " ------------------------------------------------------------\n";
|
||||||
my_time = get_time();
|
time = get_time();
|
||||||
map_tester();
|
map_tester();
|
||||||
my_time = get_time() - my_time;
|
time = get_time() - time;
|
||||||
std::cout << " ---------------------------REAL MAP-------------------------\n";
|
std::cout << " --------------------------TIME-------------------------\n";
|
||||||
real_time = get_time();
|
std::cout << " time = " << time << "ms\n";
|
||||||
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";
|
|
||||||
|
|
||||||
std::cout << "/* ************************************************************************** */\n";
|
std::cout << "/* ************************************************************************** */\n";
|
||||||
std::cout << "/* ******************************END OF TESTER******************************* */\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> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/11/29 12:55:17 by apommier #+# #+# */
|
/* 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"
|
#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()
|
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()
|
void real_map_tester()
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/11/29 12:55:23 by apommier #+# #+# */
|
/* 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);
|
ctnr.assign(10, 1);
|
||||||
printSize_real(ctnr);
|
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::cout << "----range constructor----" << std::endl;
|
||||||
std::vector<int> ctnr2(ctnr.begin(), ctnr.end());
|
std::vector<int> ctnr2(ctnr.begin(), ctnr.end());
|
||||||
printSize_real(ctnr2);
|
printSize_real(ctnr2);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user