Moka kernel
|
Go to the source code of this file.
Macros | |
Définition des types de base du noyau (orbites, involutions et | |
masques) | |
#define | NB_MARKS (32) |
#define | NB_DIRECT_INFO (4) |
Opérations sur les orbites. | |
Les différents identifiants des attributs sont définis dans le fichier attributes-id.hh Une orbite est définie par un ensemble d'involutions. Une orbite peut donc être manipulée comme un ensemble. | |
#define | NEG_ORBIT(O1) (static_cast<TOrbit> (0xF ^ (static_cast<unsigned int>(O1)))) |
#define | ADD_ORBIT(O1, O2) |
#define | AND_ORBIT(O1, O2) |
#define | SUB_ORBIT(O1, O2) |
#define | IS_ORBIT_INCLUDED(O1, O2) |
Typedefs | |
typedef int8_t | TOrbit |
Type Orbite. | |
typedef int | TAttributeId |
Enumerations | |
enum | { ORBIT_NONE = -1, ORBIT_SELF, ORBIT_0, ORBIT_1, ORBIT_01, ORBIT_2, ORBIT_02, ORBIT_12, ORBIT_012, ORBIT_3, ORBIT_03, ORBIT_13, ORBIT_013, ORBIT_23, ORBIT_023, ORBIT_123, ORBIT_0123, ORBIT_BORDER_0, ORBIT_BORDER_1, ORBIT_BORDER_2, ORBIT_BORDER_3 } |
Variables | |
const TOrbit | ORBIT_VERTEX = ORBIT_123 |
const TOrbit | ORBIT_EDGE = ORBIT_023 |
const TOrbit | ORBIT_FACE = ORBIT_013 |
const TOrbit | ORBIT_VOLUME = ORBIT_012 |
const TOrbit | ORBIT_CC = ORBIT_0123 |
const TOrbit | ORBIT_INF [4] |
const TOrbit | ORBIT_CELL [5] |
Orbite cellule de dimension l'indice du tableau. | |
const TOrbit | ORBIT_BORDER [4] |
Orbite bord de dimension l'indice du tableau. | |
const TOrbit | ORBIT_I_IM1 [4] |
const TOrbit | ORBIT_I_IP1 [4] |
const TOrbit | ORBIT_INVO [4] |
const TOrbit | ORBIT_SEWS [4] |
Orbite qui est modifiée lors d'une couture par l'indice du tableau. | |
const TOrbit | ORBIT_DIM [4] |
Orbite par l'involution d'indice celui du tableau. | |
enum | { OP_NONE = -1, OP_ALPHA0, OP_ALPHA1, OP_ALPHA2, OP_ALPHA3, OP_ALPHAI, OP_ALPHAJ, OP_ALPHAK, OP_JUMP, OP_TURN_AROUND, OP_END, OP_UNKNOWN } |
typedef int8_t | TOperationState |
Les masques | |
Les masques sont des tableaux de bits interprétés comme en valeur booléenne. L'indice du tableau correspond à l'indice de l'involution associée au booléen. | |
typedef std::bitset< 16 > | TMask16 |
Définition du type TMask16 pour les 16 orbites possibles. | |
const TMask16 | MASK_FALSE ((unsigned int) 0x0000) |
Attention, les bits de poids fort sont à gauche. | |
const TMask16 | MASK_TRUE ((unsigned int) 0xFFFF) |
Mask 'vrai'. | |
const TMask16 | MASK0 ((unsigned int) 0xAAAA) |
const TMask16 | MASK1 ((unsigned int) 0xCCCC) |
const TMask16 | MASK2 ((unsigned int) 0xF0F0) |
const TMask16 | MASK3 ((unsigned int) 0xFF00) |
const TMask16 | MASK0M2 (MASK0 &~MASK2) |
Masques de toutes les orbites contenant alphai et pas alphaj : | |
const TMask16 | MASK0M3 (MASK0 &~MASK3) |
const TMask16 | MASK1M3 (MASK1 &~MASK3) |
const TMask16 | MASK2M0 (MASK2 &~MASK0) |
const TMask16 | MASK3M0 (MASK3 &~MASK0) |
const TMask16 | MASK3M1 (MASK3 &~MASK1) |
Type d'affichage éclaté. | |
enum | { FIRST_BURST_METHOD = 0, BURST_METHOD_SCALE = FIRST_BURST_METHOD, BURST_METHOD_SHIFT, LAST_BURST_METHOD } |
typedef int8_t | TBurstMethod |
#define ADD_ORBIT | ( | O1, | |
O2 | |||
) |
Union de 2 orbites.
O1 | Une orbite. |
O2 | Une orbite. |
Definition at line 126 of file kernel-types.hh.
#define AND_ORBIT | ( | O1, | |
O2 | |||
) |
Intersection de 2 orbites.
O1 | Une orbite. |
O2 | Une orbite. |
Definition at line 139 of file kernel-types.hh.
#define IS_ORBIT_INCLUDED | ( | O1, | |
O2 | |||
) |
Test d'inclusion d'orbites.
O1 | Une orbite. |
O2 | Une orbite. |
Definition at line 164 of file kernel-types.hh.
#define NB_DIRECT_INFO (4) |
Nombre de champs direct-info associés aux brins.
Definition at line 53 of file kernel-types.hh.
#define NB_MARKS (32) |
Nombre de marques associées aux brins.
Definition at line 48 of file kernel-types.hh.
#define NEG_ORBIT | ( | O1 | ) | (static_cast<TOrbit> (0xF ^ (static_cast<unsigned int>(O1)))) |
Complémentaire d'une orbite.
O1 | Une orbite. |
Definition at line 115 of file kernel-types.hh.
#define SUB_ORBIT | ( | O1, | |
O2 | |||
) |
Soustraction d'orbites.
O1 | Une orbite. |
O2 | Une orbite. |
Definition at line 152 of file kernel-types.hh.
typedef int TAttributeId |
Definition at line 94 of file kernel-types.hh.
typedef int8_t TBurstMethod |
Ce type permet de spécifier quel type d'affichage éclatée on utilise.
Definition at line 341 of file kernel-types.hh.
typedef std::bitset<16> TMask16 |
Définition du type TMask16 pour les 16 orbites possibles.
Definition at line 296 of file kernel-types.hh.
typedef int8_t TOperationState |
Ce type permet, lors d'un parcours, de connaître quel est le type de la dernière opération
Definition at line 247 of file kernel-types.hh.
Type Orbite.
Definition at line 59 of file kernel-types.hh.
anonymous enum |
Definition at line 63 of file kernel-types.hh.
anonymous enum |
Definition at line 249 of file kernel-types.hh.
anonymous enum |
Definition at line 343 of file kernel-types.hh.
const TMask16 MASK0 | ( | (unsigned int) | 0xAAAA | ) |
Masque de toutes les orbites contenant l'involution alpha0 dans leur ensemble définition.
Masques de toutes les orbites contenant alphai et pas alphaj :
const TMask16 MASK1 | ( | (unsigned int) | 0xCCCC | ) |
Masque de toutes les orbites contenant l'involution alpha1 dans leur ensemble définition.
const TMask16 MASK2 | ( | (unsigned int) | 0xF0F0 | ) |
Masque de toutes les orbites contenant l'involution alpha2 dans leur ensemble définition.
const TMask16 MASK3 | ( | (unsigned int) | 0xFF00 | ) |
Masque de toutes les orbites contenant l'involution alpha3 dans leur ensemble définition.
const TMask16 MASK_FALSE | ( | (unsigned int) | 0x0000 | ) |
Attention, les bits de poids fort sont à gauche.
Un masque est un tableau de 16 booléens utilisé principalement pour la mise à jour des plongements. En effet, lors d'une couture ou d'une décousure de dimension i, toutes les orbites ne contenant pas l'involution alphai peuvent nécessiter une modification de leurs plongements.Masque 'faux'.
const TMask16 MASK_TRUE | ( | (unsigned int) | 0xFFFF | ) |
Mask 'vrai'.
const TOrbit ORBIT_BORDER[4] |
Orbite bord de dimension l'indice du tableau.
Definition at line 200 of file kernel-types.hh.
const TOrbit ORBIT_CC = ORBIT_0123 |
Definition at line 178 of file kernel-types.hh.
const TOrbit ORBIT_CELL[5] |
Orbite cellule de dimension l'indice du tableau.
Definition at line 194 of file kernel-types.hh.
const TOrbit ORBIT_DIM[4] |
Definition at line 175 of file kernel-types.hh.
Definition at line 176 of file kernel-types.hh.
const TOrbit ORBIT_I_IM1[4] |
const TOrbit ORBIT_I_IP1[4] |
const TOrbit ORBIT_INF[4] |
Orbite de l'ensemble des involutions d'indice inférieur strict à l'indice du tableau.
Definition at line 188 of file kernel-types.hh.
const TOrbit ORBIT_INVO[4] |
const TOrbit ORBIT_SEWS[4] |
Definition at line 174 of file kernel-types.hh.
Definition at line 177 of file kernel-types.hh.