Aller au contenu

Opérateur Unaire Entier

Résumé

  • Nom interne : IntegerSingleOps
  • Catégorie : Arithmétique
  • Objectif : Appliquer une opération arithmétique unaire sur un entier et stocker le résultat dans une variable de workflow.
  • Type de tâche : Normale

Compatibilité

  • Version AndroMate minimale : 1.1.0

  • Version AndroMate maximale : 1.1.0

  • Android minimum : Android 13 (API 33)

  • Android maximum testé : Android 16 (API 36)

  • Fabricants supportés :

    • ✅ Samsung (One UI 6.x / 7.x / 8.x)
    • ✅ Google Pixel (Android Stock)
    • ⚠️ Autres fabricants — non testés
  • Permissions requises :

    • Aucune

Description détaillée

La tâche Opérateur Unaire Entier applique une opération arithmétique sur un seul opérande entier (var_n1) et écrit le résultat dans une variable de workflow (ops_output).

var_n1 supporte les références $variable_workflow — résolues à l'exécution et analysées comme int avant l'opération.


Opérations supportées

Le champ arithmetic_ops est un code entier qui sélectionne l'opération à appliquer.

Code arithmetic_ops Opération Description
1 INC var_n1 + 1
2 DEC var_n1 - 1
3 NEG -var_n1
4 ABS Math.abs(var_n1) — valeur absolue

Paramètres d'entrée

Paramètre Type Obligatoire Valeurs possibles Compatibilité Android Compatibilité AndroMate Défaut
var_n1 Entier Oui Tout entier — supporte les références $variable Android 13 (API 33) → Android 16 (API 36) 1.1.0 → 1.1.0 0
arithmetic_ops Entier Oui 1 (INC), 2 (DEC), 3 (NEG), 4 (ABS) Android 13 (API 33) → Android 16 (API 36) 1.1.0 → 1.1.0

Paramètres de sortie

Champ Type Condition de déclenchement Compatibilité Android Compatibilité AndroMate Défaut
ops_output Entier (en chaîne) Toujours — en cas de succès Android 13 (API 33) → Android 16 (API 36) 1.1.0 → 1.1.0 <ANDROMATE_NULL_VALUE>

Exceptions

Code Déclenchement
ARITHMETIC-OPS-001 Le code arithmetic_ops ne correspond à aucune opération supportée

Diagramme d'exécution

flowchart TD
    Start([▶ IntegerSingleOps]) --> ResolveX[🔄 Résoudre var_n1\ndepuis le contexte workflow]
    ResolveX --> ValidateOps{code arithmetic_ops connu ?}
    ValidateOps -->|Non| E1[❌ ARITHMETIC-OPS-001\nOpérateur inconnu]

    ValidateOps -->|Oui| Switch{arithmetic_ops}

    Switch -->|1: INC| IncrOp["var_n1 + 1"]
    Switch -->|2: DEC| DecrOp["var_n1 - 1"]
    Switch -->|3: NEG| NegOp["-var_n1"]
    Switch -->|4: ABS| AbsOp["Math.abs(var_n1)"]

    IncrOp --> WriteOutput[💾 Écrire résultat dans ops_output]
    DecrOp --> WriteOutput
    NegOp --> WriteOutput
    AbsOp --> WriteOutput

    WriteOutput --> Success([✅ TaskIntegerResult])
    E1 --> Error([❌ Exception])

    style Start fill:#e3f2fd
    style Success fill:#c8e6c9
    style Error fill:#ffcdd2
    style E1 fill:#ffcdd2
    style ResolveX fill:#fff9c4
    style IncrOp fill:#f3e5f5
    style DecrOp fill:#f3e5f5
    style NegOp fill:#f3e5f5
    style AbsOp fill:#f3e5f5
    style WriteOutput fill:#c8e6c9

Fonctionnement :

  1. Résoudre l'opérande : var_n1 est résolu depuis le contexte workflow et analysé comme int
  2. Valider l'opérateur : si arithmetic_ops est inconnu, lance ARITHMETIC-OPS-001
  3. Exécuter l'opération : l'opération arithmétique correspondante est appliquée
  4. Stocker le résultat : le résultat est écrit dans ops_output
  5. Résultat : retourne TaskIntegerResult en cas de succès

Exemples de code

Exemple 1 — Incrémenter un compteur

{
  "IntegerSingleOps": [
    {
      "id": "1",
      "title": "Incrémenter compteur",
      "var_n1": "$compteur",
      "arithmetic_ops": 1,
      "ops_output": "$compteur"
    }
  ]
}

Ajoute 1 à $compteur et stocke le résultat dans $compteur.


Exemple 2 — Valeur absolue

{
  "IntegerSingleOps": [
    {
      "id": "2",
      "title": "RTT absolu",
      "var_n1": "$delta_ms",
      "arithmetic_ops": 4,
      "ops_output": "$abs_delta"
    }
  ]
}

Stocke la valeur absolue de $delta_ms dans $abs_delta.


Exemple 3 — Négation

{
  "IntegerSingleOps": [
    {
      "id": "3",
      "title": "Inverser offset",
      "var_n1": "$offset",
      "arithmetic_ops": 3,
      "ops_output": "$neg_offset"
    }
  ]
}

Détails des paramètres d'entrée

1. Paramètre d'entrée : var_n1 — Opérande

La valeur entière sur laquelle appliquer l'opération. Supporte les références $variable_workflow — résolues à l'exécution et analysées comme int.

  • Défaut : 0
  • Supporte les variables : Oui

2. Paramètre d'entrée : arithmetic_ops — Code d'opération

Code entier sélectionnant l'opération unaire à appliquer à var_n1.

Code Nom Opération
1 INC var_n1 + 1
2 DEC var_n1 - 1
3 NEG -var_n1
4 ABS Math.abs(var_n1)
  • Défaut : — (obligatoire, pas de défaut — déclenche ARITHMETIC-OPS-001 si inconnu)

Détails des paramètres de sortie

ops_output — Résultat de l'opération

Nom de la variable de workflow pour stocker le résultat entier. Doit être déclarée dans la tâche Start.

Opération Valeur écrite
INC var_n1 + 1
DEC var_n1 - 1
NEG -var_n1
ABS Math.abs(var_n1)
  • Défaut : "" (résultat non stocké si vide)

Exemple JSON complet

{
  "IntegerSingleOps": [
    {
      "id": "1",
      "title": "Incrémenter le compteur d'itérations",
      "var_n1": "$compteur",
      "arithmetic_ops": 1,
      "ops_output": "$compteur"
    }
  ]
}