DSPython  00.03.03 — 25 juin 2012
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Fonctions | Variables
Référence de l'espace de nommage DSPython.bit32

Bits de naturels sur 32 bits. Plus de détails...

Fonctions

def bin
 n en binaire dans un string
def bit
 Le bit d'indice i de n vaut 1 ?
def bitset
 n avec son bit d'indice i à b
def bitset0
 n avec son bit d'indice i à 0
def bitset1
 n avec son bit d'indice i à 1
def lg
 lg(n) == log2(n) == nbbits(n) - 1 == l'indice du dernier bit à 1 de n     (n != 0)
def mersenne
 Mk == 2k - 1.
def mersenne_is
 n est un nombre de Mersenne ?
def mersenne_to_index
 Indice du nombre de Mersenne correspondant à n, ou None.
def nbbits0
 Nombre de bits à 0 de n.
def nbbits1
 Nombre de bits à 1 de n.
def nbbits
 Nombre de bits de n.
def pow2
 2k
def pow2_is
 n est une puissance de 2 ?
def pow2_to_index
 Exposant de la puissance de Mersenne correspondant à n, ou None.
def rscan0
 Indice du dernier bit à 0 de n, ou None.
def rscan1
 Indice du dernier bit à 1 de, n == nbbits(n) - 1 ou None.
def scan0
 Indice du premier bit à 0 de n.
def scan1
 Indice du premier bit à 1 de n, ou None.

Variables

string VERSION = 'bit32 --- 2010 March 16'
 Date du dernier changement pour ce module.
tuple BIN_8_TUPLE
 Représentation binaire des naturels tenant sur 8 bits.
int MERSENNE8 = 255
 Nombre de Mersenne M8 == 28
int MERSENNE16 = 65535
 Nombre de Mersenne M16 == 216
int MERSENNE24 = 16777215
 Nombre de Mersenne M24 == 224
int MERSENNE32 = 4294967295
 Nombre de Mersenne M32 == 232
tuple MERSENNE_TUPLE
 Nombres de Mersenne Mn tenant sur 32 bits.
tuple NBBITS1_8_TUPLE
 Nombre de bits à 1 pour les naturels tenant sur 8 bits.
tuple NBBITS_8_TUPLE
 Nombre de bits pour les naturels tenant sur 8 bits.
tuple POW2_TUPLE
 2k, puissances de 2 tenant sur 32 bits
tuple RSCAN0_8_TUPLE
 Indice du dernier bit à 0 pour les naturels tenant sur 8 bits.
tuple SCAN0_ODD8_TUPLE
 Indice du premier bit à 0 pour les naturels impairs tenant sur 8 bits.
tuple SCAN1_EVEN8_TUPLE
 Indice du premier bit à 1 pour les naturels pairs tenant sur 8 bits, ou None.

Description détaillée

Bits de naturels sur 32 bits.


Documentation des fonctions

def DSPython.bit32.bin (   n)

n en binaire dans un string

Renvoie un string représentant n en binaire
  (Si n == 0 alors renvoie '0')

Pre: n naturel < 2**32

Result: string de 1 <= longueur <= 32

O(n) = 1

Définition à la ligne 208 du fichier bit32.py.

Références DSPython.nat32_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.bit (   n,
  i 
)

Le bit d'indice i de n vaut 1 ?

Renvoie True si le bit d'indice i de n vaut 1,
  False sinon

Pre: n naturel < 2**32
     i naturel < 32

Result: bool

O(n) = 1

Définition à la ligne 232 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.natural_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.bitset (   n,
  i,
  b 
)

n avec son bit d'indice i à b

Si b alors renvoie n avec son bit d'indice i à 1,
  sinon renvoie n avec son bit d'indice i à 0

Pre: n naturel < 2**32
     i naturel < 32

Result: naturel < 2**32

O(n) = 1

Définition à la ligne 250 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.natural_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.bitset0 (   n,
  i 
)

n avec son bit d'indice i à 0

Renvoie n avec son bit d'indice i à 0

Pre: n naturel < 2**32
     i naturel < 32

Result: naturel < 2**32

O(n) = 1

Définition à la ligne 269 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.natural_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.bitset1 (   n,
  i 
)

n avec son bit d'indice i à 1

Renvoie n avec son bit d'indice i à 1

Pre: n naturel < 2**32
     i naturel < 32

Result: naturel < 2**32

O(n) = 1

Définition à la ligne 286 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.natural_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.lg (   n)

lg(n) == log2(n) == nbbits(n) - 1 == l'indice du dernier bit à 1 de n     (n != 0)

Renvoie lg(n) == log_2(n) == nbbits(n) - 1
  == l'indice du dernier bit à 1 de n

Pre: n: 1 <= naturel < 2**32

Result: naturel < 32

O(n) = 1

Définition à la ligne 304 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.bit32.nbbits().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.mersenne (   k)

Mk == 2k - 1.

Renvoie le nième nombre de Mersenne M_k == 2**k - 1

Pre: k: naturel <= 32

Result: naturel < 2**32

O(k) = 1

Définition à la ligne 319 du fichier bit32.py.

Références DSPython.natural_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.mersenne_is (   n)

n est un nombre de Mersenne ?

Renvoie True si n est un nombre de Mersenne,
  False sinon

Pre: n: naturel < 2**32

Result: bool

O(n) = 1

Définition à la ligne 334 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.bit32.scan0().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.mersenne_to_index (   n)

Indice du nombre de Mersenne correspondant à n, ou None.

Si n == M_k alors renvoie k
            sinon renvoie None

Pre: n: naturel < 2**32

Result: naturel <= 32 ou None

O(n) = 1

Définition à la ligne 349 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.bit32.scan0().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.nbbits (   n)

Nombre de bits de n.

Renvoie le nombre de bits de n
  == nbbits0(n) + nbbits1(n)
  (sans tenir compte des 0 après le dernier 1)
  (Si n == 0 alors renvoie 0)

Pre: n: naturel < 2**32

Result: naturel <= 32

O(n) = 1

Définition à la ligne 398 du fichier bit32.py.

Références DSPython.nat32_is().

Référencé par DSPython.bit32.lg(), DSPython.bit32.nbbits0(), DSPython.bit32.rscan1(), et DSPython.bit32.scan1().

def DSPython.bit32.nbbits0 (   n)

Nombre de bits à 0 de n.

Renvoie le nombre de bits à 0 de n
  (sans tenir compte des 0 après le dernier 1)
  (Si n == 0 alors renvoie 0)

Pre: n: naturel < 2**32

Result: naturel <= 31

O(n) = 1

Définition à la ligne 366 du fichier bit32.py.

Références DSPython.nat32_is(), DSPython.bit32.nbbits(), et DSPython.bit32.nbbits1().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.nbbits1 (   n)

Nombre de bits à 1 de n.

Renvoie le nombre de bits à 1 de n
  (Si n == 0 alors renvoie 0)

Pre: n: naturel < 2**32

Result: naturel <= 32

O(n) = 1

Définition à la ligne 382 du fichier bit32.py.

Références DSPython.nat32_is().

Référencé par DSPython.bit32.nbbits0(), et DSPython.bit32.scan1().

def DSPython.bit32.pow2 (   k)

2k

Renvoie la kième puissance de 2 : 2**k

Pre: k naturel <= 31

Result: 1 <= naturel <= 2**31

O(k) = 1

Définition à la ligne 425 du fichier bit32.py.

Références DSPython.natural_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.pow2_is (   n)

n est une puissance de 2 ?

Renvoie True si n est une puissance de 2,
  False sinon

Pre: n: naturel < 2**32

Result: bool

O(n) = 1

Définition à la ligne 440 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.bit32.rscan1().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.pow2_to_index (   n)

Exposant de la puissance de Mersenne correspondant à n, ou None.

Si n == 2^k alors renvoie k
             sinon renvoie None

Pre: n: naturel < 2**32

Result: naturel <= 32 ou None

O(n) = 1

Définition à la ligne 455 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.bit32.rscan1().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.rscan0 (   n)

Indice du dernier bit à 0 de n, ou None.

Renvoie l'indice du dernier bit à 0 de n
  ou None si pas de bit à 0 contenu dans n

Pre: n: naturel < 2**32

Result: naturel <= 32

O(n) = 1

Définition à la ligne 472 du fichier bit32.py.

Références DSPython.nat32_is().

Référencé par DSPython.bit32.scan1().

def DSPython.bit32.rscan1 (   n)

Indice du dernier bit à 1 de, n == nbbits(n) - 1 ou None.

Renvoie l'indice du dernier bit à 1 de n
  ou None si n == 0

Pre: n: naturel < 2**32

Result: naturel <= 31 ou None

O(n) = 1

Définition à la ligne 498 du fichier bit32.py.

Références DSPython.nat32_is(), et DSPython.bit32.nbbits().

Référencé par DSPython.bit32.pow2_is(), DSPython.bit32.pow2_to_index(), et DSPython.bit32.scan1().

def DSPython.bit32.scan0 (   n)

Indice du premier bit à 0 de n.

Renvoie l'indice du premier bit à 0 de n
  (si n == 0         alors renvoie 0)
  (si n == 2**32 - 1 alors renvoie 32)

Pre: n: naturel < 2**32

Result: naturel <= 32

O(n) = 1

Définition à la ligne 514 du fichier bit32.py.

Références DSPython.nat32_is().

Référencé par DSPython.bit32.mersenne_is(), DSPython.bit32.mersenne_to_index(), et DSPython.bit32.scan1().

def DSPython.bit32.scan1 (   n)

Documentation des variables

tuple DSPython.bit32.MERSENNE_TUPLE
Valeur initiale :
1 (0, 1, 3, 7,
2  15, 31, 63, 127,
3  MERSENNE8, 511, 1023, 2047,
4  4095, 8191, 16383, 32767,
5  MERSENNE16, 131071, 262143, 524287,
6  1048575, 2097151, 4194303, 8388607,
7  MERSENNE24, 33554431, 67108863, 134217727,
8  268435455, 536870911, 1073741823, 2147483647,
9  MERSENNE32)

Nombres de Mersenne Mn tenant sur 32 bits.

Définition à la ligne 102 du fichier bit32.py.

tuple DSPython.bit32.NBBITS1_8_TUPLE
Valeur initiale :
1 (0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
2  1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
3  1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
4  2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
5  1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
6  2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
7  2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
8  3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
9  1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
10  2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
11  2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
12  3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
13  2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
14  3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
15  3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
16  4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8)

Nombre de bits à 1 pour les naturels tenant sur 8 bits.

Définition à la ligne 114 du fichier bit32.py.

tuple DSPython.bit32.NBBITS_8_TUPLE
Valeur initiale :
1 (0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
2  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
4  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
5  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
6  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
8  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
9  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
10  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
11  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
12  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
13  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
14  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
15  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
16  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8)

Nombre de bits pour les naturels tenant sur 8 bits.

Définition à la ligne 133 du fichier bit32.py.

tuple DSPython.bit32.POW2_TUPLE
Valeur initiale :
1 (1, 2, 4, 8,
2  16, 32, 64, 128,
3  256, 512, 1024, 2048,
4  4096, 8192, 16384, 32768,
5  65536, 131072, 262144, 524288,
6  1048576, 2097152, 4194304, 8388608,
7  16777216, 33554432, 67108864, 134217728,
8  268435456, 536870912, 1073741824, 2147483648)

2k, puissances de 2 tenant sur 32 bits

Définition à la ligne 152 du fichier bit32.py.

tuple DSPython.bit32.RSCAN0_8_TUPLE
Valeur initiale :
1 (None, None, 0, None, 1, 1, 0, None, 2, 2, 2, 2, 1, 1, 0, None,
2  3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 0, None,
3  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4  3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 0, None,
5  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
6  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
7  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
8  3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 0, None,
9  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
10  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
11  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
12  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
13  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
14  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
15  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
16  3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 0, None)

Indice du dernier bit à 0 pour les naturels tenant sur 8 bits.

Définition à la ligne 163 du fichier bit32.py.

tuple DSPython.bit32.SCAN0_ODD8_TUPLE
Valeur initiale :
1 (1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 5,
2  1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 6,
3  1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 5,
4  1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 7,
5  1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 5,
6  1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 6,
7  1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 5,
8  1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 8)

Indice du premier bit à 0 pour les naturels impairs tenant sur 8 bits.

Définition à la ligne 182 du fichier bit32.py.

tuple DSPython.bit32.SCAN1_EVEN8_TUPLE
Valeur initiale :
1 (None, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1,
2  5, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1,
3  6, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1,
4  5, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1,
5  7, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1,
6  5, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1,
7  6, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1,
8  5, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1)

Indice du premier bit à 1 pour les naturels pairs tenant sur 8 bits, ou None.

Définition à la ligne 193 du fichier bit32.py.