Voir Section 8.17 pour un aperçu les types d'intervalle.
Tableau 9.55 montre les opérateurs spécialisés disponibles pour les types d'intervalle simple. Tableau 9.56 montre les opérateurs spécialisés disponibles pour les types d'intervalle multiple. En plus de ces derniers, les opérateurs de comparaison habituels montrés dans Tableau 9.1 sont disponibles pour les types d'intervalle simple et multiple. Les opérateurs de comparaison trient d'abord par les limites basses de l'intervalle simple et seulement si ces derniÚres sont identiques, par les limites hautes. Les opérateurs de comparaison multiple comparent chaque intervalle jusqu'à ce qu'au moins un ne corresponde pas. Ceci ne donne généralement pas de résultat utile pour un tri, mais les opérateurs sont fournis pour autoriser la création d'index d'unicité sur des intervalles.
Tableau 9.55. Opérateurs sur les intervalles simples
Opérateur Description Exemple(s) |
---|
Est-ce que le premier intervalle contient le second ?
|
Est-ce que l'intervalle contient l'élément ?
|
Est-ce que le premier intervalle est contenu par le second ?
|
Est-ce que l'élément est contenu dans l'intervalle ?
|
Est-ce que les intervalles se surchargent, c'est-à -dire ont-ils des éléments en commun ?
|
Est-ce que le premier intervalle se trouve strictement Ă gauche du second ?
|
Est-ce que le premier intervalle est strictement Ă droite du second ?
|
Est-ce que le premier intervalle ne s'étend pas à droite du second ?
|
Est-ce que le premier intervalle ne s'étend pas à gauche du second ?
|
Est-ce que les intervalles sont adjacents ?
|
Calcule l'union des intervalles. Les intervalles doivent se superposer
ou ĂȘtre adjacents, pour que l'union rĂ©sultante soit un intervalle simple
(mais voir
|
Calcule l'intersection des intervalles.
|
Calcule la diffĂ©rence des intervalles. Le deuxiĂšme intervalle ne doit pas ĂȘtre contenu dans le premier de façon Ă ce que la diffĂ©rence ne soit pas un intervalle simple.
|
Tableau 9.56. Opérateurs sur les intervalles multiples
Opérateur Description Exemple(s) |
---|
Est-ce que le premier intervalle multiple contient le second ?
|
Est-ce que l'intervalle multiple contient l'intervalle simple ?
|
Est-ce que l'intervalle multiple contient l'élément ?
|
Est-ce que l'intervalle simple contient l'intervalle multiple ?
|
Est-ce que le premier intervalle multiple est contenu par le second ?
|
Est-ce que l'intervalle multiple est contenu par l'intervalle simple ?
|
Est-ce que l'intervalle simple est contenu par l'intervalle multiple ?
|
Est-ce que l'élément est contenu dans l'intervalle multiple ?
|
Est-ce que les intervalles multiples se recouvrent, c'est-à -dire, contiennent des éléments communs ?
|
Est-ce que l'intervalle multiple recouvre l'intervalle simple ?
|
Est-ce que l'intervalle simple recouvre l'intervalle multiple ?
|
Est-ce que le premier intervalle multiple est strictement Ă gauche du second ?
|
Est-ce que l'intervalle multiple est strictement Ă gauche de l'intervalle simple ?
|
Est-ce que l'intervalle simple est strictement Ă gauche de l'intervalle multiple ?
|
Est-ce que le premier intervalle multiple est strictement Ă droite du second ? Is the first multirange strictly right of the second?
|
Est-ce que l'intervalle multiple est strictement Ă droite de l'intervalle simple ?
|
Est-ce que l'intervalle simple est strictement Ă droite de l'intervalle multiple ?
|
Est-ce que le premier intervalle multiple ne s'étend pas à droite du second ?
|
Est-ce que l'intervalle multiple ne s'étend pas à droite de l'intervalle simple ?
|
Est-ce que l'intervalle simple ne s'étend pas à droite de l'intervalle multiple ?
|
Est-ce que l'intervalle multiple ne s'étend pas à gauche du second ?
|
Est-ce que l'intervalle multiple ne s'étend pas à gauche de l'intervalle simple ?
|
Est-ce que l'intervalle simple ne s'étend pas à gauche de l'intervalle multiple ?
|
Est-ce que les intervalles multiples sont adjacents ?
|
Est-ce que l'intervalle multiple est adjacent Ă l'intervalle simple ?
|
Est-ce que l'intervalle simple est adjacent Ă l'intervalle multiple ?
|
Calcule l'union des intervalles multiples. Les intervalles multiples ne doivent pas se recouvrir, ni ĂȘtre adjacents.
|
Calcule l'intersection des intervalles multiples.
|
Calcule la différence des intervalles multiples.
|
Les opérateurs à gauche/à droite/adjacent retournent toujours false quand un intervalle vide simple ou multiple est impliqué ; c'est-à -dire qu'un intervalle vide n'est pas considéré comme étant avant ou aprÚs n'importe quel autre intervalle.
D'autre part, les intervalles vides simples et multiples sont traitĂ©s comme lâidentitĂ© additive : tout ce qui est uni Ă une valeur vide reste identique. Tout ce Ă quoi est soustrait une valeur vide reste identique. Un intervalle multiple vide a exactement les mĂȘmes effets qu'un intervalle simple vide. Tout intervalle simple contient l'intervalle vide. Tout intervalle multiple contient autant d'intervalles vides que souhaitĂ©.
Les opĂ©rateurs d'union et de diffĂ©rence d'intervalle Ă©choueront si la plage rĂ©sultante doit contenir deux sous-plages disjointes, car un tel intervalle ne peut pas ĂȘtre reprĂ©sentĂ©. Il y a des opĂ©rateurs sĂ©parĂ©s pour union et diffĂ©rence qui prennent des paramĂštres intervalles multiples et retournent un intervalle multiple, et qui nâĂ©chouent pas mĂȘme si leurs arguments sont disjoints. Donc, si vous avez besoin dâune opĂ©ration dâunion ou de diffĂ©rence pour des intervalles qui peuvent ĂȘtre disjoints, vous pouvez Ă©viter les erreurs en transformant dâabord vos intervalles simples en multiples.
Tableau 9.57 montre les fonctions utilisables avec des intervalles simples. Tableau 9.58 montre les fonctions utilisables avec des intervalles multiples.
Tableau 9.57. Fonctions sur intervalles simples
Tableau 9.58. Fonctions sur intervalles multiples
Les fonctions lower_inc
, upper_inc
,
lower_inf
et upper_inf
renvoient toutes false pour un intervalle simple ou multiple vide.