|
From: Clément B. <bos...@gm...> - 2015-03-24 09:02:52
|
Bonjour à tous,
Nous étions en train de repasser le gros document de spécifications avec
Trond Lossius (Jamoma), et nous aurions besoin, si possible, d'exemples
d'utilisations de la fonction de domaine complexe, et de mode de bornage
complexe.
Je vous copie en-dessous la partie de la spécification s'y référant, et
pour expliquer rapidement, c'est l'opportunité pour une adresse de définir
son domaine de valeur comme une union d'intervalles (ouverts ou fermés) et
d'énumérations, puis de définir quasi pour chaque borne si on veut la
borner en clip, wrap ou fold, ou pas.
-
Domaine (Domain) : l’ensemble des valeurs admissibles pour la Value.
-
Range : Un ensemble continu fermé ou ouvert (au sens mathématique).
Exemple :
-
[1 - 2]. Si DataType = Integer alors les valeurs possibles sont 1
et 2, si DataType = Decimal tous les nombres flottants entre sont
admissibles.
-
[1 - 2[. Si DataType = Integer alors la seule valeur possible est
1, si DataType = Decimal tous les nombres flottants entre 1 et 2 à
l’exception de 2 sont admissibles.
-
Enum : Un ensemble de valeurs discrètes: {1, -4, 27}.
-
Des combinaisons de Range et Enum : {[1 - 3], 4, ]5 - 6 ]} par
exemple.
-
BoundingMode : Gestion des cas limites des Domain. Par exemple, que se
passe-t-il si on a comme domaine [1; 2] et que l’on reçoit les messages
1.5, 1.75, 2, 2.25, 2.75.
-
Peuvent agir indépendamment sur le min et le max d’un Range.
-
Cas possibles :
-
Free : on peut sortir du Range.
-
Clip : on reste bloqué à la borne du Range.
-
Wrap : on revient sur les valeurs opposées à la manière d’un
signal en dents de scie.
-
Fold : on revient sur les valeurs précédentes à la manière d’un
signal triangulaire.
-
Peuvent aussi agir sur le Domain, mais seulement en mode Free ou Clip
vers la valeur la plus proche (ou la dernière valeur valide ?)
Ex : Si on a Domain = {1; 2} et qu’on envoie : 1, 1.1, 1.8, 2
le résultat sera 1, 1, 1, 2 dans le cas “dernière valeur valide”,
versus 1, 1, 2, 2 dans le cas “clip vers valeur la plus proche”).
Syntaxe : pour un Domain {[1 - 3], 4, ]5 - 6 ]}, on pourrait avoir un
ensemble de BoundingModes {[free - clip], clip, ]clip - fold]}
--
Clément Bossut
|