Assumendo di disporre di un array di elementi N, è possibile eseguire un controllo di bit su un set di vettori di base.
Ad esempio, si dispone di un array di 15 elementi che si desidera testare.
È possibile testarlo su un array zero a 8 elementi, un array zero a 4 elementi, un array zero a 2 elementi e un array zero a 1 elemento.
Devi solo assegnare questi elementi una volta che conosci la dimensione massima degli array che vuoi testare. Inoltre, il test può essere eseguito in parallelo (e con l'assemblaggio intrinseco se necessario).
Un ulteriore miglioramento in termini di allocazione della memoria può essere eseguito utilizzando solo una matrice a 8 elementi poiché un array zero a 4 elementi è semplicemente la prima metà della matrice zero a 8 elementi.
fonte
2010-10-28 16:29:17
Se si utilizza 'std :: bitset', è possibile utilizzare il metodo' none() '. http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00263.html#ac224d7f896a9922057d9e14f307b30fd – Arun
C'è un motivo per cui questo è un problema perché è più o meno ciò che il codice macchina dovrà fare comunque – doron
@ arunsaha: devo impostare la dimensione per un bitset in fase di compilazione, ma ho bisogno di allocare dinamicamente memoria in fase di esecuzione – knittl