From 88b126d3f19ab5eb98da831e31cdb83f0237dd79 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Mon, 22 Apr 2019 14:40:39 +0200 Subject: [PATCH] super mask --- .test_big_map.c.swp | Bin 12288 -> 12288 bytes test_big_map.c | 17 ++++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.test_big_map.c.swp b/.test_big_map.c.swp index ac425e4fbfe93d4f30fdb2ccd33d22fe3f883f90..e95f62a58530df7ed439eca78784d4bd191dc635 100644 GIT binary patch delta 441 zcmX}nze_?<6bJBQXnHGAhlqFuH$#19ub%dcFq;Z$u%e)b6n{X`eWXYU4Izor5VgG= zBErQrDjv19RzpK`G}Ipu4H2}}*Mu&7hI{y)!#TxdF)5|h<=H478yF@$CsFG9Hg?`= zqi~e2q%VglVYr;14tv=`Bv~7ggzn-OduMi{3hYA(n&GvL=mj3&5~^?t9_WIfR-zAh zhC8?c0gEsPQ=kHa?-rsrc!Ebbfgn^F_GGj~_co#ej6euf7=&Kvfn%(D1cy+99Asbx zW?&jdp%1!2vKl7yfkmJ9NpY6j650H^?2cvK{xGouvHuePt2Dlew8(GEnN)67#Ot|T zVmljRbB)V^fZ!86sQQTs9^pzbjI%J4i?FWwYI?h@m^5QSE}Nb8sD}@Q{M_s1nxg3M Y{gn=lPeypXTSNCaMmMGyH6_;c3(K8UnE(I) delta 362 zcmYk$ze@sP7zgm@Lc6=tJc*XB;VDSp!_2pm>JZx-;s_!fBqRtr`vZg`5|oD9){Kfe!D(M6d7wUATk| zD1r+)u;Fuv=nbCX4sM_c6A+lVWzZsB8$`P>3NbK2he7zpt3B9*Dr~_zcwuWYh_f` diff --git a/test_big_map.c b/test_big_map.c index 1e3d96f..05831ac 100644 --- a/test_big_map.c +++ b/test_big_map.c @@ -40,12 +40,12 @@ void test(unsigned int map[]) tetri = (1 << 4) | (1 << 5) | (1 << 6); mask = map[9]; - i = 0; + i = -1; j = 9; - while ((9 - (i / 32)) > 0) + while (j >= 0) { // a chaque fois que mask s'est decale jusqu'au int precedant du tableau, le if suivant reaffiche le tableau en une ligne - if (!(i % 32) && (10 - (i / 32)) && (k = -1)) + if (!(++i % 32) && j-- && (k = -1)) { while (++k < 10) print_bits(map[k]); @@ -74,15 +74,22 @@ void test(unsigned int map[]) // (0000000000000010000000 & map[j]) recupere la valeur du bit de map[j] (qui est la map precedante sur le tableau d'int) a la position du 1 // (0000000000000010000000 << (31 - (i % 32))) = 100000000000000000000 // (mask >> 1) | 1000000000000000000000 = insere le 32eme bit dans mask - mask = (mask >> 1) | (((1 << (i % 32)) & map[(8 - (i / 32))]) << (31 - (i % 32))); - i++; + mask = (mask >> 1) | (((1 << (i % 32)) & map[j]) << (31 - (i % 32))); } } int main() { unsigned int map[10] = {1568713153, 817645681, 654186132, 538171355, 1718453135, 551286515, 1631843343, 3413834313, 1155555555, 999999999}; + int i; + i = -1; + while (++i < 10) + { + print_bits(map[i]); + printf(" "); + } + printf("\n"); test(map); return (0); }