From bcfe54e6140698a9e9cd64ca367d10aafb6fa7de Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Sat, 20 Apr 2019 21:00:29 +0200 Subject: [PATCH] ajout de test pour faire tourner une grande map sur une petite --- add_to_list.c | 11 ++++++++--- test_big_map.c | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 test_big_map.c diff --git a/add_to_list.c b/add_to_list.c index 0c48f16..55dfe25 100644 --- a/add_to_list.c +++ b/add_to_list.c @@ -6,7 +6,7 @@ /* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/14 15:20:53 by hulamy #+# #+# */ -/* Updated: 2019/04/19 15:33:04 by hulamy ### ########.fr */ +/* Updated: 2019/04/19 23:02:00 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ void print_bits(short line) { int mask; - mask = 1 << 16; + mask = 1 << 27; while (mask >>= 1) (line & mask) ? ft_putnbr(1) : ft_putnbr(0); ft_putchar('\n'); @@ -35,7 +35,8 @@ void print_bits(short line) int fill_list(char *line, t_fillist *list) { - short tmp; + short tmp; + int test; while (*line) { @@ -53,6 +54,10 @@ int fill_list(char *line, t_fillist *list) list->tibirtet <<= 1; tmp >>= 1; } + test = list->tibirtet; + print_bits(test); + while (test <<= 1) + print_bits(test); return (0); } diff --git a/test_big_map.c b/test_big_map.c new file mode 100644 index 0000000..41b94b1 --- /dev/null +++ b/test_big_map.c @@ -0,0 +1,41 @@ +#include + +void print_bits(int octet) +{ + int i; + + i = 1 << 30; + while (i) + { + (octet & i) ? printf("1") : printf("0"); + i >>= 1; + } + printf("\n"); +} + +void test(int map[]) +{ + int i; + + i = 0; + print_bits(map[0]); + printf("\n"); + while (i <= 30) + { + print_bits(map[1]); + // print_bits(((1 << i) & map[0]) << (30 - i)); + map[1] = (map[1] >> 1) | (((1 << i) & map[0]) << (30 - i)); // cette ligne vient ajouter a la fin de map[1] le debut de map[0] + i++; // c'est brouillon mais ca permettrait de faire "tourner" sur une + } // seule petite map le contenu de la grande map divisee en tab de int +} + +int main() +{ + int map[10] = {456873153, 1687645681, 2, 3, 4, 5, 6, 7, 8, 9}; + int i = 0; + + while (i < 10) + printf("%d\n", map[i++]); + test(map); + return (0); +}