From 47d697f4363fd456b32aafb44e6b636c6e3f1fed Mon Sep 17 00:00:00 2001 From: hugogogo Date: Mon, 14 Mar 2022 18:57:38 +0100 Subject: [PATCH] d08 check leaks ok --- d08/ex00/Makefile | 3 + d08/ex01/< | 151 ------------------------------------------- d08/ex01/main.cpp | 86 ++++++++++++------------ d08/ex01/span | Bin 61840 -> 0 bytes d08/ex02/main.cpp | 2 +- d08/ex02/mutantstack | Bin 33736 -> 0 bytes 6 files changed, 47 insertions(+), 195 deletions(-) delete mode 100644 d08/ex01/< delete mode 100755 d08/ex01/span delete mode 100755 d08/ex02/mutantstack diff --git a/d08/ex00/Makefile b/d08/ex00/Makefile index 09b79b3..5a734bd 100644 --- a/d08/ex00/Makefile +++ b/d08/ex00/Makefile @@ -64,6 +64,9 @@ $(OBJS): $(HEADERS:%=$(D_HEADERS)/%) $(NAME): $(OBJS) $(CC) $(OBJS) -o $@ $(LIBS) +leaks: $(NAME) + valgrind --leak-check=full --show-leak-kinds=all ./$(NAME) + clean: $(RM_OBJS) diff --git a/d08/ex01/< b/d08/ex01/< deleted file mode 100644 index ebb3721..0000000 --- a/d08/ex01/< +++ /dev/null @@ -1,151 +0,0 @@ -#include -#include -#include "colors.h" - -#include "Span.hpp" - -#define N_TEST "1" - -int main() { - int i = 0; - srand(time(NULL)); - - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "test copy :" RESET "\n"; - { - Span sp = Span(5); - Span sp2 = sp; - Span sp3 = Span(4); - - sp.addNumber(6); - sp.addNumber(3); - sp.addNumber(17); - sp.addNumber(9); - sp.addNumber(11); - - sp3.addNumber(1); - sp3.addNumber(2); - sp3.addNumber(33); - sp3.addNumber(4); - - Span sp4 = Span(sp); - - std::cout << B_BLUE "initial" RESET "\n"; - std::cout << "sp : " << sp << "\n"; - std::cout << "sp2: " << sp2 << "\n"; - std::cout << "sp3: " << sp3 << "\n"; - std::cout << "sp4: " << sp4 << "\n"; - - sp2 = sp; - - std::cout << B_BLUE "sp2 = sp" RESET "\n"; - std::cout << "sp : " << sp << "\n"; - std::cout << "sp2: " << sp2 << "\n"; - std::cout << "sp3: " << sp3 << "\n"; - std::cout << "sp4: " << sp4 << "\n"; - - sp2 = sp3; - - std::cout << B_BLUE "sp2 = sp3" RESET "\n"; - std::cout << "sp : " << sp << "\n"; - std::cout << "sp2: " << sp2 << "\n"; - std::cout << "sp3: " << sp3 << "\n"; - std::cout << "sp4: " << sp4 << "\n"; - - sp3 = sp; - - std::cout << B_BLUE "sp3 = sp" RESET "\n"; - std::cout << "sp : " << sp << "\n"; - std::cout << "sp2: " << sp2 << "\n"; - std::cout << "sp3: " << sp3 << "\n"; - std::cout << "sp4: " << sp4 << "\n"; - - sp4 = Span(sp2); - - std::cout << B_BLUE "sp4 = Span(sp2)" RESET "\n"; - std::cout << "sp : " << sp << "\n"; - std::cout << "sp2: " << sp2 << "\n"; - std::cout << "sp3: " << sp3 << "\n"; - std::cout << "sp4: " << sp4 << "\n"; - } - - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "test short and long :" RESET "\n"; - { - Span sp = Span(10); - Span sp1 = Span(10); - Span sp2 = Span(10); - - sp.addNumber(43); - sp.addNumber(37); - sp.addNumber(94); - sp.addNumber(18); - sp.addNumber(47); - sp.addNumber(98); - sp.addNumber(69); - sp.addNumber(52); - sp.addNumber(58); - sp.addNumber(63); - - sp1.addNumber(43); - sp1.addNumber(37); - sp1.addNumber(94); - sp1.addNumber(18); - sp1.addNumber(47); - sp1.addNumber(98); - sp1.addNumber(47); - sp1.addNumber(52); - sp1.addNumber(58); - sp1.addNumber(63); - - sp2.addNumber(143); - sp2.addNumber(37); - sp2.addNumber(94); - sp2.addNumber(18); - sp2.addNumber(47); - sp2.addNumber(98); - sp2.addNumber(69); - sp2.addNumber(52); - sp2.addNumber(58); - sp2.addNumber(63); - - std::cout << B_BLUE "sp :" RESET "\n"; - std::cout << sp << "\n"; - std::cout << sp.shortestSpan() << "\n"; - std::cout << sp.longestSpan() << "\n"; - - std::cout << B_BLUE "sp1 :" RESET "\n"; - std::cout << sp1 << "\n"; - std::cout << sp1.shortestSpan() << "\n"; - std::cout << sp1.longestSpan() << "\n"; - - std::cout << B_BLUE "sp2 :" RESET "\n"; - std::cout << sp2 << "\n"; - std::cout << sp2.shortestSpan() << "\n"; - std::cout << sp2.longestSpan() << "\n"; - } - - - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "test range :" RESET "\n"; - { - Span sp = Span(54); - int arr[] = {42, 35, 65, 12, -10, 3, 7, 45, 21, 98}; - -sp.addNumber(arr, &arr[sizeof arr / sizeof *arr]); -std::cout << sizeof (arr) << "\n"; -std::cout << sizeof (*arr) << "\n"; -while (1) -; - - sp.addNumber(arr); - - std::cout << B_BLUE "sp :" RESET "\n"; - std::cout << sp << "\n"; - std::cout << sp.shortestSpan() << "\n"; - std::cout << sp.longestSpan() << "\n"; - } - - return 0; -} - diff --git a/d08/ex01/main.cpp b/d08/ex01/main.cpp index dba3869..d3b6abd 100644 --- a/d08/ex01/main.cpp +++ b/d08/ex01/main.cpp @@ -4,12 +4,54 @@ #include "Span.hpp" -#define N_TEST "1" +#define N_TEST "6" int main() { int i = 0; srand(time(NULL)); + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "test 10 000 :" RESET "\n"; + { + unsigned int len = 10000; + Span sp = Span(len); + int arr[len]; + + for (unsigned int i = 0; i < len; i++) + arr[i] = rand() % (10000000000000); + + //sp.addNumber(arr, len); + sp.addNumber(arr, &arr[len]); + + std::cout << B_BLUE "sp :" RESET "\n"; + std::cout << sp << "\n"; + std::cout << sp.shortestSpan() << "\n"; + std::cout << sp.longestSpan() << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "test 50 000 :" RESET "\n"; + { + unsigned int len = 50000; + Span sp = Span(len); + int arr[len]; + + for (unsigned int i = 0; i < len; i++) + { + arr[i] = rand() % (1000000000000000000); + if (arr[i] % 2) + arr[i] *= -1; + } + + //sp.addNumber(arr, len); + sp.addNumber(arr, &arr[len]); + + std::cout << B_BLUE "sp :" RESET "\n"; + std::cout << sp << "\n"; + std::cout << sp.shortestSpan() << "\n"; + std::cout << sp.longestSpan() << "\n"; + } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "test copy :" RESET "\n"; { @@ -222,48 +264,6 @@ int main() { std::cout << sp.longestSpan() << "\n"; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "test 10 000 :" RESET "\n"; - { - unsigned int len = 10000; - Span sp = Span(len); - int arr[len]; - - for (unsigned int i = 0; i < len; i++) - arr[i] = rand() % (10000000000000); - - //sp.addNumber(arr, len); - sp.addNumber(arr, &arr[len]); - - std::cout << B_BLUE "sp :" RESET "\n"; - std::cout << sp << "\n"; - std::cout << sp.shortestSpan() << "\n"; - std::cout << sp.longestSpan() << "\n"; - } - - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "test 50 000 :" RESET "\n"; - { - unsigned int len = 50000; - Span sp = Span(len); - int arr[len]; - - for (unsigned int i = 0; i < len; i++) - { - arr[i] = rand() % (1000000000000000000); - if (arr[i] % 2) - arr[i] *= -1; - } - - //sp.addNumber(arr, len); - sp.addNumber(arr, &arr[len]); - - std::cout << B_BLUE "sp :" RESET "\n"; - std::cout << sp << "\n"; - std::cout << sp.shortestSpan() << "\n"; - std::cout << sp.longestSpan() << "\n"; - } - return 0; } diff --git a/d08/ex01/span b/d08/ex01/span deleted file mode 100755 index e914e3a37a17f7cafcaf128882e042dbfb166743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61840 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 diff --git a/d08/ex02/main.cpp b/d08/ex02/main.cpp index 8caf72f..fcaae06 100644 --- a/d08/ex02/main.cpp +++ b/d08/ex02/main.cpp @@ -2,7 +2,7 @@ #include "colors.h" #include "MutantStack.hpp" -#define N_TEST "1" +#define N_TEST "2" int main() { int i = 0; diff --git a/d08/ex02/mutantstack b/d08/ex02/mutantstack deleted file mode 100755 index 80bd292e058f02ec70cfd987533adab7c2b22018..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33736 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