Expressões e condições

As expressões do CLEM podem retornar um resultado (usado ao derivar novos valores).

Por exemplo:

Weight * 2.2
Age + 1
sqrt(Signal-Echo)

Ou podem avaliar verdadeiro ou falso (usado ao selecionar em uma condição). Por exemplo:

Drug = "drugA"
Age < 16
not(PowerFlux) and Power > 2000

Você pode combinar operadores e funções arbitrariamente em expressões do CLEM. Por exemplo:

sqrt(abs(Signal)) * max(T1, T2) + Baseline

Os colchetes e a precedência do operador determinam a ordem em que a expressão é avaliada. Neste exemplo, a ordem de avaliação é:

  • abs(Signal) é avaliado, e sqrt é aplicado ao seu resultado
  • max(T1, T2) é avaliado
  • Os dois resultados são multiplicados: x tem precedência maior do que +
  • Por fim, Baseline é adicionado ao resultado

A ordem decrescente de precedência (ou seja, das operações que são executadas primeiro às operações que são executadas por último) é a seguinte:

  • Argumentos de função
  • Chamadas de função
  • xx
  • x / mod div rem
  • + –
  • > < >= <= /== == = /=

Se você quiser substituir a precedência ou se tiver dúvidas sobre a ordem de avaliação, poderá usar parênteses para torná-la explícita. Por exemplo:

sqrt(abs(Signal)) * (max(T1, T2) + Baseline)